Difference between revisions of "BUnwarpJ"
(update references) |
(add technical explanations) |
||
Line 22: | Line 22: | ||
== General Description == | == General Description == | ||
[[bUnwarpJ]] is an algorithm for '''elastic and consistent image registration''' developed as an ImageJ plugin. It performs a simultaneous registration of two images, A and B. Image A is elastically deformed in order to look as similar as possible to image B, and, at the same time, the "inverse" transformation (from B to A) is also calculated so a pseudo-invertibility of the final deformation could be guaranteed. Two images are given as a result: the deformed versions of A and B images. | [[bUnwarpJ]] is an algorithm for '''elastic and consistent image registration''' developed as an ImageJ plugin. It performs a simultaneous registration of two images, A and B. Image A is elastically deformed in order to look as similar as possible to image B, and, at the same time, the "inverse" transformation (from B to A) is also calculated so a pseudo-invertibility of the final deformation could be guaranteed. Two images are given as a result: the deformed versions of A and B images. | ||
+ | == Technical Explanations == | ||
+ | This image registration algorithm is based on the minimization of an energy functional that includes the dissimilarity between the source and target images -in both directions- <math>E_{img}</math>, an optional landmark constraint <math>E_{\mu}</math>, a regularization term <math>(E_{div} + E_{rot})</math>, and an energy term <math>E_{cons}</math> that accounts for the geometrical consistency between the elastic deformation in both directions. Namely, the energy function is given by | ||
+ | |||
+ | :::::<math> E = w_iE_{img} + w_{\mu}E_{\mu} + (w_dE_{div} + w_rE_{rot}) + w_cE_{cons} </math> | ||
+ | |||
+ | Where the weights of every term are set by the user in the main window of the plugin. The optimization process is a [https://en.wikipedia.org/wiki/Levenberg%E2%80%93Marquardt_algorithm Levenberg-Marquardt] minimization enhanced by a [https://en.wikipedia.org/wiki/Broyden%E2%80%93Fletcher%E2%80%93Goldfarb%E2%80%93Shanno_algorithm Broyden-Fletcher-Goldfarb-Shanno (BFGS)] estimate of the local Hessian of the goal function, and both, images and deformations are represented by [https://en.wikipedia.org/wiki/B-spline cubic B-splines]. | ||
== Downloads == | == Downloads == |
Revision as of 08:12, 16 December 2015
bUnwarpJ (Fiji) | |
---|---|
Author | Ignacio Arganda-Carreras |
Maintainer | Ignacio Arganda-Carreras (iargandacarreras@gmail.com) |
File | sc.fiji:bUnwarpJ_ |
Source | on GitHub |
Initial release | July 20^{th}, 2006 |
Latest version | 2.6.3, June 25^{th}, 2015 |
Development status | stable, active |
Category | Registration |
Website | bUnwarpJ |
This ImageJ/Fiji plugin performs 2D image registration based on elastic deformations represented by B-splines. The invertibility of the deformations is enforced through a consistency restriction.
For a quick start, you can have a look at the video tutorial (awarded at the Second ImageJ User & Developer Conference).
Contents
General Description
bUnwarpJ is an algorithm for elastic and consistent image registration developed as an ImageJ plugin. It performs a simultaneous registration of two images, A and B. Image A is elastically deformed in order to look as similar as possible to image B, and, at the same time, the "inverse" transformation (from B to A) is also calculated so a pseudo-invertibility of the final deformation could be guaranteed. Two images are given as a result: the deformed versions of A and B images.
Technical Explanations
This image registration algorithm is based on the minimization of an energy functional that includes the dissimilarity between the source and target images -in both directions- , an optional landmark constraint , a regularization term , and an energy term that accounts for the geometrical consistency between the elastic deformation in both directions. Namely, the energy function is given by
Where the weights of every term are set by the user in the main window of the plugin. The optimization process is a Levenberg-Marquardt minimization enhanced by a Broyden-Fletcher-Goldfarb-Shanno (BFGS) estimate of the local Hessian of the goal function, and both, images and deformations are represented by cubic B-splines.
Downloads
The latest stable distribution of bUnwarpJ can always be found included within Fiji and the latest released JARs are available in the GitHub repository. If you detect any bug, please feel free to contact the maintainer. Any feedback will be very appreciated.
API documentation
The API documentation can be reached online.
Installation
In Fiji, bUnwarpJ comes installed by default. In ImageJ, you must simply download the latest bUnwarpJ_.jar to the Plugins folder of ImageJ, restart ImageJ and there will be a new "Registration > bUnwarpJ" command in the Plugins menu.
To execute bUnwarpJ as a macro or from the command line, see the description in the User Manual.
Documentation
- Main site's user manual
- API documentation
References
The algorithm implemented on bUnwarpJ and its technical explanations are detailed on the paper:
- I. Arganda-Carreras, C. O. S. Sorzano, R. Marabini, J.-M. Carazo, C. Ortiz-de Solorzano, and J. Kybic, "Consistent and Elastic Registration of Histological Sections using Vector-Spline Regularization," Lecture Notes in Computer Science, Springer Berlin / Heidelberg, volume 4241/2006, CVAMIA: Computer Vision Approaches to Medical Image Analysis, pages 85-95, 2006.
The related paper of the previous work (UnwarpJ) is:
- C.Ó. Sánchez Sorzano, P. Thévenaz, M. Unser, "Elastic Registration of Biological Images Using Vector-Spline Regularization", IEEE Transactions on Biomedical Engineering, vol. 52, no. 4, pp. 652-663, April 2005.
License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation (http://www.gnu.org/licenses/gpl.txt).
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.