From: Ravi on 17 Jun 2010 01:23 Hi, I just wanted to point out that MATLAB isosurface function has a lot of problems for complex data. I have created a program that renders exact error-free surfaces from 3-D voxel data, such as from MRI, CT Scan. The following is the link to the discussion thread http://www.mathworks.com/matlabcentral/newsreader/view_thread/268226#755017 You can download the program from http://www.hermesacademy.com/products Ravi jsilva(a)ci.uc.pt (Jose Silva) wrote in message <34251025.0107070256.200be8f3(a)posting.google.com>... > Hello all > Using the isosurface and isocaps it’s possible to > view in 3D the brain (see example below). > Our purpose is to remove 1/8 of brain to see in 3D the > brain volume AND the border of brain (as we removed > part of brain, we expected to see the interior > on brain). > We wrote the example below, but when we use > isosurface, the region (1/8 of brain) removed > appears covered by isosurface. If we discarded > isosurface and use only isocaps, we only see top > and bottom of MRI image and we don’t see the faces > inside brain image (as we removed 1/8 of brain, > this region should be transparent to see 3 new > faces inside brain). > Of course we would like to see the brain AND > also the new walls as a consequence of > removing 1/8 of brain. > Any comments on this matter are welcome. > Thanks. > > Jose Silva > > % start > load mri > D=squeeze(D); > D(1:64,64:128,14:27)=0; > Ds = smooth3(D); > hiso = patch(isosurface(Ds,5), 'FaceColor', ... > [1,.75,.65],'EdgeColor','none'); > hcap = patch(isocaps(D,5), 'FaceColor','interp',... > 'EdgeColor','none'); > colormap(gray(256)); > view(45,30) > axis tight > daspect([1,1,.4]) > lightangle(45,30); > set(gcf,'Renderer','zbuffer'); > lighting phong > isonormals(Ds,hiso) > set(hcap,'AmbientStrength',.6) > set(hiso,'SpecularColorReflectance',0,... > 'SpecularExponent',50); > > % end
|
Pages: 1 Prev: Graphing 3D shape Next: About volume data in isosurface function |