I am interested in getting 3D box annotations in MRI data. ROI markups appear to be a good fit for this but the current behaviour is counterintuitive to users. In particular, they got confused by getting forced into creating “skewed” boxes, see snapshot below:
It seems this comes from “conflicting” default behaviours in 3D Slicer. Indeed, by default, the MRI volume is loaded to display in image coordinates but the box ROI markups are created in anatomical coordinates. So it’s not a skew but rather an oblique clipping that is observed.
Anyway, I was thus wondering if there is an option to create box ROI markups that are aligned with image coordinates rather than anatomical ones. The UI and documentation don’t seem to indicate this is possible but probably I missed something:
If not from the UI, is it possible to customise ~/.slicerrc.py or similar to introduce such a behaviour?
If you create ROI inside the Volume Rendering module, it will be aligned with respect to your rotated MRI image (and not be skewed) like that. There is sort of a related issue here:
Good point! Most of the time users would probably want to place the ROI with axes aligned with the slice view axes, so probably we should change the placement behavior (instead of making it configurable).
@muratmaga would this behavior would be an improvement for your workflows, too?
For us the biggest improvement would come enabling easier linear resampling after we manually align our microCT scans (which is the linked issue). If it is possible to do that both, that would be great.
I’m not sure I understand the suggestion. The behaviour is the same if I initiate the ROI markup in the volume rendering view. The box remains aligned with anatomical axes.
I am currently thinking about using a workaround to display images in anatomical coordinates but it’s not ideal for downstream usage where voxel grid based box ROIs would be expected. We would need to compute the tightest box in image coordinates that encapsulates the anatomically aligned box. This makes the annotation process fuzzier than I would hope but makes for a slighly more intuitive operation for annotaters.
I found a crop volume module but no crop volume function in the volume rendering module:
I assume you refer to the former.
I confirm this generate image axis aligned box ROIs but it’s not super intuitive to use. I’ll have a hard time convincing people to use that for annotation purposes.
But given that the functionality is there and these ROIs show in the list of markups, maybe the default behaviour through the markup module can be hacked with a python hook in the short term?
It is the same ROI markups initialized different. I agree it is cumbersome. I only offered this since it is available to do what you want to do right now (as opposed to wait for implementation, and funding for it).
Ah yes, clicking “Enable” and “Display ROI” next to “Crop” in the “volume rendering” module also works, albeit for a single box ROI. The path through the “crop volume” module allows creation of multiple box ROIs.