Skip to main content

cuCIM - an extensible toolkit designed to provide GPU accelerated I/O, computer vision & image processing primitives for N-Dimensional images with a focus on biomedical imaging.

Project description

 cuCIM

RAPIDS cuCIM (pronounced "koo-sim", see here) is an open-source, accelerated computer vision and image processing software library for multidimensional images used in biomedical, geospatial, material and life science, and remote sensing use cases.

cuCIM offers:

  • Enhanced Image Processing Capabilities for large and n-dimensional tag image file format (TIFF) files
  • Accelerated performance through Graphics Processing Unit (GPU)-based image processing and computer vision primitives
  • A Straightforward Pythonic Interface with Matching Application Programming Interface (API) for Openslide

cuCIM supports the following formats:

  • Aperio ScanScope Virtual Slide (SVS)
  • Philips TIFF
  • Generic Tiled, Multi-resolution RGB TIFF files with the following compression schemes:
    • No Compression
    • JPEG
    • JPEG2000
    • Lempel-Ziv-Welch (LZW)
    • Deflate

NOTE: For the latest stable README.md ensure you are on the main branch.

Developer Page

Blogs

Webinars

Documentation

Release notes are available on our wiki page.

Install cuCIM

Conda

Conda (stable)

conda create -n cucim -c rapidsai -c conda-forge cucim cuda-version=`<CUDA version>`

<CUDA version> should be 12.0+ (e.g., 12.0, etc.)

Conda (nightlies)

conda create -n cucim -c rapidsai-nightly -c conda-forge cucim cuda-version=`<CUDA version>`

<CUDA version> should be 12.0+ (e.g., 12.0, etc.)

PyPI

Install for CUDA 12:

pip install cucim-cu12

Install for CUDA 13:

pip install cucim-cu13

Notebooks

Please check out our Welcome notebook (NBViewer)

Downloading sample images

To download images used in the notebooks, please execute the following commands from the repository root folder to copy sample input images into notebooks/input folder:

(You will need Docker installed in your system)

./run download_testdata

or

mkdir -p notebooks/input
tmp_id=$(docker create gigony/svs-testdata:little-big)
docker cp $tmp_id:/input notebooks
docker rm -v ${tmp_id}

cuslide2 Plugin (Experimental)

cuCIM includes an experimental cuslide2 plugin that uses nvImageCodec for GPU-accelerated TIFF decoding. This plugin provides enhanced performance for batch ROI decoding operations.

Enabling cuslide2

To enable the cuslide2 plugin, set the ENABLE_CUSLIDE2 environment variable:

ENABLE_CUSLIDE2=1 python your_script.py

Test Scripts

cuCIM provides test scripts to verify cuslide2 functionality with different TIFF formats:

Aperio SVS files:

# Download a sample SVS file and run the test
python scripts/test_aperio_svs.py --download

# Or test with your own SVS file
ENABLE_CUSLIDE2=1 python scripts/test_aperio_svs.py /path/to/your/file.svs

Philips TIFF files:

# Test with a Philips TIFF file
ENABLE_CUSLIDE2=1 python scripts/test_philips_tiff.py /path/to/your/philips.tiff

# List available test options
python scripts/test_philips_tiff.py --help

Build/Install from Source

See build instructions.

Contributing Guide

Contributions to cuCIM are more than welcome! Please review the CONTRIBUTING.md file for information on how to contribute code and issues to the project.

Acknowledgments

Without awesome third-party open source software, this project wouldn't exist.

Please find LICENSE-3rdparty.md to see which third-party open source software is used in this project.

License

Apache-2.0 License (see LICENSE file).

Copyright (c) 2020-2026, NVIDIA CORPORATION.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

cucim_cu12-26.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cucim_cu12-26.2.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

cucim_cu12-26.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cucim_cu12-26.2.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

cucim_cu12-26.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cucim_cu12-26.2.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

cucim_cu12-26.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

cucim_cu12-26.2.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (8.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file cucim_cu12-26.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cucim_cu12-26.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 530a360769dc9e3fa1cb579772c22fecfee2d94981becae61fd01b7e5460bb37
MD5 5c0d14ca080c1938bf37aab0a9643a47
BLAKE2b-256 2c30a98c4a91013f68d97f10d897904561672ff85d00b40516a0a643e04dead6

See more details on using hashes here.

File details

Details for the file cucim_cu12-26.2.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cucim_cu12-26.2.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5f9cfa2bd5eacb02f739143f9e079663dc11479927378c802cd578002df228a0
MD5 1e14a24e600a14fb0005db400b528a8f
BLAKE2b-256 f76507ef1648272b967ca09c05717dfa93ce9c906c501e4496357e57e2c57b81

See more details on using hashes here.

File details

Details for the file cucim_cu12-26.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cucim_cu12-26.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79769c97d666eef98c324743633110fcfabf43b0990a9f27aa881ead01836bba
MD5 6271446b1233d9361d269c50827e935c
BLAKE2b-256 06d4eb683006bb1e33cc85cbd91dd9ff3832060ca4e8cc9f11f004b66f5c687c

See more details on using hashes here.

File details

Details for the file cucim_cu12-26.2.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cucim_cu12-26.2.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 862dbaf5586c735e8bdb368851d04d38df9758d53af0c38fbac3344650891c5d
MD5 e2c2aa47a12b609a58f54fcb5e15942a
BLAKE2b-256 2d1696d0ebeae97248d0df1ec6e7bd98ee25ee5176734ab652cbd28a3800be0c

See more details on using hashes here.

File details

Details for the file cucim_cu12-26.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cucim_cu12-26.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f386f91b2add0972097ae2624bfadd75eb9a9c0749b248ef4f39651385d3ddd1
MD5 5b6f9b3bac2d9b699c331323312e6696
BLAKE2b-256 af3d45e4eb685551b7664706fb66652e44d0dcf491449954500f1489aac19882

See more details on using hashes here.

File details

Details for the file cucim_cu12-26.2.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cucim_cu12-26.2.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5d43c5fd706c53bceff868dc18726ce93c524443e6408efaab576d95948aa87c
MD5 affe245ca11855b179ab7ad9fc77aeeb
BLAKE2b-256 d482028eed242268d1ad0ddb5d999844b13fab95ffbdb2816023302cd40e1b21

See more details on using hashes here.

File details

Details for the file cucim_cu12-26.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cucim_cu12-26.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 26d7761b487df32d2fbafda2dfc1b59e243c6e2182364650057c34d049ffea92
MD5 35bbfa1641c6645ef8e24fae9ecc74b0
BLAKE2b-256 fc91f8d8615b1aaf08395b6c015eccf08f94fe5de4f20d067fb1de6979418961

See more details on using hashes here.

File details

Details for the file cucim_cu12-26.2.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cucim_cu12-26.2.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 51111572b03f71c23e4b9a904e1831124295d5d148a376e79e9d345628f85662
MD5 b96f65e90d1566ad6d477c847014de79
BLAKE2b-256 cfb8c0f713112757b8497a03b7f105b7f0d8ef59af6992fc5cf8b8c6c6da4b10

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