hi all,<br>  <br>      A problem confused me. I need your help. The
class vtkMarchingCubes has been adapted to construct a specified
structure ( extract specified isosurface),  the member function—
vtkMarchingCubes::setvalue(int i, double value) is used to specify a
particular contour value.  The type of dataset i used was gray bmp
image.  Suppose the dataset contains gray value: 91, 111, 121, 137.<br>
Now the problem is that if i want to construct the anatomy structure whose gray value is 111,  so the code i write is that<br>SetValue(0,
111).  However,  the result of construction is that almost all anatomy
structures whose gray value is 91, 121, 137 have been constructed too.
Why is it happens? what&#39;s the difference between the gray value in the
bmp image and the contour value in this function?  And how to construct
a specified structure?  <br>
<br>If we set the parameter -value to 111,  according to the MC
algorithm,   the specified isosurface should be extracted.  Do i
understand wrong !?<br>On the other hand, if i want to extract multiple
isosurface and control property of each isosurface such as colors, how
to do it? The function SetValue(int i, double value) can not accomplish
the task. Though we can add contour value by increasing the index-i,
the output of the vtkMarchingCubes is combined to the subsequent
filter. Can anyone provide help? Thanks very much !<br>
<br>The relevant code and original image and result of the construction is attached:<br><br>Code:<br>    vtkBMPReader *Image= vtkBMPReader::New();<br>    // read the dataset <br>     Image-&gt;Update();<br><br>    vtkMarchingCubes *skinExtractor=
vtkMarchingCubes::New();//<div>skinGray=220,tendon=10,radius=20,ulna=40,<br>
    skinExtractor-&gt;SetInputConnection(Image-&gt;GetOutputPort());<br>   <span style="background-color: rgb(255, 0, 0);"> skinExtractor-&gt;SetValue(0,111);// input the gray value </span><span style="background-color: rgb(255, 255, 255);"></span><br>



    skinExtractor-&gt;ComputeGradientsOn();<br>    skinExtractor-&gt;ComputeScalarsOff();<br>   <br>    vtkDecimatePro *vdeci;<br>    vdeci-&gt;SetInputConnection(skinExtractor-&gt;GetOutputPort());//<br>    vdeci-&gt;SetTargetReduction(0.6);//<br>



    vdeci-&gt;PreserveTopologyOn();//<br><br>    vtkSmoothPolyDataFilter *vsmoother;<br>    vsmoother-&gt;SetInputConnection(vdeci-&gt;GetOutputPort());//<br>    vsmoother-&gt;SetNumberOfIterations(800);//<br>   <br>    vtkPolyDataNormals *vskinNormal;<br>



    vskinNormal-&gt;SetInputConnection(vsmoother-&gt;GetOutputPort());//<br>    vskinNormal-&gt;SetFeatureAngle(60.0);//<br><br>    vtkPolyDataMapper *vskinMapper;<br>    vskinMapper-&gt;SetInputConnection(vskinNormal-&gt;GetOutputPort());<br>



    vskinMapper-&gt;ScalarVisibilityOff();//<br>   <br>    vtkActor *vskin;<br>    vskin-&gt;SetMapper(vskinMapper);//<br>    vskin-&gt;GetProperty()-&gt;SetColor(1,0,0);<br><br>The original image :<br><img title="TCVH_1300副本.bmp" alt="TCVH_1300副本.bmp" src="cid:ii_127fb7d0142c1f89" width="149" height="174"><br>

</div>