What attributes to write from CompositeTransform Object to which DICOM tags?

Hi everyone, I’m just wondering what kind of information should be written to DICOM meta tags. Ideally, everything regarding the translation and rotation matrices should be written for Image Fusion/Registration purposes but I’m a little lost as to which tags are relevant to which information.

itk::simple::CompositeTransform
 CompositeTransform (0000018CF08DE930)
   RTTI typeinfo:   class itk::CompositeTransform<double,3>
   Reference Count: 1
   Modified Time: 92272
   Debug: Off
   Object Name: 
   Observers: 
     none
   Transforms in queue, from begin to end:
   >>>>>>>>>
   Euler3DTransform (0000018CF0A24B80)
     RTTI typeinfo:   class itk::Euler3DTransform<double>
     Reference Count: 1
     Modified Time: 92259
     Debug: Off
     Object Name: 
     Observers: 
       none
     Matrix: 
       1 0 0 
       0 1 0 
       0 0 1 
     Offset: [-6.24571, 0.00429469, -52.5]
     Center: [6.25701, 0.00700536, 1733.5]
     Translation: [-6.24571, 0.00429469, -52.5]
     Inverse: 
       1 0 0 
       0 1 0 
       0 0 1 
     Singular: 0
     Euler's angles: AngleX=0 AngleY=0 AngleZ=0
     m_ComputeZYX = 0
   >>>>>>>>>
   VersorRigid3DTransform (0000018CF0A23B00)
     RTTI typeinfo:   class itk::VersorRigid3DTransform<double>
     Reference Count: 1
     Modified Time: 92268
     Debug: Off
     Object Name: 
     Observers: 
       none
     Matrix: 
       0.99841 -0.0163883 -0.0539281 
       0.017555 0.99962 0.0212323 
       0.0535596 -0.0221453 0.998319 
     Offset: [92.0196, -21.8661, 11.5732]
     Center: [6.25701, 0.00700536, 1733.5]
     Translation: [-1.47477, 15.0499, 8.99422]
     Inverse: 
       0.99841 0.017555 0.0535596 
       -0.0163883 0.99962 -0.0221453 
       -0.0539281 0.0212323 0.998319 
     Singular: 0
     Versor: [ -0.0108493, -0.0268842, 0.00848972, 0.999544 ]
   End of MultiTransform.
<<<<<<<<<<
   TransformsToOptimizeFlags, begin() to end(): 
      0 1 
   TransformsToOptimize in queue, from begin to end:
   End of TransformsToOptimizeQueue.
<<<<<<<<<<
   End of CompositeTransform.
<<<<<<<<<<

Looking at the dicom website C.20.2 Spatial Registration Module
I suspect that the Transformation Matrix(3006,00C6) and Type(0070,030C) are important but I’m unsure of the terminology of DICOM tags.

Hello @wafflesaregreat,

This is likely more of a question for a DICOM forum. From the transformation information you provided you have two rigid transformations, possibly combine into one (manually) to set the minimal amount of information in the DICOM header, but I believe a sequence of matrices is also supported by the standard.

The only SimpleITK/ITK specific information you need is the structure of the transformation, as described in the fundamental concepts, all components are accessible via Get* methods.

1 Like