Skip to main content

A Python toolkit for Histopathology Image Analysis

Project description

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.

Whole-slide imaging captures the histologic details of tissues in large multiresolution images. Improvements in imaging technology, decreases in storage costs, and regulatory approval of digital pathology for primary diagnosis have resulted in an explosion of whole-slide imaging data. Digitization enables the application of computational image analysis and machine learning algorithms to characterize the contents of these images, and to understand the relationships between histology, clinical outcomes, and molecular data from genomic platforms. Compared to the related areas of radiology and genomics, open-source tools for the management, visualization, and analysis of digital pathology has lagged. To address this we have developed HistomicsTK in coordination with the Digital Slide Archive (DSA), a platform for managing and sharing digital pathology images in a centralized web-accessible server, and HistomicsUI, a specialized user interface for annotation and markup of whole-slide images and for running image analysis tools and for scalable visualizing of dense outputs from image analysis algorithms. HistomicsTK aims to serve the needs of both pathologists/biologists interested in using state-of-the-art algorithms to analyze their data, and algorithm researchers interested in developing new/improved algorithms and disseminate them for wider use by the community.

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.

    Installation instructions on Linux:

    To install HistomicsTK using PyPI:

    $ python -m pip install histomicstk --find-links https://girder.github.io/large_image_wheels

    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- Run pip install large-image-source-tiff to install typical tile sources. You may need other sources, which would require other libraries.

    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

    To install from source on OSX:

    Note: This needs to be confirmed and expanded by an OSX user. There are probably assumptions made about available libraries.

    Use homebrew to install libtiff and openslide or other libraries depending on your desired tile sources.

    Run:

    $ python -m pip install histomicstk large-image-source-tiff large-image-source-openslide
  • 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 our website for more information.

For questions, comments, or to get in touch with the maintainers, head to our Discourse forum, or use our Gitter Chatroom.

Previous Versions

The HistomicsTK repository used to contain almost all of the Digital Slide Archive and HistomicsUI, and now container primarily code for image analysis algorithms and processing of annotation data. The deployment and installation code and instructions for DSA have moved to the Digital Slide Archive repository. The user interface and annotation functionality has moved to the HistomicsUI repository.

The deployment and UI code will eventually be removed from the master branch of this repository; any new development on those topics should be done in those locations.

Funding

This work is funded by the NIH grant U24-CA194362-01.

See Also

DSA/HistomicsTK project website: Demos | Success stories

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

Discussion: Discourse forum | Gitter Chatroom

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

histomicstk-1.2.8.dev12.tar.gz (26.1 MB view details)

Uploaded Source

Built Distributions

histomicstk-1.2.8.dev12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (533.4 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

histomicstk-1.2.8.dev12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (534.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

histomicstk-1.2.8.dev12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (540.0 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

histomicstk-1.2.8.dev12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (539.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

histomicstk-1.2.8.dev12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (536.5 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

histomicstk-1.2.8.dev12-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (536.5 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

File details

Details for the file histomicstk-1.2.8.dev12.tar.gz.

File metadata

  • Download URL: histomicstk-1.2.8.dev12.tar.gz
  • Upload date:
  • Size: 26.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for histomicstk-1.2.8.dev12.tar.gz
Algorithm Hash digest
SHA256 de74820e16e91570e1ab12d99165a9c53ffc2227f1295ac3a2b725ed4b09449b
MD5 196b1c544e1019fcfe5136a8175ef44b
BLAKE2b-256 5c3c492025f78ae6de4983c76dff6cd0368e7ee55e376bd007a58533792e30be

See more details on using hashes here.

Provenance

File details

Details for the file histomicstk-1.2.8.dev12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.8.dev12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 545331d1d228b9dbf487a39a66661cb35ac08de7a3f4b1f20c646f5f3dc96d98
MD5 8d8f4df13a36a2283796293d638ef049
BLAKE2b-256 2e62cf04d5be3cf31baec17355b339553570ce88b9868eaeddd2a5e78fb9b13c

See more details on using hashes here.

Provenance

File details

Details for the file histomicstk-1.2.8.dev12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.8.dev12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 665f5467e37a4e5935e00f3773010660173a1d2b4ae22b28bd508859c445e13b
MD5 74d7a3e7ed4c3960fc02a218a4b8b81e
BLAKE2b-256 989f8ff5972b05ac0a4bc547cd0cc4eaf3126e85e2beb0d54661c093f7f16eee

See more details on using hashes here.

Provenance

File details

Details for the file histomicstk-1.2.8.dev12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.8.dev12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b38b6fb347f48983b21369d67aba17b832389bdd976a1a1ee1cf9f790c73766
MD5 e060129932cfa5c2c1d67e9a1a63d511
BLAKE2b-256 636cfc481c84da656f09e166b50841d4fb90a9de5e5c9ae886eda01e787904ae

See more details on using hashes here.

Provenance

File details

Details for the file histomicstk-1.2.8.dev12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.8.dev12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cf8ce8794566172d701fec6dce0399364c8b245f2851a25503161356134c6f09
MD5 fcdaca325ab0ebe0e387d70fb1b6574f
BLAKE2b-256 0433e6f815388f93c2a71677f8696db61d5d03fd1ea083a674a113e47e7b2fde

See more details on using hashes here.

Provenance

File details

Details for the file histomicstk-1.2.8.dev12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.8.dev12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6963944071be94b8003c895df6b8203013fe599a3a5bf1330c9bece1eb9ab595
MD5 1fdee18e10835b2b768a72e59477be58
BLAKE2b-256 6e7926f6155edb476c904c7d3cf43a89ef04d6228f4c405908da3cb887e139d5

See more details on using hashes here.

Provenance

File details

Details for the file histomicstk-1.2.8.dev12-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.8.dev12-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e01eb5344624946bfedc23939423bfb2a6833a4aaad3ed6880d4149e951ee56d
MD5 48efc42dcc2de4867df2213d573f9b95
BLAKE2b-256 639ecd70a05998dc0d42c9d7d3aced5fe8574c5072a7e3ffaeb0e7fcba7693ea

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page