Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve LSQ6 options regarding rotation vs translation #463

Open
bcdarwin opened this issue Mar 11, 2022 · 1 comment
Open

Improve LSQ6 options regarding rotation vs translation #463

bcdarwin opened this issue Mar 11, 2022 · 1 comment

Comments

@bcdarwin
Copy link
Member

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:

  • --lsq6-simple - simply calls minctracc to perform a single rigid registration
  • --lsq6-centre-estimation - as above but instructs minctracc to perform a centre-of-mass alignment first
  • --lsq6-large-rotations - does a brute-force alignment with user-adjustable parameter sweep options (--lsq6-rotational-range and --lsq6-rotational-interval), but also (because of rotational_minctracc's default behaviour) performs a brute force translational search based on peaks in the distance transform of a bimodalT-binarized version of the source image.

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
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants