I am currently working on a project involving the processing of high resolution medical images; and I have run into some performance concerns when resampling large datasets using ITK. Specifically; I am using ResampleImageFilter to transform and interpolate volumetric data. While the filter works well on smaller images; I have noticed a significant slowdown as the image dimensions increase.
Are there any best practices to improve the performance of ResampleImageFilter for large 3D images? I am already using a linear interpolator to reduce computation but am open to other suggestions. Would multi threading settings or ITK pipeline options improve execution time? If so; what configurations should I explore?
Is there an alternative resampling method in ITK or another library that might be faster for large datasets?
Couple you please provide a sample of the code you are using to resample? Also what are the sizes of images you are happy with the performance and what are the sizes and pixel type of images that are under performing.
Also please provide examples of the performance that you are getting, so that we can determine if we can reproduce your performance issue.
Also, what is your computer memory size? If the operation is forcing use of swap memory, that could explain the slowdown. The computation time is expected to increase linearly with number of voxels.