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

Reply via email to