|
|
| Line 16: |
Line 16: |
|
| |
|
|
| |
|
| ==SimilarityRegistration==
| | |
| ===Understanding rotation parameters (versors)===
| |
| In SimilarityRegistration, former AppSimilarityRegistrationV3, used when registering images with Shape, the config file
| |
| allows for setting inital rotations <code>initial_transform_axis_x, initial_transform_axis_y, initial_transform_axis_z</code>. These correspond to the versor components and are calculated as follows:
| |
| <pre>
| |
| initial_transform_axis_x = n_x * sin(alpha/2)
| |
| initial_transform_axis_y = n_y * sin(alpha/2)
| |
| initial_transform_axis_z = n_z * sin(alpha/2)
| |
| </pre>
| |
| where <code>n=[n_x,n_y,n_z]^T</code> is the unit vecotr representing the axis of rotation and <code>alpha</code> is the angle of rotation. Example 45 degree rotation around x-axis:
| |
| <pre>
| |
| initial_transform_axis_x = 1 * sin(45/2) = 0.382
| |
| initial_transform_axis_y = 0 * sin(45/2) = 0
| |
| initial_transform_axis_z = 0 * sin(45/2) = 0
| |
| </pre>
| |
| The rotations after registration <code>final_transform_axis_x, final_transform_axis_y, final_transform_axis_z</code> can be interpreted the same way.
| |
| ITK provides the functions GetAxis() and GetAngle to obtain <code>[n_x, n_y, n_z]</code> and <code>alpha</code> respectively, which are calculated as follows:
| |
| <pre>
| |
| v_1 = initial_transform_axis_x
| |
| v_2 = initial_transform_axis_y
| |
| v_3 = initial_transform_axis_z
| |
| magnitude = sqrt(v_1^2 + v_2^2 + v_3^2)
| |
| n_x = v_1/magnitude
| |
| n_y = v_2/magnitude
| |
| n_z = v_3/magnitude
| |
| alpha = 2 * atan(magnitude/1)
| |
| </pre>
| |
|
| |
|
| ==Statistics and Analysis== | | ==Statistics and Analysis== |
Statistics and Analysis
JAGS (analysis of Bayesian models using Markov Chain Monte Carlo)
See JAGS Usage.