[Rtk-users] RTK Python Wrapper—Missing CudaFDKBackProjectionImageFilter and Update Request

Moritz Schaar m.schaar at uni-luebeck.de
Fri Nov 7 09:26:40 CET 2025


Hi Huanyi,

 

the issue is generated by a change introduced in python 3.8 on Windows.

Simon already included a potential fix in the FirstCudaReconstruction.py example a while ago, see https://github.com/RTKConsortium/RTK/commit/abe956fbda210952ea3796d15e2077e6844fe1bd

 

Best,

Moritz

 

Von: Rtk-users <rtk-users-bounces at creatis.insa-lyon.fr> Im Auftrag von Huanyi Zhou
Gesendet: Mittwoch, 29. Oktober 2025 23:32
An: Simon Rit <simon.rit at creatis.insa-lyon.fr>
Cc: rtk-users at openrtk.org; j_z_shen <j_z_shen at yahoo.com>; James Shen <jshen at neuraltrak.com>; Linxi Shi <linxit at neuraltrak.com>
Betreff: Re: [Rtk-users] RTK Python Wrapper—Missing CudaFDKBackProjectionImageFilter and Update Request

 

Hi, Simon:

Thanks for the responding.

 

I found the " <https://github.com/RTKConsortium/RTK/actions/runs/18792156269/artifacts/4368557344> WindowsWheel310-cuda124" python wheel package from the link. 

But I got the following question:


Here is what I did and the python package installed correctly:
Build conda env -> Install python=3.10 -> Install cuda toolkit = 12.4 -> pip install itk -> pip install itk_rtk_cuda124-2.7.0.post1-cp310-cp310-win_amd64.whl  -> Install other dependencies

 

The function CudaFDKBackProjectionImageFilter() is wrapped. However, when I was trying to test the function: 

I got this issue:
"
D:\Python_RTK_Code\20251006_RTK_Recon_Develop>python

Python 3.10.19 | packaged by Anaconda, Inc. | (main, Oct 21 2025, 16:41:31) [MSC v.1929 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import itk

>>> from itk import RTK as rtk

>>> aa = rtk.CudaFDKBackProjectionImageFilter.New()

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "C:\Users\huany\anaconda3\envs\cuda124dev\lib\site-packages\itk\support\lazy.py", line 138, in __getattribute__

    base.itk_load_swig_module(module, namespace)

  File "C:\Users\huany\anaconda3\envs\cuda124dev\lib\site-packages\itk\support\base.py", line 94, in itk_load_swig_module

    itk_load_swig_module(dep, namespace)

  File "C:\Users\huany\anaconda3\envs\cuda124dev\lib\site-packages\itk\support\base.py", line 94, in itk_load_swig_module

    itk_load_swig_module(dep, namespace)

  File "C:\Users\huany\anaconda3\envs\cuda124dev\lib\site-packages\itk\support\base.py", line 239, in itk_load_swig_module

    load_module_needed_factories(name)

  File "C:\Users\huany\anaconda3\envs\cuda124dev\lib\site-packages\itk\support\base.py", line 390, in load_module_needed_factories

    load_factories(needed_factories[name])

  File "C:\Users\huany\anaconda3\envs\cuda124dev\lib\site-packages\itk\support\base.py", line 367, in load_factories

    itk_load_swig_module(module_name, namespace)

  File "C:\Users\huany\anaconda3\envs\cuda124dev\lib\site-packages\itk\support\base.py", line 94, in itk_load_swig_module

    itk_load_swig_module(dep, namespace)

  File "C:\Users\huany\anaconda3\envs\cuda124dev\lib\site-packages\itk\support\base.py", line 130, in itk_load_swig_module

    l_module = loader.load(swig_module_name)

  File "C:\Users\huany\anaconda3\envs\cuda124dev\lib\site-packages\itk\support\base.py", line 289, in load

    l_spec.loader.exec_module(l_module)  # pytype: disable=attribute-error

  File "<frozen importlib._bootstrap_external>", line 883, in exec_module

  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed

  File "C:\Users\huany\anaconda3\envs\cuda124dev\lib\site-packages\itk\support\..\CudaCommonPython.py", line 10, in <module>

    from . import _CudaCommonPython

ImportError: DLL load failed while importing _CudaCommonPython: The specified module could not be found."

To troubleshoot this issue, I used Dependencies to inspect the _CudaCommonPython.pyd file, but no missing DLLs were found. I’ve attached the Dependencies log output for your reference.

I'm wondering if it is still an installation issue?
I’d greatly appreciate any advice or insights you might have.  

 

Best Regards 

Huanyi 

 

  _____  

From: Simon Rit <simon.rit at creatis.insa-lyon.fr <mailto:simon.rit at creatis.insa-lyon.fr> >
Sent: Wednesday, October 29, 2025 3:13 AM
To: Linxi Shi <linxit at neuraltrak.com <mailto:linxit at neuraltrak.com> >
Cc: rtk-users at openrtk.org <mailto:rtk-users at openrtk.org>  <rtk-users at openrtk.org <mailto:rtk-users at openrtk.org> >; j_z_shen <j_z_shen at yahoo.com <mailto:j_z_shen at yahoo.com> >; Huanyi Zhou <hyzhou at neuraltrak.com <mailto:hyzhou at neuraltrak.com> >
Subject: Re: [Rtk-users] RTK Python Wrapper—Missing CudaFDKBackProjectionImageFilter and Update Request 

 

Hi Linxi,

The two version on pypi, cuda124 and cuda116, both have the same content. If you want a wheel that contains CudaFDKBackProjectionImageFilter, you'll have to download it from the CI until the next release. The wheels are available as artifacts in github actions if you're logged in GitHub. See here <https://github.com/RTKConsortium/RTK/actions/runs/18792156269>  for the latest main build.

Simon

 

On Wed, Oct 29, 2025 at 7:11 AM Linxi Shi <linxit at neuraltrak.com <mailto:linxit at neuraltrak.com> > wrote:

Hi Simon,

We’re a Silicon Valley startup building 3D image guidance for surgery.

At a high level: our product uses RTK. We initially installed the precompiled package via:

python -m pip install itk-rtk-cuda116

Everything worked until we uncovered a quantitative mismatch in the reconstruction, which we traced to a missing filter-CudaFDKBackProjectionImageFilter-that (per your note on our issue thread <https://github.com/RTKConsortium/RTK/issues/835> ) wasn’t included until June 4 so it is confirmed that it is missing in our version.

We see the instructions <https://docs.openrtk.org/en/latest/INSTALLATION.html>  now reference cuda124, but we’re not sure whether the Python wrapper/CI has been updated to include this filter. Could you confirm if there’s an updated wrapper that contains CudaFDKBackProjectionImageFilter? If not, we’d appreciate guidance on the best workaround.

We’ve been stuck for long. Thanks so much for your help on this.

Best,
Linxi

 

_______________________________________________
Rtk-users mailing list
rtk-users at openrtk.org <mailto:rtk-users at openrtk.org> 
https://www.creatis.insa-lyon.fr/mailman/listinfo/rtk-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.creatis.insa-lyon.fr/pipermail/rtk-users/attachments/20251107/3d9c7d34/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5889 bytes
Desc: not available
URL: <http://www.creatis.insa-lyon.fr/pipermail/rtk-users/attachments/20251107/3d9c7d34/attachment-0001.p7s>


More information about the Rtk-users mailing list