-
identifyMajorPeaks():- Properly handle
SNR.Th=0andexcludeBoundariesSize=0cases to bypass those filtering criteria. - Refactor and include additional peak details such as peakRidgeLengthScale, that can be used to tune ridgeLength; peakNoise, useful to understand the role of w.g. the winSize.noise argument; and selInd, useful to understand which filtering rule is impacting a potential peak from not being identified.
- Properly handle
-
Fix NOTE on escaping special LaTeX characters
- Fix off-by-one error. Thanks to Aixiang Jiang, Ivan Krylov, Lluís Revilla, Duncan Murdoch and Vincent Carey for reporting, suggesting a fix and reaching out.
- Fix .Call() for R-4.3. Thanks to Steffen Neumann. Closes #5
- Fix undefined variable in MassSpecWavelet.Rmd
- Fix regression in
cwt()when scales has length 1.
-
getRidge()supports ascaleToWinSizeparameter. This argument controls how scales get mapped to window sizes. These windows are used to track the local maxima into ridges. MassSpecWavelet had a criteria ofwinsize <- 2*scale+1, while xcms modified it towinsize <- floor(scale/2). This new argument enables xcms maintainers to call MassSpecWavelet's getRidge (if they want to) using their criteria, while it still lets us preserve backwards compatibility in our results. See?getRidgefor further details. -
The
getLocalMaximumCWT()is_amp_thres_relativeparameter is nowisAmpThreshRelative, for consistency with other parameter capitalization in the package. Since it was introduced 10 days ago, I don't think there will be more than one user using it. -
getLocalMaximumCWT()andpeakDetectionCWThave aexclude0scaleAmpThreshparameter. When computing the relativeamp.Th, if this parameter is set toTRUE, theamp.Thwill exclude the zero-th scale from themax(wCoefs). The zero-th scale corresponds to the original signal, that may have a much larger baseline than the wavelet coefficients and can distort the threshold calculation. The default value isFALSEto preserve backwards compatibility. -
peakDetectionCWTlets the user pass custom arguments togetRidge().
-
The improvements in
localMaxima()andcwt()provide significant speed-ups topeakDetectionCWT()as well as better scalability. -
A
prepareWavelets()function lets the user pre-compute the daughter wavelets for more efficientcwt()calculations when applied on multiple spectra. When used transforming 1000 spectra, of 2000 points long each, using 25 different scales,cwt()is twice as fast as in previous versions. Further improvements to avoid some memory allocations are still feasible in future versions. -
Through the
prepareWavelets()function, we provide theextendLengthScalesargument, that provides the same functionality than theextendLengthMSWargument inxcms:::MSW.cwt(). -
The
peakDetectionCWT()function accepts aprepared_waveletsobject in the scales argument for better efficiency.
-
localMaxima()has a more efficient implementation of the algorithm, now being 10x faster than before, while giving the same results. -
Experimentally,
localMaxima()can use a new and different algorithm for detecting local maxima. See the new "Finding local maxima" vignette for further details.
- Let getLocalMaximumCWT() have a relative amp.Th. Related to #4.
- Fix bug on identifyMajorPeaks() where nearbyWinSize was forced to 150 if nearbyPeak was set to TRUE. Related to #4.
- Added excludeBoundariesSize argument to identifyMajorPeaks(). Before, nearbyWinSize was used for two different but related criteria: the range for including peaks close to a large peak AND the range to exclude peaks close to the beginning and end of the signal. Now, we have two independent arguments for each setting. The current behaviour does not change, but it is now more flexible. Related to #4.
- Drop sav.gol alias from the documentation. Related to #2
- Explain how the scales argument is defined in relation to the mother wavelet.
- Add sessionInfo() to the vignette
- Add signal to Suggests. Replace sav.gol() with signal::sgolayfilt(). Closes #2
- Minor documentation improvements
- Remove xcms and caTools. Those are great packages but we don't use them directly in MassSpecWavelet.
- Replace Sweave with RMarkdown vignette and update styles with BiocStyle
- Change Maintainer to Sergio Oller
- Add NEWS.md file
- Fix warning (error on R>=4.2) when
cwt()has a matrix in thewaveletargument - Fix warning due to partial matching of arguments inside cwt()
- Move waveslim from Depends to Suggests
- Make all calls to recommended packages qualified (e.g.
sd->stats::sd) - Remove empty sections in
man/files. - Register C routines