How To's: Difference between revisions
| Line 12: | Line 12: | ||
==Scanco Image Registration== | ==Scanco Image Registration== | ||
Revision as of 15:45, 16 September 2010
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.