<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hey Arturo,<div><br></div><div>You can do what you want, but to get "free space" around your donut, the output will need to be an Unstructured Grid rather than ImageData (which is just defined in a cube, all filled with points).&nbsp;</div><div><br></div><div>I think you have the right idea about the vtkImplicitModeller methods: SetSampleDimensions sets the number of grid points in each direction, while the SetModelBounds specifies the extent of the output in the coordinate space of your data. You can try setting it manually to (-5, 5, -5, 5, -1, 1) if you want. The output of vtkImplicitModeller is a vtkImageData, so I don't think you have to create that new "image", just grab the output and pipe it in to your writer.</div><div><br></div><div>If you put a threshold filter after the implicit modeller, you'll get an unstructured grid with "free space" around your donut. (I just tried it in ParaView, so I don't have VTK code handy.) If you really need ImageData out, then there may be a way to "zero out" the values over a certain threshold, but there will still be points all throughout the rectangular solid space.</div><div><br></div><div>If this doesn't answer your questions, you may have to clarify in what way this is "not working" and what you mean by not wanting the data splatted all over the volume (maybe the "free space" issue?).</div><div><br></div><div>Talk to you later,</div><div>-Eric</div><div><br><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>------------------------------------------------------</div><div>Eric E Monson</div><div>Duke Visualization Technology Group</div><div><br></div></div></span> </div><br><div><div>On Mar 9, 2009, at 5:46 PM, Arturo Caissut wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"> <div bgcolor="#ffffff" text="#000000"> Hi,<br> I need to read a PolyData 3D model, pass it through two filters (implicit modeller &amp; image threshold) and then save the resulting image on a ImageData.<br> My problem is that I don't want the resulting model image to be "splatted" all over the ImageData extension (with a deformation as a collateral result), but I cannot avoid this.<br> Maybe I'm making some confusion between implicit modeller SetSampleDimensions and SetModelBounds, but I'm not sure.<br> <br> I'll try to explain myself with an example: let's say I have a radius=4 circle stored into a polydata. My aim is to create a 50x50x50 MetaImage file whit a radius 4 " donut"on the center, and a lot of "free space" all around. I think I should procede with something like:<br> <code><br> vtkPolydataReader *reader = vtkPolyDataReader::New();<br> reader->SetFileName("something.vtk");<br> <br> vtkImplicitModeller *implicit = vtkImplicitModeller::New();<br> implicit->SetInput(reader->GetOutput());<br> implicit->SetMaximumDistance(1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //I don't want my donut to be too large<br> implicit->SetSampleDimensions(50, 50, 50);&nbsp;&nbsp;&nbsp; //Is this correct?<br> implicit->SetModelBounds(reader->GetOutput()->GetBounds());<br> implicit->Update();<br> <br> vtkImageData *image = vtkImageData::New();<br> image->SetDimensions(50, 50, 50);<br> image->SetOrigin(0.0, 0.0, 0.0);<br> image->SetSpacing(1,1,1);<br> image = implicit->GetOutput();<br> image->Update();<br> <br> vtkMetaImageWriter *miwriter = vtkMetaImageWriter::New();<br> miwriter->SetInput(image);<br> miwriter->SetFileName("something_else.mhd");<br> miwriter->Write();</code><br> <br> <br> But this doesn't work.<br> Can you find any error?<br> <br> <br> Thank you,<br> Arturo<br> <br> <br> <br> <br> </div>  _______________________________________________<br>Powered by <a href="http://www.kitware.com">www.kitware.com</a><br><br>Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html">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">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">http://www.vtk.org/mailman/listinfo/vtkusers</a><br></blockquote></div><br></div></body></html>