Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Isosurface problems

144 views
Skip to first unread message

Ravi

unread,
Dec 11, 2009, 3:01:19 PM12/11/09
to
Hi,

I wanted to know if anybody else has noticed problems with MATLAB isosurface command for extracting surfaces from volume data (such as MRI or CT Scan 3d images).

More often than not, isosurface creates degenerate/duplicate faces and free edges that should not exist. I had to write functions to remove degenerate/duplicate faces and to see where free edges were being created.

In addition, surfaces are being extended beyond the actual boundary, even for simple cubic volumes, thus giving a wrong interpretation. It is not possible to correct these defects.

I wonder if anyone else has noticed these discrepancies.

Thanks

Ravi

Steven Lord

unread,
Dec 14, 2009, 10:34:23 AM12/14/09
to

"Ravi " <soni...@yahoo.com.thisisjunkremoveit> wrote in message
news:hfu8ef$2ru$1...@fred.mathworks.com...

You should send an example with which you can reproduce this behavior
consistently to Technical Support so they can investigate why this behavior
occurs.

--
Steve Lord
sl...@mathworks.com
comp.soft-sys.matlab (CSSM) FAQ: http://matlabwiki.mathworks.com/MATLAB_FAQ


Ravi

unread,
Dec 17, 2009, 12:20:17 AM12/17/09
to
Hi Steve,

Thanks for your feedback. I will put together a simple example that demonstrates the issue and send it to tech support. I actually have an idea to generate the exact surface from the volume data. I plan to work on it as I need it for research.

Ravi

"Ravi " <soni...@yahoo.com.thisisjunkremoveit> wrote in message <hfu8ef$2ru$1...@fred.mathworks.com>...

Ravi

unread,
Jun 16, 2010, 3:34:05 PM6/16/10
to
Hi All,

I have developed a fix for MATLAB "isosurface" function.

Please download a GNU GPL program from the following link.

http://www.hermesacademy.com/products

I have included a demo example that illustrates the issues with "isosurface" function.

Comparison of results using my program and "isosurface" function is included.

Please give em your valuable feedback :)

Ravi


"Ravi " <soni...@yahoo.com.thisisjunkremoveit> wrote in message <hfu8ef$2ru$1...@fred.mathworks.com>...

omegayen

unread,
Jun 23, 2010, 1:15:22 PM6/23/10
to
"Ravi " <soni...@yahoo.com.thisisjunkremoveit> wrote in message <hvb8vd$ioj$1...@fred.mathworks.com>...

Looks like a good program Ravi I downloaded it and the run 'ran' successfully.

Do you know how I can use it visualize the Zubal voxel data in MATLAB using your software? The zubal phantom voxel data is available at http://noodle.med.yale.edu/phantom/tissman/ArmsDownTiss3-6/vox_tiss8.dat (may need username phantom and password copy)

In MATLAB I can open this with

fid=fopen('vox_tiss8.dat','r');
a=fread(fid);
fclose(fid);
a=reshape(a,[192 96 498]);

How do I visualize this in 3D though, thanks for your help

Ravi

unread,
Jun 23, 2010, 11:22:06 PM6/23/10
to
Hi,

I am not familiar with the Zubel format but I read the file using fread. The array "a" after reshaping is a 3-D array with integer values ranging from 0 to 125. So it is suitable to be processed by my program.

I ran it through my program and generated surfaces corresponding to id=1 thru 5. It gave me the image of a man, so I guess the program worked !

So to process your file using my program, make the following changes in "run" script.
Set voxels=a
Set voxid=integer values between 0 & 125 that you want to process.

Now the program will plot the surfaces corresponding to those ids.

The file is big so it will take a long time to run.

Lemme know how it works.

Ravi


"omegayen " <omeg...@ameritech.net> wrote in message <hvtffa$17t$1...@fred.mathworks.com>...

omegayen

unread,
Jun 24, 2010, 2:19:04 PM6/24/10
to
"Ravi " <soni...@yahoo.com.thisisjunkremoveit> wrote in message <hvuj0t$c4e$1...@fred.mathworks.com>...

Thanks Ravi I also was able to run it from 1 to 5 although this took over an hour on my core 2 quad. Then the figure is typical of MATLAB figures with a large amount of data and was very slow and unresponsive.

I wonder if using your program is the best way to visualize it in MATLAB or if there is some other native way that works as well. anyways thanks for the program.

Ravi

unread,
Jun 24, 2010, 3:56:20 PM6/24/10
to
Hi,

The program is better than the MATLAB isosurface function, which has quality issues and also does not render exact surfaces (if required). Isosurface also runs into memory problems for large data.

It will take time to run because your file size is large. Also MATLAB figure files have slow graphics.

If you implement the program in C it may be faster.

Ravi


"omegayen " <omeg...@ameritech.net> wrote in message <i007io$4e8$1...@fred.mathworks.com>...

Samsun

unread,
Dec 3, 2012, 6:26:08 AM12/3/12
to
Hi,
I'm trying to download your program but the site cannot be found. Is the link http://www.hermesacademy.com/products still valid and working?
Thanks
Samsun

"Ravi " <soni...@yahoo.com.thisisjunkremoveit> wrote in message <i00d94$ja1$1...@fred.mathworks.com>...

Gauss Peter

unread,
May 22, 2013, 10:47:08 AM5/22/13
to
I'm sorry for bringing back in the first page this old post, but I've exactly the same problems. Isosurface function give me a lot of artifacts outside the domain. I need some fix program or alternative to the isosurface function, thanks in advance.

Pietro
0 new messages