DICOM Correction Proposal
STATUS

Letter Ballot

Date of Last Update

2012/08/27

Person Assigned

David Clunie dclunie@dclunie.com

Submitter Name

2012/03/08

Submission Date

Michael Jensen mlj@milj.dk

Correction Number CP1213

Log Summary: Clarify affine transformation matrix constraints

Name of Standard
PS 3.3 2011

Rationale for Correction:
The explanatory text in PS 3.17 Annex P makes it clear that the transformation matrix uses homogeneous coordinates, and the normative text in the description of the attribute uses the word “homogeneous”, but the normative text for the AFFINE type of matrix contradicts this stating that that the element values are “unconstrained”. Correct the normative text.
Also, the question arises as to whether other values may be used in the matrix when the type (which is a defined term not an enumerated value) is not one of the specified types. Make these enumerated values.
Also, the same matrix is historically used in the RT Structure Set but with a different type attribute with a single defined term of HOMOGENEOUS; add a note about this too. It is not clear whether in the RT use case this should be an enumerated value, or whether the matrix should be constrained to be homogeneous too.

Correction Wording:

Amend PS 3.3 A.35:
...
Table C.20.21
SPATIAL REGISTRATION MODULE ATTRIBUTES
Attribute Name

Tag

Type

Attribute Description

>>Matrix Sequence

(0070,030A)

1

Specifies one transformation, that registers the Source RCS/images to the Registered RCS. It is expressible as multiple matrices, each in a separate item of the sequence.
One or more Items shall be included in this sequence.
The item order is significant and corresponds to matrix multiplication order. See C.20.2.1.1.

>>>Frame of Reference Transformation Matrix

(3006,00C6)

1

A 4x4 homogeneous affine transformation matrix that registers a homogeneous coordinate system A to B. Matrix elements shall be listed in rowmajor order. See C.20.2.1.1.

>>>Frame of Reference Transformation Matrix Type

(0070,030C)

1

Type of Frame of Reference Transformation Matrix (3006,00C6). Defined terms Enumerated Values:
RIGID
RIGID_SCALE
AFFINE
See C.20.2.1.2

…

…

…

…

C.20.2.1 Registration Module Attribute Descriptions
The Frame of Reference Transformation Matrix (3006,00C6) ^{A}M_{B} describes how to transform a point (^{B}x,^{B}y,^{B}z) with respect to RCS_{B} into (^{A}x,^{A}y,^{A}z) with respect to RCS_{A} according to the equation below.
_{ }
The Matrix Registration is expressible as multiple matrices, each in a separate item of the Matrix Sequence (0070,030A). The equation below specifies the order of the matrix multiplication where M_{1}, M_{2} and M_{3} are the first, second and third items in the sequence.
_{ }
where _{ } = _{ }
Registration often involves two or more RCS, each with a corresponding Frame of Reference Transformation Matrix. For example, another Frame of Reference Transformation Matrix ^{A}M_{C }can describe how to transform a point (^{C}x,^{C}y,^{C}z) with respect to RCS_{C} into (^{A}x,^{A}y,^{A}z) with respect to RCS_{A}. It is straightforward to find the Frame of Reference Transformation Matrix ^{B}M_{C} that describes how to transform the point (^{C}x,^{C}y,^{C}z) with respect to RCS_{C }into the point (^{B}x,^{B}y,^{B}z) with respect to RCS_{B. }The solution is to invert ^{A}M_{B }and multiply by ^{A}M_{C}, as shown below:
_{ }
There are three types of Registration Matrices:
RIGID: This is a registration involving only translations and rotations. Mathematically, the matrix is constrained to be orthonormal and describes six degrees of freedom: three translations, and three rotations.
RIGID_SCALE: This is a registration involving only translations, rotations and scaling. Mathematically, the matrix is constrained to be orthogonal and describes nine degrees of freedom: three translations, three rotations and three scales. This type of transformation is sometimes used in atlas mapping.
AFFINE: This is a registration involving translations, rotations, scaling and shearing. Mathematically, there are no constraints on the elements of the Frame of Reference Transformation Matrix other than that the last row shall be (0,0,0,1) to preserve the homogeneous coordinates, so it conveys twelve degrees of freedom. This type of transformation is sometimes used in atlas mapping.
Note: The AFFINE value for Frame of Reference Transformation Matrix Type (0070,030C) has the same meaning as the use of the HOMOGENEOUS value for Frame of Reference Transformation Type (3006,00C4) in the Structure Set module. See Section C.8.8.5.
See the PS 3.17 Annex on Transforms and Mappings for more detail.
Add note to PS 3.3 A.35:
C.8.8.5 Structure Set Module
A structure set defines a set of areas of significance. Each area can be associated with a Frame of Reference and zero or more images. Information that can be transferred with each region of interest (ROI) includes geometrical and display parameters, and generation technique.
Table C.841—STRUCTURE SET MODULE ATTRIBUTES
Attribute Name

Tag

Type

Attribute Description

…

…

…

…

>>Frame of Reference Transformation Type

(3006,00C4)

1

Type of Transformation.
Defined Terms:
HOMOGENEOUS

>>Frame of Reference Transformation Matrix

(3006,00C6)

1

Fourbyfour transformation Matrix from Related Frame of Reference to current Frame of Reference. Matrix elements shall be listed in rowmajor order. See C.8.8.5.2.

…

…

…

…

…
C.8.8.5.2 Frame of Reference Transformation Matrix
In a rigid body system, two coordinate systems can be related using a single 4 x 4 transformation matrix to describe any rotations and/or translations necessary to transform coordinates from the related coordinate system (frame of reference) to the primary system. The equation performing the transform from a point (X’,Y’,Z’) in the related coordinate system to a point (X,Y,Z) in the current coordinate system can be shown as follows, where for affine homogeneous transforms of homogeneous coordinates M_{41} = M_{42} = M_{43} = 0 and M_{44} = 1:
X M_{11} M_{12} M_{13 } M_{14} X’
Y = M_{21} M_{22} M_{23} M_{24} x Y’
Z M_{31} M_{32} M_{33} M_{34} Z’
1 M_{41} M_{42} M_{43} M_{44} 1
Note: The HOMOGENEOUS value for Frame of Reference Transformation Type (3006,00C4) has the same meaning as the use of the AFFINE value for Frame of Reference Transformation Matrix Type (0070,030C) in the Structure Set module. See Section C.8.8.5.
For reference unchanged, PS 3.17 Annex P Transforms and Mappings (Informative)
The Homogenous Transform Matrix is of the following form.
This matrix requires the bottom row to be [0 0 0 1].
The matrix can be of type: RIGID, RIGID_SCALE and AFFINE. These different types represent different conditions on the allowable values for the matrix elements.
RIGID:
This transform requires the matrix obey orthonormal transformation properties:
for all combinations of j = 1,2,3 and k = 1,2,3 where delta = 1 for i = j and zero otherwise.
The expansion into nonmatrix equations is:
M_{11} M_{11} + M_{21} M_{21} + M_{31} M_{31} = 1 where j = 1, k = 1
M_{11} M_{12} + M_{21} M_{22} + M_{31} M_{32} = 0 where j = 1, k = 2
M_{11} M_{13} + M_{21} M_{23} + M_{31} M_{33} = 0 where j = 1, k = 3
M_{12} M_{11} + M_{22} M_{21} + M_{32} M_{31} = 0 where j = 2, k = 1
M_{12} M_{12} + M_{22} M_{22} + M_{32} M_{32} = 1 where j = 2, k = 2
M_{12} M_{13} + M_{22} M_{23} + M_{32} M_{33} = 0 where j = 2, k = 3
M_{13} M_{11} + M_{23} M_{21} + M_{33} M_{31} = 0 where j = 3, k = 1
M_{13} M_{12} + M_{23} M_{22} + M_{33} M_{32} = 0 where j = 3, k = 2
M_{13} M_{13} + M_{23} M_{23} + M_{33} M_{33} = 1 where j = 3, k = 3
The Frame of Reference Transformation Matrix ^{A}M_{B} describes how to transform a point (^{B}x,^{B}y,^{B}z) with respect to RCS_{B} into (^{A}x,^{A}y,^{A}z) with respect to RCS_{A}.
The matrix above consists of two parts: a rotation and translation as shown below;
Rotation: Translation:
The first column [M_{11},M_{21},M_{31}] are the direction cosines (projection) of the Xaxis of RCS_{B} with respect to RCS_{A}. The second column [M_{12},M_{22},M_{32}] are the direction cosines (projection) of the Yaxis of RCS_{B} with respect to RCS_{A.} The third column [M_{13},M_{23},M_{33}] are the direction cosines (projection) of the Zaxis of RCS_{B} with respect to RCS_{A.} The fourth column [T_{1},T_{2},T_{3}] is the origin of RCS_{B}with respect to RCS_{A}.
There are three degrees of freedom representing rotation, and three degrees of freedom representing translation, giving a total of six degrees of freedom.
RIGID_SCALE
The following constraint applies:
for all combinations of j = 1,2,3 and k = 1,2,3 where delta = 1 for i=j and zero otherwise.
The expansion into nonmatrix equations is:
M_{11} M_{11} + M_{21} M_{21} + M_{31} M_{31} = S_{1}^{2} where j = 1, k = 1
M_{11} M_{12} + M_{21} M_{22} + M_{31} M_{32} = 0 where j = 1, k = 2
M_{11} M_{13} + M_{21} M_{23} + M_{31} M_{33} = 0 where j = 1, k = 3
M_{12} M_{11} + M_{22} M_{21} + M_{32} M_{31} = 0 where j = 2, k = 1
M_{12} M_{12} + M_{22} M_{22} + M_{32} M_{32} = S_{2}^{2} where j = 2, k = 2
M_{12} M_{13} + M_{22} M_{23} + M_{32} M_{33} = 0 where j = 2, k = 3
M_{13} M_{11} + M_{23} M_{21} + M_{33} M_{31} = 0 where j = 3, k = 1
M_{13} M_{12} + M_{23} M_{22} + M_{33} M_{32} = 0 where j = 3, k = 2
M_{13} M_{13} + M_{23} M_{23} + M_{33} M_{33} = S_{3}^{2} where j = 3, k = 3
The above equations show a simple way of extracting the spatial scaling parameters Sj from a given matrix. The units of S_{j}^{2} is the RCS unit dimension of one millimeter.
This type can be considered a simple extension of the type RIGID. The RIGID_SCALE is easily created by premultiplying a RIGID matrix by a diagonal scaling matrix as follows:
where M_{RBWS } is a matrix of type RIGID_SCALE and M_{RB} is a matrix of type RIGID.
AFFINE:
No constraints apply to this matrix, so it contains twelve degrees of freedom. This type of Frame of Reference Transformation Matrix allows shearing in addition to rotation, translation and scaling.
For a RIGID type of Frame of Reference Transformation Matrix, the inverse is easily computed using the following formula (inverse of an orthonormal matrix):
annex.
For RIGID_SCALE and AFFINE types of Registration Matrices, the inverse cannot be calculated using the above equation, and must be calculated using a conventional matrix inverse operation.
Page
