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_cu12-26.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.9 MB view details)

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

cucim_cu12-26.6.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (16.8 MB view details)

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

cucim_cu12-26.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.9 MB view details)

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

cucim_cu12-26.6.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (16.8 MB view details)

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

cucim_cu12-26.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.9 MB view details)

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

cucim_cu12-26.6.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (16.8 MB view details)

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

cucim_cu12-26.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.9 MB view details)

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

cucim_cu12-26.6.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (16.8 MB view details)

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

File details

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

File metadata

File hashes

Hashes for cucim_cu12-26.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7646d38c48683dca93920a20cdedcd875de53c1f5ada6f805c9512b3d0e72f1d
MD5 6ac947ad24029d666de8d395e9f17684
BLAKE2b-256 a1b535c9076d7975fb26bcb5c5484231c9e3d0d2a8b67067b6825a3c5b8b447e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu12-26.6.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 abadca1abede3df1ce7d0ded3310ef52a0bfdc8e6ed5c34d3f092ce0992cb00b
MD5 b86f9be73d6bbd1d9851e0c39777709f
BLAKE2b-256 688cad5e20766656b03d5bfdf9c89da677daf981847efb24a92edfd4931258e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu12-26.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c8b7524b7ca6e7b7a4937db2325183aecf6f5277b9bbbf6f057fea3ffb8e333d
MD5 78b03fa7e9974ad302cc216caa46c0bf
BLAKE2b-256 c3cfae7eff883391df47130873deea85413ed5ae679135826b6aea18da3292fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu12-26.6.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 37356d2df29a846d4d00b508e4a470a4b2b37293fd4d91b9f3177b7efa22c4f0
MD5 1e1ab002f444bfe8f3ec4b1dfaf322aa
BLAKE2b-256 c744bf710f3cdde9c364227e301ef6c65aed998d54c5cc0d6e7ee6b332dd2dcd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu12-26.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79122f47d21f53867daf4caab6371c3e40cfc06414e87d44d54b273ad825441a
MD5 1d45a7e3ccde738c610021bef65851a9
BLAKE2b-256 c633f35859dbee54986da16cba912dffeb2f681a1310a7b3502ff474dcaff8e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu12-26.6.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ce694dc832d30949b9481946fc681dccdec18379625663d6de8af5338798e9b4
MD5 a7f59957533038a1af1d759f290cb06c
BLAKE2b-256 31d51b37c7fd2da6d617e4dca043f37edcd0864d98cab0b4326f34fb56aef141

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu12-26.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9aa8239efb79854a70a60805eea9e1af1b5cab7de38ce4e519509f4484cf48d1
MD5 d1c23af6b0cd0604406fb62ae37d9864
BLAKE2b-256 b3924f7d657d7e3ffe776cdf4a8f0928f648f2bfc40c5ab22f0071299e5a3474

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cucim_cu12-26.6.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 46211051b34081da6b8ffd250f190f91761bed4d4887503d86dd86217df58763
MD5 2434cd56c8819de600bd4d9b46e21e6f
BLAKE2b-256 ae0a779c09e3dbee59f23b67c0430ce0426b1ff10db5fe957e119bde47f3dc04

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