Skip to content

Releases: charlesll/Spectra.jl

v2.1.1

07 Apr 09:41
5058a13

Choose a tag to compare

What's Changed

Full Changelog: v2.1.0...v2.1.1

v2.1.0

20 Mar 22:27
1394aa3

Choose a tag to compare

Spectra v2.1.0

Diff since v2.0.2

2.1.0

Additions

  • auto_lambda_whittaker() => selects lambda value for Whittaker smoothing using L-curve method (grid search).

Improvements

  • smooth() => now allow automatic selection of lambda for whittaker smoothing (experimental).
  • despiking() => was very slow for spectra with lots of points using gcvspline. Now we use the "flat" smoothing method with automatic window selection (twice the size of the number of neighboor points for despiking).
  • rubberband_baseline() => new code, pure Julia, no Python dependencies.

Updates

  • Tests have been updated to include auto_lambda_whittaker()

Merged pull requests:

Closed issues:

  • Double hash ## in doc examples separate code blocks in VS Code (#36)
  • Problem Recreating Examples from Rep (#38)

v2.0.2

03 May 21:25

Choose a tag to compare

Spectra v2.0.2

Diff since v2.0.1

  • pull request #37: Fix the use of ## and # in the documentation examples (thanks @garrekstemo!)

Merged pull requests:

Closed issues:

  • Memory error or something else? (#16)
  • Function peakmes error: UndefVarError: flipdim not defined in Spectra (#24)

v2.0.1

24 Apr 22:09
4808da7

Choose a tag to compare

Spectra v2.0.1

Diff since v2.0.0

Merged pull requests:

v2.0.0

24 Apr 12:46
1d223c8

Choose a tag to compare

Spectra v2.0.0

Diff since v1.0.0

Breaking changes

  • v1.0 of Spectra was a wrapper around the Python library rampy. This is not the case anymore, except for the machine learning functions
  • many functions were modified to make more sense, and now make use of multiple dispatch

Improvements

  • baseline() was a wrapper of the rampy.baseline function. This created problems. This is now using only Julia code.
  • smooth() entirely re-written using Julia deps and code (leveraging in particular DSP.jl and StagedFilters.jl)
  • The API of nearly all functions was improved, to allow various forms of inputs (multiple dispatch).
  • docstrings and docs revised in depth. Docs are generated by Documenter.jl, examples by Literate.jl.

Additions

  • gaussian(), lorentzian(), pseudovoigt(): peak shapes
  • fit_peaks() : fit a signal with a sum of peaks.
  • FitContext : struct for the context of a fit
  • FitResult : struct for the results of a fit
  • prepare_context() : type to prepares the context of a fit
  • print_params() : print parameters after a fit
  • plot_fit() : plot parameters after a fit
  • get_peak_results() : transform a vector of parameters in to a vector of Named Tuples describing each peak parameters
  • fit_qNewton() : quasi-Newton algorithm for the fit
  • fit_Optim() : Fminxbox(LBFGS) fit with Optim.jl
  • bootstrap() : performs a bootstrapping analysis to get uncertainty estimates on peak parameters.
  • create_peaks(): generate peaks.
  • find_peaks(): detects peaks.
  • area_peaks(): measure peak areas, replace bandarea().
  • correct_xshift(): returns the signal(s) corrected from a given linear shift.
  • baseline functions in Julia: arPLS_baseline, drPLS_baseline, als_baseline, rubberband_baseline.
  • extract_signal(): replace get_portion_interest().
  • invcm_to_nm(), nm_to_invcm(): allow conversion of the X axis from nm to inverse cm, or the opposite.

Modifications

  • pearson7(): API changed to match that of gaussian(), lorentzian(), pseudovoigt()

Removed functions

  • bandarea(): replaced by area_peaks(). Moved to src/legacy_code.jl
  • xshift_correction(): replaced by correct_xshift(). moved to src/legacy_code.jl
  • xshift_inversion(): no need. moved to src/legacy_code.jl
  • pseudovoigts(), gaussiennes(), lorentziennes() API do not really make sense now that we have create_peaks, so those are removed. moved to src/legacy_code.jl. Use create_peaks().
  • bootperf(): removed as it is not compatible with the new API and dependencies. A better function will be added in an upcoming version. Moved to src/legacy_code.jl

Merged pull requests:

Closed issues:

  • Register v1.0.0 (#19)
  • TagBot trigger issue (#20)
  • UnboundLocalError when calling baseline() function (#22)
  • How to select ROI for raman notebook example? (#23)

v1.0.0

04 Apr 08:29
3dc2a23

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.2...v1.0.0

v0.4.2

07 Jun 09:37
v0.4.2

Choose a tag to compare

v0.4.2 (2019-06-04)

Diff since v0.4.1

Closed issues:

  • pycall api updates (#9)

v0.4.0

11 Feb 02:17

Choose a tag to compare

Update examples