[Rtk-users] Artefacts with GPU-based iterative reconstruction with RTK

Mathé Zeegers M.Zeegers at milabs.com
Mon Aug 24 10:54:00 CEST 2026


Dear Simon and other RTK developers,

Thank you for replying so fast! And also for the suggestion to CC the RTK user mailing list.

Your suggestion of changing the step size was exactly the solution that I needed: the reconstructions now look as they should.
Setting the step value equal to the voxel size made the conjugate gradient reconstructions initially take very long, until I set the backprojector from CudaRayCast to CudaVoxelBased. Now I am very pleased with the conjugate gradient performance.

The only issue that is coming up now, though, is that I get issues with GPU memory when I load too many projections (720 to be specific, which in our case amounts to 4.00 GB). I get the following error:

itk::ExceptionObject (0000000408EFE618)
Location: "unknown"
File: ..\include\itkCudaDataManager.h
Line: 54
Description: Cuda Error : an illegal memory access was encountered

I am working with a GPU that has 20 GB of memory, so I am a bit surprised that I get this problem. Also, I do not have this issue with the SART/OSSART/SIRT script, and neither do I have it when I use the CPU-only option. Are you familiar with this issue? Do I perhaps need to set a certain (large-memory) option that I might have missed? The usage of the binning option solves the problem, but I would like to use the full resolution of the projections. I also tried reducing the reconstruction volume size, but this does not change anything. Any pointers on this would be very helpful.

Regarding the discontinuation of the config option: it is not optimal for us, but we can work around it by putting back the code for the config option in in our local versions or by writing a small wrapper for it.

Kind regards,
Mathé

[cid:image001.png at 01DD33B5.8961AD40]

Mathé Zeegers
Preclinical X-ray CT Specialist
m.zeegers at milabs.com<mailto:m.zeegers at milabs.com>

This message may contain confidential information and is intended exclusively for the addressee. If you receive this message unintentionally, please do not use the contents but notify the sender immediately by return e-mail. MILabs B.V. is a legal person by public law and is registered at the Chamber of Commerce for Midden-Nederland under no. 302.075.15.

From: Simon Rit <simon.rit at creatis.insa-lyon.fr>
Sent: Monday, August 17, 2026 2:57 PM
To: Mathé Zeegers <M.Zeegers at milabs.com>
Cc: rtk-users <rtk-users at openrtk.org>
Subject: Re: Artefacts with GPU-based iterative reconstruction with RTK

Hi Mathé,
Nice to hear that RTK is useful. I have CCed the RTK user mailing list, you'll probably have faster answers with it in the future. Luckily this time, I'm back from my annual leave today!
I bet the problem is the hard coded step length in the GPU ray casting. There's been an update since v2.7.0 to fix this issue
https://github.com/RTKConsortium/RTK/commit/990ae96992529ca8f54abe4c1ab48e40950a8092
See https://docs.openrtk.org/en/latest/documentation/docs/rtk_3_migration_guide.html#cuda-forward-ray-cast-step-size-default.
Can you try setting the --step option to 0.08 to see if it helps? This would be the new default of the new version.
I hope it helps,
Simon

PS: sorry about the --config, it's already been merged https://github.com/RTKConsortium/RTK/commit/d0f15386cbc1c89376753469eea23debcdf78a3f. The goal was to uniformize the Python and C++ applications. Will that be a big issue for you? If yes, please open an issue to trigger a conversation.

On Mon, Aug 17, 2026 at 1:51 PM Mathé Zeegers <M.Zeegers at milabs.com<mailto:M.Zeegers at milabs.com>> wrote:
Dear Simon Rit and/or other RTK developers,

I am writing you to ask for your suggestions as I am stuck with an RTK-related problem for a long time now. I am not sure if I have used the right e-mail address, so my apologies if I have not.

Since more than a year, I am working for MILabs as the X-ray CT developer.
For a long time, we have used RTK for GPU-based FDK reconstructions, and we have only used an SART in its CPU-based version. We are now looking into integrating (more) GPU-based iterative methods.

I have implemented a GPU-based version of CGLS using the templates from the RTK github repository (version 2.7.0, commit eb3fd5b). I use this in combination with ITK 5.7.0 and ITKCudaCommon 2.1.0. The problem that keeps coming up is that my reconstructions do not look at all like what they are supposed to look like with the GPU-based reconstruction. I have attached an image to this mail to clarify this.

In my reconstruction, I use 720 images with the default settings from the rtkprojectors_section.ggo file. The number of CGLS iterations is set to 30 and the voxel size is set to 0.08.
When I run CGLS with forward projector CudaRayCast and backprojector CudaRayCast, the result is very grainy and unsharp.
When I change the backprojector to CudaVoxelBased, the result initially looks better with a very low number of iterations, but with more iterations the reconstruction volume rapidly becomes very stripy and the details disappear as well. As a reference, I also ran the CPU reconstruction and the results look totally fine in this case.

I have tried to switch to the RTK implementation of SART/OSSART/SIRT, but I encounter the same problem there as well.

To double check, I have also used the ASTRA and TIGRE GPU-reconstructions and these give correct results. Still, I would like to get this GPU-reconstruction to run with RTK since in my opinion it is a more comprehensive toolbox, and the GPU reconstruction is much faster than the CPU reconstruction.

Do you know what the problem is here and how this can be resolved?

Please let me know if something is unclear or if additional information is required.

Thank you in advance.

Kind regards,
Mathé Zeegers

PS: In the RTK v3 migration guide it is stated that the -config command-line option will be removed because it was not known to be used in practice. I would like to let you know that we actually use that feature very frequently.


[cid:image001.png at 01DD33B5.8961AD40]



Mathé Zeegers

Preclinical X-ray CT Specialist

m.zeegers at milabs.com<mailto:m.zeegers at milabs.com>



This message may contain confidential information and is intended exclusively for the addressee. If you receive this message unintentionally, please do not use the contents but notify the sender immediately by return e-mail. MILabs B.V. is a legal person by public law and is registered at the Chamber of Commerce for Midden-Nederland under no. 302.075.15.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.creatis.insa-lyon.fr/pipermail/rtk-users/attachments/20260824/6f4e6fe4/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 21780 bytes
Desc: image001.png
URL: <http://www.creatis.insa-lyon.fr/pipermail/rtk-users/attachments/20260824/6f4e6fe4/attachment-0001.png>


More information about the Rtk-users mailing list