Population_template question

Dear MRtrix3 Experts,

I am going to create a FOD template using Population_template and I read the codes in mrtrix3/population_template at master · MRtrix3/mrtrix3 · GitHub. I have two questions and it would be great to have your comments.

  1. In mrtrix3/population_template at ed9558402834e9fa97b21b941783bf02765ef30d · MRtrix3/mrtrix3 · GitHub , the scale_option is not set in nonlinear registrations from the second iteration, does it mean that the default setting of mrregister (-nl_scale 0.25,0.5,1.0) will be used?

  2. Is there a ShapeUpdate process in each iteration similar to that in the ANTs template building process? (Averaging the transformations from subjects to the template, invert the averaged transformation, apply to each subject and update the template.)

Any advises or comments would be greatly appreciated! (I am a beginner in MRtrix and python, and it’s really helpful to learn in this forum.) Thank you in advance for your help.


In population_template, after the first iteration, the warps provided via -nl_init define the scale. With this option, mrregister does not perform a multi-resolution pyramid but only registers the images using a single resolution. The default scale factors are shown in the command help (mrtrix3/population_template at ed9558402834e9fa97b21b941783bf02765ef30d · MRtrix3/mrtrix3 · GitHub) and are applied to the warps in mrtrix3/population_template at ed9558402834e9fa97b21b941783bf02765ef30d · MRtrix3/mrtrix3 · GitHub.

We don’t model shape, only intensity. The main reason this can’t be done currently is that our warps can not be averaged in the sense of creating an average shape change. This would require switching to a log-demons or similar registration methods. If this is something you need, you could perform registration in ANTs and convert ANTs warps to MRtrix warps.


Hi Max,

Thank you very much for your reply! Have a great day.

Best regards,