Skip to main content

Framework for processing images with Cuda

Project description

ITKCudaCommon

GitHub release PyPI Wheels License

Overview

ITKCudaCommon is an ITK module for processing images with Cuda, including the itk::CudaImage class and base classes for processing objects of this type, itk::CudaImageToImageFilter and itk::CudaInPlaceImageFilter. ITKCudaCommon was originally based on the GPUCommon module for OpenCL.

What is a CudaImage?

An itk::CudaImage is an itk::Image (by inheritance) with a new member, m_DataManager of type itk::CudaDataManager. The role of this member is to manage a GPU memory buffer with the same size as the itk::Image::m_Buffer. Data is transferred from one buffer to the other (m_GPUBuffer and m_CPUBuffer) only when necessary, i.e., when accessing one of the two buffers and the other has been accessed more recently and therefore marked as "dirty" (using the members m_IsGPUBufferDirty and m_IsCPUBufferDirty).

The Python CudaImage wrapping exposes a __cuda_array_interface__ for zero-copy views to other packages such as PyTorch or CuPy. See the CUDA array interface documentation for more information.

What is a CudaImageToImageFilter?

An itk::CudaImageToImageFilter and its in place child, itk::CudaInPlaceImageFilter, are ITK filters which can be integrated in an ITK pipeline to process an itk::CudaImage. They are CUDA equivalent to the CPU classes itk::ImageToImageFilter and itk::InPlaceImageFilter in ITK's Common module. See the ITK software guide for more information. Their GPUGenerateData member function must process the output CudaImage objects.

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.

itk_cudacommon_cuda124-2.1.0-cp311-abi3-manylinux_2_28_x86_64.whl (4.8 MB view details)

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

itk_cudacommon_cuda124-2.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

itk_cudacommon_cuda124-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

itk_cudacommon_cuda124-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

itk_cudacommon_cuda124-2.1.0-cp39-cp39-manylinux_2_28_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

itk_cudacommon_cuda124-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file itk_cudacommon_cuda124-2.1.0-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda124-2.1.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 17ed4753c1286d75a1e1466ada6b367a973942f66334fbb739c461435ab77663
MD5 f04421805104c69d2bf8186d0965b25c
BLAKE2b-256 5b8e54b4f015b224f3f2c3f67ce3695317057ef951313a1406ad4e8ff17fbe85

See more details on using hashes here.

File details

Details for the file itk_cudacommon_cuda124-2.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda124-2.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09549741c47654427b197205eb6a7c67e23a67ddcd7ce2fdbd1f284212180671
MD5 ca98cae86f2030855804bd42a737d9dc
BLAKE2b-256 e7a6d303097978986c2badbb3e962aeac95876d8ec6150cc6e13bb91bc6f2b10

See more details on using hashes here.

File details

Details for the file itk_cudacommon_cuda124-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda124-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4b40b720d28ac292729566eee1be8e869249ccaf3ab38f57e7c395597306f9dc
MD5 2fd47062fb6c8148c8c0b0d23f6ada16
BLAKE2b-256 f5042210afd7d29674a02e7b920602222b663796937a04dcc2eb0c969682b3f4

See more details on using hashes here.

File details

Details for the file itk_cudacommon_cuda124-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda124-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db8f4e99bfe34072fa8403e5b8fc7c96d17ba3b5daa639a491f2216b70705dce
MD5 41e8a6df74f53046eb94d08f7ae02901
BLAKE2b-256 945926349d89d8ab8520fca399035d15c5d8c0f5e66c0e18b191970e7806483a

See more details on using hashes here.

File details

Details for the file itk_cudacommon_cuda124-2.1.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda124-2.1.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b551e25e1bea43a2f0b971d272c9ae91f3ae5f843cd5a00cbcb6f9f3c6def2e3
MD5 b8d878ebb4b88975e9df0057e0f049dc
BLAKE2b-256 601922278b5c3e1a5c2bd07b3bbe59b0b205793c44aefcddfff4ce79535e3440

See more details on using hashes here.

File details

Details for the file itk_cudacommon_cuda124-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda124-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0b0332f5d641c865a13c50ce89c54b8764f3b2ccc593919ba0f2a3c3bd9e259
MD5 1280725bef385e151783d3cf5e80d018
BLAKE2b-256 f3737bcdd15651d8e41506c89ed8dab733a5e69ba0b3d6a3e86f1232bbcda8bb

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