Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Apr 12:46
· 38 commits to master since this release
1d223c8

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)