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.dev7.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.dev7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (574.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

histomicstk-1.2.9.dev7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (574.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

histomicstk-1.2.9.dev7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (575.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

histomicstk-1.2.9.dev7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (575.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

histomicstk-1.2.9.dev7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (570.9 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

histomicstk-1.2.9.dev7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (564.1 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: histomicstk-1.2.9.dev7.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.dev7.tar.gz
Algorithm Hash digest
SHA256 7bc104d190d068ed63ba74934b4ee19d479c49a45b50e466a5b77fb5cfa99bc1
MD5 2d11a87430970fd367e0d729f67287d5
BLAKE2b-256 a0e1c45c911ad42a4011892d4159270bbbf74616b8e5d7cd5d93b324ab629ea0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 281f9cda57d3c19ea45eab0527b2221d30e1c06724e012705e11047d719eaa37
MD5 d20d6a624c6ddb759018d13f8be6a421
BLAKE2b-256 d9e1d30253aa9b46409746cdd995ea828573cfc64270822c08e72cbebb9565e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 921f40a4c3517c7ed686b65f8850f99d08b85c34384662b0ad3f335b7b2a19e7
MD5 f26df61a35bbae4555a2496e9f161a86
BLAKE2b-256 01158fef87c987ec695b3afcd1522a1c74f47aedd76251c3631cb7ef104cbe13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a965d9241036147041218cc7dd0883447b7311184c3d7558fca9a8a8e5336a76
MD5 fe95688bcedb4bc4392517953491d265
BLAKE2b-256 8c4a3a1dbe8745108ec252e042b0190ce644dc948b0980a0f37548ca079c3bf6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ba96ff7fcd4dd06a1006e26db9903cd98c43a5557c631b81a09e635ba93f570
MD5 af7f6ed5af1666302a1923f60b8c1d11
BLAKE2b-256 aedcd4086f7ed90c79e5e72d3b536084c93e40b1a929e94bf072a249c0fa6a77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07c8bc3409e8b20cf35c45278c52e2a0489ce3947d5347630c0a3e9536d58248
MD5 d0f3f74d071b4842deea1c2f494025e5
BLAKE2b-256 d181471a0228a06f048e16aef4286309cadbb2205492f05e9f6f858a37f1ade2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.9.dev7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd30ad34a839cbc6eb49417fa46344ee69f8b6e13f368fc7beda7194fe3f7b96
MD5 bda2fb7652294ae1923a64e8cf45b365
BLAKE2b-256 1baa47b6ff1eaeb2d73028b500eafe7fd84267d7fbcaf2ef1e4fd5f9b449613f

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