The Affine Transform Matrix is of the following form.
This matrix requires the bottom row to be [0 0 0 1] to preserve the homogeneous coordinates.
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 δ = 1 for i = j and zero otherwise.
The expansion into non-matrix equations is:
M11 M11 + M21 M21 + M31 M31 = 1 where j = 1, k = 1
M11 M12 + M21 M22 + M31 M32 = 0 where j = 1, k = 2
M11 M13 + M21 M23 + M31 M33 = 0 where j = 1, k = 3
M12 M11 + M22 M21 + M32 M31 = 0 where j = 2, k = 1
M12 M12 + M22 M22 + M32 M32 = 1 where j = 2, k = 2
M12 M13 + M22 M23 + M32 M33 = 0 where j = 2, k = 3
M13 M11 + M23 M21 + M33 M31 = 0 where j = 3, k = 1
M13 M12 + M23 M22 + M33 M32 = 0 where j = 3, k = 2
M13 M13 + M23 M23 + M33 M33 = 1 where j = 3, k = 3
The Frame of Reference Transformation Matrix AMB describes how to transform a point (Bx,By,Bz) with respect to RCSB into (Ax,Ay,Az) with respect to RCSA.
The matrix above consists of two parts: a rotation and translation as shown below;
Rotation:
Translation:
The first column [M11,M21,M31 ] are the direction cosines (projection) of the X-axis of RCSB with respect to RCSA . The second column [M12,M22,M32] are the direction cosines (projection) of the Y-axis of RCSB with respect to RCSA. The third column [M13,M23,M33] are the direction cosines (projection) of the Z-axis of RCSB with respect to RCSA. The fourth column [T1,T2,T3] is the origin of RCSB with respect to RCSA.
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 δ = 1 for i=j and zero otherwise.
The expansion into non-matrix equations is:
M11 M11 + M21 M21 + M31 M31 = S1 2 where j = 1, k = 1
M11 M12 + M21 M22 + M31 M32 = 0 where j = 1, k = 2
M11 M13 + M21 M23 + M31 M33 = 0 where j = 1, k = 3
M12 M11 + M22 M21 + M32 M31 = 0 where j = 2, k = 1
M12 M12 + M22 M22 + M32 M32 = S2 2 where j = 2, k = 2
M12 M13 + M22 M23 + M32 M33 = 0 where j = 2, k = 3
M13 M11 + M23 M21 + M33 M31 = 0 where j = 3, k = 1
M13 M12 + M23 M22 + M33 M32 = 0 where j = 3, k = 2
M13 M13 + M23 M23 + M33 M33 = S3 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 Sj 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 pre-multiplying a RIGID matrix by a diagonal scaling matrix as follows:
where MRBWS is a matrix of type RIGID_SCALE and MRB 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):
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.