Creating a 3D image from the 3D data points

14 Ansichten (letzte 30 Tage)
leila
leila am 4 Sep. 2011
I have a dataset of 3D "grayscale" images (medical ultrasound dataset) in the form of cartesian coordinates of each voxel and according grayscale intesity values. I want to convert this data to the 3D image matrix (so that it can be used in matlab programming).
I have seen a similar function but for "plotting" named "pcolor" for "2D" images. I want that the output be a "3D" image "matrix" and I don't want only to visualize tha data, so this function is not useful.
-Do you know whether the matlab image processing toolbox (or file-exchange resources,...) has a function that can perform such conversion?
-If the suitable function does not exist in image processing toolbox, how I can program this conversion using matlab? I think that I must do some sort of interpolation, but I don't know exactly how to do it.
your help and comments are greatly appreciated I am looking forward to receiving responses

Antworten (3)

Bjorn Gustavsson
Bjorn Gustavsson am 4 Sep. 2011
If you have, or can put, your voxels in a simple plaid grid the matlab function to try first is slice. Then there are a bunch of tools for volume visualization/rendering on the file exchange:
For working with transparency I've had mixed success with matlabs alpha-functions, typically I've tried something like:
alphamap('rampdown');alphamap(0.3 .* alphamap);
  8 Kommentare
Bjorn Gustavsson
Bjorn Gustavsson am 5 Sep. 2011
Sure hell it is vague. You could analyse away on images in all sorts of directions with the IP toolbox and two persons setting off in different directions might never use the same special functions again. To correct myself I should have suggested griddata3 for you to use if your version of matlab does not have triscatteredinterp.
leila
leila am 5 Sep. 2011
Dear Bjorn
Yes, I accept, that was vague. I think the griddata3() is a good suggestion. I will try the "griddata3()" function and I will report the result.
Thank you very much.

Melden Sie sich an, um zu kommentieren.


Walter Roberson
Walter Roberson am 4 Sep. 2011
You might be able to use interp3() to convert your data to a grid.
Depending exactly what you want to do with the data, you might find triscatteredinterp to be more useful.
  2 Kommentare
leila
leila am 5 Sep. 2011
Yes, I think that I can use the interp3() function, the second suggestion (triscatteredinterp) is interesting, but I think this can be applied on 2D images.
Thank you.
Bjorn Gustavsson
Bjorn Gustavsson am 5 Sep. 2011
If your data points are randomly scattered in 3-D then your best start is to interpolate them to a plaid grid with griddata3. If I recall correctly interp3 expects the input data to be on a plaid grid already.

Melden Sie sich an, um zu kommentieren.


leila
leila am 15 Sep. 2011
  1 Kommentar
leila
leila am 15 Sep. 2011
Using MESHGRID and GRIDDATA to Fit Vector Data and Plot Unevenly Spaced Data

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by