I am developing a new algorithm on itk and require the transformation of images which have different tensorial nature (vector, covector, symmetric rank-2 tensor). I was convinced that itk has this already implemented but, for what I have been able to find, apparently it is not. There are some implementations to transform a vector/tensor at a single point. But not for a full image.
The closest information in that direction that I have found is a discussion 11-years old:
Thanks, Steve, for this pointer. It is a pity that this has been implemented outside itk.
In any case, the implementation in Slicer is not quite generic. It requires the resampling and the transforms to be specific for (diffusion) symmetric tensors. Thus, any other type of object (vector, covector, contravariant tensors, non-symmetric tensors) would require specializing the full class structure.
If there is no other alternative, I will try to implement it myself including a “PixelValueTransformer” to the itkResampleImageFilter. (Better alternative naming is welcome.)
Do you see any problem with this approach?