How To's

From bone.wiki
Jump to navigation Jump to search








Scanco Image Registration

On percy, check out the DISK1:[MICROCT.EVAL]IPL_REGISTER*.COM scripts. You can also use it interactively by starting

$ iplreg
ipl> register
ipl> transform

Use the ipl help function for more info and read the PDF guide (in Documents).

SimilarityRegistration

Understanding rotation parameters (versors)

In SimilarityRegistration, former AppSimilarityRegistrationV3, used when registering images with Shape, the config file allows for setting inital rotations initial_transform_axis_x, initial_transform_axis_y, initial_transform_axis_z. These correspond to the versor components and are calculated as follows:

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)

where n=[n_x,n_y,n_z]^T is the unit vecotr representing the axis of rotation and alpha is the angle of rotation. Example 45 degree rotation around x-axis:

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

The rotations after registration final_transform_axis_x, final_transform_axis_y, final_transform_axis_z can be interpreted the same way. ITK provides the functions GetAxis() and GetAngle to obtain [n_x, n_y, n_z] and alpha respectively, which are calculated as follows:

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)

Statistics and Analysis

JAGS (analysis of Bayesian models using Markov Chain Monte Carlo)

See JAGS Usage.