[Paraview-developers] gradient filters

Moreland, Kenneth kmorel at sandia.gov
Thu May 19 14:36:56 EDT 2011


I originally wrote the vtkGradientFilter (the underlying filter for Gradient of Unstructured DataSet).  It has always worked on any vtkDataSet, but the original implementation always went through the vtkDataSet::GetCell interface to compute the gradients and so was far less efficient than it could have been.  Because of this, the XML wrapper for the filter limited the input to point data to use the more efficient vtkImageGradient filter on image data.

Since that time, others have contributed to vtkGradientFilter.  There is now a more efficient implementation for structured grids of all kinds, so it now makes more sense to use this filter for all gradient operations.  Before doing that, however, you should compare the speed and result of vtkGradientFilter with vtkImageGradient.

On a slightly different topic, there are at least two other filters that compute gradients in slightly different ways: vtkCellDerivatives and vtkDataSetGradient.  At one point I was motivated to consolidate all of these filters into a single filter, but I never finished.

-Ken

   ****      Kenneth Moreland
    ***      Sandia National Laboratories
***********
*** *** ***  email: kmorel at sandia.gov
**  ***  **  phone: (505) 844-8919
    ***      web:   http://www.cs.unm.edu/~kmorel

From: Andy Bauer <andy.bauer at kitware.com<mailto:andy.bauer at kitware.com>>
Date: Thu, 19 May 2011 14:08:55 -0400
To: <paraview-developers at paraview.org<mailto:paraview-developers at paraview.org>>
Subject: [Paraview-developers] gradient filters

I'm looking at the 2 gradient filters available in the ParaView GUI and trying to improve their functionality.  I see that the "Gradient of Unstructured DataSet" filter only works with vtkPointSets in ParaView but in general can handle vtkImages and vtkRectilinearGrids as well.  The Gradient filter only works on image data.  This means that there is on gradient filter for rectilinear grids and that any multiblock data set with mixed data set types can't be used with the gradient filter either.  Because of this I'm wondering why the Gradient of Unstructured DataSet filter was limited to just vtkPointSets.  Obviously performance is an issue.  On an image data with 100 million cells, 1000 by 1000 by 100 whole extent, it took 14.5 seconds to create the image data with the wavelet source and run the Gradient filter.  Using the Gradient of Unstructured DataSet filter instead it took 41.9 seconds.

The Gradient of Unstructured DataSet does have more functionality (operates on arrays with more than a single component, can calculate vorticity,...) but I'd like to look into getting a better interface to gradients and am trying to encourage input on that process.

Thanks,
Andy

_______________________________________________ Paraview-developers mailing list Paraview-developers at paraview.org<mailto:Paraview-developers at paraview.org> http://public.kitware.com/mailman/listinfo/paraview-developers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview-developers/attachments/20110519/fc1af158/attachment.htm>


More information about the Paraview-developers mailing list