Skip to content

SarderLab/Histo-cloud

Repository files navigation

Histo-cloud (HistomicsTK-deeplab)

Histo-cloud (HistomicsTK-deeplab) is a modified version of HistomicsTK by Brendon Lutnick. This code has been modified to include native WSI segmentation via Google's DeepLab v3+ architecture. The DeepLab codebase has also been modified to directly and efficiently train and predict on histology Whole Slide Images (WSIs). The DeepLab codebase can be run via the command line, within this docker container (which will install all the needed dependencies), or via the options below.

HistomicsTK is a Python package for the analysis of digital pathology images. It can function as a stand-alone library, or as a Digital Slide Archive plugin that allows users to invoke image analysis jobs through HistomicsUI. The functionality offered by HistomicsTK can be extended using slicer cli web which allows developers to integrate their image analysis algorithms into DSA for dissemination through HistomicsUI.

Cloud interface figure

The easiest way to use this code is to build it as a docker image which can be imported into the Digital Slide Archive as plugins:

A video overview of the plugins is avalable here

To Build the docker image:

$ docker build --force-rm -t <username>/<docker imagename>:<tag> .

This image can be imported to a running version of the Digital Slide Archive under <Admin console / Plugins / Slicer CLI Web (gear icon)>

For the training plugin to work properly, it needs the correct routing to the internal girder_client database. The Alternative Girder API URL should be set to <serverURL>/api/v1 under <Admin console / Plugins / Worker (gear icon)>

HistomicsTK can be used in two ways:

  • As a pure Python package: enables application of image analysis algorithms to data independent of the Digital Slide Archive (DSA). HistomicsTK provides a collection of fundamental algorithms for tasks such as color normalization, color deconvolution, nuclei segmentation, and feature extraction. Read more about these capabilities here: api-docs and examples for more information. The HistomicsTK-DeepLab specific plugins are documented here, and available for testing on our test server.

    Installation instructions on Linux:

    To install HistomicsTK using PyPI:

    $ python -m pip install histomicstk

    To install HistomicsTK from source:

    $ git clone https://github.com/DigitalSlideArchive/HistomicsTK/
    $ cd HistomicsTK/
    $ python -m pip install setuptools-scm Cython>=0.25.2 scikit-build>=0.8.1 cmake>=0.6.0 numpy>=1.12.1
    $ python -m pip install -e .

    HistomicsTK uses the large_image library to read content from whole-slide and microscopy image formats. Depending on your exact system, installing the necessary libraries to support these formats can be complex. There are some non-official prebuilt libraries available for Linux that can be included as part of the installation by specifying pip install histomicstk --find-links https://girder.github.io/large_image_wheels. Note that if you previously installed HistomicsTK or large_image without these, you may need to add --force-reinstall --no-cache-dir to the pip install command to force it to use the find-links option.

    The system version of various libraries are used if the --find-links option is not specified. You will need to use your package manager to install appropriate libraries (on Ubuntu, for instance, you'll need libopenslide-dev and libtiff-dev).

    To install from source on Windows:

    1- Run the following:

    $ pip install large-image
    $ pip install cmake
    $ git clone https://github.com/DigitalSlideArchive/HistomicsTK/
    $ cd HistomicsTK/
    $ python -m pip install setuptools-scm Cython>=0.25.2 scikit-build>=0.8.1 cmake>=0.6.0 numpy>=1.12.1

    2- Run pip install libtiff

    3- Replace large-image[sources] with large-image[pil,tiff] in setup.py.

    4- Install Visual Studio 15 2017 Community Version

    5- Install C++ build tools. Under Tools > Get Tools and Features ... > Desktop Development with C++, ensure that the first 8 boxes are checked.

    6- Run this:

    $ python -m pip install -e .
    $ pip install girder-client
  • As a image-processing task library for HistomicsUI and the Digital Slide Archive: This allows end users to apply containerized analysis modules/pipelines over the web. See the Digital Slide Archive for installation instructions.

Refer to the DSA website for more information.

See Also

DSA/HistomicsTK project website: Demos | Success stories

Source repositories: Digital Slide Archive | HistomicsUI | large_image | slicer_cli_web