I have a quick question regarding the transformation outputs when creating a partial volume. Based on the photo below, I would assume that combining {bone}.tfm and {bone}_PVOL2AUT.tfm would give the result of {bone}_DICOM2AUT.tfm.
As I understand it, the {bone}.tfm non-rigid transform contains a scaling parameter to properly scale the dimensionless bone TIFF into the world space. The {bone}_PVOL2AUT.tfm rigid transform then places that model into AUT space.
However, when viewing the {bone}_DICOM2AUT.tfm transform, it does not have any scaling parameters associated with it. Therefore, if I were to apply this transform to the dimensionless bone TIFF, wouldn’t it be improperly scaled? Am I missing something here?
Thanks for your time in advance!
P.S. - I am wondering if there will eventually be more details regarding the outputs of the transform file. I am trying to understand the difference between Parameters and FixedParameters.
You are correct. The {bone}_DICOM2AUT.tfm transform (and {bone}_PVOL2AUT.tfm) does not have any scaling parameters.
The {bone}.tfm transform does scale the bone TIFF; however, the transform places the volume in the DICOM space rather than the world space. The {bone}_scale.tfm does scale the bone TIFF and place it in the world space.
There are multiple ways to transform the un-scaled bone TIFF to the AUT space using the transforms. One way is to apply {bone}.tfm to scale and transform the volume to the DICOM space and then apply the {bone}_DICOM2AUT.tfm transform. Another way is to apply the {bone}_scale.tfm transform and then apply the {bone}_PVOL2AUT.tfm transform.
Here are figures that show the results of applying these transforms:
I agree, looking at the flow chart from the readthedocs does make it seem like the way you were applying the transforms should have resulted in the same outcome. This is something we can revisit on our end and work on to better explain the workflow of applying the transforms. I hope this answered your question about the transforms. Let me know if you have any additional questions or feedback!
Thanks for the clarification. This makes sense now, especially when considering the definitions supplied within the same document (I forgot those were in there!):
Transforms:
{bone}.tfm: Non-rigid transform that translates and scales the {bone}.tif volume to its spatial location within the segmented CT-DICOM.
{bone}_DICOM2AUT.tfm: Transformation from DICOM space into Autoscoper (AUT) space.
{bone}_PVOL2AUT.tfm: Transformation from world space into Autoscoper (AUT) space.
{bone}_scale.tfm: Scaling matrix that converts the volume from image space to world space.
{bone}_t.tfm: Translation matrix moving between the world origin and the location of the partial volume within the segmented CT-DICOM.
Based on this information, would this pipeline I modified from the original image make sense?
Lastly, I do want to mention that the documentation and figures are all greatly appreciated. It is valuable to us end-users to understand the processes that occur behind the scenes of SAM.
One of the tricky considerations for using Autoscoper is that the tiff volume will be internally represented in a specific (if colloquial) way. PVOL2AUT accommodates for this.
As @John_Holtgrewe pointed out (thanks John!) the PVOL is essentially the tiff stack subvolume with appropriate scaling- but still located at the origin, and the flow diagram contradicts our other graphics somewhat (we’ll work on updating!)
All intermediary transforms are provided and detailed fyi but we also attempted to streamline post-processing by calculating exporting STL models in AUT space, such that autoscoper bvr .tra outputs can be directly applied ot the AUT{bone}.stl for global motion.
If you generated a local anatomical cs- you can likewise apply DICOM2AUT for that bone to visually and mathematically appropriate the cs (and respectively apply you tra)
Thanks for the clarifications. I did notice the ‘Models’ folder that contains the models in AUT space. These have been extremely helpful for visualization purposes. I will be on the lookout for those updated diagrams.