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_cu13-26.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.5 MB view details)

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

cucim_cu13-26.2.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (7.3 MB view details)

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

cucim_cu13-26.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.5 MB view details)

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

cucim_cu13-26.2.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (7.3 MB view details)

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

cucim_cu13-26.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.5 MB view details)

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

cucim_cu13-26.2.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (7.3 MB view details)

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

cucim_cu13-26.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (7.5 MB view details)

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

cucim_cu13-26.2.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (7.3 MB view details)

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

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7735f7cdcaa0fe9be329fe56df72ab4e21632e53041da602531ed00e8b640983
MD5 5cf9b15fb655f5f79fad2b5c1388aa56
BLAKE2b-256 f8cc60c5d977332ecc0d6a433a0c43b70b07a7ea8eff25da21d17ce8cee5386a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.2.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c4f171b4915296336f3ad807e6e270561dca0a08992c0457145040747067eb5c
MD5 cb878407acc33d89f2bd69e1cb04b37c
BLAKE2b-256 ac3d0d0a00c97e4ab3459bc88b88d436ca122bf72f5daeaf08bd61c9218a6d91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 914e7aa5c097ecd91170da2b7dddee27479fda7d5f04b83ab4f4d1bc89484b91
MD5 d693698373696659614167a53b1e80bf
BLAKE2b-256 3404477f5663e2b832daa85a19d06b2a4e863b5d5940ee7247ed8a8da283ca02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.2.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cfa2ff72e3fa525b78d34f98d37808d656e3cf8470f16b73c8fbb03f471ed8b2
MD5 b91c431da4f29af49caf1803c029ef58
BLAKE2b-256 bb42e8ba2a58c1b994c62d72eca9e5d01277b5e2a952b8cda5f15b59b5149ff4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4f5a372fbc506f5d4757e227e8cfdcd9d6279084a8be4e5a7e45a9b933a0e553
MD5 de5175743cfc856704cdc8b6119c7201
BLAKE2b-256 b300bcc44a3b7184a323f00aac1a8758feab6dd9df26313f895a35aafce8049a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.2.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a6ff6295d308a23625239f529198c10dfd1d68fedeed6606f60f726b1dac18f2
MD5 fe8a5bfdd6ceec8ff2d8f75446e857e5
BLAKE2b-256 1d29f553df5d8f81477e4a82efb50501a3ab6c07715b03b658826885c22a9936

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dcc0d8913b6513009bfeb11af4fa77160fe1cdf8f5321a6f8a3f59206e9f4157
MD5 c974e0f21874f5944ad7a916f0461b38
BLAKE2b-256 89ef5d2c6f58ec68d58fb552ce9b9b0f08024613b4150f67caa288941a3bca3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.2.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c09f2836cac58b73d943171a1001963d2a97ea46fea9fa07b9711a2ca96d605b
MD5 44341f7aa3452f96f5ed45b070209f9d
BLAKE2b-256 caf3dcf750d6209444209dfe538d4f409f15e3207290050e69c491ddfbfa131a

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