Hi all,
I did some further developments on the "Baseline Correction" module.
This is not yet completely "crash tested" (specially regarding the
compatibility of what I made with the "batch mode" system). But still
working quite well. And it might be a good candidate for integration in
the trunk. Perhaps... I let you judges on this, but I'd be glad to help
with this task if applicable.
Here's the change log. If any of you has the irreducible need to see and
test it, any comment or bug report would be greatly appreciated! Thanks.
MZmine2 change log for "Baseline corrector module":
--------------------------------------------------
Modified files (package
"net.sf.mzmine.modules.rawdatamethods.filtering.baselinecorrection"):
* ParameterSetupDialogWithChromatogramPreview:
=> Slightly modified to add the possibility for switching to TIC
(versus Base Peak) preview.
* TICPlot:
=> Added the possibility to switch to TIC plot type from a
"non-TICVisualizerWindow" context.
* TICDataSet:
=> Added the possibility to switch to TIC plot type from a
"non-TICVisualizerWindow" context.
* BaselineCorrectionTask:
=> Adding more baseline algorithms.
Deeply modified to delegate baseline correction to various
correctors (whose implement specific methods by them-selves).
Those correctors all share a common behavior by inheriting from the base class
"BaselineCorrector", and apply there specific way of building the baselines via the
various algorithms implemented in the sub-package
"net.sf.mzmine.modules.rawdatamethods.filtering.baselinecorrection.correctors".
* BaselineCorrectionParameters:
=> Adding more baseline algorithms.
Holds baseline correction module COMMON parameters.
Reduced strictly to the parameters common to all the
BaselineCorrectors.
See
"net.sf.mzmine.modules.rawdatamethods.filtering.baselinecorrection.correctors"
sub-package for method specific parameters.
Added files (package
"net.sf.mzmine.modules.rawdatamethods.filtering.baselinecorrection.correctors"):
> Adding more baseline algorithms. Deeply refactored the baseline
correction module design. Added preview feature.
* BaselineCorrector
* BaselineCorrectorSetupDialog
* BaselineProvider
* InstantUpdateSetupDialog
> Correctors:
* AsymmetryCorrector / AsymmetryCorrectorParameters:
=> Adding more baseline algorithms.
Asymmetric baseline corrector (same as before). Estimates a
trend based on asymmetric least squares.
Uses "asysm" feature from "ptw" R-package
(http://cran.r-project.org/web/packages/ptw/ptw.pdf).
* RollingBallCorrector / RollingBallCorrectorParameters:
=> Adding more baseline algorithms.
Rolling Ball baseline corrector. Estimates a trend based on
Rolling Ball algorithm.
Uses "rollingBall" feature from "baseline" R-package
(http://cran.r-project.org/web/packages/baseline/baseline.pdf).
(Ideas from Rolling Ball algorithm for X-ray spectra by
M.A.Kneen and H.J. Annegarn. Variable window width has been left out).
* PeakDetectionCorrector / PeakDetectionCorrectorParameters:
=> Adding more baseline algorithms.
Peak detection is done in several steps sorting out real
peaks through different criteria. Peaks are removed from
spectra and minimums and medians are used to smooth the
remaining parts of the spectra.
Uses "peakDetection" feature from "baseline" R-package
(http://cran.r-project.org/web/packages/baseline/baseline.pdf).
(A translation from Kevin R. Coombes et al.'s MATLAB code
for detecting peaks and removing baselines).
* RubberBandCorrector / RubberBandCorrectorParameters:
=> Adding more baseline algorithms.
Rubber Band baseline corrector.
Estimates a trend based on Rubber Band algorithm (which
determines a convex envelope for the spectra).
Uses "spc.rubberband" feature from "hyperSpec" R-package
(http://cran.r-project.org/web/packages/hyperSpec/vignettes/introduction.pdf).
* LocMinLoessCorrector / LocMinLoessCorrectorParameters:
=> Adding more baseline algorithms.
Local Minima + LOESS (smoothed low-percentile intensity)
baseline corrector.
Uses "bslnoff" feature from "PROcess" R/Bioconductor
package (http://bioconductor.org/packages/release/bioc/manuals/PROcess/man/PROcess.pdf).
Cheers
Gauthier
--
Gauthier BOAGLIO
CEFE - UMR 5175
1919 route de Mende
F-34293 Montpellier cedex 5
Tel: +33/0 4 67 61 32 15
Fax: +33/0 4 67 61 33 36
email: gauthier.boag...@cefe.cnrs.fr
www:
http://www.cefe.cnrs.fr/en/evolutionary-ecology-and-epidemiology/gauthier-boaglio
http://www.evolepid.org/people.php?name=boaglio
MZmine2 change log for "Baseline corrector module":
--------------------------------------------------
>> Modified files (package
>> "net.sf.mzmine.modules.rawdatamethods.filtering.baselinecorrection"):
* ParameterSetupDialogWithChromatogramPreview:
=> Slightly modified to add the possibility for
switching to TIC (versus Base Peak) preview.
* TICPlot:
=> Added the possibility to switch to TIC plot type
from a "non-TICVisualizerWindow" context.
* TICDataSet:
=> Added the possibility to switch to TIC plot type
from a "non-TICVisualizerWindow" context.
* BaselineCorrectionTask:
=> Adding more baseline algorithms.
Deeply modified to delegate baseline correction
to various correctors (whose implement specific methods by them-selves).
Those correctors all share a common behavior by
inheriting from the base class "BaselineCorrector", and apply there specific
way of building the baselines via the various algorithms implemented in the
sub-package
"net.sf.mzmine.modules.rawdatamethods.filtering.baselinecorrection.correctors".
* BaselineCorrectionParameters:
=> Adding more baseline algorithms.
Holds baseline correction module COMMON
parameters.
Reduced strictly to the parameters common to
all the BaselineCorrectors.
See
"net.sf.mzmine.modules.rawdatamethods.filtering.baselinecorrection.correctors"
sub-package for method specific parameters.
>> Added files (package
>> "net.sf.mzmine.modules.rawdatamethods.filtering.baselinecorrection.correctors"):
> Adding more baseline algorithms. Deeply refactored the baseline
correction module design. Added preview feature.
* BaselineCorrector
* BaselineCorrectorSetupDialog
* BaselineProvider
* InstantUpdateSetupDialog
> Correctors:
* AsymmetryCorrector / AsymmetryCorrectorParameters:
=> Adding more baseline algorithms.
Asymmetric baseline corrector (same as
before). Estimates a trend based on asymmetric least squares.
Uses "asysm" feature from "ptw"
R-package (http://cran.r-project.org/web/packages/ptw/ptw.pdf).
* RollingBallCorrector / RollingBallCorrectorParameters:
=> Adding more baseline algorithms.
Rolling Ball baseline corrector.
Estimates a trend based on Rolling Ball algorithm.
Uses "rollingBall" feature from
"baseline" R-package
(http://cran.r-project.org/web/packages/baseline/baseline.pdf).
(Ideas from Rolling Ball algorithm for
X-ray spectra by M.A.Kneen and H.J. Annegarn. Variable window width has been
left out).
* PeakDetectionCorrector / PeakDetectionCorrectorParameters:
=> Adding more baseline algorithms.
Peak detection is done in several steps
sorting out real peaks through different criteria. Peaks are removed from
spectra and minimums and medians are
used to smooth the remaining parts of the spectra.
Uses "peakDetection" feature from
"baseline" R-package
(http://cran.r-project.org/web/packages/baseline/baseline.pdf).
(A translation from Kevin R. Coombes et
al.'s MATLAB code for detecting peaks and removing baselines).
* RubberBandCorrector / RubberBandCorrectorParameters:
=> Adding more baseline algorithms.
Rubber Band baseline corrector.
Estimates a trend based on Rubber Band
algorithm (which determines a convex envelope for the spectra).
Uses "spc.rubberband" feature from
"hyperSpec" R-package
(http://cran.r-project.org/web/packages/hyperSpec/vignettes/introduction.pdf).
* LocMinLoessCorrector / LocMinLoessCorrectorParameters:
=> Adding more baseline algorithms.
Local Minima + LOESS (smoothed
low-percentile intensity) baseline corrector.
Uses "bslnoff" feature from "PROcess"
R/Bioconductor package
(http://bioconductor.org/packages/release/bioc/manuals/PROcess/man/PROcess.pdf).
------------------------------------------------------------------------------
_______________________________________________
Mzmine-devel mailing list
Mzmine-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mzmine-devel