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

Open
wants to merge 39 commits into
base: master
from

Conversation

Projects
None yet
2 participants
@parichit
Copy link
Contributor

parichit 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.

Thanks.

parichit added some commits Jul 31, 2018

Crated a new branch with clean history for the affine registration wo…
…rkflow.

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 imaffine.py 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_…
…apply_transform.

2) Changed the body of 'rigid()' function in align.py 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 some 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 …
…workflow.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment