Skip to main content

Organize, visualize, and analyze histology images.

Project description

Organize, visualize, and analyze histology images.

HistomicsUI organizes and manages whole slide image (WSI) files using Girder. It has a dedicated interface to select WSI, add annotations manually, and to run analysis and algorithms on all or parts of images.

Girder provides authentication, access control, and diverse storage options, including using local file systems and Amazon S3. WSI images are read and displayed via the large_image module. Algorithms are containerized using Docker and are run using the slicer_cli_web Girder plugin. These can be run on multiple worker machines via Girder Worker and celery.

A set of common algorithms are provided by HistomicsTK.

Installation

Linux

In linux with Python 3.6 or newer:

Prerequisites:

  • MongoDB must be installed and running.

  • An appropriate version of Python must be installed.

HistomicsUI uses large_image sources to read different image file formats. You need to install appropriate sources for the files that will be used.

# install all sources from the main repo
pip install large-image[sources] --find-links https://girder.github.io/large_image_wheels

or

# install openslide and tiff sources
pip install large-image-source-tiff large-image-source-openslide --find-links https://girder.github.io/large_image_wheels

Now install the histomicsui package, have Girder build its UI, and start the Girder server. Note that at Girder may still require an old version of node (12.x) to build correctly – nvm can be used to manage multiple versions of node.

pip install histomicsui[analysis]
girder build
girder serve

To use Girder Worker:

pip install girder_slicer_cli_web[worker]
GW_DIRECT_PATHS=true girder-worker -l info -Ofair --prefetch-multiplier=1

The first time you start HistomicsUI, you’ll also need to configure Girder with at least one user and one assetstore (see the Girder documentation). Additionally, it is recommended that you install the HistomicsTK algorithms. This can be done going to the Admin Console, Plugins, Slicer CLI Web settings. Set a default task upload folder, then import the dsarchive/histomicstk:latest docker image.

Reference Deployment

The standard deployment of HistomicsUI is the Digital Slide Archive. The associated repository has tools for readily installing via Docker, VirtualBox, or shell scripts on Ubuntu.

Development

The most convenient way to develop on HistomicsUI is to use the devops scripts from the Digital Slide Archive.

If you are making changes to the HistomicsUI frontend, you can make Girder watch the source code and perform hot reloads on changes using the --watch-plugin argument to girder build. See the Girder docs for more information.

Annotations and Metadata from Jobs

This handles ingesting annotations and metadata that are uploaded and associating them with existing large image items in the Girder database. These annotations and metadata re commonly generated through jobs, such as HistomicTK tasks, but can also be added manually.

If a file is uploaded to the Girder system that includes a reference record, and that reference record contains an identifier field and at least one of a fileId and an itemId field, specific identifiers can be used to ingest the results. If a userId is specified in the reference record, permissions for adding the annotation or metadata are associated with that user.

Metadata

Identifiers ending in ItemMetadata are loaded and then set as metadata on the associated item that contains the specified file. Conceptually, this is the same as calling the PUT item/{id}/metadata endpoint.

Annotations

Identifiers ending in AnnotationFile are loaded as annotations, associated with the item that contains the specified file. Conceptually, this is the same as uploaded the file via the annotation endpoints for the item associated with the specified fileId or itemId.

If the annotation file contains any annotations with elements that contain girderId values, the girderId values can be identifier values from files that were uploaded with a reference record that contains a matching uuid field. The uuid field is required for this, but is treated as an arbitrary string.

Funding

This work was funded in part by the NIH grant U24-CA194362-01.

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

histomicsui-1.4.2.dev42.tar.gz (707.1 kB view details)

Uploaded Source

Built Distribution

histomicsui-1.4.2.dev42-py2.py3-none-any.whl (210.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file histomicsui-1.4.2.dev42.tar.gz.

File metadata

  • Download URL: histomicsui-1.4.2.dev42.tar.gz
  • Upload date:
  • Size: 707.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for histomicsui-1.4.2.dev42.tar.gz
Algorithm Hash digest
SHA256 f9d1f4276eb2e870efc01744750aa6c54fddbb32d3826a7ebb91f5e53c51f0f9
MD5 cc29b01c85c480cea5298109746c6175
BLAKE2b-256 eb1c73a3c1d770e98096c2035acb5862479e66225b3baeac6768c56a45e85eed

See more details on using hashes here.

Provenance

File details

Details for the file histomicsui-1.4.2.dev42-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for histomicsui-1.4.2.dev42-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fa16a3c58c87a2836851c456105bc5cdeb05b20e0f894b15744d75ed40a00d0c
MD5 d2db0b6e2e0cbe64e40cc308b9ccda6b
BLAKE2b-256 0f13fb13cccbe96de12ceea9102650c5249b4532cdb0a7a6c2c86e0c6b0d6349

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