Do the isosurfaces merely indicate a single value or do they contain information on all the value above the threshold?

조회 수: 4 (최근 30일)
When I use the isosurface command with a specific value (say corresponding to 95th percentile of my data), I am interesting in viewing the regions that correspond to values equal to and greater than the 95th percentile. My question is: Using Matlab's default isosurface return (see below for portion of code), is the surface just equal to the 95th percentile? If I want Matlab to plot all the regions above the 95th percentile threshold, should I plot multiple isosurfaces of 95th, 96th...99th percentiles?
isovalue = prctile(sgs(:),95);
p = patch(isosurface(x,y,z,sgs,isovalue));
p.FaceColor = 'magenta';
p.EdgeColor = 'none';
  댓글 수: 4
John D'Errico
John D'Errico 2019년 9월 17일
An iso-surface represents that surface where the value (here a percentile) is equal to the designated value. So if it is the 95% level, then that is what the surface represents, and nothing else.
Is it generally a truism that stuff on one side of that percentile will be above, and stuff on the other side will be below? Well, yes. Can I create a scenario where that is not true? Well, yes, I am confidant in my ability to do so. But typically, one would say the iso-surface will USUALLY represent the boundary of the region that you are interested in. Worse, the iso-surface does not even indicate on which side of the surface the part you care about lies.
saipb
saipb 2019년 9월 17일
John,
I understand that there are different options and I certainly do not intend to question your ability to create different scenarios. I am trying to understand what the default option in Matlab is if I write the following code:
pile = 95;
isovalue = prctile(w(:),pile);
m = patch(isosurface(x,y,z,w,isovalue));
m.FaceColor = 'red';
m.EdgeColor = 'none';
m.FaceAlpha = '0.6';
And I see surfaces like:
Screen Shot 2019-09-17 at 3.44.59 PM.png

댓글을 달려면 로그인하십시오.

답변 (1개)

darova
darova 2019년 9월 19일
You should plot multiple isosurfaces since isovalue should be a scalar
YOu can use for loop for that purpose

카테고리

Help CenterFile Exchange에서 Scalar Volume Data에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by