I also forgot about the Compute Derivatives filter in ParaView which computes both scalar/single component and vector/3 component derivatives of point data outputting to cell data.<br><br>Another problem with these filters is that they only compute one gradient at a time (the Compute Derivatives can do 1 scalar and one vector) which can be wasteful if more than a single field gradient is desired.  I&#39;m trying to decide if it&#39;s better to modify vtkGradientFilter&#39;s API to allow gradients of multiple fields to be computed or to add yet another gradient filter to the mix (which could probably be hidden in ParaView&#39;s GUI).  Before I commit anything I&#39;ll submit it to gerrit for more review but I thought I&#39;d try to get some more feedback before starting on this.<br>

<br>Thanks,<br>Andy<br><br>ps.  Ken, for one image data that I tested the vtkGradientFilter took 42 seconds to compute while the vtkImageGradient took 14.5 seconds to complete.<br><br><div class="gmail_quote">On Thu, May 19, 2011 at 2:36 PM, Moreland, Kenneth <span dir="ltr">&lt;<a href="mailto:kmorel@sandia.gov" target="_blank">kmorel@sandia.gov</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">





<div style="word-wrap:break-word;color:rgb(0, 0, 0);font-size:14px;font-family:Calibri,sans-serif">
<div>
<div>
<div>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.</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>-Ken</div>
<div><font size="2"><font face="Consolas,Courier New,Courier"><span style="font-size:10pt"><br>
   ****      Kenneth Moreland<br>
    ***      Sandia National Laboratories<br>
***********  <br>
*** *** ***  email: <a href="http://kmorel@sandia.gov" target="_blank">kmorel@sandia.gov</a><br>
**  ***  **  phone: <a href="tel:%28505%29%20844-8919" value="+15058448919" target="_blank">(505) 844-8919</a><br>
    ***      web:   <a href="http://www.cs.unm.edu/%7Ekmorel" target="_blank">http://www.cs.unm.edu/~kmorel</a><br>
</span></font></font></div>
</div>
</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;color:black;border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color;padding:3pt 0in 0in">



<span style="font-weight:bold">From: </span>Andy Bauer &lt;<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>&gt;<br>
<span style="font-weight:bold">Date: </span>Thu, 19 May 2011 14:08:55 -0400<br>
<span style="font-weight:bold">To: </span>&lt;<a href="mailto:paraview-developers@paraview.org" target="_blank">paraview-developers@paraview.org</a>&gt;<br>
<span style="font-weight:bold">Subject: </span>[Paraview-developers] gradient filters<br>
</div>
<div><br>
</div>
<blockquote><div><div></div><div>
I&#39;m looking at the 2 gradient filters available in the ParaView GUI and trying to improve their functionality.  I see that the &quot;Gradient of Unstructured DataSet&quot; 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&#39;t be used with the gradient filter either.  Because of this I&#39;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. 
<br>
<br>
The Gradient of Unstructured DataSet does have more functionality (operates on arrays with more than a single component, can calculate vorticity,...) but I&#39;d like to look into getting a better interface to gradients and am trying to encourage input on that
 process.<br>
<br>
Thanks,<br>
Andy<br>
<br></div></div>
_______________________________________________ Paraview-developers mailing list <a href="mailto:Paraview-developers@paraview.org" target="_blank">
Paraview-developers@paraview.org</a> <a href="http://public.kitware.com/mailman/listinfo/paraview-developers" target="_blank">
http://public.kitware.com/mailman/listinfo/paraview-developers</a> </blockquote>
</span>
</div>

</blockquote></div><br>