We quite often use the surface based registration option in Amira to generate an initial alignment for cases where CMTK's affine registration fails.

  1. Take your starter image and smooth/downsample to e.g. 3 um voxels.
  2. Then generate a surface – you can use the Isosurface viewer module
  3. We then normally simplify to ~ 18k vertices. Now you are ready for the surface aligment
  4. Choose Align surfaces
    1. set the template brain as the surface to be transformed
    2. set the sample/floating brain as the reference surface
    3. (yes this sounds backwards, but that's what CMTK wants)
  5. Now align the centres
  6. rigidly align the brains until you see no further improvement
  7. then continue with affine registration until ditto
  8. In the console, get the reference brain transformation e.g. JFRC2.surf getTransform
  9. These 16 numbers define a homogeneous affine transformation, which can now be used to make a CMTK registration.

We carry out the last step in R:

# paste in the 16 numbers
m=matrix(scan(), ncol=4)
# check that you have a 4 x 4 matrix with last row 0 0 0 1
write.cmtkreg(cmtk.mat2dof(m), "/path/to/my/reg/folder/Registration/affine/JFRC2_FLPO_20121214175357476_2097_01_ght.list")

You will need to have R and the nat package installed. See http://jefferis.github.io/nat for details.

Log In