# BisQue (Bioimage Analysis and Management Platform)

BisQue is a free, open source web-based platform for the exchange and exploration of large, complex datasets. It is being developed at the Vision Research Lab at the University of California, Santa Barbara. BisQue specifically supports large scale, multi-dimensional multimodal-images and image analysis. Metadata is stored as arbitrarily nested and linked tag/value pairs, allowing for domain-specific data organization. Image analysis modules can be added to perform complex analysis tasks on compute clusters. Analysis results are stored within the database for further querying and processing. The data and analysis provenance is maintained for reproducibility of results. BisQue can be easily deployed in cloud computing environments or on computer clusters for scalability. BisQue has been integrated into the NSF Cyberinfrastructure project CyVerse. The user interacts with BisQue via any modern web browser.

## History

Project BisQue originally started in 2004 as part of the US National Science Foundation (NSF) supported Center for Bio-Image Informatics at UCSB, to facilitate integration of database and image analysis methods, specifically in the context of microscopy images. Given the diversity of imaging equipment and image formats, there was an urgent need to access multiple formats in a uniform way. More importantly, there was also a need for maintaining the analysis provenance for reproducing image analysis results. Very early on, it was realized that BisQue has to go schema-less to support the needs of diverse biological experiments—each experiment and analysis results are unique and slightly different. Further, from the beginning, BisQue focused on using the web browser as the standard interface. These posed unique database and visualization challenges while dealing with large scale multimodal data, and in the process BisQue has developed a unique and novel framework for visualizing very large images (100k x 100k pixels, for example), and currently supports over 250 different image file formats. Within the browser, users can now visualize 2D, 3D, 4D and 5D images, and export them to many other standardized formats. Over the years the BisQue team has closely worked with the iPlant Cyberinfrastructure (now the CyVerse), supporting the image database management needs of the plant biology community.
Going beyond Bioimaging applications, BisQue has been used in analyzing underwater images and video (REF here) and in medical imaging applications. The current BisQue interface now supports the latest DICOM standard. BisQue has integrated over 100 different image features in its feature service and the next release will include support for deep learning methods and feature classification services.

## Features

BisQue provides an online resource for management and analysis of 5D biological images. In addition to image collection management, the system facilitates common biological workflows typical of biological images: imaging, experimental annotation, repeated analysis and presentation of images and results.

### Ingestion of images and metadata

Image and metadata ingestion is the first step in using BisQue. The ingestion can either happen through a web browser-based interface, or via the BisQue API. To date, BisQue supports over 240 different image formats from generic JPEG to specialized microscopy image formats such as Zeiss CZI, Imaris Ims, and Nikon ND2. Images can be arbitrarily large and are automatically pyramided after ingestion. This guarantees a fluent user experience when panning and zooming in the image viewer. In addition to the image data itself, BisQue also captures all metadata of an image (e.g., camera settings, geo coordinates, etc.) and attaches them to the image as tags.

### Annotation with textual and graphical metadata

Images and metadata are organized with tags (name–value pairs) associated with an image. BisQue allows an arbitrary number of tags per resource and arbitrary nesting between tags, similar to XML documents. This provides a very flexible way of managing information, tailored to the needs of the underlying imaging project. For efficiency and reliability, the tags and values are stored in an indexed tag/value table in the underlying SQL database.
Graphical annotations can be stored in addition to tags. They include simple objects such as points, lines, and circles, and more complex objects such as region outlines. Each of these graphical objects is stored and indexed in the underlying database as well. In addition to be searchable, these graphical annotation are also rendered in BisQue's image viewer as overlays on top of the viewed image.

### Organization and search

Users typically locate images of interest by browsing through collections or by searching with specific queries. For the former, BisQue provides a web-based tag organizer that enables rapid filtering and grouping of large image collections by tag names and values. For the latter, BisQue offers a RESTful tag query interface to find images with specific tag values. Both of these search capabilities are converted into SQL queries over the tag/value table behind the scenes.
Besides tag-centric image organization, BisQue also provides a traditional folder view that allows users to browse images by navigating folders similar to a file manager.

### Parallel analysis modules

BisQue allows users to write analysis modules in the programming language of their choice (e.g., Matlab, Python, C++) by using language-specific APIs. Modules typically read in images and metadata and generate new images or additional metadata as output. These results are stored back into the system in the form of tags, graphical objects and/or images. Images or metadata are never over-written, in order to preserve the complete provenance information.
Tested modules can then be registered in the BisQue system for execution. BisQue supports different execution modes, depending on the available infrastructure. For simple modules, BisQue can execute them on a single node. For high-performance needs, BisQue can leverage the HTCondor high-throughput computing software framework for coarse-grained distributed parallelization. In the latter case, BisQue can automatically parallelize analysis over large image datasets and then collect the results in a single BisQue metadata document.

### Visualization and sharing

Metadata in BisQue can take many forms: text, objects of interest, user annotations or another web-based file (e.g. associated publication in PDF). Textual and graphical markup viewing and editing is available in the web 5D image viewer. The viewer is used for image and object browsing, ground-truth acquisition and statistical summaries of biological objects. Additionally, it allows for various visualization options such as channel mapping, image enhancement, projections and rotations. The most recent image viewer is able to present volumetric imagery in 3D without browser plug-ins by utilizing modern browsers' WebGL capabilities.
Biological image sharing has often been difficult due to proprietary formats. In BisQue, sharing images, metadata and analysis results can be performed through the web. The system contains an export facility that allows conversions of image formats, application of a variety of image-processing operations and export of textual or graphical annotations as XML, CSV or to Google Docs.

### RESTful interface

All services and modules are accessible via standard web access methods (HTTP). This permits a wide variety of tools, from web browsers to custom analysis applications, to interact with BisQue. Most BisQue services are implemented using the RESTful design pattern architecture that exposes resources through URIs. Resources are manipulated by using the common HTTP methods. Among many benefits attributed to RESTful pattern are scalability through web caches and the use of client side state and processing resources. Bisque services exchange data in XML format.
For easy integration with existing software, BisQue also provides an API that covers all aspects of resource ingestion, search, analysis, and manipulation. It is currently available for Python and Matlab.

## Use cases
### Marine science

BisQue has been used to manage and analyze 23.3 hours (884GB) of high definition video from dives in Bering Sea submarine canyons to evaluate the density of fishes, structure-forming corals and sponges and to document and describe fishing damage. Non-overlapping frames were extracted from each video transect at a constant frequency of 1 frame per 30s. An image processing algorithm developed in Matlab was used to detect laser dots projected onto the seafloor as a scale reference. BisQue's module system allows to wrap this Matlab code into an analysis module that can be parallelized across a compute cluster. In addition, each frame was manually annotated with objects of interest (e.g., fishes, sponges, substrates) and these annotations and other image metadata (e.g., pixel resolution, GPS location) was stored in BisQue's flexible metadata store. The annotations were then used to compute the average density of species and co-habitation behavior in different regions of the canyons, resulting in new insights into this ecosystem.

### Plant biology

The BisQue platform is part of the iPlant Cyberinfrastructure (now the CyVerse) to analyze plant-related images in the context of phenotype analysis. BisQue was integrated with iPlant’s authentication, cloud storage, and high-performance grid computing infrastructure and configured with sample data and algorithms designed to assay phenotypes such as directional root-tip growth or comparisons of seed size differences.

## License

As of version 0.5.5, BisQue is released under a modified BSD license that requires proper and visible attribution of the BisQue project if the whole or parts of BisQue are used for either research or commercial purposes.