Sorry if this question is rather basic. Please direct me to the thread if this topic has already been covered. I did look.
This is my typical workflow…I import a DICOM file then centre the volume then rotate the volume, harden it and possible reslice the volume. I am wanting to transform the model/s created (from a segmentation) using this transformed volume back to the position and rotation of the original volume.
I am hoping there is an easy way to do this…
Thanks
You can “undo” a linear transformation by applying the inverse of the transform, but probably the best is not to alter the volume in the first place.
Why did you apply a centering transform on the volume and why did you even harden it?
Hi Andras, thanks for the response. I’ve been following your instructions and tutorials for a wee while. Even though I have been using Slicer for years I’m still trying to get a good grasp on the whys and how slicer works. I like to centre volumes before rotating them so they stay on screen etc. this also puts things in a good spot for exporting to other programs. I rotate for a similar reason… basically in preparation for 3d printing where we add walls/ floors to models.
The only reason I would like to transform the model back is to verify that no geometric mistakes have occurred…IE it matches the original volume data.
Thanks
For this, click on the “Center view” (little crosshair) button in the view controller. You can also right-click at any point in the 3D view and choose “Refocus camera on this point” to set that point as center of rotation.
In the DICOM file, a universally unique identifier is assigned to the coordinate system that the image is specified in. This coordinate system is used by all DICOM-compliant software. By keeping your image and all derived data in this coordinate system ensures that all your data always appears correctly in any software you are using. You would not want to sacrifice all this for some little conveniences, such as making the image appear in the center of the screen by default.
Yes, I use the Centre view/ reset field of view button but if the volume is a long way from the centre of rotation “center volume” makes the rotation stay central in all the views while rotating it.
I can see your point here. Unfortunately most of the tutorials and written adavice don’t mention this type of manipulation is not best practice.
You’ve given me much to think about…
But let’s say, for arguements sake, I still wanted to apply an inverse transform to my model, how do I do that?
Do you mean that the issue is that you use multiple 3D views and you need to “Click center” volume in each? How many 3D views are you using? We could potentially auto-center (similarly how we reset the field of view in slice views by default when a volume is loaded) if clicking the centering button is a significant burden.
Since centering is disabled by default and even if you enable it, the volume is not modified, only a transform is applied to it, and the feature is not advertised in tutorials and barely mentioned in the documentation, we expect that only those users perform this action who have a strong reason to use it.
I usually advise users to avoid this feature when it comes up (see for example here), but of course I would not expect anyone to search until running into an issue, so probably it does not help much.
I’m not sure how to make users more aware of what they lose by centering a volume. We could add more information to the documentation, but I would not expect users to read the documentation before using a feature. Anyway, if you find documentation or tutorial that mentions it then let me know and I’ll add a note there. We could also consider removing the feature from the user interface (from the loading options and/or the Volumes module).
You can click Invert
in Transforms module to inverse the centering transform and apply it to the centered volume (and other derived data) to transform back to the original position.