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_cuda118-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_cuda118-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_cuda118-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_cuda118-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_cuda118-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_cuda118-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_cuda118-2.1.0-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda118-2.1.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6b48002ca93c9c3ca183f394912d4b0de297dda78bd52f27abaa537e8031d8f3
MD5 587fae64e904b43bace6c138bdab3ff3
BLAKE2b-256 463d31af4dd922a815cfb0a6cf730b1de490d4094397a51efd2570d88fb97b8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_cudacommon_cuda118-2.1.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6835a145602c6ecb991592b41b0cc56c9ce3176bd9c7690697df8549170e2fb8
MD5 0b002cdbce35f5ac05275078591c3ed2
BLAKE2b-256 5d87486b89af2666fbcd54c03a35ccc03697d1713ef709bbb49733718acfb331

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_cudacommon_cuda118-2.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d5770defa6c89ead99f345e3e0d5c961a80e0fc3817a4775a5f6c1d9f7ae423f
MD5 9dac3ee0a9fe006f5be81e5e00fd16b2
BLAKE2b-256 bc3a3ba02a005db265a3968018f8ba653a5a06741d5879f661b559c9ac991f2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_cudacommon_cuda118-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 776a3fa5d83b247062c0d329fb0d612b40124e2f5b73adc21f978b21daeeccd8
MD5 d5bb13cd07db2a56e00edf91ffd7e47c
BLAKE2b-256 dccc0f98598c8c03da83b8577c8e12f357d76d3392d777e1b1fcd4eca8f60804

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_cudacommon_cuda118-2.1.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c97a62cb111eab840a749dcdf50cc4d3bec3efe5b0e5569f100ddfb351c5219e
MD5 42e5140cf8692212f57666c5954f73bd
BLAKE2b-256 54c135d52f5b4223ca60466fbc82e7d06fff61e8e21b5b97cab67eca05a966f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_cudacommon_cuda118-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2cc10dda0f05d751bae453dd0a588510f43db498a7076546397596536b5af47
MD5 456576f758aecba35a06e8307c0a7f85
BLAKE2b-256 5af0c43210b265fbd689a51718740ef854d68d2c474b5b2f307d95d37a30b597

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