QuIP is a web accessible toolset designed to support analysis, management, and exploration of whole slide tissue images for cancer research.
The QuIP system consists of a set of docker containers, which provide analysis execution and data management backend services, and web applications to load and visualize whole slide tissue images (in OpenSlide supported formats), run nuclear segmentation analyses on image tiles, and visualize and explore the analysis results.
The Application Service container hosts several web applications to view whole slide tissue images, view and interact with analysis results, and edit and curate analysis results. caMicroscope, for example, facilitates the interactive exploration of whole slide tissue images and analysis results (overlaid on images as polygons or heatmaps). FeatureScape enables exploration of imaging features computed for segmented nuclei. It supports visualizations such as scatter plots to allow one to take a deep dive into nucleus-level features.
|Viewing Classification Results||Viewing Segmentation Results|
|Curation of Imaging Features||Feature Exploration via FeatureScape|
The Analysis Service containers manage the execution of image analyses on image tiles selected by the user using the application web interfaces.
Currently the analysis service implements a level set based nuclear segmentation algorithm developed by our group. We are in the process of integrating a deep learning based pipeline for classification of tumor infiltrating lymphocytes (TILs) in whole slide tissue images. This integration will be released in a future version of QuIP. The codes for the TIL classification pipeline are available at the following link. Please see the Cell Reports paper for a description of the pipeline:
Saltz, J., Gupta, R., Hou, L., Kurc, T., Singh, P., Nguyen, V., . . . Thorsson, V. Spatial Organization and Molecular Correlation of Tumor-Infiltrating Lymphocytes Using Deep Learning on Pathology Images. Cell Reports, 23(1), 181-193.e187. https://doi.org/10.1016/j.celrep.2018.03.086
The Data Service containers implement (1) the database for storing image metadata, analysis results, and metadata about analyses (e.g., analysis parameters). The database organizes analysis results using a GeoJSON compliant specification. Segmentation results are expressed as polygons and size, shape, intensity and texture features, such as area, mean intensity, for each segmented object as key-value pairs; (2) the functions for loading image metadata and image analysis results, which are output from the analysis service as image masks and csv files which contain the computed features and boundaries of segmented objects; and (3) the functions for querying feature results by the FeatureScape web application.
Individual QuIP containers are available here
This video shows the basic usage of the QuIP system.
You may download a demo VMWare VM (in the OVA format) containing all of the docker images and web applications from the following link. The download size is 16GB. The VM was generated using VMWare Fusion 8.5.3 and may not be compatible with earlier versions of VMWare tools.
The VM starts all the containers on boot. It is configured to use 2GB memory and 2 CPU cores. Please wait for about 30 seconds for the start process to complete. You can log on to the VM with userid: quip and password: quipdemo. The Google Chrome browser will open automatically upon login and will bring up the QuIP home page. A TCGA whole slide tissue image is already loaded to the system along with some analysis results. There are additional TCGA whole slide tissue images on /home/quip/Desktop which can be loaded using the Image Loader app accessible from the home page.
Clone this repository.
git clone https://github.com/SBU-BMI/quip_distro
Before pulling and running the containers, create a data folder if it does not exist. The data folder will be used to store images and the database as well as configuration files required by the containers. Note you should have read and write permissions to the folder.
Execute the build_containers_release.sh script. At the command prompt:
cd <path to your github repositories folder> <path to quip_distro folder>/build/build_containers_release.sh
Execute the run_containers_release.sh script. At the command prompt:
cd <path to quip_distro folder> ./run_containers_release.sh <full path of data folder>
The startup process will create an “img” sub-folder in the data folder where tissue images will be stored and a “data” sub-folder where the database files will be stored. Please make sure the storage folder has enough space for images and the database.
The startup process will pull the QuIP containers from their respective docker image repositories, create a user-defined docker network (quip_nw), start up the containers and attach them to the user-defined docker network.
After the containers are started, you may access the QuIP web applications using a browser at
http://<hostname>. Here, hostname is the name or IP address of the host machine where the containers are running.
If disable_security is not set to true in config (see below) you need to get google credentials.
Configuration is via configs/config/config.ini per the following specifications
|trusted_secret||bindaas trusted secret||-|
|disable_security||a boolean which disables user login if true||false|
|trusted_id||the application name for bindaas||camicSignup|
|trusted_url||the bindaas endpoint for trust||http://quip-data:9099/trustedApplication|
|client_id||client id from google oauth setup||an unusable value|
|client_secret||client secret from google oauth setup||an unusable value|
|redirect_uri||the redirection to take after oauth setup||postmessage|
|title||the title as shown on the page title and some headers||caMicroscope|
|suffix||a tagline printed after the title on the login page||empty|
|description||a description of the application/deployment||Look at Slides|
|footer||designed for grant or contact information||caMicroscope – A Digital Pathology Integrative Query System; Ashish Sharma PI Emory|
|download_link||the url linked to on the download button||https://github.com/camicroscope|
|folder_path||the relative path of the folder||\/|
|dataHost||the data container’s name and port||quip-data:9099|
|kueHost||the jobs container’s name and port||quip-jobs:3000|
When using QuIP or caMicroscope, please cite the following:
Saltz, J., Sharma, A., Iyer, G., Bremer, E., Wang, F., Jasniewski, A., DiPrima, T., Almeida, J.S., Gao, Y., Zhao, T., et al. (2017). A Containerized Software System for Generation, Management, and Exploration of Features from Whole Slide Tissue Images. Cancer Res. 77, e79–e82.
caMicroscope — A Platform for Digital Pathology Data Management and Visualization http://camicroscope.org