Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Registering CT images

Subject: Registering CT images

From: Thommes

Date: 8 Apr, 2010 21:59:26

Message: 1 of 8

I need some help here:

I have been trying to register two CT images of the same anatomic region which are reconstructed with different fields of view. There is a certain anatomic structure visible in both images, but displayed at different positions in different scales. I have defined a set of control points within the anatomic structure in both images and used cp2tform and imtransform to align both images. However, the resulting aligned image is obviously of different size than the base image and the anatomic structure is still at a different position, although now roughly the same size.
How can I create an aligned image with the same matrix as the base image, where the control points are at the same position as in the base image?

Thank you very much!
Chris

Subject: Registering CT images

From: Matt J

Date: 8 Apr, 2010 22:29:07

Message: 2 of 8

"Thommes " <thommes3000@gmail.com> wrote in message <hpljju$sb6$1@fred.mathworks.com>...
> I need some help here:
>
> I have been trying to register two CT images of the same anatomic region which are reconstructed with different fields of view. There is a certain anatomic structure visible in both images, but displayed at different positions in different scales. I
============


Why do you even need to do this? If I understand you, the difference between these images arises only from the different location and geometry of the fields of view chosen at scan time. The object is the same for both and has not moved in any way. Assuming you know how the field of view changed from one scan to the next, can't you then just infer the transformation from that?

Failing that, we need to see some code in order to ascertain what went wrong.

Subject: Registering CT images

From: Roger Stafford

Date: 9 Apr, 2010 00:25:22

Message: 3 of 8

"Thommes " <thommes3000@gmail.com> wrote in message <hpljju$sb6$1@fred.mathworks.com>...
> I need some help here:
>
> I have been trying to register two CT images of the same anatomic region which are reconstructed with different fields of view. There is a certain anatomic structure visible in both images, but displayed at different positions in different scales. I have defined a set of control points within the anatomic structure in both images and used cp2tform and imtransform to align both images. However, the resulting aligned image is obviously of different size than the base image and the anatomic structure is still at a different position, although now roughly the same size.
> How can I create an aligned image with the same matrix as the base image, where the control points are at the same position as in the base image?
>
> Thank you very much!
> Chris
---------------
  In the Statistics Toolbox there is a function called 'procrustes' which may accomplish what I think you want. It requires the set of control points in each image which you describe. It finds that particular translation, orthogonal rotation, scaling, and possible reflection that minimizes the mean square difference between corresponding control points' positions. It can work in three dimensions if desired but then of course the control points need to also be three dimensional.

  If you are troubled by the reflection aspect or if you don't have access to the Statistics Toolbox, there was a thread in this newsgroup a couple of years ago in which I outlined a procedure that performs the same computation as in 'procrustes' except that no reflection is allowed. That thread is to be found at:

 http://www.mathworks.com/matlabcentral/newsreader/view_thread/169096

and was entitled "Procrustes Analysis without Reflection".

Roger Stafford

Subject: Registering CT images

From: Matt J

Date: 9 Apr, 2010 14:46:21

Message: 4 of 8

"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <hpls5i$5$1@fred.mathworks.com>...

> If you are troubled by the reflection aspect or if you don't have access to the Statistics Toolbox, there was a thread in this newsgroup a couple of years ago in which I outlined a procedure that performs the same computation as in 'procrustes' except that no reflection is allowed.
===============

There is also my absolute orientation tool, which does the same and with the same restriction (no reflection).

http://www.mathworks.com/matlabcentral/fileexchange/26186-absolute-orientation-horns-method

It is for 3D, but obviously 2D data can easily be embedded in a 3D version of the problem.

Subject: Registering CT images

From: Rob Campbell

Date: 9 Apr, 2010 15:55:24

Message: 5 of 8


> http://www.mathworks.com/matlabcentral/fileexchange/26186-absolute-orientation-horns-method

Yes, hunt around on the FEX: there are various functions for this sort of thing.

If you have a small number of image pairs then there are landmark-based ways of doing image registration. Look at the image processing toolbox. These are hard to automate, however, if you have large numbers of image pairs.

Subject: Registering CT images

From: Thommes

Date: 11 Apr, 2010 20:54:03

Message: 6 of 8

Thank you very much for your help.
As Roger suggested I tried the 'procrustes' function from the statistics toolbox, however I found that it distorted my the images a lot. Maybe CT-images are too noisy?
I also tried to implement the absolute orientation and horn's method tool, but was unsuccessful (probably I'm just too much a beginner.
So finally I went for Matt's solution and used the imrescale function to do the transformation. Actually, the subject have moved a little inbetween the acquisitions, this was corrected by a linear simple point-by-point transformation. I got the best results this way.

Thanks again! Problem solved!



"Rob Campbell" <matlab@robertREMOVEcampbell.removethis.co.uk> wrote in message <hpnilc$e13$1@fred.mathworks.com>...
>
> > http://www.mathworks.com/matlabcentral/fileexchange/26186-absolute-orientation-horns-method
>
> Yes, hunt around on the FEX: there are various functions for this sort of thing.
>
> If you have a small number of image pairs then there are landmark-based ways of doing image registration. Look at the image processing toolbox. These are hard to automate, however, if you have large numbers of image pairs.

Subject: Registering CT images

From: sharathbandi@gmail.com

Date: 9 Apr, 2014 06:47:15

Message: 7 of 8


Hello Thommes,
              My self Sharath am doing project on image fusion. For my work i need registered CT and MRI images of brain can you please help me out.
                         
                                                             Thank you

Subject: Registering CT images

From: Nasser M. Abbasi

Date: 9 Apr, 2014 07:26:56

Message: 8 of 8

On 4/9/2014 1:47 AM, sharathbandi@gmail.com wrote:
>
> Hello Thommes,
> My self Sharath am doing project on image fusion. For my work i need registered CT and MRI images of brain can you please help me out.
>
> Thank you
>


There is a link on this page

http://www.mathworks.com/help/images/examples/registering-multimodal-3-d-medical-images.html

which leads to this

http://www.insight-journal.org/rire/download_data.php

which has related images.

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us