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

3 visualizaciones (últimos 30 días)
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 comentarios
John D'Errico
John D'Errico el 17 de Sept. de 2019
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 el 17 de Sept. de 2019
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

Iniciar sesión para comentar.

Respuestas (1)

darova
darova el 19 de Sept. de 2019
You should plot multiple isosurfaces since isovalue should be a scalar
YOu can use for loop for that purpose

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by