<div>&nbsp;Hi, All,<br><br>I try to use TriangleMeshToBinaryImageFilter to convert the mesh to an image, but I found there is one problem. My code is as followed:<br><br>-------------------------------------------------------<br>void&nbsp;&nbsp;&nbsp; MeshStorage::MeshConstruct&nbsp;&nbsp;&nbsp; ( FloatMatrix &amp; MeshVertex, IntMatrix &amp; MeshLine, IntMatrix &amp; MeshTriangle, int TotalTriangle, int TotalVertex, UCharImageType::Pointer &amp; OutputImage,SizeType &amp; m_Size, SpacingType &amp; m_Spacing, IndexType &amp; m_Start )<br>{<br>&nbsp;&nbsp;&nbsp; TriangleMeshType::Pointer&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; meshSource&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp; TriangleMeshType::New();&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp; TriangleMeshType::CellAutoPointer&nbsp;&nbsp;&nbsp; cellpointer;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; int i;<br>&nbsp;&nbsp;&nbsp; for(i = 0; i&lt;TotalVertex; i++)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //meshSource-&gt;SetPoint(i, TriangleMeshType::PointType(MeshVertex[i]));<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; TriangleMeshType::PointType&nbsp;&nbsp;&nbsp; p;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; p[0]&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp; MeshVertex[i][0];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; p[1]&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp; MeshVertex[i][1];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; p[2]&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp; MeshVertex[i][2];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; meshSource-&gt;SetPoint(i,p);<br><br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; int vertex1, vertex2, vertex3;<br><br>&nbsp;&nbsp;&nbsp; /////////////////////////////////////////////////////////////<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; for(i =0; i&lt;TotalTriangle; i++)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; vertex1&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp; MeshLine[MeshTriangle[i][0]][0];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; vertex2&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp; MeshLine[MeshTriangle[i][0]][1];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; vertex3&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp; MeshLine[MeshTriangle[i][1]][0] +&nbsp;&nbsp;&nbsp; MeshLine[MeshTriangle[i][1]][1] + MeshLine[MeshTriangle[i][2]][0] + MeshLine[MeshTriangle[i][2]][1] - vertex1 - vertex2;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; vertex3&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp; vertex3/2;<br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cellpointer.TakeOwnership(new TriangleType);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cellpointer-&gt;SetPointId(0,vertex1);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cellpointer-&gt;SetPointId(1,vertex2);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cellpointer-&gt;SetPointId(2,vertex3);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; meshSource-&gt;SetCell(i,cellpointer);<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp; MeshToImage&nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; SetInput(meshSource);<br>&nbsp;&nbsp;&nbsp; MeshToImage&nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; SetSize(m_Size);<br>&nbsp;&nbsp;&nbsp; //MeshToImage&nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; SetOrigin(m_Start);<br>&nbsp;&nbsp;&nbsp; //MeshToImage&nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; SetSpacing(m_Spacing);<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; MeshToImage&nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; Update();<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; typedef&nbsp;&nbsp;&nbsp; itk::ImageFileWriter&lt;UCharImageType&gt;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; WriterType;<br>&nbsp;&nbsp;&nbsp; WriterType::Pointer&nbsp;&nbsp;&nbsp; writer&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp; WriterType::New();<br><br>&nbsp;&nbsp;&nbsp; writer&nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; SetInput(MeshToImage&nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; GetOutput());<br>&nbsp;&nbsp;&nbsp; writer&nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; SetFileName("Mask1.hdr");<br>&nbsp;&nbsp;&nbsp; writer&nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; Update();<br><br>&nbsp;&nbsp;&nbsp; OutputImage&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp;&nbsp; MeshToImage&nbsp;&nbsp;&nbsp; -&gt;&nbsp;&nbsp;&nbsp; GetOutput();<br><br><br>}<br></div><div>----------------------------------------------------------------<br>Here, I use the MeshVertex to&nbsp; store the&nbsp; position of&nbsp; the&nbsp; vertex,&nbsp; MeshLine&nbsp; to&nbsp; store the&nbsp; the&nbsp; vertex sequence number&nbsp; of&nbsp; each&nbsp; line,&nbsp; and MeshTriangle  to store the line sequence number. And I use "for" loop to do the conversion, like <br>--------------------------------<br>for(int i =0 ; i&lt;2; i++)&nbsp;&nbsp;  MeshConstruct(MeshVertex, MeshLine, MeshTriangle,TotalTriangle,
TotalVertex,&nbsp; OutputImage,m_Size, m_Spacing,&nbsp; m_Start );<br>---------------------------------<br>The MeshVertex, MeshLine, MeshTriangle have changed for each iterate. When I use the code for the first time, it's OK. But the second time, it is generate the same image as&nbsp; the first time.  I don't know why.<br><br><br>Could any one help me?<br><br><br>Thanks very much.<br><br><br>Kun<br>Jun. 18 2008<br></div><div>&nbsp;</div><div>&nbsp;</div><br><!-- footer --><br> 
<hr>
<font style="font-size:12px;line-height:15px;"> </font><a style="font-size:12px;line-height:15px; color:blue; text-decoration:underline;" href="http://pro.163.com/event.ng/Type=click&FlightID=114731&AdID=116137&TargetID=635&Values=31,43,51,60,72,82,90,100,110,150,312,316,330,332,457,499,582,733,734,774,775,788,942,943,944,948,949,950,951,1008&Redirect=http://www.kfc.com.cn/w">两两来Win为中国</a>