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_cuda116-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_cuda116-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_cuda116-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_cuda116-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_cuda116-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_cuda116-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_cuda116-2.0.0-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_cudacommon_cuda116-2.0.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9d7f9e2a296e068697c1d5b6437fd8e77806f3700e30483a031dad5a1adf3b86
MD5 b241f331197c26540af9cacbec1108ae
BLAKE2b-256 46c3ab1bff1093a05f5db8db6b965d738302f26ff0906cc73864ff28180b929c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_cudacommon_cuda116-2.0.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0dcb62329793bda87037823cb18fced683d810d7d1b5491629013d55b670a1ce
MD5 466cf2548c7841215bea5fdc92a5064a
BLAKE2b-256 73cc227ba0e581fc68e402842c65059437b014869f110b72348dceca12b07008

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_cudacommon_cuda116-2.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6c20c4c979bc411977e4777b5c64033a32245bd6c1ce7a386a6ed3595ea15c4e
MD5 a06b868092f60183397afb729995b525
BLAKE2b-256 826e053b4b542b9a1216b1597350f33d04d1b01b6932f5dc2449ed8a2db6e4d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_cudacommon_cuda116-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8d7eb5ca6c94cc1fff3dd42cc5be1d28205bcd9c824c98e4ce5992942e3da09
MD5 eb149df6e27810d5157a936ff60d335f
BLAKE2b-256 bcaaa15a1a21104a73582c6b640f22b5dcf799e3fe7b701960323d148598681e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_cudacommon_cuda116-2.0.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ad23430774c72712c9ef79ab6b9519656d677828c35c358301682cc1a44f4bf7
MD5 136124e1f554f7aa37fc04edf88c35d3
BLAKE2b-256 594a7a2a8877d88386fb21ebc320f20b23ecb7081e282d78e5e487b37a61f13e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for itk_cudacommon_cuda116-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 06a99ddbf43c97f3432ded0bb608689f178052b43a4368259e2a2d190f3e1ad1
MD5 164511f7fd6edd1fcb54a02daf919710
BLAKE2b-256 6d2b13ce7d8ec0ef8e569d3c22b4ee3b9e2d1292393faabe19d6a9f8af254e7b

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