# Any package implementing Savitzky-Golay filters or related?

**URL:** <https://discourse.julialang.org/t/any-package-implementing-savitzky-golay-filters-or-related/9717>\
**Category:** Numerics\
**Tags:** smoothing\
**Created:** [March 14, 2018, 3:33pm UTC](https://discourse.julialang.org/t/any-package-implementing-savitzky-golay-filters-or-related/9717 "2018-03-14T15:33:25Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Olivier\_Merchiers](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/olivier_merchiers/32/4073_2.png) [@Olivier\_Merchiers](https://discourse.julialang.org/u/Olivier_Merchiers)\
**Post date:** [March 14, 2018, 3:33pm UTC](https://discourse.julialang.org/t/any-package-implementing-savitzky-golay-filters-or-related/9717/1 "2018-03-14T15:33:25Z")

</div>

Hello everyone,

I’m not sure this is the correct category, so feel free to put it elsewhere.

I’m looking for a Julia package that implements a Savitzky-Golay filter or similar.  
I have FTIR spectroscopic data from which I would like remove the noise to some extend.  
I found the Spectra.jl package but I cannot use it due to a problem with Ipopt.

Is there any other package that implements this?

Many thanks,  
Olivier

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [March 14, 2018, 4:01pm UTC](https://discourse.julialang.org/t/any-package-implementing-savitzky-golay-filters-or-related/9717/2 "2018-03-14T16:01:53Z")

</div>

It’s been a while since I’ve reached for this, but a few years ago when I needed one I found one in the un-registered QLab.jl: [https://github.com/BBN-Q/Qlab.jl/blob/master/src/SavitskyGolay.jl](https://github.com/BBN-Q/Qlab.jl/blob/master/src/SavitskyGolay.jl)

Jiahao then found it an interesting pedagogical case for a demonstration of the then-new `@generated` (nee stagedfunction) functionality and wrote up a tutorial: [Smoothing data with Julia’s @generated functions | by Jiahao Chen [he/him] / 陳家豪 [他] | Medium](https://medium.com/@acidflask/smoothing-data-with-julia-s-generated-functions-c80e240e05f3)

Not sure if there’s any more recent work, but at least that’s a starting point.

---

<div class="post-metadata">

**Author:** ![Olivier\_Merchiers](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/olivier_merchiers/32/4073_2.png) [@Olivier\_Merchiers](https://discourse.julialang.org/u/Olivier_Merchiers)\
**Post date:** [March 14, 2018, 5:10pm UTC](https://discourse.julialang.org/t/any-package-implementing-savitzky-golay-filters-or-related/9717/3 "2018-03-14T17:10:39Z")

</div>

Thanks a lot for your quick answer!  
The implementation from Qlab did the job.

---

<div class="post-metadata">

**Author:** ![TheLateKronos](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thelatekronos/32/12824_2.png) [@TheLateKronos](https://discourse.julialang.org/u/TheLateKronos)\
**Post date:** [April 24, 2024, 7:18am UTC](https://discourse.julialang.org/t/any-package-implementing-savitzky-golay-filters-or-related/9717/4 "2024-04-24T07:18:20Z")

</div>

This discussion is now 6 years old. I just wanted to mention that we now have [SavitzkyGolay.jl](https://github.com/lnacquaroli/SavitzkyGolay.jl).
