Operating system: Windows 10
Slicer version: 4.9.0
Expected behavior: Volume Reslice Driver should apply a specified transform (driver) to reslice the views of the current volume and present the slices in the Red, Yellow and Green windows as specified in the module.
Preamble: I have been trying to use the driver logic in a custom module but have been trouble getting the views I expect. Thus, I revisited the IGT Volume Reslice Driver module to try to better understand its behavior.
load a volume and view the axial (red), sagittal (yellow) and coronal (green) sections in 4-up mode
create a linear transform, “Reslice” and set it to the identity matrix
Go to the IGT/Volume Reslice Driver Module. For each view, set the driver to Reslice and the mode to Axial, Sagittal and Coronal for the red, yellow and green views. Expected behavior: the views should not change or, at most, views should be the same as before after re-centering. Actual behavior: The slices are flipped and/or rotated in various ways. I can fix this by editing the images using flipping and rotating in the Advanced options, but not by editing the Reslice transform. Notably, using sliders to rotate Relice does not change the slices at all.
3B) The same thing happens when the modes are set to Transverse, Inline and Inline 90, but the flipping/rotating is different when Reslice is set to the identity transform.
For each view, reset the driver to None. Expected behavior: the view should revert to the original views. Instead, they stay flipped/rotated, even after re-centering the views.
Inconsistent behavior. Expected: I should get the same behavior every time I try this. Instead, the behavior seems to be state dependent. For example if I edit Reslice and then reset it to the identity, sometimes all slices return to the original state (before opening Reslice Driver). Sometimes not.
I don’t know if the problem is with my expectations but it seems reasonable that driving reslicing with the identity transform and/or with no transform (None) should do nothing. Since that does not seem to be the case, it would be very helpful if one of the original contributors could add a written description of the expected behavior in the Help section of the Module and/or in the code.