Code covered by the BSD License  

Highlights from
Image Registration GUI

4.4

4.4 | 6 ratings Rate this file 72 Downloads (last 30 days) File Size: 204 KB File ID: #34510
image thumbnail

Image Registration GUI

by Brett Shoelson

 

09 Jan 2012 (Updated 12 Sep 2012)

GUI 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.)
 
ImageRegistrationGUI(moving_image,fixed_image);
Launches a GUI 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 output of the transformation matrix("TFORM") is not currently supported. But if you enable the "DisplayOptimizations" checkbox, syntax is provided for generation of the TFORM. You can apply that TFORM directly to any image class supported by IMTRANSFORM (including RGB and logical).

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  
Everyone's Tags
gui(2), image(2), image alignment(2), image processing, imregconfig, imregister, registration
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (10)
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 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.

Contact us