# Transfer from CPUImage to GPUImage

**URL:** <https://discourse.itk.org/t/transfer-from-cpuimage-to-gpuimage/6492>\
**Category:** Algorithms\
**Tags:** python\
**Created:** [March 5, 2024, 3:16am UTC](https://discourse.itk.org/t/transfer-from-cpuimage-to-gpuimage/6492 "2024-03-05T03:16:29Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![zhangm](https://discourse.itk.org/letter_avatar_proxy/v4/letter/z/34f0e0/32.png) [@zhangm](https://discourse.itk.org/u/zhangm)\
**Post date:** [March 5, 2024, 3:16am UTC](https://discourse.itk.org/t/transfer-from-cpuimage-to-gpuimage/6492/1 "2024-03-05T03:16:29Z")

</div>

I need transfer from CPUImage to GPUImage in python. And I find this [discourse](https://discourse.itk.org/t/shadowed-functions-in-gpuimage-or-cudaimage/1614/4) by use itk.cuda\_image\_to\_image\_filter() to complete the conversion.  
But the error prompt seems that the fuction only support input type as GPUImage：

```auto
itk.support.extras.TemplateTypeError: itk.CudaImageToImageFilter is not wrapped for input type `itk.Image[itk.F,3], itk.CudaImage[itk.F,3]`.
To limit the size of the package, only a limited number of
types are available in ITK Python. To print the supported
types, run the following command in your python environment:
    itk.CudaImageToImageFilter.GetTypes()
Possible solutions:
* If you are an application user:
** Convert your input image into a supported format (see below).
** Contact developer to report the issue.
* If you are an application developer, force input images to be
loaded in a supported pixel type.
    e.g.: instance = itk.CudaImageToImageFilter[itk.CudaImage[itk.F,2], itk.CudaImage[itk.F,2]].New(my_input)
* (Advanced) If you are an application developer, build ITK Python yourself and
turned to `ON` the corresponding CMake option to wrap the pixel type or image
dimension you need. When configuring ITK with CMake, you can set
`ITK_WRAP_${type}` (replace ${type} with appropriate pixel type such as
`double`). If you need to support images with 4 or 5 dimensions, you can add
these dimensions to the list of dimensions in the CMake variable
`ITK_WRAP_IMAGE_DIMS`.
Supported input types:
itk.CudaImage[itk.F,2]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.F,4]
itk.CudaImage[itk.Vector[itk.F,2],2]
itk.CudaImage[itk.Vector[itk.F,2],3]
itk.CudaImage[itk.Vector[itk.F,2],4]
itk.CudaImage[itk.Vector[itk.F,3],2]
itk.CudaImage[itk.Vector[itk.F,3],3]
itk.CudaImage[itk.Vector[itk.F,3],4]
itk.CudaImage[itk.Vector[itk.F,4],2]
itk.CudaImage[itk.Vector[itk.F,4],3]
itk.CudaImage[itk.Vector[itk.F,4],4]
itk.CudaImage[itk.Vector[itk.F,5],2]
itk.CudaImage[itk.Vector[itk.F,5],3]
itk.CudaImage[itk.Vector[itk.F,5],4]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.F,2]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.F,4]
itk.CudaImage[itk.Vector[itk.F,2],2]
itk.CudaImage[itk.Vector[itk.F,2],3]
itk.CudaImage[itk.Vector[itk.F,2],4]
itk.CudaImage[itk.Vector[itk.F,3],2]
itk.CudaImage[itk.Vector[itk.F,3],3]
itk.CudaImage[itk.Vector[itk.F,3],4]
itk.CudaImage[itk.Vector[itk.F,4],2]
itk.CudaImage[itk.Vector[itk.F,4],3]
itk.CudaImage[itk.Vector[itk.F,4],4]
itk.CudaImage[itk.Vector[itk.F,5],2]
itk.CudaImage[itk.Vector[itk.F,5],3]
itk.CudaImage[itk.Vector[itk.F,5],4]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.Vector[itk.F,2],3]
itk.CudaImage[itk.Vector[itk.F,3],3]
itk.CudaImage[itk.Vector[itk.F,4],3]
itk.CudaImage[itk.Vector[itk.F,5],3]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.Vector[itk.F,2],3]
itk.CudaImage[itk.Vector[itk.F,3],3]
itk.CudaImage[itk.Vector[itk.F,4],3]
itk.CudaImage[itk.Vector[itk.F,5],3]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.F,3]
itk.CudaImage[itk.F,4]

```

How can I handle conversion from CPU to GPU images in Python? Any help would be appreciated.

---

<div class="post-metadata">

**Author:** ![zhangm](https://discourse.itk.org/letter_avatar_proxy/v4/letter/z/34f0e0/32.png) [@zhangm](https://discourse.itk.org/u/zhangm)\
**Post date:** [March 5, 2024, 9:03am UTC](https://discourse.itk.org/t/transfer-from-cpuimage-to-gpuimage/6492/2 "2024-03-05T09:03:46Z")

</div>

The answer could be find on this topic [topic](https://discourse.itk.org/t/the-time-of-converting-cpu-image-to-gpu-image-is-too-long/2836/2) by SetPIxelContainer method complete the conversion.  
I tested cast filter but error happened.

---

<div class="post-metadata">

**Author:** ![dzenanz](https://discourse.itk.org/user_avatar/discourse.itk.org/dzenanz/32/1093_2.png) [@dzenanz](https://discourse.itk.org/u/dzenanz)\
**Post date:** [March 5, 2024, 2:09pm UTC](https://discourse.itk.org/t/transfer-from-cpuimage-to-gpuimage/6492/3 "2024-03-05T14:09:56Z")

</div>

Perhaps @simon.rit can help?

---

<div class="post-metadata">

**Author:** ![simon.rit](https://discourse.itk.org/letter_avatar_proxy/v4/letter/s/f08c70/32.png) [@simon.rit](https://discourse.itk.org/u/simon.rit)\
**Post date:** [March 5, 2024, 2:12pm UTC](https://discourse.itk.org/t/transfer-from-cpuimage-to-gpuimage/6492/4 "2024-03-05T14:12:54Z")

</div>

I could have but I think @zhangm solved the problem with my answer in this [topic](https://discourse.itk.org/t/the-time-of-converting-cpu-image-to-gpu-image-is-too-long/2836/2), right?
