Hi,
I am trying to register a GRE image to a T1w image, and it is proving challenging, even though the images are already rather well aligned. I am suspecting that mrregister fails because it discards the exiting alignment and replaces it with an initial center of mass approximation. Hence I am trying to use the option -rigid_init_translation none.
However I think mrregister is simply ignoring this.
Firstly, it still says:
“mrregister: initialising translation and centre of rotation using centre of mass”
Secondly, it does not care if the parameter is none or ‘none’ or even if I try
-rigid_init_translation idiot
It always does exactly the same thing.
I am using mrtrix 3.0.4
Dear Mark,
If you run mrregister
without specifying the -type
, it will default to -type affine_nonlinear
, which does not include a rigid phase. As a result, all -rigid_*
options do not come into play.
For the specific call (with implicit -type affine_nonlinear
) you could add -affine_init_translation none
and it would no longer perform this step as expected.
Should you want to include a rigid phase (e.g. with explicit -type rigid_affine_nonlinear
) you should find that -rigid_init_translation none
indeed skips the translation initialization for the rigid phase.
N.B.: I see that you intend to register multiple MRI modalities with mrregister
. Know that mrregister
currently only supports a mean-squared error metric to drive the registration. The implication is that mrregister
is only appropriate if the images have the same contrast and intensity range (hence its only main deployment being in population_template
). For the time being, you are probably much better off with a tool like ANTs for this use case. You can find tips on how to integrate this with your MRtrix pipeline on Registration: using transformations generated from other packages
Hi Ben, thanks for the help
Let me try and rephrase what I believe you are saying:
Since I specify -type affine_nonlinear
there should be no rigid phase, but only an affine followed by a nonlinear. Hence, since there is no rigid phase, I cannot skip any part of it.
If that is the case why is it saying that it is doing a centre of mass alignment? Is that part of the affine then? Hence if I want to skip that, I should use something like -affine_init_translation none
?
Second, why do you think I am trying to align “multiple MRI modalities”, do you mean to say different MRI modalities? If the latter, yes I am trying to align a GRE image to a T1w image. Why would mrregister be less suited for that?
Kindest
The center of mass alignment that you are seeing indeed comes from the affine phase, and you can avoid that by passing -affine_init_translation none
.
I mean that based on the names of your input files, you appear to be using mrregister with image1 and image2 being acquired with different imaging settings (e.g. different sequence, different sequence timings, etc). If this is indeed the case, this will cause image1 and image2 to lack intensity correspondence, violating the assumption of the sum-of-squared difference metric that mrregister uses to drive the registration. I would go as far as saying that this makes mrregister not suited for such a use-case.