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

Deprecation Notice: Starting with 26.04, the original cuslide plugin will be deprecated in favor of cuslide2 with removal of cuslide planned for 26.08. cuslide2 uses nvImageCodec for GPU-accelerated TIFF decoding and adds tile-level caching, async batch decoding, and broader format support. Please plan to migrate existing workflows to cuslide2.

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.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.4 MB view details)

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

cucim_cu13-26.6.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (15.2 MB view details)

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

cucim_cu13-26.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.4 MB view details)

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

cucim_cu13-26.6.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (15.2 MB view details)

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

cucim_cu13-26.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.4 MB view details)

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

cucim_cu13-26.6.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (15.2 MB view details)

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

cucim_cu13-26.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (15.4 MB view details)

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

cucim_cu13-26.6.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (15.2 MB view details)

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

File details

Details for the file cucim_cu13-26.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cucim_cu13-26.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7faacf9d783c6a656045a8ccf29c028ea9abbee2d47530357a9315622109aad1
MD5 90c827455fe188e39449044e2aade335
BLAKE2b-256 81ba9c7c5d7e8e6f1555029d5697bd1439f9dc2f955401b819a0b9a18e6746e2

See more details on using hashes here.

File details

Details for the file cucim_cu13-26.6.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cucim_cu13-26.6.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cb8735e01814abb8c9f8b56195f656599341e8e354577f4e5a55aaffd2b03d5f
MD5 d2ff2f8d69ff6522514db9a2cd272b57
BLAKE2b-256 6055ca489cd75ba611d9966da440696fdd3a0f493e5b385adcdf86f765896066

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a69a06fe4c05b159ae0f41b08f1017c920eeece972e943502a5319c2a9d984bf
MD5 3b2b3fb80b221148d5b5d87da8afa417
BLAKE2b-256 b71c7227b4f5e58e6d34866e849f1fac68583fd46ae4794861662f618e3031c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.6.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8087d5c66bf69c11f530e39b5f53499c1dc9c783100c6480c81ac4a0a069ba77
MD5 ce1ff8436318ab90d14ea21e316c64b5
BLAKE2b-256 ceaeb0553516149ac4a044582816832a246d42ec8e5dc88904404e0bb8c3293c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 42497cf40b99fac3422e4f7a7f593abc0dc19785b7137b3964fd8c3c8346d437
MD5 c5f3d0149853bb5aed2b28c44378a9aa
BLAKE2b-256 9f1a379d8d95a4b414f2d0f991cede08754a9314ca4762cd2f6255e7e9a98559

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.6.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5143f7ffde38f227011468f0af5e798a894344404034b584dbf0651038f90989
MD5 5036e68c6fe480936bd084c0628d954b
BLAKE2b-256 e4dd070d3242216a55441979cddc6b00f66d1e6429af689366c32a0503184dda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a641b54202a2f7e78518b75cc6e501c737502cdfb5507271104347647777b3fc
MD5 6e05ae7063ddd7db2aadbd5b36b3ee65
BLAKE2b-256 5b6d1206a830029b828a9c002c74373c259d6dfa52298102a7037d785fe3812c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu13-26.6.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dcef313966f50fc707ef7ea41dba1985a998115372a443a302162a21c0cafd85
MD5 3d421fcbdc3c8cfb5de02a5d941b2f51
BLAKE2b-256 61fe488f4919f03fbd2c1032cdf942a0d02a3900315d04a952d5a58e7ba3ed62

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