How can I specify the distance between 2D images in a 3D plot ?

2 views (last 30 days)
Hi every one,
I am currently in an internship, and my project is to reconstruct 3D images from a 2D stack of images.
I used the following link (webinar video, the first part of the video) to help me in this work, and my results are good. http://www.mathworks.co.uk/videos/medical-image-processing-with-matlab-81890.html?form_seq=conf1092
Having my 3D representation, the problem now is to be able to specify the distance between each images. This distance is variable, and the position of each images/slices could be read in their name.
To build my 3D image, I use the two following function:
volume = isosurface (DS,2.5);
smooth = smooth3(DS,'box',5);
Perhaps there is a function able to do what I want but I didn't saw it?
Feel free to ask me more informations if it is needed.
Thanks in advance!

Answers (1)

Image Analyst
Image Analyst on 30 Jun 2014
The distance in voxels between two slices is the difference in slice numbers. To get distance in real world units, multiply by the slice separation in real world units, for example cm or mm.
  3 Comments
Brice
Brice on 1 Jul 2014
Edited: Brice on 1 Jul 2014
Hi again.
I didn't specify but the spacing between all my images is not the same at each time.
I tried to use the function daspect, like following:
daspect (1./Spacing);
With "Spacing" my matrix of spacing between each images. But it still doesn't work.
Do you think I am in the good way?
Thanks in advance.
Image Analyst
Image Analyst on 1 Jul 2014
You can still build your 3D volume by stacking slices. You say "the problem now is to be able to specify the distance between each images. This distance is variable, and the position of each images/slices could be read in their name." So you need to use str2double() or sscanf() to parse the filename and pull out the distance of that particular slice. To go between multiple slices, you'll have to have an array of the Z of each slice and then subtract the z values of the two slices you need the distance between.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!