NEWS.md
Add filterEmptyChromatograms() function to remove empty chromatograms (i.e., chromatograms without peaks) from a Chromatograms or ChromBackend object.
Add concatenateChromatograms() function and c() method to combine multiple Chromatograms objects into a single object. Also add split() method to split a Chromatograms object based on a grouping factor.
Add extrapolate parameter to imputePeaksData() (default FALSE). When TRUE, leading/trailing NA values outside the range of observed data are extrapolated. When FALSE (default), only interpolation is performed and edge NA values remain as NA.
peaksData() for ChromBackendSpectra to return data in the correct row order when multiple chromatograms share the same chromSpectraIndex. This bug caused setBackend() to produce mismatched chromData and peaksData when converting from ChromBackendSpectra to ChromBackendMemory with objects containing multiple EICs.chromExtract(), and imputation workflows via imputePeaksData().spectraSortIndex() for ChromBackendSpectra to compute the desired retention-time order on demand, avoiding the need to keep on-disk Spectra objects sorted in memory.chromExtract() method to generate a new Chromatograms object from an existing one by extracting a subset of chromatograms based on retention times (optionally m/z) boundaries.imputePeaksData() method to impute missing values in the chromatographic peaks data.factorize() so that the parameter factorize.by can take a character vector of length 1.ChromBackendSpectra class and its respective methods.plotChromatograms() and plotChromatogramsOverlay() functions.extractByIndex implementation in the backends.ChromBackendMzR and its respective methods.peaksData() and implementation of chunkwise (and therefore paralleled) processing of Chromatograms object.addProcessing(), applyProcessing(), processingChunkFactor(), and processingChunkSize().filterChromData() method for ChromBackend.Chromatograms class and implementation of basic accessor methods.