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

Learn moreOpportunities for recent engineering grads.

Apply TodayTo resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Asked by AP on 19 Oct 2012

Dear All,

I have extracted the isosurfaces of variable "A" in a 3D volume data. For a specific value of "A", say A=1, I get three connected series of faces which are separated from each other. In other words, there are three different and isolated regions in the domain where A=1.

I am trying to identify these three regions and save them into three different variables. I would be grateful if someone could give me a hint on how I can achieve this goal.

Thanks,

Ahmad

*No products are associated with this question.*

Answer by Matt J on 19 Oct 2012

Use BWCONNCOMP or REGIONPROPS

Show 6 older comments

AP on 22 Oct 2012

I think the way isosurface function works is different from setting A==1.

Can I send you the MAT file? For A==1 I get nothing as the result of S.PixelList although I can see two separate surfaces in the plot.

Matt J on 22 Oct 2012

Well how do you find the isosurface? If it isn't A==1, I assume it's something like

A<=1.5 & A>=0.5

or some other logical test.

Answer by Sachin on 19 Oct 2012

## 2 Comments

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/51277#comment_106155

What do you plan to do with these variables after?

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/51277#comment_106162

The domain that I have has noise in it. So, when I plot an isosurface of some value, I get a few little islands in the plot beside the main one. I want to have the biggest isosurface. This may be solved by smoothing but I want to avoid using it as it changes my results.