Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Isosurface problems

Subject: Isosurface problems

From: Ravi

Date: 11 Dec, 2009 20:01:19

Message: 1 of 10

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

Subject: Isosurface problems

From: Steven Lord

Date: 14 Dec, 2009 15:34:23

Message: 2 of 10


"Ravi " <soni_romi@yahoo.com.thisisjunkremoveit> wrote in message
news:hfu8ef$2ru$1@fred.mathworks.com...
> 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.

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
slord@mathworks.com
comp.soft-sys.matlab (CSSM) FAQ: http://matlabwiki.mathworks.com/MATLAB_FAQ

Subject: Isosurface problems

From: Ravi

Date: 17 Dec, 2009 05:20:17

Message: 3 of 10

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_romi@yahoo.com.thisisjunkremoveit> wrote in message <hfu8ef$2ru$1@fred.mathworks.com>...
> 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

Subject: Fix for Isosurface problems

From: Ravi

Date: 16 Jun, 2010 19:34:05

Message: 4 of 10

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_romi@yahoo.com.thisisjunkremoveit> wrote in message <hfu8ef$2ru$1@fred.mathworks.com>...
> 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

Subject: Fix for Isosurface problems

From: omegayen

Date: 23 Jun, 2010 17:15:22

Message: 5 of 10

"Ravi " <soni_romi@yahoo.com.thisisjunkremoveit> wrote in message <hvb8vd$ioj$1@fred.mathworks.com>...
> 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_romi@yahoo.com.thisisjunkremoveit> wrote in message <hfu8ef$2ru$1@fred.mathworks.com>...
> > 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

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

Subject: Fix for Isosurface problems

From: Ravi

Date: 24 Jun, 2010 03:22:06

Message: 6 of 10

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 " <omegayen@ameritech.net> wrote in message <hvtffa$17t$1@fred.mathworks.com>...
> "Ravi " <soni_romi@yahoo.com.thisisjunkremoveit> wrote in message <hvb8vd$ioj$1@fred.mathworks.com>...
> > 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_romi@yahoo.com.thisisjunkremoveit> wrote in message <hfu8ef$2ru$1@fred.mathworks.com>...
> > > 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
>
> 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

Subject: Fix for Isosurface problems

From: omegayen

Date: 24 Jun, 2010 18:19:04

Message: 7 of 10

"Ravi " <soni_romi@yahoo.com.thisisjunkremoveit> wrote in message <hvuj0t$c4e$1@fred.mathworks.com>...
> 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 " <omegayen@ameritech.net> wrote in message <hvtffa$17t$1@fred.mathworks.com>...
> > "Ravi " <soni_romi@yahoo.com.thisisjunkremoveit> wrote in message <hvb8vd$ioj$1@fred.mathworks.com>...
> > > 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_romi@yahoo.com.thisisjunkremoveit> wrote in message <hfu8ef$2ru$1@fred.mathworks.com>...
> > > > 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
> >
> > 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

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.

Subject: Fix for Isosurface problems

From: Ravi

Date: 24 Jun, 2010 19:56:20

Message: 8 of 10

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 " <omegayen@ameritech.net> wrote in message <i007io$4e8$1@fred.mathworks.com>...
> "Ravi " <soni_romi@yahoo.com.thisisjunkremoveit> wrote in message <hvuj0t$c4e$1@fred.mathworks.com>...
> > 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 " <omegayen@ameritech.net> wrote in message <hvtffa$17t$1@fred.mathworks.com>...
> > > "Ravi " <soni_romi@yahoo.com.thisisjunkremoveit> wrote in message <hvb8vd$ioj$1@fred.mathworks.com>...
> > > > 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_romi@yahoo.com.thisisjunkremoveit> wrote in message <hfu8ef$2ru$1@fred.mathworks.com>...
> > > > > 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
> > >
> > > 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
>
> 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.

Subject: Fix for Isosurface problems

From: Samsun

Date: 3 Dec, 2012 11:26:08

Message: 9 of 10

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_romi@yahoo.com.thisisjunkremoveit> wrote in message <i00d94$ja1$1@fred.mathworks.com>...
> 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 " <omegayen@ameritech.net> wrote in message <i007io$4e8$1@fred.mathworks.com>...
> > "Ravi " <soni_romi@yahoo.com.thisisjunkremoveit> wrote in message <hvuj0t$c4e$1@fred.mathworks.com>...
> > > 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 " <omegayen@ameritech.net> wrote in message <hvtffa$17t$1@fred.mathworks.com>...
> > > > "Ravi " <soni_romi@yahoo.com.thisisjunkremoveit> wrote in message <hvb8vd$ioj$1@fred.mathworks.com>...
> > > > > 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_romi@yahoo.com.thisisjunkremoveit> wrote in message <hfu8ef$2ru$1@fred.mathworks.com>...
> > > > > > 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
> > > >
> > > > 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
> >
> > 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.

Subject: Fix for Isosurface problems

From: Gauss Peter

Date: 22 May, 2013 14:47:08

Message: 10 of 10

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

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us