I’m pretty green to Slicer, so apologies if this is a naive question. I’ve applied a transform to a DICOM volume, hardened it and then saved the file (both as a nrrd and as a new dicom folder). When I open these files in Slicer as a new scene, they are in the transformed state. However when I open it in other applications (imageJ for example) it shows up in its original untransformed state. Is there a step I’m missing?
ImageJ ignores the 3D image geometry (maybe takes into account the image origin but ignores image origin and axis directions), so it cannot be used for verifying position or orientation of medical images.
When you apply a linear transform to an image then you can do it losslessly: by changing the image geometry information, without touching the voxel data. This is what Slicer does by default. If you want to keep the image geometry unchanged and modify the voxel data instead then you can use any of the image resample modules in Slicer (such as this).
Ah, interesting. I plan to use the transformed volumes in python to apply a deformation field that I created through other means. Would it be “safe” to assume that despite not appearing as transformed in imageJ, when reading it through a package such as simpleITK that the orientation is as I set it in Slicer (w/o having to resample the images)?
Yes, SimpleITK generally performs image processing operations in physical space, properly taking image geometry into account.