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

Uploaded Source

Built Distributions

histomicstk-1.2.6.dev7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (534.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

histomicstk-1.2.6.dev7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (535.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

histomicstk-1.2.6.dev7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (540.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

histomicstk-1.2.6.dev7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (540.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

histomicstk-1.2.6.dev7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (537.2 kB view details)

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

histomicstk-1.2.6.dev7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (537.1 kB view details)

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

File details

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

File metadata

  • Download URL: histomicstk-1.2.6.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.16

File hashes

Hashes for histomicstk-1.2.6.dev7.tar.gz
Algorithm Hash digest
SHA256 61bef1edb3e45da69c63ebd78f88d9f5bdccd019fd2fec9d5426f2fa0f20fb15
MD5 09eaa8ed76eee2d9014664665d45f27c
BLAKE2b-256 74e64fb1f3f31b84dd844f4030b145441467d07fb9e63cd38e1ea95f2191b0f9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.6.dev7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea745df8221b74afa7a565d5f46cb4ebd91b005b06d9c35f55de03eb38e2e96e
MD5 cfc5891b57c8b4620013d09841da07f4
BLAKE2b-256 d26a2bc8ee7a6f09968e03609ef2d6158e95280da1010d6836748b5c3263c3b7

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.6.dev7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 796d6e1fb4f84c9d2f0c17e818ae0c6215b923de5360c6c293fd7b5c93bea821
MD5 d4d8e0a81e62bf48c774bcbc52a7ada1
BLAKE2b-256 03e73b96641c135a89acae656854a6c1df152a35100106f39654c9f617795c0f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.6.dev7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30230549f5670d3c1624cf092afe01a721476cf4ccc66ef43d3c087cafb374a7
MD5 054ec49f6ed702293e04e99c8a2823a4
BLAKE2b-256 74ac9dfc34bc6e09b3f051c0eee7c8cd1aad6593abbc9de6c985a934d1204a3c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.6.dev7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ac1334aea7c8ea68371f268ce2ebca0ee135d1a323dacde77cbbd5e433cb81d9
MD5 9f38bc992541dedae81d3a2e3961ba1b
BLAKE2b-256 d4d3a9734f393083602ae59d4616d9b62f6ba99dab84556133d53c84b44b31ae

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.6.dev7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2af0a0dd1328e036a355dba6816ec4470bae158752e4e213def993f2967746ba
MD5 aa1641b1004a0c91852601cd8e1b188f
BLAKE2b-256 f3f7701b0140eadb30a6c596c0595c3d0e19448b5a0ad58caa2f195c40103c43

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for histomicstk-1.2.6.dev7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2a5ba601e69e12e3d0eb49987cf6e4990eec7c0d6031bb58e48c40eb4af26c77
MD5 0a4bcd1197cc072942e060c3e7dc432e
BLAKE2b-256 60461feb665ca5b5d98f3ce194e01f1ea009074f2e287899d22daff8546f736c

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