<div dir="ltr">What is the image dimension set to?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 19, 2013 at 10:09 AM, donyyo <span dir="ltr">&lt;<a href="mailto:donyyo@gmail.com" target="_blank">donyyo@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
I want to convert polydata contour to image following the example (<br>
http://<a href="http://www.vtk.org/Wiki/VTK/Examples/PolyData/PolyDataToImageData" target="_blank">http://www.vtk.org/Wiki/VTK/Examples/PolyData/PolyDataToImageData</a><br>
&lt;http://<a href="http://www.vtk.org/Wiki/VTK/Examples/PolyData/PolyDataToImageData" target="_blank">http://www.vtk.org/Wiki/VTK/Examples/PolyData/PolyDataToImageData</a>&gt;<br>
and<br>
http://<a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/PolyDataContourToImageData" target="_blank">http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/PolyDataContourToImageData</a><br>
&lt;http://<a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/PolyDataContourToImageData" target="_blank">http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/PolyDataContourToImageData</a>&gt;<br>
). There are many parts in the contour (left image). However, the topology<br>
in the image I got was wrong (right image). What can I do?<br>
<br>
&lt;<a href="http://vtk.1045678.n5.nabble.com/file/n5722850/image1.png" target="_blank">http://vtk.1045678.n5.nabble.com/file/n5722850/image1.png</a>&gt;<br>
<br>
modelPolyData-&gt;GetCenter(cutPlaneOrigin);<br>
cutPlaneOrigin[2] = firstImageNum+ii;<br>
vtkPlane *cutPlane = vtkPlane::New();<br>
cutPlane-&gt;SetOrigin(cutPlaneOrigin);<br>
cutPlane-&gt;SetNormal(0, 0, 1);<br>
<br>
vtkCutter *cutter = vtkCutter::New();<br>
cutter-&gt;SetInput(modelPolyData);<br>
cutter-&gt;SetCutFunction(cutPlane);<br>
<br>
vtkStripper *stripper = vtkStripper::New();<br>
stripper-&gt;SetInputConnection(cutter-&gt;GetOutputPort());<br>
stripper-&gt;Update();<br>
<br>
cutContourPolyData = stripper-&gt;GetOutput();<br>
<br>
double cutContourBounds[6];<br>
cutContourPolyData-&gt;GetBounds(cutContourBounds);<br>
<br>
// Prepare the binary image&#39;s voxel grid.<br>
double imageResolution[3] = {1.0, 1.0, 1.0};<br>
imageData-&gt;SetSpacing(imageResolution);<br>
<br>
// Compute dimensions.<br>
vtkImageData *imageData = vtkImageData::New();<br>
imageData-&gt;SetDimensions(imageDimension);<br>
imageData-&gt;SetExtent(0, imageDimension[0]-1, 0, imageDimension<br>
<br>
[1]-1, 0, imageDimension[2]-1);<br>
<br>
imageOrigin[2] = cutContourBounds[4];<br>
imageData-&gt;SetOrigin(imageOrigin);<br>
imageData-&gt;SetScalarTypeToUnsignedChar();<br>
imageData-&gt;AllocateScalars();<br>
<br>
// Fill the image with foreground voxels.<br>
for (vtkIdType i = 0; i &lt; imageData-&gt;GetNumberOfPoints(); i++)<br>
    imageData-&gt;GetPointData()-&gt;GetScalars()-&gt;SetTuple1(i, 255);<br>
<br>
// polygonal data --&gt; image stencil:<br>
vtkPolyDataToImageStencil *pol2stenc =<br>
<br>
vtkPolyDataToImageStencil::New();<br>
pol2stenc-&gt;SetTolerance(0);<br>
pol2stenc-&gt;SetInput(cutContourPolyData);<br>
pol2stenc-&gt;SetOutputOrigin(imageOrigin);<br>
pol2stenc-&gt;SetOutputSpacing(imageResolution);<br>
pol2stenc-&gt;SetOutputWholeExtent(imageData-&gt;GetExtent());<br>
pol2stenc-&gt;Update();<br>
<br>
// Cut the corresponding white image and set the background.<br>
vtkImageStencil *imgstenc = vtkImageStencil::New();<br>
imgstenc-&gt;SetInput(imageData);<br>
imgstenc-&gt;SetStencil(pol2stenc-&gt;GetOutput());<br>
imgstenc-&gt;ReverseStencilOff();<br>
imgstenc-&gt;SetBackgroundValue(0);<br>
imgstenc-&gt;Update();<br>
<br>
// Output image.<br>
imageNum = 10000+firstImageNum+ii;<br>
cout &lt;&lt; &quot;imageNum = &quot; &lt;&lt; imageNum &lt;&lt; endl;<br>
logFile &lt;&lt; &quot;imageNum = &quot; &lt;&lt; imageNum &lt;&lt; endl;<br>
ostringstream outputImageStringStream;<br>
outputImageStringStream &lt;&lt; imageNum;<br>
outputImageNumStr = outputImageStringStream.str();<br>
cout &lt;&lt; &quot;outputImageNumStr = &quot; &lt;&lt; outputImageNumStr.c_str() &lt;&lt;<br>
<br>
endl;<br>
logFile &lt;&lt; &quot;outputImageNumStr = &quot; &lt;&lt; outputImageNumStr.c_str()<br>
<br>
&lt;&lt; endl;<br>
outputImageFileName = modelName<br>
<br>
+&quot;-&quot;+outputImageNumStr.substr(1, outputImageNumStr.size()-<br>
<br>
1)+&quot;.&quot;+outputImageFormat;<br>
outputImageFilePathName = outputImageFilePath<br>
<br>
+outputImageFileName;<br>
if (outputImageFormat == &quot;tif&quot;)<br>
{<br>
    tiffWriter-&gt;SetFileName(outputImageFilePathName.c_str());<br>
    tiffWriter-&gt;SetInputConnection(imgstenc-&gt;GetOutputPort());<br>
    tiffWriter-&gt;Write();<br>
    outputImageIndexFile &lt;&lt; outputImageFileName.c_str() &lt;&lt; endl;<br>
}<br>
if (outputImageFormat == &quot;png&quot;)<br>
{<br>
    pngWriter-&gt;SetFileName(outputImageFilePathName.c_str());<br>
    pngWriter-&gt;SetInputConnection(imgstenc-&gt;GetOutputPort());<br>
    pngWriter-&gt;Write();<br>
    outputImageIndexFile &lt;&lt; outputImageFileName.c_str() &lt;&lt; endl;<br>
}<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://vtk.1045678.n5.nabble.com/Topology-problem-in-converting-polydata-to-image-tp5722850.html" target="_blank">http://vtk.1045678.n5.nabble.com/Topology-problem-in-converting-polydata-to-image-tp5722850.html</a><br>

Sent from the VTK - Users mailing list archive at Nabble.com.<br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Unpaid intern in BillsBasement at noware dot com<br>
</div>