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_cuda121-2.0.0-cp311-abi3-manylinux_2_28_x86_64.whl (3.6 MB view details)

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

itk_cudacommon_cuda121-2.0.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

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

itk_cudacommon_cuda121-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

itk_cudacommon_cuda121-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

itk_cudacommon_cuda121-2.0.0-cp39-cp39-manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

itk_cudacommon_cuda121-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file itk_cudacommon_cuda121-2.0.0-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda121-2.0.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 92f71aa8d45ac4ecf8877da33af88b0a672cdcfd0dd187567e1b6267c84215f0
MD5 dd40c187d782a4e581a15df5b8e712b5
BLAKE2b-256 83a07c837b58600b974a96a6c784d16692f2aa803413ff47cfc7a03eaf47a3ec

See more details on using hashes here.

File details

Details for the file itk_cudacommon_cuda121-2.0.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda121-2.0.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d7a53f9bdf827982bf62a231e94d78dd262732219b206b7c8c0de21d277d44b
MD5 867e6a50d4964d3575b92fa730907f26
BLAKE2b-256 2662c8c07d49281e7a7344bbdbdf9f9c3eda1251679fa3d9f3ca5869bff6ce12

See more details on using hashes here.

File details

Details for the file itk_cudacommon_cuda121-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda121-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 daebc185dca0d4cb0d0b030599c36a585072968daf194d7792e07aceafab2262
MD5 9fa8ad95ca6e87e7635da82757ebe2d9
BLAKE2b-256 39084b748ea7b85096dc479503724625f8e3cf9ae290f5a67ff07f7357a61848

See more details on using hashes here.

File details

Details for the file itk_cudacommon_cuda121-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda121-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d50727548d85ca2b7c47cf3fd3deab7c4f93ff7a4cb259c1dd7c9ea0f09bfaa
MD5 87b2b2270220c3abd22085dd5e3c15bd
BLAKE2b-256 94188b476c3e22967a0e26cedf158c45d19a8c680c4eaa2e06cbe8fd8518ed62

See more details on using hashes here.

File details

Details for the file itk_cudacommon_cuda121-2.0.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda121-2.0.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ca321e5007bb3cb902e25ebb94d9da173997bfb77e2abc688bc955da48a32c3a
MD5 e33c2855c0510e3a47eaf546dd901955
BLAKE2b-256 4cc54da40966573767d5e8bf63d2ec0d81c16d24c1ebe85cb169af74123f4961

See more details on using hashes here.

File details

Details for the file itk_cudacommon_cuda121-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda121-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 406a941b4f9376de5b52fa6e83267f33140cff3e5b77e078dc5eca4110520696
MD5 93cafedd5c9dd98c83478c9986c6ecf0
BLAKE2b-256 ae85b3e437f928458c4298d0652ece46d0777bd69d1b3e8574fba8c227f10f2e

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