[vtkusers] Unstructured grid to structured grid?

David Gobbi david.gobbi at gmail.com
Tue Sep 16 14:07:03 EDT 2014


If you want to create a polydata that is a regular grid, then
use vtkPlaneSource with SetResolution(gridSize, gridSize).

If you want your regular grid to be a vtkImageData, then
use vtkImageGridSource with SetDataExtent(), SetDataSpacing(),
an SetDataOrigin() to create the needed dimensions.

Note that if your point cloud is just points without any connectivity
between the points (i.e. without any cells), then you cannot use
vtkProbeFilter.




On Tue, Sep 16, 2014 at 11:52 AM, Chris Marsh <chris.marsh at usask.ca> wrote:
> Mmh thanks. I think I'll stick with the probe filter.
>
> I've been able to get  this example working
> http://www.itk.org/Wiki/VTK/Examples/Cxx/PolyData/InterpolateMeshOnGrid
> if I have a real-world pt cloud, I'm a bit unclear how I should make the
> grid.
>
> If xll and yll are the lower x and y coordinates of an axis aligned bounding
> box
>
> size_t gridSize = 100;
>     for ( size_t x = 0; x < gridSize; x++ )
>     {
>         for ( size_t y = 0; y < gridSize; y++ )
>         {
>             gridPoints->InsertNextPoint ( x+xll, y+yll, 0);
>         }
>     }
>
> does not seem to produce any output.
>
> Any suggestions?
>
> On Mon, Sep 15, 2014 at 4:39 PM, David Gobbi <david.gobbi at gmail.com> wrote:
>>
>> Another filter that might work is vtkShepardMethod, which takes
>> unstructured points (e.g. an arbitrary set of samples) as input and
>> produces a vtkImageData as output.
>>
>> The difference between vtkProbeFilter and vtkShepardMethod is
>> that the former performs the interpolation based on the connectivity
>> of the points (i.e. based on the cells), while the latter ignores the
>> connectivity and does the interpolation purely based on distance.
>>
>>  - David
>>
>> On Mon, Sep 15, 2014 at 4:23 PM, Chris Marsh <chris.marsh at usask.ca> wrote:
>> > Thanks David, this looks perfect.
>> >
>> >
>> > On Mon, Sep 15, 2014 at 4:10 PM, David Gobbi <david.gobbi at gmail.com>
>> > wrote:
>> >>
>> >> Hi Chris,
>> >>
>> >> This sounds like a job for vtkProbeFilter.  The probe filter takes two
>> >> inputs,
>> >> the "input" and the "source".  The idea is that it resamples the
>> >> scalars
>> >> from
>> >> the "source" onto the geometry of the "input".  So, in this case, the
>> >> "source"
>> >> is your unstructured grid, and the "input" is any vtkImageData that has
>> >> the
>> >> origin, spacing, and extent that you want to use for the regridding.
>> >> The
>> >> output of vtkProbeFilter will be an image that has the same geometry as
>> >> the input, but that has pixel values that have been interpolated from
>> >> your
>> >> unstructured grid.  You should be able to find several examples on the
>> >> wiki.
>> >>
>> >>  - David
>> >>
>> >>
>> >> On Mon, Sep 15, 2014 at 3:59 PM, chrism <chris.marsh at usask.ca> wrote:
>> >> > Is it possible to (easily) convert an unstructured grid to a
>> >> > structured
>> >> > grid
>> >> > (Image data)?
>> >> >
>> >> > Is unstructured -> polydata -> image data  the only way? If so, how
>> >> > example
>> >> >
>> >> > (http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/DataSetSurfaceFilter
>> >> > ??)
>> >> >
>> >> > Ultimately, the unstructured grid represents a topography, and I am
>> >> > looking
>> >> > to 'rasterize' it for use in a GIS.
>> >
>> >
>
>


More information about the vtkusers mailing list