{"id":13745462,"url":"https://github.com/uncbiag/registration","last_synced_at":"2026-04-06T07:34:54.326Z","repository":{"id":37677906,"uuid":"179505048","full_name":"uncbiag/registration","owner":"uncbiag","description":"Image Registration","archived":false,"fork":false,"pushed_at":"2019-11-14T22:18:14.000Z","size":24631,"stargazers_count":295,"open_issues_count":1,"forks_count":32,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-03-05T20:08:35.578Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uncbiag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":"citations.bib","codeowners":null,"security":null,"support":null}},"created_at":"2019-04-04T13:41:01.000Z","updated_at":"2026-01-26T12:09:16.000Z","dependencies_parsed_at":"2022-09-15T09:10:40.303Z","dependency_job_id":null,"html_url":"https://github.com/uncbiag/registration","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uncbiag/registration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uncbiag%2Fregistration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uncbiag%2Fregistration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uncbiag%2Fregistration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uncbiag%2Fregistration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uncbiag","download_url":"https://codeload.github.com/uncbiag/registration/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uncbiag%2Fregistration/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31463160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"online","status_checked_at":"2026-04-06T02:00:07.287Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T06:00:19.111Z","updated_at":"2026-04-06T07:34:54.292Z","avatar_url":"https://github.com/uncbiag.png","language":"TeX","funding_links":[],"categories":["Toolbox","Image Registration","Registration"],"sub_categories":["Medical Image","Registration"],"readme":"# Image registration\n\nThe purpose of this repository is to provide an overview of github repositories on non-parametric image registration.\n\nAll our code is written in python using [PyTorch](https://pytorch.org/) except for our original deep-learning registration work [[Yang16]](#yang16) which is written in lua using [torch](http://torch.ch/). \n\n\u003chr\u003e\n\n\n# Mermaid: iMagE Registration via autoMAtIc Differentiation\n\n\u003cpre\u003e\n                                      _     _ \n                                     (_)   | |\n  _ __ ___   ___ _ __ _ __ ___   __ _ _  __| |\n | '_ ` _ \\ / _ \\ '__| '_ ` _ \\ / _` | |/ _` |\n | | | | | |  __/ |  | | | | | | (_| | | (_| |\n |_| |_| |_|\\___|_|  |_| |_| |_|\\__,_|_|\\__,_|\n                                                                                      \n \u003c/pre\u003e                                       \n\nMermaid is a registration toolkit making use of automatic differentiation for rapid prototyping.\nIt includes various image registration models. In particular, stationary velocity field models\n (both based on velocity fields and momentum fields), scalar vector momentum Large\n  Displacement Diffeomorphic Metric Mapping (LDDMM) models as well as the more generalized Region-specific Diffeomorphic Metric Mapping model (RDMM).\n\n\nThe Mermaid repository can be found here:\nhttps://github.com/uncbiag/mermaid\n\n**Supported transformation models**:\n* affine_map: map-based affine registration\n* diffusion_map: displacement-based diffusion registration\n* curvature_map: displacement-based curvature registration\n* total_variation_map: displacement-based total variation registration\n* svf_map: map-based stationary velocity field\n* svf_image: image-based stationary velocity field\n* svf_scalar_momentum_image: image-based stationary velocity field using the scalar momentum\n* svf_scalar_momentum_map: map-based stationary velocity field using the scalar momentum\n* svf_vector_momentum_image: image-based stationary velocity field using the vector momentum\n* svf_vector_momentum_map: map-based stationary velocity field using the vector momentum\n* lddmm_shooting_map: map-based shooting-based LDDMM using the vector momentum\n* lddmm_shooting_image: image-based shooting-based LDDMM using the vector momentum\n* lddmm_shooting_scalar_momentum_map: map-based shooting-based LDDMM using the scalar momentum\n* lddmm_shooting_scalar_momentum_image: image-based shooting-based LDDMM using the scalar momentum\n* lddmm_adapt_smoother_map: map-based shooting-based Region specific diffemorphic mapping, with a spatio-temporal regularizer\n* svf_adapt_smoother_map: map-based shooting-based vSVF, with a spatio regularizer\n\n**Supported similarity measures**:\n* ssd: sum of squared differences\n* ncc: normalize cross correlation\n* ncc_positive: positive normalized cross-correlation\n* ncc_negative: negative normalized cross-correlation\n* lncc: localized normalized cross correlation (multi-scale)\n\n**Supported solvers**:\n* embedded RK4\n* torchdiffeq: explicit_adams, fixed_adams, tsit5, dopri5, euler, midpoint, rk4\n\n**Optimizer**:\n* support single/multi-scale optimizer\n* support SGD, l-BFGS and some limited support for adam\n\n\u003chr\u003e\n\n\n# EasyReg\n\nEasyReg is an extension that builds on Mermaid, providing a simple interface to Mermaid and other popluar registration packages.\n\nThe currently supported methods include Mermaid-optimization (i.e., optimization-based registration) and Mermaid-network (i.e., deep network-based registration methods using the mermaid deformation models, like SVF, LDDMM, RDMM...).\nWe also added some supports on [ANTsPy](https://github.com/ANTsX/ANTsPy), [NiftyReg](http://cmictig.cs.ucl.ac.uk/wiki/index.php/NiftyReg) and Demons(embedded in [SimpleITK](http://www.simpleitk.org/SimpleITK/resources/software.html)).\n\nThe EasyReg repository can be found here:\nhttps://github.com/uncbiag/easyreg\n\n\u003chr\u003e\n\n\n# Gallery\n\n\nHere are some examples:\n\n**Vector Momentum-parameterized Stationary Velocity Field(vSVF)**: with a temporal-invariant velocity field and a constant regularizer.\n\n\u003cimg src=\"images/vsvf.gif\" alt=\"vsvf\" width=\"700\"/\u003e\u003cbr\u003e\n\n\n**Large Displacement Diffeo-morphic Metric Mapping (LDDMM)**: with a spatial-temporal velocity field and a constant regularizer.\n\n\u003cimg src=\"images/lddmm.gif\" alt=\"lddmm\" width=\"700\"/\u003e\u003cbr\u003e\n\n\n**Region-specific Diffeomorphic Metric Mapping (RDMM)**: with a spatial-temporal velocity field and a spatial-temporal regularizer.\n\nRDMM with an optimized regularizer\n\n\u003cimg src=\"images/rdmm.gif\" alt=\"rdmm\" width=\"700\"/\u003e\u003cbr\u003e\n\nRDMM with a pre-defined regularizer\n\n\u003cimg src=\"images/rdmm_predefined.gif\" alt=\"rdmm_predefined\" width=\"700\"/\u003e\u003cbr\u003e\n\n\u003chr\u003e\n\n\n# Related work\n\nThe first work on deep-learning for non-parametric medical image registration [[Yang16]](#yang16) predicted the initial momentum of an LDDMM solution, hence was already able to guarantee diffeomorphic transformations. Because it is based on patch-wise predictions, it can be applied to very large images if needed. This work was extended and extensively analyzed in [[Yang17]](#yang17), showing competitive performance with state-of-the-art optimization-based deformable image registration approaches; it also included deep-network models to predict displacement and velocity fields. Follow-up work focused on learning the registration metric [[Niethammer19]](#niethammer19); jointly learning to predict affine transformations and a nonparametric transformation [[Shen19a]](#shen19a) (including multi-step approaches and training to encourage symmetric models); as well as extensions of the LDDMM approach to spatio-temporal regularizers (i.e., that move with the deforming images) also within a deep-network approach [[Shen19b]](#shen19b). \n\nBibtex entries for this related work can be found here [[bibtex]](citations.bib) and the citations are listed in the next section.\n\n# Bibliography\n\n\u003ca id=\"yang16\"\u003e[Yang16]\u003c/a\u003e Fast Predictive Image Registration [[pdf]](https://arxiv.org/pdf/1607.02504.pdf) [[code]](https://github.com/rkwitt/FastPredictiveImageRegistration)\\\nXiao Yang, Roland Kwitt, Marc Niethammer. DLMIA 2016.\n\n\u003cimg src=\"images/dlmia_network.png\" alt=\"fast_predictive\" width=\"300\"/\u003e\u003cbr\u003e\n\n\n\u003ca id=\"yang17\"\u003e[Yang17]\u003c/a\u003e Quicksilver: Fast predictive image registration--a deep learning approach [[pdf]](https://arxiv.org/pdf/1703.10908.pdf) [[code]](https://github.com/rkwitt/quicksilver)\\\nXiao Yang, Roland Kwitt, Martin Styner, Marc Niethammer, NeuroImage 2017.\n\n\u003cimg src=\"images/neuroimage_quicksilver.png\" alt=\"neuroimage_quicksilver\" width=\"300\"/\u003e\u003cbr\u003e\n\n\n\u003ca id=\"niethammer19\"\u003e[Niethammer19]\u003c/a\u003e Metric Learning for Image Registration [[pdf]](https://arxiv.org/pdf/1904.09524.pdf) [[code]](https://github.com/uncbiag/mermaid)\\\nMarc Niethammer, Roland Kwitt, Francois-Xavier Vialard. CVPR 2019.\n\n\u003cimg src=\"images/metric_learning.png\" alt=\"metric_learning\" width=\"300\"/\u003e\u003cbr\u003e\n\n\n\u003ca id=\"shen19a\"\u003e[Shen19a]\u003c/a\u003e Networks for Joint Affine and Non-parametric Image Registration [[pdf]](https://arxiv.org/pdf/1903.08811.pdf) [[code]](https://github.com/uncbiag/easyreg)\\\nZhengyang Shen, Xu Han, Zhenlin Xu, Marc Niethammer. CVPR 2019.\n\n\u003cimg src=\"images/avsm.png\" alt=\"avsm\" width=\"300\"/\u003e\u003cbr\u003e\n\n\n\u003ca id=\"shen19b\"\u003e[Shen19b]\u003c/a\u003e Region-specific Diffeomorphic Metric Mapping [[pdf]](https://arxiv.org/pdf/1906.00139.pdf) [[code]](https://github.com/uncbiag/easyreg)\\\nZhengyang Shen, François-Xavier Vialard, Marc Niethammer. NeurIPS 2019.\n\n\u003cimg src=\"images/rdmm.png\" alt=\"rdmm\" width=400\u003e\u003cbr\u003e\n\u003chr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funcbiag%2Fregistration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funcbiag%2Fregistration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funcbiag%2Fregistration/lists"}