3D Slices smoothing

Hi I want to create a 3D object out of the 2D slices I created. I am able to stack them all but not getting a smooth 3D object I am attaching the picture.Please let me know of a way to better demonstrate it and look inside the object. Currently I am doing it with
slice(3d, [], [], 1:0.1:size(3d,3));
This makes the edges pretty thick and I am not able to get it as one 3D object. Any suggestions will be highly helpful.

4 comentarios

Farhad
Farhad el 15 de Jul. de 2016
Anyone?
Walter Roberson
Walter Roberson el 15 de Jul. de 2016
The question is not well defined. You have little thin plates sticking out in some locations, and you have not indicated how you would like to have those smoothed. You haven't indicated anything about how you want the smoothing done.
Are you wanting to magnify the shape into a larger number of voxels and then interpolate a smooth slope in the new voxels to fit the current voxels? Are you wanting to do the equivalent of anti-aliasing, where you leave the number of voxels the same but you want the gaps smoothed out by using shades of values?
What is your data representation? How are you managing to have your layers not appear rectangular? Are you using voxels with NaN for that, or are you using a second AlphaData array that has the other pixels in the cuboid set to transparent?
Farhad
Farhad el 29 de Jul. de 2016
Editada: Farhad el 29 de Jul. de 2016
Hi sorry for replying late. Yes I am using NaN as shown in this example to visualize my data 3D Visualization.
Are you wanting to do the equivalent of anti-aliasing, where you leave the number of voxels the same but you want the gaps smoothed out by using shades of values? - Yes this defines what I would like to do.
Walter Roberson
Walter Roberson el 29 de Jul. de 2016
I have not implemented anti-aliasing myself. On the Wikipedia article I find this that might be relevant:
"For more sophisticated shapes, the algorithm may be generalized as rendering the shape to a pixel grid with higher resolution than the target display surface (usually a multiple that is a power of 2 to reduce distortion), then using bicubic interpolation to determine the average intensity of each real pixel on the display surface."
However, this would be for the case where you have more data than you have available display resolution; I am not sure if that applies to you.

Iniciar sesión para comentar.

Respuestas (0)

Preguntada:

el 13 de Jul. de 2016

Comentada:

el 29 de Jul. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by