Supported features and limitations#
2026-09-08
2 min read time
This topic discusses the supported features and limitations of hipCIM 26.06.00 as compared to the cuCIM 26.06.00.
Features#
Core image interface (cucim.core):
All primary image manipulation functions (read, write, and resample) are GPU-accelerated with CPU fallbacks.
Metadata operations (accessing dtype, dims, and shape) run on CPU only.
Image processing (cucim.skimage):
Nearly all transform operations (resize, rotate, and warp) are GPU-accelerated with CPU fallbacks.
Complete filter suite (Gaussian, median, and edge detectors) benefits from GPU acceleration.
Most morphological operations (erosion, dilation, and opening) are GPU-accelerated.
Segmentation:
Several advanced segmentation algorithms (felzenszwalb, quickshift, and active_contour) lack GPU acceleration.
Core segmentation operations such as watershed and SLIC are GPU-accelerated.
Color operations:
All color space conversions (rgb2gray, rgb2hsv, and rgb2lab) are GPU-accelerated.
Specialized medical imaging operations, such as stain separation or combination, that also benefit from GPU acceleration.
Whole slide imaging:
Patch extraction operations are GPU-accelerated.
Metadata operations run exclusively on the CPU.
Measurement functions:
Core measurement functions such as region labeling are GPU-accelerated.
Some advanced functions such as
marching_cubeslack GPU acceleration.
Image support#
hipCIM supports the following image formats:
Single-level Aperio ScanScope Virtual Slide (SVS) with JPEG compression
Single-level Philips TIFF with JPEG compression
Note that the image support is limited by rocJPEG chroma subsampling and hardware capabilities.
hipCIM API mirrors scikit-image for image manipulation and OpenSlide for image loading.
Format |
Extension |
Notes |
GPU tile decode |
|---|---|---|---|
Aperio ScanScope Virtual Slide (SVS), single-level JPEG |
|
JPEG-compressed tiles; rocJPEG backend |
✓ |
Philips TIFF, single-level JPEG |
|
JPEG-compressed tiles; rocJPEG backend |
✓ |
OME-TIFF (multi-page, Z, T, or channel) |
|
Flat page list; JPEG tiles GPU-decoded; non-JPEG tiles CPU-decoded |
Partial (JPEG tiles) |
Generic multi-page TIFF |
|
Flat page list; JPEG tiles GPU-decoded |
Partial (JPEG tiles) |
Vectra-QPTIFF |
|
Most files supported; 2/6 test files fail (proprietary variant) |
Partial |
NIfTI-1 (uncompressed) |
|
CPU read; all NIfTI-1 data types supported |
n/a |
NIfTI-1 (gzip compressed) |
|
CPU read; libdeflate decompression |
n/a |
DICOM (uncompressed, single-frame) |
|
Explicit or Implicit VR Little-Endian; CPU read |
n/a |
DICOM (JPEG compressed, single-frame) |
|
Enabled by default ( |
n/a |
Note
SVS and TIFF decode (GPU and CPU fallback) is handled by the cuslide
plugin, which loads librocjpeg.so.1 and its amdgpu VA-API driver at
startup. If those libraries are unavailable the plugin fails to load and
SVS and TIFF files cannot be read at all (Cannot find a plugin to handle
'.svs'). See rocJPEG and the amdgpu VA-API driver for how the ROCm 10.0.0 pip packages
provide them.