Mouse-Imaging-Centre / pydpiper

Python code for flexible pipeline control
Other
24 stars 10 forks source link

Improve LSQ6 options regarding rotation vs translation #463

Open bcdarwin opened 2 years ago

bcdarwin commented 2 years ago

We would like a convenient setting for performing a brute-force translational, but not rotational, search; this can currently be achieved by hacking some flags but is not ideal.

The current options for rigid registration behave as follows:

As a result of this hidden distance transform functionality, --lsq6-large-rotations is actually better at finding a correct translational alignment than --lsq6-centre-estimation, leading to the situation where sometimes one can improve results by running --lsq6-large-rotations with small range/interval values (if the images are initially rotated similarly to the initial model, the default values can by chance worsen the situation, most likely to non-brain tissue which has yet to be masked at this point in the pipeline). It seems like centre-estimation should be improved to use a similar feature.

[This will also affect the upcoming ITK-based Pydpiper pipelines since antsAI and rotational_minctracc don't behave the same. More generally these options should be revised as part of an effort to improve configurability everywhere.]

gdevenyi commented 2 years ago

Regarding affine registrations in general, I've had really good luck with improving the robustness of antsReg with this generator for the registration parameters, https://github.com/CoBrALab/minc-toolkit-extras/blob/master/ants_generate_iterations.py