Mrregister type choice

Dear mrtrix experts,

I want to achieve an affine (including rigid) and nonlinear transformation, but have some questions:

  1. What is the difference between rigid_affine_nonlinear and affine_nonlinear in the mrregister command?
    Intuitively I would think the ‘affine’ part already covers rigid transformations. Is there a special reason why ‘rigid’ should be added explicitly besides affine, i.e. does it perform better?

Also, I’m confused about the output options:

  1. Suppose I choose the registration type -type rigid_affine_nonlinear, should I then define both rigid and affine outputs e.g. -rigid rigid.txt -affine affine.txt, or is it sufficient to put -affine rigid_affine.txt in the assumption that ‘rigid_affine.txt’ would then be the full affine transform (containing rigid transformation as well).
    And if I would put -rigid rigid.txt -affine affine.txt instead, would that mean that affine.txt contains also the rigid transformations (i.e. equal to rigid_affine.txt in my previous example), or only the scaling and skewing, not covered by rigid.txt?

Kind regards,


All registration types are performed consecutively and each one is initialised with the result of the previous one.

The latter performs a rigid registration followed by an affine which is initialised with the rigid registration’s transformation matrix.

The additional rigid step is often useful if there are large size differences between the brains.rigid_affine_nonlinear first tries to get the translation and rotation in a sensible ballpark and then perform the full affine registration including scaling and shearing.

The output is the result of the respective registration type. If you are only interested in the final result then all you need is the warp field as it also contains the linear transformation it was initialised with. Transformation matrices always contain the full linear (rigid or affine) transformation in homogeneous coordinates. You can decompose it into shear and scale with transformcalc if you want but it is not necessary.

1 Like

Alright, thanks for the explanation Max!