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.9.dev4.tar.gz (26.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

histomicstk-1.2.9.dev4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (536.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

histomicstk-1.2.9.dev4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (537.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

histomicstk-1.2.9.dev4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

histomicstk-1.2.9.dev4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

histomicstk-1.2.9.dev4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (539.1 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

histomicstk-1.2.9.dev4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (539.0 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

File details

Details for the file histomicstk-1.2.9.dev4.tar.gz.

File metadata

  • Download URL: histomicstk-1.2.9.dev4.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.9.dev4.tar.gz
Algorithm Hash digest
SHA256 b8fca3155326b0f14494ae13886fccf2a040d9ae5687f230baddeb2337cc808c
MD5 3eac6fda00a8516e7d53f0b4b6670568
BLAKE2b-256 8e9c0a1bbc3f3830c15a11e3b11a768cd205f3e5be09fd271a73398e89ce0a57

See more details on using hashes here.

File details

Details for the file histomicstk-1.2.9.dev4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2cafc73704c68a9def08c6b98cc07f459c95e7a18ef9436582a8b0240ad59b9f
MD5 0e9f6ac2f28cacf90699480f3ff86a11
BLAKE2b-256 77c0a5cc32e4dcf1ae73c7400d2989db3447ddc4aa0f051c2a93132981f1e197

See more details on using hashes here.

File details

Details for the file histomicstk-1.2.9.dev4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 55ce7a8988eb7a927a54e5d721d7f87845d23a7840109a74bb9c0dfa7f7640fc
MD5 091a8b7ced245b3c7c1499f1f32f1deb
BLAKE2b-256 07dc92df8b2693e6f4e89da1d8a84b3cd783d8fcdccd2bd12bc2b44a3fcc0747

See more details on using hashes here.

File details

Details for the file histomicstk-1.2.9.dev4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d7224294a14bf0df19c75d7c41b60f0a45ad32d1ab9a763546f56e8d57ad83f1
MD5 2ac7344b83f75321570fe45ec588a067
BLAKE2b-256 63a9edc4f371f010922e93887d79b88836fa04773b7c26b61c06b78cba6fc228

See more details on using hashes here.

File details

Details for the file histomicstk-1.2.9.dev4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb617ed02687778343575c05ba601bd8a0d33463abdddf66d2a4b07924ff5400
MD5 105c432aa5aca83e673f5a5445a320dd
BLAKE2b-256 9a055a22af28570575ded665b2976c23f71a11e42f6c4c31be4e36a1e96d681a

See more details on using hashes here.

File details

Details for the file histomicstk-1.2.9.dev4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b3ee1dc4a1e2ba2bf0b0d977b8ae071c076d1bc72dd5e6d9b1ce5457553cf7f
MD5 abeed7d336758f29827c1832de16af48
BLAKE2b-256 54be5533d9e4c1e3fc083b0b8e104faf9d76210db90dd3dcae363083f90adcc1

See more details on using hashes here.

File details

Details for the file histomicstk-1.2.9.dev4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38616f0f03f1c5ac296e56cd044445065f39e29bc3f96640a7491801d8a02279
MD5 f809b8f1f2fefc0b935ab2b101d897d7
BLAKE2b-256 869e93476f3e763862d42844c69eecb94d9cda58190237d0f74d57f8345ce7b1

See more details on using hashes here.

Supported by

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