[vtkusers] convert polydata to volume

Bill Lorensen bill.lorensen at gmail.com
Tue Dec 22 08:13:14 EST 2009


Run the output of the cutter through vtkStripper before the tube filter.

On Tue, Dec 22, 2009 at 8:11 AM, Karl <bulkmailaddress at gmail.com> wrote:
> David and others,
>
> Thanks for the response.  I am moving in the right direction.  I have
> implemented the vtkcutter but it only partially meets my needs.
>
> 1) I still end up with a polydata (a 2d one) and need to convert it to a 2d
> image.
> 2) The thickened lines produced by vtkTubeFilter are of a poor quality.  It
> is speckled with very small black dots and cracks.  I suppose this occurs
> where the line segments meet.
>
> Any further suggestions.
>
> Thanks,
> KB
> -----Original Message-----
> From: vtkusers-bounces at vtk.org [mailto:vtkusers-bounces at vtk.org] On Behalf
> Of David Gobbi
> Sent: Saturday, December 19, 2009 12:26 PM
> To: vtkusers
> Subject: Re: [vtkusers] convert polydata to volume
>
> Hi Karl,
>
> The vtkCutter can generate contours directly from your surface mesh.
> It takes a vtkPlane to describe the cut plane for the contours.  I
> believe that there is an ImplicitPlane widget that you can use to
> control the plane.
>
> If the contour lines look too thin, you can use vtkTubeFilter to
> thicken them before feeding them into the mapper.
>
>   David
>
>
> On Sat, Dec 19, 2009 at 10:04 AM, Karl <bulkmailaddress at gmail.com> wrote:
>> Bill,
>>
>> Thanks for the response.  I have a VRML file with a single object
> (triangle
>> mesh, normal, colors).  I need to implement something that behaves like
> the
>> vtkImagePlaneWidget where GetResliceOutput can be used to create an image
>> with the (colored) contours from a slice through the polydata.  My thought
>> was to sample the polydata into a volume and then directly use the
>> vtkImagePlaneWidget.  Any ideas?
>>
>> Thanks,
>> KB
>>
>> -----Original Message-----
>> From: Bill Lorensen [mailto:bill.lorensen at gmail.com]
>> Sent: Saturday, December 19, 2009 10:41 AM
>> To: bulkmailaddress at gmail.com
>> Cc: vtkusers
>> Subject: Re: [vtkusers] convert polydata to volume
>>
>> Karl,
>>
>> The ProbeFIlter takes each point in its input and samples the source
>> the point attributes by interpolating the point position in the
>> source.
>>
>> It cannot convert a polydata into a volume.
>>
>> Can you explain what your end goal is? What is the ultimate problem
>> you are trying to solve? What is contained in the polydata?
>>
>> Bill
>>
>> On Sat, Dec 19, 2009 at 2:18 AM, Karl <bulkmailaddress at gmail.com> wrote:
>>> Hi,
>>> I am attempting to use vtkProbeFilter convert a polydata into a volume
>> data
>>> set that will have colored lines corresponding to the contours of the
>>> polydata.  So far the produced image is always empty.  Can anyone see
>>> anything wrong with the following code?  Any help would be appreciated?
>>>
>>> // polydata to be converted
>>> vtkPolyData* polyData = ...
>>> double bounds[6];
>>> polyData->GetBounds(bounds);
>>>
>>> // identify sampling locations
>>> int samples = 30;
>>> vtkImageData* samplingArray = vtkImageData::New();
>>> samplingArray->SetNumberOfScalarComponents(3);
>>> samplingArray->SetScalarTypeToUnsignedChar();
>>>
>>
> samplingArray->SetSpacing((bounds[1]-bounds[0])/samples,(bounds[3]-bounds[2]
>>> )/samples,(bounds[5]-bounds[4])/samples);
>>> samplingArray->SetDimensions(samples, samples, samples);
>>> samplingArray->SetOrigin( bounds[0], bounds[2], bounds[3] );
>>> samplingArray->Update();
>>>
>>> // sample polydata
>>> vtkProbeFilter *probe = vtkProbeFilter::New();
>>> probe->SetInput(samplingArray);
>>> probe->SetSource(poly);
>>>
>>> // save results
>>> vtkTIFFWriter* tiff = vtkTIFFWriter::New();
>>> tiff->SetInputConnection(probe->GetOutputPort());
>>> tiff->SetFilePrefix("sampled");
>>> tiff->Write();
>>>
>>>
>>> Thanks,
>>> KB
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>



More information about the vtkusers mailing list