Code covered by the BSD License  

Highlights from
Image Registration App

4.33333

4.3 | 9 ratings Rate this file 133 Downloads (last 30 days) File Size: 200 KB File ID: #34510
image thumbnail

Image Registration App

by

 

09 Jan 2012 (Updated )

UI environment for registering a Moving image to a Fixed image

| Watch this File

File Information
Description

Provided interactive access to ALL parameters and components used by the IMREGISTER tool chain.
 
REQUIRES the Image Processing Toolbox and MATLAB R2012a or later!
 
SYNTAX:
ImageRegistrationGUI
Launches a GUI with default images.
(New images can be loaded from the menu.)
 
ImageRegistrationApp(moving_image,fixed_image);
Launches a UI with user-specified Moving and Fixed images. Images can be specified by name, or provided directly.
 
CLASS SUPPORT/NOTE: ImageRegistrationGUI supports the same (2D grayscale) image classes supported by IMREGISTER. However, it will also work on RGB images (using RGB2GRAY under the hood), and on logical images (using IM2DOUBLE).

Direct calculation of the transformation matrix("TFORM") is now supported (requires R2013a)!

Required Products Image Processing Toolbox
MATLAB
MATLAB release MATLAB 8.0 (R2012b)
Other requirements REQUIRES MATLAB R2012a or later, and the Image Processing Toolbox
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (21)
14 Aug 2014 Brett Shoelson

@binu:
Just click on the "Download Submission" button on the upper right of this page.
Brett

14 Aug 2014 binu livingston

i want coding for this

20 Feb 2014 Seyed Mostafa Mousavi Kahaki

Thank you very much Brett to provide me a comprehensive information. Appreciate your help and looking forward to see more great jobs from you. If I face any issue, i will back to ask you.

Best Wishes.
S.M.M. Kahaki

19 Feb 2014 Brett Shoelson

@Seyed:
Image Registration App is just a front end for the functionality of IMREGISTER.

IMREGISTER is actually a collection of algorithms (optimization + similarity metrics). Because of this, the correct citation would depend on what flavor of optimization and metric you're using.

Here are some applicable references:

Mutual Information based registration:

"Nonrigid multimodality image registration" D. Mattes, D. R. Haynor, H. Vesselle, T. Lewellen and W. Eubank Medical Imaging 2001: Image Processing, 2001, pp. 1609-1620. [2] "PET-CT Image Registration in the Chest Using Free-form Deformations" D. Mattes, D. R. Haynor, H. Vesselle, T. Lewellen and W. Eubank IEEE Transactions in Medical Imaging. Vol.22, No.1, January 2003. pp.120-128. [3] "Optimization of Mutual Information for MultiResolution Image Registration" P. Thevenaz and M. Unser IEEE Transactions in Image Processing, 9(12) December 2000.

One Plus One Evolutionary Optimizer:
"Parametric estimate of intensity inhomogeneities applied to MRI" Martin Styner, G. Gerig, Christian Brechbuehler, Gabor Szekely, IEEE TRANSACTIONS ON MEDICAL IMAGING; 19(3), pp. 153-165, 2000, (http://www.cs.unc.edu/~styner/docs/tmi00.pdf)
"Evaluation of 2D/3D bias correction with 1+1ES-optimization" Martin Styner, Prof. Dr. G. Gerig (IKT, BIWI, ETH Zuerich), TR-197 (http://www.cs.unc.edu/~styner/docs/StynerTR97.pdf)

Most of the literature seems to take the basic similarity metric/ optimization framework for granted without citing references. The references are usually for specific parts of the framework (numeric optimization, image similarity metrics, ways of pyramiding, etc.).

Hope that helps,
Brett

19 Feb 2014 Seyed Mostafa Mousavi Kahaki

Hello Mr. Brett Shoelson,

Thank you very much for provide this implementation. i want to use this method as comparison in my journal paper. i need to cite the basic journal paper of this implementation. please provide me the citation if any.
Thank you very much.
S.M.M. Kahaki

23 Dec 2013 AHMED AHMED

1222

15 Nov 2013 Brett Shoelson

Hi Emily,
I am not sure what you mean by "manual...GUI." But it probably wouldn't make any difference if I did. While IMREGCONFIG, IMREGISTER, and IMREF3D all facilitate 3D image registration, I haven't incorporated that capacity into this application, nor am I aware of any GUI that does. You might find the demo on "Registering Multimodal 3-D Medical Images" useful, though.
Cheers,
Brett

14 Nov 2013 Emily

Hello Brett,
Do you know of any manual registration GUIs for 3D images?
Thank you!

30 Oct 2013 Brett Shoelson

Eric, "it doesn't work properly" doesn't help me fix it. I use this frequently in both R2013a and R2013b, and without problems. If you can steer me to the issues you're finding, perhaps I can get to the bottom of them.

And the inability to generate the tform reflects the current status of IMREGISTER, and isn't necessarily a limitation of this tool. That said, function IMREGTFORM was added to the Image Processing Toolbox in R2013a, and my updated version reflects that change. (And provides the tform as an output.)

Thanks for the rating,
Brett

26 Sep 2013 Eric

It doesn't work properly in 2013a and 2013b, in that there doesn't seem to be a way to have it generate the t-form matrix.... Otherwise, it works great in older versions! I was bit harsh in the last rating...

26 Sep 2013 Eric  
20 Sep 2012 Sivakrishna

hi brett,

i was taken noise image as a fixed image and the 45 degree rotated image as moving image.

after doing the image registration i am getting different different angle rotation..

please any suggest solution for above..

06 Sep 2012 Eric

Brett,

I think I have the same question as Panagiotis... I am able to successfully register two images with the program and want to use the t matrix provided in the command window to perform the same transformation to another image. However, when performing this operation the scaling seems all wrong (it moves the image way too far I think). Can you provide any suggestions on how to better use that t matrix? Is this due to the images possibly being in a spatial vs. pixel coordinate system? Thanks!

29 Jun 2012 Panagiotis

I figure it out! I used the following example: http://www.mathworks.com/support/solutions/en/data/1-18TY1/index.html?product=IP&solution=1-18TY1
and it worked!!! Thanks again!

29 Jun 2012 Panagiotis  
29 Jun 2012 Panagiotis

Hi Brett, this is a very good program, well done! When finishing the process a t matrix for transformation appears in the command window. How can I use that matrix to transform and register another image without re-running the whole code? I'm saying this because I'm collecting the same image in 3 different "colors" and I want to transform/register all the images with the properties from the initial run. Any suggestions?

PS. When I'm saying "colors" I mean that the same captured frame is collected through a different filter that reveals different information each time.

Thanks

11 Jun 2012 Brett Shoelson

@John:
Thanks for the feedback, John. ImageRegistrationGUI was designed to expose and allow control over every possible input to the new IMREGISTER function, and to show interactively the results of changing those inputs. Internally, IMREGISTER generates a TFORM (which is appropriate for use in a call to IMTRANSFORM, exactly as is a tform generated with CP2TFORM); internally, in fact, IMREGISTER _uses_ IMTRANSFORM. The TFORM structure is not currently provided as an output, but if you modified the syntax of the function, you could easily avail yourself of that TFORM.
The <http://www.mathworks.com/help/releases/R2012a/toolbox/images/f20-14983.html#f20-23425 CPSELECT> tool does have a "point prediction" mode.
HTH, Brett

11 Jun 2012 John D

The Gui is very helpful and works really well as a tool for evaluating intensity based image registration. However the core function is a convergence algorithm and possibly because of this, never seems to produce pixel perfect or near perfect registration. It's main advantage is obviously to automate the process without requiring control point user intervention.
Conversely from my experience, imtransform seems to produce better registration results and I can get pixel perfect registration in most cases for my application, but this requires user intervention for control point generation.
What would be really good, from my viewpoint is an algorithm which takes the initial control points from the base image and then automatically searches for equivalent matches in the unregistered image. Any help you can provide in this direction would be a definite five star!

28 May 2012 Brett Shoelson

Ray, IMSHOWPAIR (like IMREGISTER) is in the Image Processing Toolbox in R2012a. (See "requirements" above.) Compelling reason to upgrade... :)

28 May 2012 Ray

missing imshowpair function(?)

08 Apr 2012 mohamed nagah  
Updates
09 Mar 2012
09 Aug 2012

Better path management when loading new files. (Now queries for second image starting in the directory of the first image.)

12 Sep 2012

Updated to include an App file for R2012b.

31 Oct 2013

Updated to work with IMREGTFORM/IMWARP in R2013a, and to output code for TFORM creation. Also renamed from "GUI" to "App."

31 Oct 2013

Just changed the description to indicate that as of R2013a, now supports calculation of TFORM.

Contact us