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

Implementing the Diffeomorphic registration #1616

wants to merge 39 commits into from


Copy link

commented Aug 13, 2018

This work was done as part of the Google Summer of Code (GSOC-2018) DIPY project titled 'DIPY Workflow(s) and Quality Assurance'

This PR applies the diffeomorphic transformation for registering images that differ in size and shape by applying the displacement or diffeomorphic field to the static and moving images.

The backward displacement field is applied to the static image to warp in the backward direction towards the moving image and the forward diffeomorphic field is applied to the moving image to warp in the forward direction towards the static image.

This PR should be merged only after PR 1604 and 1605 since it uses common code from them.

Together with the Affine registration workflow the diffeomorphic registration workflow significantly improves the capability of DIPY to register medical images in an automated and quality-controlled manner.

The test case for this PR is still under development and will be committed soon.


parichit added 22 commits Jul 31, 2018
Crated a new branch with clean history for the affine registration wo…

1) Committing to this branch all the code from the affine_registration branch (PR 1581)
2) New PR should be opened for this branch.
Changed the function call in the 'RIGID' transform to invoke 'center …
…of mass' transformation rather than 'translation' when the progressive flag is off.
Decreased the decimal precision to 1 decimal places (in checking the …
…value of distance metric) to validate the tests by travis.
1) Updated the parameter documentation for optimal parameters and sim…
…ilarity metric in the optimize() function of the file.

2) Changed the parameter documentation in the run() method of the alignpy file for improved view on the command line.
1) Fixed the PEP8 formatting issue in the dipy_align_affine and dipy_…

2) Changed the body of 'rigid()' function in to call the center_of_mass function when the progressive flag is off.
1) Renamed the ApplyTransformFlow to ApplyAffineFlow to distinguish i…
…t from the Syn_Registration flow.

2) Made the changes in the command line wrapper to use the changed name for the workflow.
Changed the name of the function to test_apply_affine_transform() and…
… decreased the decimal precision to 1 decimal place for validating the travis tests.

@parichit parichit force-pushed the parichit:syn_registration_clean branch from 8efa357 to 5d3b092 Aug 13, 2018

parichit added 4 commits Jul 31, 2018
1) Added the optional parameters to the Syn_registration workflow to …
…control the properties of the diffeomorphic registration.

2) Added the parameter documentation in the workflow.
3) Added the optional parameters for saving the displacement field and the option of saving the static image after applying the inverse mapping.
1) Added the command line wrapper for the diffeomorphic registration …

2) Updated the parameter documentation for the diffeomorphic registration workflow.

@parichit parichit force-pushed the parichit:syn_registration_clean branch from 5d3b092 to 95e1e30 Aug 13, 2018


This comment has been minimized.

Copy link

commented Mar 4, 2019

closing in favor of #1748.

Thank you @parichit for your work

@skoudoro skoudoro closed this Mar 4, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
2 participants
You can’t perform that action at this time.