What is the difference between a rotation transform and SetDirection?


I am trying to understand the basics of SimpleITK. I am having doubts as to how a translation transform differs from a SetOffset and a rotation transform differs from a SetDirection. What I am hoping to obtain is a way of resampling my 3D image in a different direction (having the voxel grid run in three different orthogonal directions) without altering the object’s position and orientation. That is, if my 3D image is of a brain, after the resampling the brain should be seen in exactly the same position and orientation, but index slicing should give me different, diagonal cuts.

1 Like

There is implementation difference. If you have a separate transform, you can “merge” it into image’s metadata, either via TransformGeometryImageFilter or Transform class’ ApplyToImageMetadata method. Going the other way is harder.