Posted by
Gabriel Landini on
Mar 04, 2007; 11:57am
URL: http://imagej.273.s1.nabble.com/Filtering-with-Savitzky-Golay-tp3699606p3699608.html
On Saturday 03 March 2007, I wrote:
> This page:
>
http://research.microsoft.com/users/jckrumm/SavGol/SavGol.htm> describes the filter and gives (at the bottom) the two-dimensional
> Savitzky-Golay filters for different patch sizes and polynomial orders.
Hi,
Following the example from that page, I loaded the convolution matrices in the
IJ convolver as found in
http://research.microsoft.com/users/jckrumm/SavGol/SavGol.cpp.htmAccording to the page, to smooth, one needs to use the C00 filter, and to get
the partial derivatives filter with C10 and C01, and so on. These correspond
to the X0Y0, X1Y0 and X0Y1 in the file above.
The X0Y0 filters do some kind of smoothing, but not knowing what to expect, I
am not sure whether this is the correct way of doing it.
Then I realised something curious: the X0Y0 filters (the ones that I think one
uses for smoothing), are the same for orders 2 and 3, and the same for orders
4 and 5 for a particular kernel size.
I mailed the author enquiring about this, but I haven't heard back yet.
Could anybody with access to MatLab (and the Symbolic Math Toolbook and a bit
of free time) check the output of the script:
http://research.microsoft.com/users/jckrumm/SavGol/SavGolMatLab.m.htmand see if this is the same as the
http://research.microsoft.com/users/jckrumm/SavGol/SavGol.cpp.htmOr if I misunderstood the way these filters are applied, I would be grateful
to hear how one should use them.
Cheers,
Gabriel