No BSD License  

Highlights from
3D Rigid body transformation

3.3 | 13 ratings Rate this file 38 Downloads (last 30 days) File Size: 1.27 KB File ID: #9472 Version: 1.0

3D Rigid body transformation


Jeny Rajan (view profile)


29 Dec 2005 (Updated )

This program is for rigid body transformation of 3D objects.

| Watch this File

File Information

Program written as part of medical image registration. Useful for 3D image registration.

MATLAB release MATLAB 7 (R14)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (17)
06 Jan 2016 sameer d

Can any one give me an example ... i am getting zero answer for all inputs

16 Oct 2015 hosse


Could any one suggest me how to do 3D rigid image registration for multimodal CT/MRI images in matlab. My data format is .raw/.img.

Thanks in advance for helping me.

Comment only
20 Jun 2014 John

John (view profile)

A couple of points:
1) It does not interpolate. This is okay for translations with this script because all translations are in integer quantities in each axis. But the lack of interpolations mean rotations will produce some unexpected artefacts.
2) You have to go into the code to add a fill value for shifted in data.
3) SLoooooooooooow!
4) No documentation, so you have to torture yourself with mental tetris + trial and error to figure out how axes are set in this script

If you want to do 3d rigid transformations, your best bet is to use the Image Processing Toolbox's imwarp function, after specifying the centroid/frame origin. It provides functionality for interpolation (very important!). Also take note of what value it inserts to shifted in data when translation happens. Imwarp takes care of the fill values too. I know, MATLAB charges big bucks for it, but they have a perfect, efficient, and well documented implementation in imwarp. Yes, it's also a little bit more work to figure out imwarp - no pain no gain.

I gave the script a 1 star rating. That star is for participation!

05 Sep 2013 Carol Naranjo

just what i needed

18 Nov 2011 ucd puri

hi, can it do 3D to 2D registration? thz

Comment only
02 Dec 2009 George Zubal

this function worked excellently
perfect for registering medical (PET/SPECT/MRI) images
saved me many hours of programming

05 Jun 2008 abdul wahid

the code does not give us the correct method to show a 3d object on 2d plane when it is rotated e.g how a rectangle rotated along x y and z axis by 30 degree will look

31 Dec 2007 dipa arora

Can someone tell me why the output image creates different shades???

Comment only
09 Nov 2007 shahed palang

ridi bo midi !!!!!!

Comment only
11 Sep 2007 Irvin Teh

Does the job, easy to use.

28 May 2007 daniel tward

overal nice code. Matrix R only needs to be 3x3 (not 4x4). Also in Matlab for loop can be simplified using 1 matrix equation rather than 3 simple equations.

27 Dec 2006 raz maz  
29 Aug 2006 ganesh Kumthekar

if possible, please send me some more codes for 3d registration. Its a request to anyone reading this mesaage.

29 Aug 2006 ganesh Kumthekar

it wass a nice code

10 Aug 2006 ray ekinci  
29 Dec 2005 Steve Haris

The program is really helpful for me in 3D registration process. I works really faster since it does not involve much time consuming interpolation methods. And the sccuracy is also better that the NN interpolation.

29 Dec 2005 Duane Hanselman

Help text gives no useful information about how to use this function. Code is poorly written and uncommented.

Contact us