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
Thoughts about using the SyN algorithm #706
Comments
@satra: What exactly do you mean by "rest of the pieces"? |
@arokem - sorry for being unclear and hasty. for the ants bit in that particular code the optimization is over three transformation steps [Rigid, Affine, Syn] with metrics being 'Mattes' and 'CC'. clicking together some other pieces to do the rigid and affine will not be hard. the question will really be a matter of demonstration that the replacement pieces work well. [btw, even affine registration can have different levels of quality, and the ants folks did some nice validaton. computed: T(aff1) : im1 -> im2 and T(aff2): im2 -> im1, then tested with im1_hat = inv(T(aff2)) * T(aff1) * im1 and looked at the difference between im1 and im1_hat. turned out many existing affine registration algorithm did much more poorly than ants on this.] in other areas of use, we have relied on ants support for lesion masks. i don't know if that's available in dipy. |
Have you seen the comparisons/benchmarks that @omarocegueda has run? See the top of this PR: #654 |
@arokem - thanks a lot! that definitely was useful to skim through that PR and code. and yes, based on that implementation the particular use case i pointed to still requires one more feature (1 below). it appears from the code that the registration:
our usage of ants 1 >> 2 >> 3 (3 happens in the rarest cases but ants supports it). @omarocegueda - a few questions about the evaluation.
|
Hi @satra!, =) https://github.com/omarocegueda/experiments/tree/master/experiments/registration it contains the validation scripts for both affine and syn (the graph you saw is for the affine case, but we have similar results for syn as well). Unfortunately, I haven't taken the time to write a clean documentation to help people easily run the evaluation themselves. The main problem is that we send the 306 registrations to a cluster, otherwise it would take too much time to run the full experiment on one single computer. We have thought about the possibility to make these tools more accessible to run the validation periodically (maybe Azure), but we don't have a place to put the data and the scripts yet. |
Thanks so much for taking the time to provide all the feedback! We really On Sat, Aug 29, 2015 at 8:13 AM, Omar Ocegueda notifications@github.com
|
@satra says (over here nipy/nireg#2 ): From a user perspective our current ants implementation works together with freesurfer, and uses a set of parameters that we feel quite comfortable with - tested in hundreds of cases (https://github.com/nipy/nipype/blob/master/examples/fmri_ants_openfmri.py#L200). as far as i can tell the SyN implementation in dipy is just for SyN, which means i have to do the rest of the pieces with something else and test that it delivers similar output (we will have resources for this in the near future, but not right now). for this bit, it will require work to ensure the transforms between these packages are compatible with each other (i have seen no convincing alternative to freesurfer's bbregister yet - especially for partial coverage of brains).
The text was updated successfully, but these errors were encountered: