diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.backfolding/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/backfolding/detector/PeakDetectorSupport.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.backfolding/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/backfolding/detector/PeakDetectorSupport.java index 4c460493ee..1759dea45d 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.backfolding/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/backfolding/detector/PeakDetectorSupport.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.backfolding/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/backfolding/detector/PeakDetectorSupport.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2018 Lablicate GmbH. + * Copyright (c) 2011, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -30,20 +30,20 @@ import org.eclipse.chemclipse.numeric.core.IPoint; import org.eclipse.chemclipse.numeric.core.Point; import org.eclipse.chemclipse.numeric.miscellaneous.Evaluation; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; // TODO JUnit public class PeakDetectorSupport { private static float NORMALIZATION_BASE = 100000.0f; private static int CONSECUTIVE_SCAN_STEPS = 3; - private static WindowSize MOVING_AVERAGE_WINDOW = WindowSize.WIDTH_5; + private static int MOVING_AVERAGE_WINDOW = 5; private static double threshold = 0.005d; /** * This class has only static methods. */ private PeakDetectorSupport() { + } /** diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/CodaCalculator.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/CodaCalculator.java index d38d2184f7..18b8421083 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/CodaCalculator.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/CodaCalculator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2018 Lablicate GmbH. + * Copyright (c) 2011, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -11,12 +11,11 @@ *******************************************************************************/ package org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda.calculator; +import org.eclipse.chemclipse.logging.core.Logger; import org.eclipse.chemclipse.msd.model.exceptions.NoExtractedIonSignalStoredException; import org.eclipse.chemclipse.msd.model.xic.IExtractedIonSignal; import org.eclipse.chemclipse.msd.model.xic.IExtractedIonSignals; -import org.eclipse.chemclipse.logging.core.Logger; import org.eclipse.chemclipse.numeric.statistics.Calculations; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; // TODO JUnit /** @@ -32,6 +31,7 @@ public class CodaCalculator { * Use it a singleton. */ private CodaCalculator() { + } /** @@ -43,7 +43,7 @@ private CodaCalculator() { * @param ion * @return float */ - public static float getMCQValue(IExtractedIonSignals extractedIonSignals, WindowSize windowSize, int ion) { + public static float getMCQValue(IExtractedIonSignals extractedIonSignals, int windowSize, int ion) { IExtractedIonSignal extractedIonSignal; int startScan = extractedIonSignals.getStartScan(); @@ -91,11 +91,10 @@ public static float getMCQValue(IExtractedIonSignals extractedIonSignals, Window * @param windowSize * @return float */ - private static float calculateMCQValue(double[] euclidianLengthValues, double[] standardizedSmoothedValues, WindowSize windowSize) { + private static float calculateMCQValue(double[] euclidianLengthValues, double[] standardizedSmoothedValues, int windowSize) { - assert (windowSize != null) : "The window size must not be null."; float mcq = 0.0f; - int lastScan = Calculations.getWindowReducedLength(euclidianLengthValues, windowSize.getSize()); + int lastScan = Calculations.getWindowReducedLength(euclidianLengthValues, windowSize); int scans = euclidianLengthValues.length; double sumSignals = 0.0f; /* @@ -107,7 +106,7 @@ private static float calculateMCQValue(double[] euclidianLengthValues, double[] for(int i = 0; i < lastScan; i++) { sumSignals += euclidianLengthValues[i] * standardizedSmoothedValues[i]; } - mcq = (float)((1.0d / Math.sqrt((scans - windowSize.getSize()))) * sumSignals); + mcq = (float)((1.0d / Math.sqrt((scans - windowSize))) * sumSignals); /* * Give a warning if something tries to run out of order. */ diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityCalculator.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityCalculator.java index 47ceb8a5c9..c7024cf207 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityCalculator.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityCalculator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2018 Lablicate GmbH. + * Copyright (c) 2011, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -13,7 +13,6 @@ import org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda.exceptions.CodaCalculatorException; import org.eclipse.chemclipse.msd.model.core.selection.IChromatogramSelectionMSD; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; /** * @author eselmeister @@ -24,6 +23,7 @@ public class MassChromatographicQualityCalculator { * Use only static methods. */ private MassChromatographicQualityCalculator() { + } /** @@ -36,7 +36,7 @@ private MassChromatographicQualityCalculator() { * @return {@link IMassChromatographicQualityResult} * @throws CodaCalculatorException */ - public static IMassChromatographicQualityResult calculate(IChromatogramSelectionMSD chromatogramSelection, float codaThreshold, WindowSize windowSize) throws CodaCalculatorException { + public static IMassChromatographicQualityResult calculate(IChromatogramSelectionMSD chromatogramSelection, float codaThreshold, int windowSize) throws CodaCalculatorException { IMassChromatographicQualityResult result = new MassChromatographicQualityResult(chromatogramSelection, codaThreshold, windowSize); return result; diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityResult.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityResult.java index e2647c21b4..b96d0ae5e3 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityResult.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityResult.java @@ -25,7 +25,6 @@ import org.eclipse.chemclipse.msd.model.xic.ExtractedIonSignalExtractor; import org.eclipse.chemclipse.msd.model.xic.IExtractedIonSignalExtractor; import org.eclipse.chemclipse.msd.model.xic.IExtractedIonSignals; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; public class MassChromatographicQualityResult implements IMassChromatographicQualityResult { @@ -41,10 +40,9 @@ public class MassChromatographicQualityResult implements IMassChromatographicQua * @param windowSize * @throws CodaCalculatorException */ - public MassChromatographicQualityResult(IChromatogramSelectionMSD chromatogramSelection, float codaThreshold, WindowSize windowSize) throws CodaCalculatorException { + public MassChromatographicQualityResult(IChromatogramSelectionMSD chromatogramSelection, float codaThreshold, int windowSize) throws CodaCalculatorException { validateChromatogramSelection(chromatogramSelection); - validateWindowSize(windowSize); /* * Create a new excluded ions object. */ @@ -71,11 +69,10 @@ public float getDataReductionValue() { * DataReductionValue
* ExcludedIons */ - private void calculateMassChromatographicQuality(IChromatogramSelectionMSD chromatogramSelection, float codaThreshold, WindowSize windowSize, IMarkedIons excludedIons) { + private void calculateMassChromatographicQuality(IChromatogramSelectionMSD chromatogramSelection, float codaThreshold, int windowSize, IMarkedIons excludedIons) { assert (chromatogramSelection != null) : "The chromatogram selection must not be null."; assert (chromatogramSelection.getChromatogram() != null) : "The chromatogram must not be null."; - assert (windowSize != null) : "The window size must not be null."; assert (excludedIons != null) : "The excluded ions must not be null."; List mcqs = new ArrayList(); float mcq; @@ -127,19 +124,6 @@ private float calculateDataReductionValue(List mcqs, float codaThreshold) return selected / mcqs.size(); } - /** - * Validates the window size. - * - * @param windowSize - * @throws CodaCalculatorException - */ - private void validateWindowSize(WindowSize windowSize) throws CodaCalculatorException { - - if(windowSize == null) { - throw new CodaCalculatorException("The window size must not be null."); - } - } - /** * Validates the chromatogram selection. * diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/core/ChromatogramFilter.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/core/ChromatogramFilter.java index 5988bde37e..f0420d66b7 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/core/ChromatogramFilter.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/core/ChromatogramFilter.java @@ -25,14 +25,13 @@ import org.eclipse.chemclipse.msd.model.core.IVendorMassSpectrum; import org.eclipse.chemclipse.msd.model.core.selection.IChromatogramSelectionMSD; import org.eclipse.chemclipse.msd.model.core.support.IMarkedIons; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.processing.core.IProcessingInfo; import org.eclipse.chemclipse.processing.core.ProcessingInfo; import org.eclipse.core.runtime.IProgressMonitor; public class ChromatogramFilter extends AbstractChromatogramFilterMSD { - private static WindowSize MOVING_AVERAGE_WINDOW = WindowSize.WIDTH_5; + private static int MOVING_AVERAGE_WINDOW = 5; @Override public IProcessingInfo applyFilter(IChromatogramSelectionMSD chromatogramSelection, IChromatogramFilterSettings chromatogramFilterSettings, IProgressMonitor monitor) { diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/DetectorSlopes.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/DetectorSlopes.java index ad032591d6..e48aac6697 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/DetectorSlopes.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/DetectorSlopes.java @@ -19,10 +19,9 @@ import org.eclipse.chemclipse.chromatogram.xxd.filter.supplier.savitzkygolay.processor.SavitzkyGolayFilter; import org.eclipse.chemclipse.model.signals.ITotalScanSignals; import org.eclipse.chemclipse.numeric.statistics.Calculations; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; /** - * @author eselmeister + * @author Philip Wenig */ public class DetectorSlopes implements IDetectorSlopes { @@ -65,28 +64,28 @@ public void add(IDetectorSlope detectorSlope) { } @Override - public void calculateMovingAverage(WindowSize windowSize) { + public void calculateMovingAverage(int windowSize) { /* - * Return if the windowSize is null or NONE. + * Return if the windowSize is NONE. */ - if(windowSize == null || WindowSize.NONE.equals(windowSize)) { + if(windowSize == 0) { return; } /* * Return if the available number of slopes are lower than the window * size. */ - if(slopes.size() < windowSize.getSize()) { + if(slopes.size() < windowSize) { return; } - int diff = windowSize.getSize() / 2; - int windowStop = windowSize.getSize() - diff; + int diff = windowSize / 2; + int windowStop = windowSize - diff; /* * Moving average calculation. */ int size = slopes.size() - diff; - double[] values = new double[windowSize.getSize()]; + double[] values = new double[windowSize]; for(int i = diff; i < size; i++) { for(int j = -diff, k = 0; j < windowStop; j++, k++) { values[k] = slopes.get(i + j).getSlope(); @@ -98,11 +97,11 @@ public void calculateMovingAverage(WindowSize windowSize) { } } - public void calculateSavitzkyGolaySmooth(WindowSize windowSize) { + public void calculateSavitzkyGolaySmooth(int windowSize) { int SAVITZKYGOLAY_DERIVATIVE = 0; int SAVITZKYGOLAY_ORDER = 3; - int filterWidth = windowSize.getSize(); + int filterWidth = windowSize; double[] initialSlopes = new double[slopes.size()]; double[] smoothedSlopes = new double[slopes.size()]; for(int i = 0; i < slopes.size(); i++) diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/IDetectorSlopes.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/IDetectorSlopes.java index b6c1bbcc93..5b5758f383 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/IDetectorSlopes.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/IDetectorSlopes.java @@ -12,10 +12,8 @@ *******************************************************************************/ package org.eclipse.chemclipse.chromatogram.peak.detector.support; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; - /** - * @author eselmeister + * @author Philip Wenig */ public interface IDetectorSlopes { @@ -38,17 +36,17 @@ public interface IDetectorSlopes { * Calculates for each stored slope value a smoothed moving average value.
* The window size declares the width of the moving window. * - * @param windowSize + * @param int */ - void calculateMovingAverage(WindowSize windowSize); + void calculateMovingAverage(int windowSize); /** * Calculates for each stored slope value a Savitzky-Golay smooothed value.
* The window size declares the filter width of the Savitzky-Golay filter. * - * @param windowSize + * @param int */ - void calculateSavitzkyGolaySmooth(WindowSize windowSize); + void calculateSavitzkyGolaySmooth(int windowSize); /** * Returns the size of the slope list. diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.amdiscalri/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/amdiscalri/impl/AlkanePatternDetectorCSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.amdiscalri/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/amdiscalri/impl/AlkanePatternDetectorCSD.java index fce3f66d7d..fbacc1dadd 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.amdiscalri/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/amdiscalri/impl/AlkanePatternDetectorCSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.amdiscalri/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/amdiscalri/impl/AlkanePatternDetectorCSD.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2016, 2020 Lablicate GmbH. + * Copyright (c) 2016, 2021 Lablicate GmbH. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -30,7 +30,6 @@ import org.eclipse.chemclipse.csd.model.core.selection.ChromatogramSelectionCSD; import org.eclipse.chemclipse.csd.model.core.selection.IChromatogramSelectionCSD; import org.eclipse.chemclipse.logging.core.Logger; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.processing.core.IProcessingInfo; import org.eclipse.core.runtime.IProgressMonitor; @@ -61,7 +60,7 @@ public IChromatogramCSD parseChromatogram(String chromatogramPath, String pathRe peakDetectorSettings.setThreshold(Threshold.LOW); peakDetectorSettings.setIncludeBackground(false); peakDetectorSettings.setMinimumSignalToNoiseRatio(50.0f); - peakDetectorSettings.setMovingAverageWindowSize(WindowSize.WIDTH_5); + peakDetectorSettings.setMovingAverageWindowSize(5); peakDetectorCSD.detect(chromatogramSelectionCSD, peakDetectorSettings, monitor); /* * Peak integrator diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.amdiscalri/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/amdiscalri/impl/AlkanePatternDetectorMSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.amdiscalri/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/amdiscalri/impl/AlkanePatternDetectorMSD.java index 17987b228a..0ed209f878 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.amdiscalri/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/amdiscalri/impl/AlkanePatternDetectorMSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.amdiscalri/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/amdiscalri/impl/AlkanePatternDetectorMSD.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2016, 2020 Lablicate GmbH. + * Copyright (c) 2016, 2021 Lablicate GmbH. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -33,7 +33,6 @@ import org.eclipse.chemclipse.msd.model.core.IChromatogramPeakMSD; import org.eclipse.chemclipse.msd.model.core.selection.ChromatogramSelectionMSD; import org.eclipse.chemclipse.msd.model.core.selection.IChromatogramSelectionMSD; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.processing.core.IProcessingInfo; import org.eclipse.core.runtime.IProgressMonitor; @@ -71,7 +70,7 @@ public IChromatogramMSD parseChromatogram(String chromatogramPath, String pathRe peakDetectorSettings.setThreshold(Threshold.LOW); peakDetectorSettings.setIncludeBackground(false); peakDetectorSettings.setMinimumSignalToNoiseRatio(50.0f); - peakDetectorSettings.setMovingAverageWindowSize(WindowSize.WIDTH_5); + peakDetectorSettings.setMovingAverageWindowSize(5); peakDetectorMSD.detect(chromatogramSelectionMSD, peakDetectorSettings, monitor); /* * Peak integrator diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.ui/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/ui/preferences/PreferencePage.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.ui/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/ui/preferences/PreferencePage.java index 2dca5ea279..ae36773d58 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.ui/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/ui/preferences/PreferencePage.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.ui/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/ui/preferences/PreferencePage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013, 2020 Lablicate GmbH. + * Copyright (c) 2013, 2021 Lablicate GmbH. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -13,11 +13,10 @@ import org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.preferences.PreferenceSupplier; import org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.ui.Activator; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty.Validation; import org.eclipse.chemclipse.support.ui.preferences.fieldeditors.DoubleFieldEditor; -import org.eclipse.jface.preference.ComboFieldEditor; +import org.eclipse.chemclipse.support.ui.preferences.fieldeditors.IntegerFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.IntegerFieldEditor; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; @@ -36,12 +35,13 @@ public PreferencePage() { * GUI blocks needed to manipulate various types of preferences. Each field * editor knows how to save and restore itself. */ + @Override public void createFieldEditors() { IntegerFieldEditor iterationsFieldEditor = new IntegerFieldEditor(PreferenceSupplier.P_ITERATIONS, "Iterations", getFieldEditorParent()); iterationsFieldEditor.setValidRange(PreferenceSupplier.MIN_ITERATIONS, PreferenceSupplier.MAX_ITERATIONS); addField(iterationsFieldEditor); - addField(new ComboFieldEditor(PreferenceSupplier.P_WINDOW_SIZE, "Window size (Detector)", WindowSize.getElements(), getFieldEditorParent())); + addField(new IntegerFieldEditor(PreferenceSupplier.P_WINDOW_SIZE, "Window Size (Detector)", PreferenceSupplier.MIN_WINDOW_SIZE, PreferenceSupplier.MAX_WINDOW_SIZE, Validation.ODD_NUMBER, getFieldEditorParent())); addField(new DoubleFieldEditor(PreferenceSupplier.P_MAGNIFICATION_FACTOR, "Magnification factor (Filter)", PreferenceSupplier.MIN_MAGNIFICATION_FACTOR, PreferenceSupplier.MAX_MAGNIFICATION_FACTOR, getFieldEditorParent())); IntegerFieldEditor transitionsFieldEditor = new IntegerFieldEditor(PreferenceSupplier.P_TRANSITIONS, "Transitions (Filter)", getFieldEditorParent()); transitionsFieldEditor.setValidRange(PreferenceSupplier.MIN_TRANSITIONS, PreferenceSupplier.MAX_TRANSITIONS); @@ -53,6 +53,7 @@ public void createFieldEditors() { * @see * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) */ + @Override public void init(IWorkbench workbench) { } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/core/BaselineDetector.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/core/BaselineDetector.java index ce47e53f5c..bbdea9829f 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/core/BaselineDetector.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/core/BaselineDetector.java @@ -9,6 +9,7 @@ * Contributors: * Dr. Philip Wenig - initial API and implementation * Christoph Läubrich - use static {@link SnipCalculator} method, remove warnings and make method static for reuse + * Matthias Mailänder - remove the window size enum *******************************************************************************/ package org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.core; @@ -27,7 +28,6 @@ import org.eclipse.chemclipse.model.signals.TotalScanSignalExtractor; import org.eclipse.chemclipse.model.support.IScanRange; import org.eclipse.chemclipse.model.support.ScanRange; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.processing.core.IProcessingInfo; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.SubMonitor; @@ -68,11 +68,11 @@ public static void calculateBaseline(IChromatogramSelection chromatogramSe * Iterations */ int iterations = detectorSettings.getIterations(); - WindowSize windowSize = detectorSettings.getWindowSize(); + int windowSize = detectorSettings.getWindowSize(); /* * If the scan range is lower than the given window size, do nothing. */ - if(WindowSize.NONE.equals(windowSize) || scanRange.getWidth() <= windowSize.getSize()) { + if(windowSize == 0 || scanRange.getWidth() <= windowSize) { return; } /* diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/preferences/PreferenceSupplier.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/preferences/PreferenceSupplier.java index e961f31054..dc3a288409 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/preferences/PreferenceSupplier.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/preferences/PreferenceSupplier.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014, 2018 Lablicate GmbH. + * Copyright (c) 2014, 2021 Lablicate GmbH. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -18,7 +18,7 @@ import org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.settings.BaselineDetectorSettings; import org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.settings.MassSpectrumFilterSettings; import org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.settings.PeakFilterSettings; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; +import org.eclipse.chemclipse.support.model.WindowSize; import org.eclipse.chemclipse.support.preferences.IPreferenceSupplier; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.core.runtime.preferences.IScopeContext; @@ -31,7 +31,9 @@ public class PreferenceSupplier implements IPreferenceSupplier { public static final int MIN_ITERATIONS = 5; public static final int MAX_ITERATIONS = 2000; public static final String P_WINDOW_SIZE = "windowSize"; - public static final String DEF_WINDOW_SIZE = WindowSize.WIDTH_7.toString(); + public static final int DEF_WINDOW_SIZE = 7; + public static final int MIN_WINDOW_SIZE = 0; + public static final int MAX_WINDOW_SIZE = 45; public static final String P_MAGNIFICATION_FACTOR = "magnificationFactor"; public static final double DEF_MAGNIFICATION_FACTOR = 1; public static final double MIN_MAGNIFICATION_FACTOR = 0.01d; @@ -70,7 +72,7 @@ public Map getDefaultValues() { defaultValues.put(P_ITERATIONS, Integer.toString(DEF_ITERATIONS)); defaultValues.put(P_MAGNIFICATION_FACTOR, Double.toString(DEF_MAGNIFICATION_FACTOR)); defaultValues.put(P_TRANSITIONS, Integer.toString(DEF_TRANSITIONS)); - defaultValues.put(P_WINDOW_SIZE, DEF_WINDOW_SIZE); + defaultValues.put(P_WINDOW_SIZE, Integer.toString(DEF_WINDOW_SIZE)); return defaultValues; } @@ -112,11 +114,10 @@ public static int getIterations() { return preferences.getInt(P_ITERATIONS, DEF_ITERATIONS); } - public static WindowSize getWindowSize() { + public static int getWindowSize() { IEclipsePreferences preferences = INSTANCE().getPreferences(); - String size = WindowSize.getAdjustedSetting(preferences.get(P_WINDOW_SIZE, DEF_WINDOW_SIZE)); - return WindowSize.valueOf(size); + return WindowSize.getAdjustedSetting(preferences.get(P_WINDOW_SIZE, Integer.toString(DEF_WINDOW_SIZE))); } public static double getMagnificationFactor() { diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/settings/BaselineDetectorSettings.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/settings/BaselineDetectorSettings.java index 4c2d7d4edd..bd5de42cd0 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/settings/BaselineDetectorSettings.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip/src/org/eclipse/chemclipse/chromatogram/xxd/edit/supplier/snip/settings/BaselineDetectorSettings.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013, 2018 Lablicate GmbH. + * Copyright (c) 2013, 2021 Lablicate GmbH. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -8,14 +8,14 @@ * * Contributors: * Dr. Philip Wenig - initial API and implementation + * Matthias Mailänder - remove the window size enum *******************************************************************************/ package org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.settings; import org.eclipse.chemclipse.chromatogram.xxd.baseline.detector.settings.AbstractBaselineDetectorSettings; import org.eclipse.chemclipse.chromatogram.xxd.edit.supplier.snip.preferences.PreferenceSupplier; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; -import org.eclipse.chemclipse.support.settings.EnumSelectionSettingProperty; import org.eclipse.chemclipse.support.settings.IntSettingsProperty; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty.Validation; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; @@ -26,17 +26,17 @@ public class BaselineDetectorSettings extends AbstractBaselineDetectorSettings { @JsonPropertyDescription(value = "The number of iterations to apply the SNIP filter.") @IntSettingsProperty(minValue = PreferenceSupplier.MIN_ITERATIONS, maxValue = PreferenceSupplier.MAX_ITERATIONS) private int iterations = PreferenceSupplier.DEF_ITERATIONS; - @JsonProperty(value = "Window Size", defaultValue = "WIDTH_5") + @JsonProperty(value = "Window Size", defaultValue = "5") @JsonPropertyDescription(value = "Window Size: 3, 5, 7, ..., 45") - @EnumSelectionSettingProperty - private WindowSize windowSize = WindowSize.WIDTH_5; + @IntSettingsProperty(minValue = PreferenceSupplier.MIN_WINDOW_SIZE, maxValue = PreferenceSupplier.MAX_WINDOW_SIZE, validation = Validation.ODD_NUMBER) + private int windowSize = PreferenceSupplier.DEF_WINDOW_SIZE; - public WindowSize getWindowSize() { + public int getWindowSize() { return windowSize; } - public void setWindowSize(WindowSize windowSize) { + public void setWindowSize(int windowSize) { this.windowSize = windowSize; } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageCSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageCSD.java index 8a77011c62..43755393fa 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageCSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageCSD.java @@ -14,8 +14,9 @@ import org.eclipse.chemclipse.chromatogram.peak.detector.model.Threshold; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.preferences.PreferenceSupplier; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui.Activator; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty.Validation; import org.eclipse.chemclipse.support.ui.preferences.fieldeditors.FloatFieldEditor; +import org.eclipse.chemclipse.support.ui.preferences.fieldeditors.IntegerFieldEditor; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.ComboFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; @@ -37,12 +38,13 @@ public PreferencePageCSD() { * GUI blocks needed to manipulate various types of preferences. Each field * editor knows how to save and restore itself. */ + @Override public void createFieldEditors() { addField(new ComboFieldEditor(PreferenceSupplier.P_THRESHOLD_MSD, "Threshold", Threshold.getElements(), getFieldEditorParent())); addField(new BooleanFieldEditor(PreferenceSupplier.P_INCLUDE_BACKGROUND_CSD, "Include Background (VV: true, BV|VB: false)", getFieldEditorParent())); addField(new FloatFieldEditor(PreferenceSupplier.P_MIN_SN_RATIO_CSD, "Min S/N Ratio", 0.0f, Float.MAX_VALUE, getFieldEditorParent())); - addField(new ComboFieldEditor(PreferenceSupplier.P_MOVING_AVERAGE_WINDOW_SIZE_CSD, "Window Size", WindowSize.getElements(), getFieldEditorParent())); + addField(new IntegerFieldEditor(PreferenceSupplier.P_MOVING_AVERAGE_WINDOW_SIZE_CSD, "Window Size", PreferenceSupplier.MIN_WINDOW_SIZE, PreferenceSupplier.MAX_WINDOW_SIZE, Validation.ODD_NUMBER, getFieldEditorParent())); addField(new BooleanFieldEditor(PreferenceSupplier.P_USE_NOISE_SEGMENTS_CSD, "Use Noise-Segments", getFieldEditorParent())); addField(new BooleanFieldEditor(PreferenceSupplier.P_OPTIMIZE_BASELINE_CSD, "Optimize Baseline (VV)", getFieldEditorParent())); } @@ -52,6 +54,7 @@ public void createFieldEditors() { * @see * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) */ + @Override public void init(IWorkbench workbench) { } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageMSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageMSD.java index cf4d4553e7..54c57d7567 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageMSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageMSD.java @@ -15,8 +15,9 @@ import org.eclipse.chemclipse.chromatogram.peak.detector.model.Threshold; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.preferences.PreferenceSupplier; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui.Activator; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty.Validation; import org.eclipse.chemclipse.support.ui.preferences.fieldeditors.FloatFieldEditor; +import org.eclipse.chemclipse.support.ui.preferences.fieldeditors.IntegerFieldEditor; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.ComboFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; @@ -39,12 +40,13 @@ public PreferencePageMSD() { * GUI blocks needed to manipulate various types of preferences. Each field * editor knows how to save and restore itself. */ + @Override public void createFieldEditors() { addField(new ComboFieldEditor(PreferenceSupplier.P_THRESHOLD_MSD, "Threshold", Threshold.getElements(), getFieldEditorParent())); addField(new BooleanFieldEditor(PreferenceSupplier.P_INCLUDE_BACKGROUND_MSD, "Include Background (VV: true, BV|VB: false)", getFieldEditorParent())); addField(new FloatFieldEditor(PreferenceSupplier.P_MIN_SN_RATIO_MSD, "Min S/N Ratio", 0.0f, Float.MAX_VALUE, getFieldEditorParent())); - addField(new ComboFieldEditor(PreferenceSupplier.P_MOVING_AVERAGE_WINDOW_SIZE_MSD, "Window Size", WindowSize.getElements(), getFieldEditorParent())); + addField(new IntegerFieldEditor(PreferenceSupplier.P_MOVING_AVERAGE_WINDOW_SIZE_MSD, "Window Size", PreferenceSupplier.MIN_WINDOW_SIZE, PreferenceSupplier.MAX_WINDOW_SIZE, Validation.ODD_NUMBER, getFieldEditorParent())); addField(new BooleanFieldEditor(PreferenceSupplier.P_USE_NOISE_SEGMENTS_MSD, "Use Noise-Segments", getFieldEditorParent())); addField(new ComboFieldEditor(PreferenceSupplier.P_FILTER_MODE_MSD, "Filter Mode", FilterMode.getElements(), getFieldEditorParent())); addField(new StringFieldEditor(PreferenceSupplier.P_MZ_VALUES_TO_FILTER_MSD, "m/z values to filter", getFieldEditorParent())); @@ -57,6 +59,7 @@ public void createFieldEditors() { * @see * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) */ + @Override public void init(IWorkbench workbench) { } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageWSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageWSD.java index a21eed3b0c..7ddc739959 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageWSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/ui/preferences/PreferencePageWSD.java @@ -14,8 +14,9 @@ import org.eclipse.chemclipse.chromatogram.peak.detector.model.Threshold; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.preferences.PreferenceSupplier; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.ui.Activator; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty.Validation; import org.eclipse.chemclipse.support.ui.preferences.fieldeditors.FloatFieldEditor; +import org.eclipse.chemclipse.support.ui.preferences.fieldeditors.IntegerFieldEditor; import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.ComboFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; @@ -37,12 +38,13 @@ public PreferencePageWSD() { * GUI blocks needed to manipulate various types of preferences. Each field * editor knows how to save and restore itself. */ + @Override public void createFieldEditors() { addField(new ComboFieldEditor(PreferenceSupplier.P_THRESHOLD_MSD, "Threshold", Threshold.getElements(), getFieldEditorParent())); addField(new BooleanFieldEditor(PreferenceSupplier.P_INCLUDE_BACKGROUND_WSD, "Include Background (VV: true, BV|VB: false)", getFieldEditorParent())); addField(new FloatFieldEditor(PreferenceSupplier.P_MIN_SN_RATIO_WSD, "Min S/N Ratio", 0.0f, Float.MAX_VALUE, getFieldEditorParent())); - addField(new ComboFieldEditor(PreferenceSupplier.P_MOVING_AVERAGE_WINDOW_SIZE_WSD, "Window Size", WindowSize.getElements(), getFieldEditorParent())); + addField(new IntegerFieldEditor(PreferenceSupplier.P_MOVING_AVERAGE_WINDOW_SIZE_WSD, "Window Size", PreferenceSupplier.MIN_WINDOW_SIZE, PreferenceSupplier.MAX_WINDOW_SIZE, Validation.ODD_NUMBER, getFieldEditorParent())); } /* @@ -50,6 +52,7 @@ public void createFieldEditors() { * @see * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) */ + @Override public void init(IWorkbench workbench) { } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/META-INF/MANIFEST.MF b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/META-INF/MANIFEST.MF index 2d44f6a57f..99d17eb297 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/META-INF/MANIFEST.MF +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/META-INF/MANIFEST.MF @@ -29,7 +29,8 @@ Export-Package: org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.f org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.settings, org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.support Bundle-Vendor: ChemClipse -Import-Package: org.apache.commons.lang3;version="3.1.0", +Import-Package: com.fasterxml.jackson.databind.annotation;version="2.9.93", + org.apache.commons.lang3;version="3.1.0", org.osgi.service.component.annotations;version="1.2.0" Service-Component: OSGI-INF/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.core.FirstDerivativePeakDetector.xml, OSGI-INF/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.services.FirstDerivativeMaximaService.xml diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/FirstDerivativePeakDetector.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/FirstDerivativePeakDetector.java index 60a82753cc..de94b84009 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/FirstDerivativePeakDetector.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/FirstDerivativePeakDetector.java @@ -37,7 +37,6 @@ import org.eclipse.chemclipse.numeric.core.IPoint; import org.eclipse.chemclipse.numeric.core.Point; import org.eclipse.chemclipse.numeric.equations.Equations; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.processing.core.MessageConsumer; import org.eclipse.chemclipse.processing.detector.Detector; import org.eclipse.chemclipse.wsd.model.core.IChromatogramWSD; @@ -115,7 +114,7 @@ public String getDescription() { return "Implementation of a first derivative peak detector."; } - private static IFirstDerivativeDetectorSlopes getSignalSlopes(List signals, WindowSize windowSize) { + private static IFirstDerivativeDetectorSlopes getSignalSlopes(List signals, int windowSize) { IFirstDerivativeDetectorSlopes firstDerivativeSlopes = new FirstDerivativeDetectorSlopes(signals); for(int i = 1; i < signals.size(); i++) { diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorCSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorCSD.java index 32a96146b0..9e125312a1 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorCSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorCSD.java @@ -45,7 +45,6 @@ import org.eclipse.chemclipse.msd.model.core.IChromatogramPeakMSD; import org.eclipse.chemclipse.numeric.core.IPoint; import org.eclipse.chemclipse.numeric.core.Point; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.processing.core.IProcessingInfo; import org.eclipse.chemclipse.processing.core.MessageType; import org.eclipse.chemclipse.processing.core.ProcessingMessage; @@ -117,7 +116,7 @@ public List detectPeaks(IChromatogramSelectionCSD chromato public List detectPeaks(IChromatogramSelectionCSD chromatogramSelection, PeakDetectorSettingsCSD peakDetectorSettings, List noiseSegments, IProgressMonitor monitor) { Threshold threshold = peakDetectorSettings.getThreshold(); - WindowSize windowSize = peakDetectorSettings.getMovingAverageWindowSize(); + int windowSize = peakDetectorSettings.getMovingAverageWindowSize(); List rawPeaks = new ArrayList<>(); // if(noiseSegments != null && noiseSegments.size() > 0) { @@ -230,7 +229,7 @@ private List extractPeaks(List rawPeaks, IChroma * @param window * @return {@link IFirstDerivativeDetectorSlopes} */ - public static IFirstDerivativeDetectorSlopes getFirstDerivativeSlopes(IChromatogramSelectionCSD chromatogramSelection, WindowSize windowSize) { + public static IFirstDerivativeDetectorSlopes getFirstDerivativeSlopes(IChromatogramSelectionCSD chromatogramSelection, int windowSize) { ITotalScanSignals signals = new TotalScanSignals(chromatogramSelection); TotalScanSignalsModifier.normalize(signals, NORMALIZATION_BASE); @@ -257,7 +256,7 @@ public static IFirstDerivativeDetectorSlopes getFirstDerivativeSlopes(IChromatog /* * Moving average on the slopes */ - if(!WindowSize.NONE.equals(windowSize)) { + if(windowSize != 0) { slopes.calculateMovingAverage(windowSize); } // diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorMSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorMSD.java index 2cc1e29a45..97b2c866df 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorMSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorMSD.java @@ -53,7 +53,6 @@ import org.eclipse.chemclipse.msd.model.xic.TotalIonSignalExtractor; import org.eclipse.chemclipse.numeric.core.IPoint; import org.eclipse.chemclipse.numeric.core.Point; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.processing.core.IProcessingInfo; import org.eclipse.chemclipse.processing.core.MessageType; import org.eclipse.chemclipse.processing.core.ProcessingMessage; @@ -134,7 +133,7 @@ public List detectPeaks(IChromatogramSelectionMSD chromato Collection filterIons = peakDetectorSettings.getFilterIons(); for(IMarkedIons ions : filterIons) { Threshold threshold = peakDetectorSettings.getThreshold(); - WindowSize windowSize = peakDetectorSettings.getMovingAverageWindowSize(); + int windowSize = peakDetectorSettings.getMovingAverageWindowSize(); List rawPeaks = new ArrayList<>(); // if(noiseSegments != null && noiseSegments.size() > 0) { @@ -252,7 +251,7 @@ private List extractPeaks(List rawPeaks, IChroma * @param windowSize * @return {@link IFirstDerivativeDetectorSlopes} */ - public static IFirstDerivativeDetectorSlopes getFirstDerivativeSlopes(IChromatogramSelectionMSD chromatogramSelection, WindowSize windowSize, IMarkedIons filterIons) { + public static IFirstDerivativeDetectorSlopes getFirstDerivativeSlopes(IChromatogramSelectionMSD chromatogramSelection, int windowSize, IMarkedIons filterIons) { IChromatogramMSD chromatogram = chromatogramSelection.getChromatogram(); try { @@ -281,7 +280,7 @@ public static IFirstDerivativeDetectorSlopes getFirstDerivativeSlopes(IChromatog /* * Moving average on the slopes */ - if(!WindowSize.NONE.equals(windowSize)) { + if(windowSize != 0) { slopes.calculateMovingAverage(windowSize); } return slopes; diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorWSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorWSD.java index e42cfa90c4..3d9219876f 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorWSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/PeakDetectorWSD.java @@ -38,7 +38,6 @@ import org.eclipse.chemclipse.msd.model.core.IChromatogramPeakMSD; import org.eclipse.chemclipse.numeric.core.IPoint; import org.eclipse.chemclipse.numeric.core.Point; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.processing.core.IProcessingInfo; import org.eclipse.chemclipse.processing.core.MessageType; import org.eclipse.chemclipse.processing.core.ProcessingMessage; @@ -150,7 +149,7 @@ private List extractPeaks(List rawPeaks, IChroma * @param window * @return {@link IFirstDerivativeDetectorSlopes} */ - public static IFirstDerivativeDetectorSlopes getFirstDerivativeSlopes(IChromatogramSelectionWSD chromatogramSelection, WindowSize windowSize) { + public static IFirstDerivativeDetectorSlopes getFirstDerivativeSlopes(IChromatogramSelectionWSD chromatogramSelection, int windowSize) { ITotalScanSignals signals = new TotalScanSignals(chromatogramSelection); TotalScanSignalsModifier.normalize(signals, NORMALIZATION_BASE); @@ -177,7 +176,7 @@ public static IFirstDerivativeDetectorSlopes getFirstDerivativeSlopes(IChromatog /* * Moving average on the slopes */ - if(!WindowSize.NONE.equals(windowSize)) { + if(windowSize != 0) { slopes.calculateMovingAverage(windowSize); } // diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/preferences/PreferenceSupplier.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/preferences/PreferenceSupplier.java index a308fb5a26..ce28fce828 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/preferences/PreferenceSupplier.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/preferences/PreferenceSupplier.java @@ -20,7 +20,7 @@ import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.settings.PeakDetectorSettingsCSD; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.settings.PeakDetectorSettingsMSD; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.settings.PeakDetectorSettingsWSD; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; +import org.eclipse.chemclipse.support.model.WindowSize; import org.eclipse.chemclipse.support.preferences.IPreferenceSupplier; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.core.runtime.preferences.IScopeContext; @@ -30,6 +30,8 @@ public class PreferenceSupplier implements IPreferenceSupplier { public static final float MIN_SN_RATIO_MIN = 0.0f; // 0 = all peaks will be added public static final float MIN_SN_RATIO_MAX = Float.MAX_VALUE; // 0 = all peaks will be added + public static final int MIN_WINDOW_SIZE = 0; + public static final int MAX_WINDOW_SIZE = 45; // public static final String P_THRESHOLD_CSD = "thresholdCSD"; public static final String DEF_THRESHOLD_CSD = Threshold.MEDIUM.name(); @@ -38,7 +40,7 @@ public class PreferenceSupplier implements IPreferenceSupplier { public static final String P_MIN_SN_RATIO_CSD = "minSNRatioCSD"; public static final float DEF_MIN_SN_RATIO_CSD = 0.0f; // 0 = all peaks will be added public static final String P_MOVING_AVERAGE_WINDOW_SIZE_CSD = "movingAverageWindowSizeCSD"; - public static final String DEF_MOVING_AVERAGE_WINDOW_SIZE_CSD = WindowSize.WIDTH_3.name(); + public static final String DEF_MOVING_AVERAGE_WINDOW_SIZE_CSD = String.valueOf(3); public static final String P_USE_NOISE_SEGMENTS_CSD = "useNoiseSegmentsCSD"; public static final boolean DEF_USE_NOISE_SEGMENTS_CSD = false; public static final String P_OPTIMIZE_BASELINE_CSD = "optimizeBaselineCSD"; @@ -51,7 +53,7 @@ public class PreferenceSupplier implements IPreferenceSupplier { public static final String P_MIN_SN_RATIO_MSD = "minSNRatioMSD"; public static final float DEF_MIN_SN_RATIO_MSD = 0.0f; // 0 = all peaks will be added public static final String P_MOVING_AVERAGE_WINDOW_SIZE_MSD = "movingAverageWindowSizeMSD"; - public static final String DEF_MOVING_AVERAGE_WINDOW_SIZE_MSD = WindowSize.WIDTH_3.name(); + public static final String DEF_MOVING_AVERAGE_WINDOW_SIZE_MSD = String.valueOf(3); public static final String P_USE_NOISE_SEGMENTS_MSD = "useNoiseSegmentsMSD"; public static final boolean DEF_USE_NOISE_SEGMENTS_MSD = false; public static final String P_OPTIMIZE_BASELINE_MSD = "optimizeBaselineMSD"; @@ -70,7 +72,7 @@ public class PreferenceSupplier implements IPreferenceSupplier { public static final String P_MIN_SN_RATIO_WSD = "minSNRatioWSD"; public static final float DEF_MIN_SN_RATIO_WSD = 0.0f; // 0 = all peaks will be added public static final String P_MOVING_AVERAGE_WINDOW_SIZE_WSD = "movingAverageWindowSizeWSD"; - public static final String DEF_MOVING_AVERAGE_WINDOW_SIZE_WSD = WindowSize.WIDTH_3.name(); + public static final String DEF_MOVING_AVERAGE_WINDOW_SIZE_WSD = String.valueOf(3); // private static IPreferenceSupplier preferenceSupplier; @@ -137,7 +139,7 @@ public static PeakDetectorSettingsCSD getPeakDetectorSettingsCSD() { settings.setThreshold(Threshold.valueOf(preferences.get(P_THRESHOLD_CSD, DEF_THRESHOLD_CSD))); settings.setIncludeBackground(preferences.getBoolean(P_INCLUDE_BACKGROUND_CSD, DEF_INCLUDE_BACKGROUND_CSD)); settings.setMinimumSignalToNoiseRatio(preferences.getFloat(P_MIN_SN_RATIO_CSD, DEF_MIN_SN_RATIO_CSD)); - settings.setMovingAverageWindowSize(WindowSize.valueOf(WindowSize.getAdjustedSetting(preferences.get(P_MOVING_AVERAGE_WINDOW_SIZE_CSD, DEF_MOVING_AVERAGE_WINDOW_SIZE_CSD)))); + settings.setMovingAverageWindowSize(WindowSize.getAdjustedSetting(preferences.get(P_MOVING_AVERAGE_WINDOW_SIZE_CSD, DEF_MOVING_AVERAGE_WINDOW_SIZE_CSD))); settings.setUseNoiseSegments(preferences.getBoolean(P_USE_NOISE_SEGMENTS_CSD, DEF_USE_NOISE_SEGMENTS_CSD)); settings.setOptimizeBaseline(preferences.getBoolean(P_OPTIMIZE_BASELINE_CSD, DEF_OPTIMIZE_BASELINE_CSD)); return settings; @@ -150,7 +152,7 @@ public static PeakDetectorSettingsMSD getPeakDetectorSettingsMSD() { settings.setThreshold(Threshold.valueOf(preferences.get(P_THRESHOLD_MSD, DEF_THRESHOLD_MSD))); settings.setIncludeBackground(preferences.getBoolean(P_INCLUDE_BACKGROUND_MSD, DEF_INCLUDE_BACKGROUND_MSD)); settings.setMinimumSignalToNoiseRatio(preferences.getFloat(P_MIN_SN_RATIO_MSD, DEF_MIN_SN_RATIO_MSD)); - settings.setMovingAverageWindowSize(WindowSize.valueOf(WindowSize.getAdjustedSetting(preferences.get(P_MOVING_AVERAGE_WINDOW_SIZE_MSD, DEF_MOVING_AVERAGE_WINDOW_SIZE_MSD)))); + settings.setMovingAverageWindowSize(WindowSize.getAdjustedSetting(preferences.get(P_MOVING_AVERAGE_WINDOW_SIZE_MSD, DEF_MOVING_AVERAGE_WINDOW_SIZE_MSD))); settings.setUseNoiseSegments(preferences.getBoolean(P_USE_NOISE_SEGMENTS_MSD, DEF_USE_NOISE_SEGMENTS_MSD)); settings.setFilterMode(FilterMode.valueOf(preferences.get(P_FILTER_MODE_MSD, DEF_FILTER_MODE_MSD))); settings.setFilterIonsString(preferences.get(P_MZ_VALUES_TO_FILTER_MSD, DEF_MZ_VALUES_TO_FILTER_MSD)); @@ -166,7 +168,7 @@ public static PeakDetectorSettingsWSD getPeakDetectorSettingsWSD() { settings.setThreshold(Threshold.valueOf(preferences.get(P_THRESHOLD_WSD, DEF_THRESHOLD_WSD))); settings.setIncludeBackground(preferences.getBoolean(P_INCLUDE_BACKGROUND_WSD, DEF_INCLUDE_BACKGROUND_WSD)); settings.setMinimumSignalToNoiseRatio(preferences.getFloat(P_MIN_SN_RATIO_WSD, DEF_MIN_SN_RATIO_WSD)); - settings.setMovingAverageWindowSize(WindowSize.valueOf(WindowSize.getAdjustedSetting(preferences.get(P_MOVING_AVERAGE_WINDOW_SIZE_WSD, DEF_MOVING_AVERAGE_WINDOW_SIZE_WSD)))); + settings.setMovingAverageWindowSize(WindowSize.getAdjustedSetting(preferences.get(P_MOVING_AVERAGE_WINDOW_SIZE_WSD, DEF_MOVING_AVERAGE_WINDOW_SIZE_WSD))); return settings; } } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsCSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsCSD.java index 7f089f3a1d..c12251d7db 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsCSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsCSD.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014, 2020 Lablicate GmbH. + * Copyright (c) 2014, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -14,13 +14,15 @@ import org.eclipse.chemclipse.chromatogram.csd.peak.detector.settings.AbstractPeakDetectorCSDSettings; import org.eclipse.chemclipse.chromatogram.peak.detector.model.Threshold; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.preferences.PreferenceSupplier; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.support.settings.EnumSelectionRadioButtonsSettingProperty; -import org.eclipse.chemclipse.support.settings.EnumSelectionSettingProperty; import org.eclipse.chemclipse.support.settings.FloatSettingsProperty; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty.Validation; +import org.eclipse.chemclipse.support.settings.serialization.WindowSizeDeserializer; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; public class PeakDetectorSettingsCSD extends AbstractPeakDetectorCSDSettings { @@ -32,10 +34,11 @@ public class PeakDetectorSettingsCSD extends AbstractPeakDetectorCSDSettings { @JsonProperty(value = "Min S/N Ratio", defaultValue = "0") @FloatSettingsProperty(minValue = PreferenceSupplier.MIN_SN_RATIO_MIN, maxValue = PreferenceSupplier.MIN_SN_RATIO_MAX) private float minimumSignalToNoiseRatio; - @JsonProperty(value = "Window Size", defaultValue = "WIDTH_5") + @JsonProperty(value = "Window Size", defaultValue = "5") @JsonPropertyDescription(value = "Window Size: 3, 5, 7, ..., 45") - @EnumSelectionSettingProperty - private WindowSize windowSize = WindowSize.WIDTH_5; + @IntSettingsProperty(minValue = PreferenceSupplier.MIN_WINDOW_SIZE, maxValue = PreferenceSupplier.MAX_WINDOW_SIZE, validation = Validation.ODD_NUMBER) + @JsonDeserialize(using = WindowSizeDeserializer.class) + private int windowSize = 5; @JsonProperty(value = "Use Noise-Segments", defaultValue = "false") @JsonPropertyDescription(value = "Whether to use Nois-Segments to decide where peaks should be detected, this can improve the sensitivity of the algorithm") private boolean useNoiseSegments = false; @@ -43,7 +46,8 @@ public class PeakDetectorSettingsCSD extends AbstractPeakDetectorCSDSettings { private boolean optimizeBaseline = false; public PeakDetectorSettingsCSD() { - windowSize = WindowSize.WIDTH_5; + + windowSize = 5; } public Threshold getThreshold() { @@ -78,12 +82,12 @@ public void setMinimumSignalToNoiseRatio(float minimumSignalToNoiseRatio) { this.minimumSignalToNoiseRatio = minimumSignalToNoiseRatio; } - public WindowSize getMovingAverageWindowSize() { + public int getMovingAverageWindowSize() { return windowSize; } - public void setMovingAverageWindowSize(WindowSize windowSize) { + public void setMovingAverageWindowSize(int windowSize) { this.windowSize = windowSize; } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsMSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsMSD.java index f1b1ad0c06..f6791820fb 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsMSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsMSD.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2020 Lablicate GmbH. + * Copyright (c) 2008, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -25,18 +25,21 @@ import org.eclipse.chemclipse.chromatogram.msd.peak.detector.settings.AbstractPeakDetectorSettingsMSD; import org.eclipse.chemclipse.chromatogram.peak.detector.core.FilterMode; import org.eclipse.chemclipse.chromatogram.peak.detector.model.Threshold; +import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.preferences.PreferenceSupplier; import org.eclipse.chemclipse.msd.model.core.support.IMarkedIons; import org.eclipse.chemclipse.msd.model.core.support.IMarkedIons.IonMarkMode; import org.eclipse.chemclipse.msd.model.core.support.MarkedIon; import org.eclipse.chemclipse.msd.model.core.support.MarkedIons; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.support.settings.EnumSelectionRadioButtonsSettingProperty; -import org.eclipse.chemclipse.support.settings.EnumSelectionSettingProperty; import org.eclipse.chemclipse.support.settings.FloatSettingsProperty; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty.Validation; +import org.eclipse.chemclipse.support.settings.serialization.WindowSizeDeserializer; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; public class PeakDetectorSettingsMSD extends AbstractPeakDetectorSettingsMSD { @@ -48,10 +51,11 @@ public class PeakDetectorSettingsMSD extends AbstractPeakDetectorSettingsMSD { @JsonProperty(value = "Min S/N Ratio", defaultValue = "0") @FloatSettingsProperty(minValue = 0f, maxValue = Float.MAX_VALUE) private float minimumSignalToNoiseRatio; - @JsonProperty(value = "Window Size", defaultValue = "WIDTH_5") + @JsonProperty(value = "Window Size", defaultValue = "5") @JsonPropertyDescription(value = "Window Size: 3, 5, 7, ..., 45") - @EnumSelectionSettingProperty - private WindowSize windowSize = WindowSize.WIDTH_5; + @JsonDeserialize(using = WindowSizeDeserializer.class) + @IntSettingsProperty(minValue = PreferenceSupplier.MIN_WINDOW_SIZE, maxValue = PreferenceSupplier.MAX_WINDOW_SIZE, validation = Validation.ODD_NUMBER) + private int windowSize = 5; @JsonProperty(value = "Use Noise-Segments", defaultValue = "false") @JsonPropertyDescription(value = "Whether to use Nois-Segments to decide where peaks should be detected, this can improve the sensitivity of the algorithm") private boolean useNoiseSegments = false; @@ -128,12 +132,12 @@ public void setMinimumSignalToNoiseRatio(float minimumSignalToNoiseRatio) { this.minimumSignalToNoiseRatio = minimumSignalToNoiseRatio; } - public WindowSize getMovingAverageWindowSize() { + public int getMovingAverageWindowSize() { return windowSize; } - public void setMovingAverageWindowSize(WindowSize windowSize) { + public void setMovingAverageWindowSize(int windowSize) { this.windowSize = windowSize; } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsWSD.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsWSD.java index 50d1fc99c9..4183072abb 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsWSD.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/settings/PeakDetectorSettingsWSD.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2018, 2019 Lablicate GmbH. + * Copyright (c) 2018, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -14,13 +14,15 @@ import org.eclipse.chemclipse.chromatogram.peak.detector.model.Threshold; import org.eclipse.chemclipse.chromatogram.wsd.peak.detector.settings.AbstractPeakDetectorWSDSettings; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.preferences.PreferenceSupplier; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.support.settings.EnumSelectionRadioButtonsSettingProperty; -import org.eclipse.chemclipse.support.settings.EnumSelectionSettingProperty; import org.eclipse.chemclipse.support.settings.FloatSettingsProperty; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty.Validation; +import org.eclipse.chemclipse.support.settings.serialization.WindowSizeDeserializer; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; public class PeakDetectorSettingsWSD extends AbstractPeakDetectorWSDSettings { @@ -32,13 +34,15 @@ public class PeakDetectorSettingsWSD extends AbstractPeakDetectorWSDSettings { @JsonProperty(value = "Min S/N Ratio", defaultValue = "0") @FloatSettingsProperty(minValue = PreferenceSupplier.MIN_SN_RATIO_MIN, maxValue = PreferenceSupplier.MIN_SN_RATIO_MAX) private float minimumSignalToNoiseRatio; - @JsonProperty(value = "Window Size", defaultValue = "WIDTH_5") + @JsonProperty(value = "Window Size", defaultValue = "5") @JsonPropertyDescription(value = "Window Size: 3, 5, 7, ..., 45") - @EnumSelectionSettingProperty - private WindowSize windowSize; + @IntSettingsProperty(minValue = PreferenceSupplier.MIN_WINDOW_SIZE, maxValue = PreferenceSupplier.MAX_WINDOW_SIZE, validation = Validation.ODD_NUMBER) + @JsonDeserialize(using = WindowSizeDeserializer.class) + private int windowSize; public PeakDetectorSettingsWSD() { - windowSize = WindowSize.WIDTH_5; + + windowSize = 5; } public Threshold getThreshold() { @@ -73,12 +77,12 @@ public void setMinimumSignalToNoiseRatio(float minimumSignalToNoiseRatio) { this.minimumSignalToNoiseRatio = minimumSignalToNoiseRatio; } - public WindowSize getMovingAverageWindowSize() { + public int getMovingAverageWindowSize() { return windowSize; } - public void setMovingAverageWindowSize(WindowSize windowSize) { + public void setMovingAverageWindowSize(int windowSize) { this.windowSize = windowSize; } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/signals/TotalScanSignalsModifier.java b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/signals/TotalScanSignalsModifier.java index 8699658303..c73e0cbae3 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/signals/TotalScanSignalsModifier.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/signals/TotalScanSignalsModifier.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2020 Lablicate GmbH. + * Copyright (c) 2008, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -18,7 +18,6 @@ import org.eclipse.chemclipse.model.exceptions.CalculationException; import org.eclipse.chemclipse.model.exceptions.NoTotalSignalStoredException; import org.eclipse.chemclipse.numeric.statistics.Calculations; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; public class TotalScanSignalsModifier { @@ -221,28 +220,28 @@ public static void divide(ITotalScanSignals totalIonSignals, float divisor) thro } } - public static void calculateMovingAverage(ITotalScanSignals totalIonSignals, WindowSize windowSize) { + public static void calculateMovingAverage(ITotalScanSignals totalIonSignals, int windowSize) { /* * Return if the windowSize or totalIonSignals is null. */ - if(windowSize == null || WindowSize.NONE.equals(windowSize) || totalIonSignals == null) { + if(windowSize == 0 || totalIonSignals == null) { return; } /* * Return if the available number of totalIonSignals are lower than the * window size. */ - if(totalIonSignals.size() < windowSize.getSize()) { + if(totalIonSignals.size() < windowSize) { return; } - int diff = windowSize.getSize() / 2; - int windowStop = windowSize.getSize() - diff; + int diff = windowSize / 2; + int windowStop = windowSize - diff; /* * Moving average calculation. */ int size = totalIonSignals.size() - diff; - float[] values = new float[windowSize.getSize()]; + float[] values = new float[windowSize]; for(int i = diff; i < size; i++) { for(int j = -diff, k = 0; j < windowStop; j++, k++) { /* diff --git a/chemclipse/plugins/org.eclipse.chemclipse.numeric/src/org/eclipse/chemclipse/numeric/statistics/Calculations.java b/chemclipse/plugins/org.eclipse.chemclipse.numeric/src/org/eclipse/chemclipse/numeric/statistics/Calculations.java index f58c66c78e..9544d2135c 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.numeric/src/org/eclipse/chemclipse/numeric/statistics/Calculations.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.numeric/src/org/eclipse/chemclipse/numeric/statistics/Calculations.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2020 Lablicate GmbH. + * Copyright (c) 2008, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -659,14 +659,14 @@ public static void normalize(double[] values) { * @param values * @param windowSize */ - public static void smooth(double[] values, WindowSize windowSize) { + public static void smooth(double[] values, int windowSize) { int window = 1; /* * Check the window size. */ - if(windowSize != null && windowSize.getSize() > 0 && windowSize.getSize() <= values.length) { - window = windowSize.getSize(); + if(windowSize > 0 && windowSize <= values.length) { + window = windowSize; } int lastScan = getWindowReducedLength(values, window); double sumSignals; diff --git a/chemclipse/plugins/org.eclipse.chemclipse.numeric/src/org/eclipse/chemclipse/numeric/statistics/WindowSize.java b/chemclipse/plugins/org.eclipse.chemclipse.numeric/src/org/eclipse/chemclipse/numeric/statistics/WindowSize.java deleted file mode 100644 index 547b5ec2be..0000000000 --- a/chemclipse/plugins/org.eclipse.chemclipse.numeric/src/org/eclipse/chemclipse/numeric/statistics/WindowSize.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2020 Lablicate GmbH. - * - * All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Dr. Philip Wenig - initial API and implementation - *******************************************************************************/ -package org.eclipse.chemclipse.numeric.statistics; - -/** - * Determines the window size for the moving average calculation. - */ -public enum WindowSize { - /* - * SCANS was used before and might be used in the settings. - * Find a way to safely handle old values. - */ - NONE(0), // - WIDTH_3(3), // SCANS_3 - WIDTH_5(5), // SCANS_5 - WIDTH_7(7), // SCANS_7 - WIDTH_9(9), // - WIDTH_11(11), // - WIDTH_13(13), // - WIDTH_15(15), // - WIDTH_17(17), // - WIDTH_19(19), // - WIDTH_21(21), // - WIDTH_23(23), // - WIDTH_25(25), // - WIDTH_27(27), // - WIDTH_29(29), // - WIDTH_31(31), // - WIDTH_33(33), // - WIDTH_35(35), // - WIDTH_37(37), // - WIDTH_39(39), // - WIDTH_41(41), // - WIDTH_43(43), // - WIDTH_45(45); - - private int size; - - private WindowSize(int size) { - this.size = size; - } - - /** - * Some enum constants have been refactored. - * Call this method to get the updated constant when using WindowSize.valueOf(...) and - * you assume that an old setting was persisted already. - * - * @param value - * @return String - */ - public static String getAdjustedSetting(String value) { - - if("SCANS_3".equals(value)) { - return "WIDTH_3"; - } else if("SCANS_5".equals(value)) { - return "WIDTH_5"; - } else if("SCANS_7".equals(value)) { - return "WIDTH_3"; - } else { - return value; - } - } - - public int getSize() { - - return size; - } - - public static String[][] getElements() { - - String[][] elements = new String[values().length][2]; - int counter = 0; - for(WindowSize windowSize : values()) { - elements[counter][0] = Integer.toString(windowSize.getSize()); - elements[counter][1] = windowSize.name(); - counter++; - } - return elements; - } -} diff --git a/chemclipse/plugins/org.eclipse.chemclipse.support.ui/src/org/eclipse/chemclipse/support/ui/preferences/fieldeditors/IntegerFieldEditor.java b/chemclipse/plugins/org.eclipse.chemclipse.support.ui/src/org/eclipse/chemclipse/support/ui/preferences/fieldeditors/IntegerFieldEditor.java index 4d48c588dc..d936fb0d80 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.support.ui/src/org/eclipse/chemclipse/support/ui/preferences/fieldeditors/IntegerFieldEditor.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.support.ui/src/org/eclipse/chemclipse/support/ui/preferences/fieldeditors/IntegerFieldEditor.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2019 Lablicate GmbH. + * Copyright (c) 2021 Lablicate GmbH. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -8,19 +8,70 @@ * * Contributors: * Dr. Philip Wenig - initial API and implementation + * Matthias Mailänder - add even/odd validation *******************************************************************************/ package org.eclipse.chemclipse.support.ui.preferences.fieldeditors; +import org.eclipse.chemclipse.support.settings.IntSettingsProperty.Validation; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; public class IntegerFieldEditor extends org.eclipse.jface.preference.IntegerFieldEditor { + private Validation validation; + public IntegerFieldEditor(String name, String labelText, Composite parent) { + super(name, labelText, parent); } public IntegerFieldEditor(String name, String labelText, int min, int max, Composite parent) { + + super(name, labelText, parent); + setValidRange(min, max); + } + + public IntegerFieldEditor(String name, String labelText, int min, int max, Validation validation, Composite parent) { + super(name, labelText, parent); setValidRange(min, max); + setValidation(validation); + } + + public void setValidation(Validation validation) { + + this.validation = validation; + } + + @Override + protected boolean checkState() { + + Text text = getTextControl(); + if(text == null) { + return false; + } + String numberString = text.getText(); + try { + int number = Integer.valueOf(numberString).intValue(); + clearErrorMessage(); + if(validation != null) { + if(validation == Validation.ODD_NUMBER) { + if(number % 2 != 0) { + return super.checkState(); + } + } else if(validation == Validation.EVEN_NUMBER) { + if(number % 2 == 0) { + return super.checkState(); + } + } + } else { + return super.checkState(); + } + showErrorMessage(); + return false; + } catch(NumberFormatException e) { + showErrorMessage(); + } + return false; } } diff --git a/chemclipse/plugins/org.eclipse.chemclipse.support/META-INF/MANIFEST.MF b/chemclipse/plugins/org.eclipse.chemclipse.support/META-INF/MANIFEST.MF index b745480786..a95a072c0f 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.support/META-INF/MANIFEST.MF +++ b/chemclipse/plugins/org.eclipse.chemclipse.support/META-INF/MANIFEST.MF @@ -28,6 +28,7 @@ Import-Package: com.fasterxml.jackson.annotation;version="2.5.0", com.fasterxml.jackson.core;version="2.5.0", com.fasterxml.jackson.databind;version="2.5.0", com.fasterxml.jackson.databind.cfg;version="2.7.1", + com.fasterxml.jackson.databind.deser.std;version="2.9.93", com.fasterxml.jackson.databind.introspect;version="2.7.1", com.fasterxml.jackson.databind.module;version="2.9.2", com.fasterxml.jackson.databind.type;version="2.9.2", diff --git a/chemclipse/plugins/org.eclipse.chemclipse.support/src/org/eclipse/chemclipse/support/model/WindowSize.java b/chemclipse/plugins/org.eclipse.chemclipse.support/src/org/eclipse/chemclipse/support/model/WindowSize.java new file mode 100644 index 0000000000..91253fae0a --- /dev/null +++ b/chemclipse/plugins/org.eclipse.chemclipse.support/src/org/eclipse/chemclipse/support/model/WindowSize.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 2008, 2021 Lablicate GmbH. + * + * All rights reserved. + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Dr. Philip Wenig - initial API and implementation + * Matthias Mailänder - remove the window size enum + *******************************************************************************/ +package org.eclipse.chemclipse.support.model; + +public class WindowSize { + + private int size; + + private WindowSize(int size) { + + this.size = size; + } + + /** + * The enum constants have been have been faded out. + * Keep compatibility of old process methods and settings. + * Call this function to get the updated constant when using WindowSize.valueOf(...) and + * you assume that an old setting was persisted already. + * + * @param value + * @return String + */ + public static int getAdjustedSetting(String value) { + + switch(value) { + case "NONE": + return 0; + case "WIDTH_3": + case "SCANS_3": + return 3; + case "SCANS_5": + case "WIDTH_5": + return 5; + case "SCANS_7": + case "WIDTH_7": + return 7; + case "WIDTH_9": + return 9; + case "WIDTH_11": + return 11; + case "WIDTH_13": + return 13; + case "WIDTH_15": + return 15; + case "WIDTH_17": + return 17; + case "WIDTH_19": + return 19; + case "WIDTH_21": + return 21; + case "WIDTH_23": + return 23; + case "WIDTH_25": + return 25; + case "WIDTH_27": + return 27; + case "WIDTH_29": + return 29; + case "WIDTH_31": + return 31; + case "WIDTH_33": + return 33; + case "WIDTH_35": + return 35; + case "WIDTH_37": + return 37; + case "WIDTH_39": + return 39; + case "WIDTH_41": + return 41; + case "WIDTH_43": + return 43; + case "WIDTH_45": + return 45; + default: + return Integer.valueOf(value); + } + } + + public int getSize() { + + return size; + } +} diff --git a/chemclipse/plugins/org.eclipse.chemclipse.support/src/org/eclipse/chemclipse/support/settings/serialization/WindowSizeDeserializer.java b/chemclipse/plugins/org.eclipse.chemclipse.support/src/org/eclipse/chemclipse/support/settings/serialization/WindowSizeDeserializer.java new file mode 100644 index 0000000000..9e5094696d --- /dev/null +++ b/chemclipse/plugins/org.eclipse.chemclipse.support/src/org/eclipse/chemclipse/support/settings/serialization/WindowSizeDeserializer.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2021 Lablicate GmbH. + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Matthias Mailänder - initial API and implementation + *******************************************************************************/ +package org.eclipse.chemclipse.support.settings.serialization; + +import java.io.IOException; + +import org.eclipse.chemclipse.support.model.WindowSize; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + +public class WindowSizeDeserializer extends StdDeserializer { + + private static final long serialVersionUID = 1L; + + protected WindowSizeDeserializer() { + + super(Integer.class); + } + + @Override + public Integer deserialize(JsonParser parser, DeserializationContext context) throws IOException { + + String text = parser.getText(); + int windowSize = WindowSize.getAdjustedSetting(text); + return windowSize; + } +} diff --git a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityCalculator_1_ITest.java b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityCalculator_1_ITest.java index 9824c5d6cb..2b9226cc1c 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityCalculator_1_ITest.java +++ b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityCalculator_1_ITest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2019 Lablicate GmbH. + * Copyright (c) 2011, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -21,7 +21,6 @@ import org.eclipse.chemclipse.msd.model.core.selection.ChromatogramSelectionMSD; import org.eclipse.chemclipse.msd.model.core.selection.IChromatogramSelectionMSD; import org.eclipse.chemclipse.msd.model.core.support.IMarkedIons; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.processing.core.IProcessingInfo; import org.eclipse.core.runtime.NullProgressMonitor; @@ -33,7 +32,7 @@ public class MassChromatographicQualityCalculator_1_ITest extends TestCase { private IChromatogramMSD chromatogram; private IChromatogramSelectionMSD chromatogramSelection; private float codaThreshold; - private WindowSize windowSize = WindowSize.WIDTH_3; + private int windowSize = 3; private File importFile; @Override @@ -42,7 +41,7 @@ protected void setUp() throws Exception { super.setUp(); importFile = new File(TestPathHelper.getAbsolutePath(TestPathHelper.TESTFILE_IMPORT_CHROMATOGRAM_1)); IProcessingInfo processingInfo = ChromatogramConverterMSD.getInstance().convert(importFile, new NullProgressMonitor()); - chromatogram = processingInfo.getProcessingResult(IChromatogramMSD.class); + chromatogram = processingInfo.getProcessingResult(); codaThreshold = 0.7f; chromatogramSelection = new ChromatogramSelectionMSD(chromatogram); } @@ -94,7 +93,7 @@ public void testGetMassChromatographicQualityResult_3() { public void testGetMassChromatographicQualityResult_4() { try { - result = MassChromatographicQualityCalculator.calculate(chromatogramSelection, codaThreshold, null); + result = MassChromatographicQualityCalculator.calculate(chromatogramSelection, codaThreshold, 0); } catch(CodaCalculatorException e) { assertTrue("CodaCalculatorException", true); } diff --git a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityResult_1_ITest.java b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityResult_1_ITest.java index 5cc71fa3a2..f76ec18944 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityResult_1_ITest.java +++ b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.filter.supplier.coda.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/filter/supplier/coda/calculator/MassChromatographicQualityResult_1_ITest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2019 Lablicate GmbH. + * Copyright (c) 2011, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -21,7 +21,6 @@ import org.eclipse.chemclipse.msd.model.core.selection.ChromatogramSelectionMSD; import org.eclipse.chemclipse.msd.model.core.selection.IChromatogramSelectionMSD; import org.eclipse.chemclipse.msd.model.core.support.IMarkedIons; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import org.eclipse.chemclipse.processing.core.IProcessingInfo; import org.eclipse.core.runtime.NullProgressMonitor; @@ -40,7 +39,7 @@ protected void setUp() throws Exception { super.setUp(); importFile = new File(TestPathHelper.getAbsolutePath(TestPathHelper.TESTFILE_IMPORT_CHROMATOGRAM_1)); IProcessingInfo processingInfo = ChromatogramConverterMSD.getInstance().convert(importFile, new NullProgressMonitor()); - chromatogram = processingInfo.getProcessingResult(IChromatogramMSD.class); + chromatogram = processingInfo.getProcessingResult(); chromatogramSelection = new ChromatogramSelectionMSD(chromatogram); } @@ -59,7 +58,7 @@ protected void tearDown() throws Exception { public void testConstructor_1() { try { - result = new MassChromatographicQualityResult(chromatogramSelection, 0.7f, WindowSize.WIDTH_3); + result = new MassChromatographicQualityResult(chromatogramSelection, 0.7f, 3); float drv = result.getDataReductionValue(); assertEquals("Data reduction value", 0.8737201f, drv); IMarkedIons exludedIons = result.getExcludedIons(); @@ -72,7 +71,7 @@ public void testConstructor_1() { public void testConstructor_2() { try { - result = new MassChromatographicQualityResult(chromatogramSelection, 0.7f, WindowSize.WIDTH_5); + result = new MassChromatographicQualityResult(chromatogramSelection, 0.7f, 5); float drv = result.getDataReductionValue(); assertEquals("Data reduction value", 0.78327644f, drv); IMarkedIons exludedIons = result.getExcludedIons(); @@ -85,7 +84,7 @@ public void testConstructor_2() { public void testConstructor_3() { try { - result = new MassChromatographicQualityResult(chromatogramSelection, 0.7f, WindowSize.WIDTH_7); + result = new MassChromatographicQualityResult(chromatogramSelection, 0.7f, 7); float drv = result.getDataReductionValue(); assertEquals("Data reduction value", 0.721843f, drv); IMarkedIons exludedIons = result.getExcludedIons(); diff --git a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.peak.detector.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/peak/support/DetectorSlopes_2_Test.java b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.peak.detector.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/peak/support/DetectorSlopes_2_Test.java index 5610eea3ab..218451e3c1 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.peak.detector.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/peak/support/DetectorSlopes_2_Test.java +++ b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.peak.detector.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/peak/support/DetectorSlopes_2_Test.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2018 Lablicate GmbH. + * Copyright (c) 2008, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -15,22 +15,20 @@ import java.util.List; import org.easymock.EasyMock; - -import org.eclipse.chemclipse.model.signals.ITotalScanSignals; import org.eclipse.chemclipse.chromatogram.peak.detector.support.DetectorSlope; import org.eclipse.chemclipse.chromatogram.peak.detector.support.DetectorSlopes; import org.eclipse.chemclipse.chromatogram.peak.detector.support.IDetectorSlope; import org.eclipse.chemclipse.chromatogram.peak.detector.support.IDetectorSlopes; +import org.eclipse.chemclipse.model.signals.ITotalScanSignals; import org.eclipse.chemclipse.numeric.core.IPoint; import org.eclipse.chemclipse.numeric.core.Point; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import junit.framework.TestCase; /** * Testing calculateMovingAverage * - * @author eselmeister + * @author Philip Wenig */ public class DetectorSlopes_2_Test extends TestCase { @@ -106,7 +104,7 @@ public void testSize_1() { // -----------------------------------------------WindowSize.SCANS_3 public void testCalculateMovingAverage_1() { - slopes.calculateMovingAverage(WindowSize.WIDTH_3); + slopes.calculateMovingAverage(3); slope = slopes.getDetectorSlope(1); assertEquals("scan 1 slope", 0.1549296875, slope.getSlope()); assertEquals("scan 1 retention time", 1000, slope.getRetentionTime()); @@ -114,7 +112,7 @@ public void testCalculateMovingAverage_1() { public void testCalculateMovingAverage_2() { - slopes.calculateMovingAverage(WindowSize.WIDTH_3); + slopes.calculateMovingAverage(3); slope = slopes.getDetectorSlope(2); assertEquals("scan 2 slope", 0.020187499999999997, slope.getSlope()); assertEquals("scan 2 retention time", 2000, slope.getRetentionTime()); @@ -122,7 +120,7 @@ public void testCalculateMovingAverage_2() { public void testCalculateMovingAverage_3() { - slopes.calculateMovingAverage(WindowSize.WIDTH_3); + slopes.calculateMovingAverage(3); slope = slopes.getDetectorSlope(25); assertEquals("scan 25 slope", -1.5866998856461185, slope.getSlope()); assertEquals("scan 25 retention time", 25000, slope.getRetentionTime()); @@ -130,7 +128,7 @@ public void testCalculateMovingAverage_3() { public void testCalculateMovingAverage_4() { - slopes.calculateMovingAverage(WindowSize.WIDTH_3); + slopes.calculateMovingAverage(3); slope = slopes.getDetectorSlope(26); assertEquals("scan 26 slope", -0.459859375, slope.getSlope()); assertEquals("scan 26 retention time", 26000, slope.getRetentionTime()); @@ -140,7 +138,7 @@ public void testCalculateMovingAverage_4() { // -----------------------------------------------WindowSize.SCANS_5 public void testCalculateMovingAverage_5() { - slopes.calculateMovingAverage(WindowSize.WIDTH_5); + slopes.calculateMovingAverage(5); slope = slopes.getDetectorSlope(2); assertEquals("scan 2 slope", 0.064083984375, slope.getSlope()); assertEquals("scan 2 retention time", 2000, slope.getRetentionTime()); @@ -148,7 +146,7 @@ public void testCalculateMovingAverage_5() { public void testCalculateMovingAverage_6() { - slopes.calculateMovingAverage(WindowSize.WIDTH_5); + slopes.calculateMovingAverage(5); slope = slopes.getDetectorSlope(3); assertEquals("scan 3 slope", -0.04295781249999999, slope.getSlope()); assertEquals("scan 3 retention time", 3000, slope.getRetentionTime()); @@ -156,7 +154,7 @@ public void testCalculateMovingAverage_6() { public void testCalculateMovingAverage_7() { - slopes.calculateMovingAverage(WindowSize.WIDTH_5); + slopes.calculateMovingAverage(5); slope = slopes.getDetectorSlope(24); assertEquals("scan 24 slope", -1.9802620761875385, slope.getSlope()); assertEquals("scan 24 retention time", 24000, slope.getRetentionTime()); @@ -164,7 +162,7 @@ public void testCalculateMovingAverage_7() { public void testCalculateMovingAverage_8() { - slopes.calculateMovingAverage(WindowSize.WIDTH_5); + slopes.calculateMovingAverage(5); slope = slopes.getDetectorSlope(25); assertEquals("scan 25 slope", -2.4647890625, slope.getSlope()); assertEquals("scan 25 retention time", 25000, slope.getRetentionTime()); @@ -174,7 +172,7 @@ public void testCalculateMovingAverage_8() { // -----------------------------------------------WindowSize.SCANS_7 public void testCalculateMovingAverage_9() { - slopes.calculateMovingAverage(WindowSize.WIDTH_7); + slopes.calculateMovingAverage(7); slope = slopes.getDetectorSlope(3); assertEquals("scan 3 slope", -0.158451171875, slope.getSlope()); assertEquals("scan 3 retention time", 3000, slope.getRetentionTime()); @@ -182,7 +180,7 @@ public void testCalculateMovingAverage_9() { public void testCalculateMovingAverage_10() { - slopes.calculateMovingAverage(WindowSize.WIDTH_7); + slopes.calculateMovingAverage(7); slope = slopes.getDetectorSlope(4); assertEquals("scan 4 slope", 0.8220320870535714, slope.getSlope()); assertEquals("scan 4 retention time", 4000, slope.getRetentionTime()); @@ -190,7 +188,7 @@ public void testCalculateMovingAverage_10() { public void testCalculateMovingAverage_11() { - slopes.calculateMovingAverage(WindowSize.WIDTH_7); + slopes.calculateMovingAverage(7); slope = slopes.getDetectorSlope(23); assertEquals("scan 23 slope", -2.879118316072511, slope.getSlope()); assertEquals("scan 23 retention time", 23000, slope.getRetentionTime()); @@ -198,7 +196,7 @@ public void testCalculateMovingAverage_11() { public void testCalculateMovingAverage_12() { - slopes.calculateMovingAverage(WindowSize.WIDTH_7); + slopes.calculateMovingAverage(7); slope = slopes.getDetectorSlope(24); assertEquals("scan 24 slope", -1.058451171875, slope.getSlope()); assertEquals("scan 24 retention time", 24000, slope.getRetentionTime()); diff --git a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.peak.detector.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/peak/support/DetectorSlopes_3_Test.java b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.peak.detector.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/peak/support/DetectorSlopes_3_Test.java index 1ecae22a1c..5bdd5a36b7 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.peak.detector.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/peak/support/DetectorSlopes_3_Test.java +++ b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.msd.peak.detector.fragment.test/src/org/eclipse/chemclipse/chromatogram/msd/peak/support/DetectorSlopes_3_Test.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2018 Lablicate GmbH. + * Copyright (c) 2008, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -15,22 +15,20 @@ import java.util.List; import org.easymock.EasyMock; - -import org.eclipse.chemclipse.model.signals.ITotalScanSignals; import org.eclipse.chemclipse.chromatogram.peak.detector.support.DetectorSlope; import org.eclipse.chemclipse.chromatogram.peak.detector.support.DetectorSlopes; import org.eclipse.chemclipse.chromatogram.peak.detector.support.IDetectorSlope; import org.eclipse.chemclipse.chromatogram.peak.detector.support.IDetectorSlopes; +import org.eclipse.chemclipse.model.signals.ITotalScanSignals; import org.eclipse.chemclipse.numeric.core.IPoint; import org.eclipse.chemclipse.numeric.core.Point; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; import junit.framework.TestCase; /** * Testing calculateMovingAverage * - * @author eselmeister + * @author Philip Wenig */ public class DetectorSlopes_3_Test extends TestCase { @@ -81,7 +79,7 @@ public void testSize_1() { // -----------------------------------------------WindowSize.SCANS_3 public void testCalculateMovingAverage_1() { - slopes.calculateMovingAverage(WindowSize.WIDTH_3); + slopes.calculateMovingAverage(3); slope = slopes.getDetectorSlope(1); assertEquals("scan 1 slope", 0.1549296875, slope.getSlope()); assertEquals("scan 1 retention time", 1000, slope.getRetentionTime()); diff --git a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.noise.dyson.fragment.test/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/noise/dyson/core/ChromatogramReaderTestCase.java b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.noise.dyson.fragment.test/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/noise/dyson/core/ChromatogramReaderTestCase.java index 7ce72ff1fe..b73b1379b1 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.noise.dyson.fragment.test/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/noise/dyson/core/ChromatogramReaderTestCase.java +++ b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.xxd.calculator.supplier.noise.dyson.fragment.test/src/org/eclipse/chemclipse/chromatogram/xxd/calculator/supplier/noise/dyson/core/ChromatogramReaderTestCase.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014, 2019 Lablicate GmbH. + * Copyright (c) 2014, 2021 Lablicate GmbH. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -36,7 +36,7 @@ protected void setUp() throws Exception { super.setUp(); fileImport = new File(this.pathImport); org.eclipse.chemclipse.processing.core.IProcessingInfo processingInfo = ChromatogramConverterMSD.getInstance().convert(fileImport, EXTENSION_POINT_ID, new NullProgressMonitor()); - chromatogram = processingInfo.getProcessingResult(IChromatogramMSD.class); + chromatogram = processingInfo.getProcessingResult(); } @Override diff --git a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.fragment.test/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/FirstDerivativePeakDetector_2_Test.java b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.fragment.test/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/FirstDerivativePeakDetector_2_Test.java index 7f28abc98e..a3accebb47 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.fragment.test/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/FirstDerivativePeakDetector_2_Test.java +++ b/chemclipse/tests/org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.fragment.test/src/org/eclipse/chemclipse/chromatogram/xxd/peak/detector/supplier/firstderivative/core/FirstDerivativePeakDetector_2_Test.java @@ -15,7 +15,6 @@ import java.lang.reflect.Method; import org.eclipse.chemclipse.chromatogram.xxd.peak.detector.supplier.firstderivative.support.IFirstDerivativeDetectorSlopes; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; /** * peakDetectorSettings.getThreshold() is MEDIUM > threshold = 0.05d; @@ -37,7 +36,7 @@ protected void setUp() throws Exception { firstDerivativePeakDetector = new PeakDetectorMSD(); firstDerivativePeakDetectorClass = BasePeakDetector.class; slopes = getFirstDerivativeSlopes(); - slopes.calculateMovingAverage(WindowSize.WIDTH_5); + slopes.calculateMovingAverage(5); } @Override diff --git a/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_4_Test.java b/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_4_Test.java index 9e97e12685..2f5d9b0127 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_4_Test.java +++ b/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_4_Test.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2018 Lablicate GmbH. + * Copyright (c) 2008, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -16,7 +16,7 @@ import org.eclipse.chemclipse.model.signals.TotalScanSignal; import org.eclipse.chemclipse.model.signals.TotalScanSignals; import org.eclipse.chemclipse.model.signals.TotalScanSignalsModifier; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; + import junit.framework.TestCase; public class TotalIonSignalsModifier_4_Test extends TestCase { @@ -46,7 +46,7 @@ protected void setUp() throws Exception { signal = new TotalScanSignal(i * 100, 0.0f, abundance[i - 1]); signals.add(signal); } - TotalScanSignalsModifier.calculateMovingAverage(signals, WindowSize.WIDTH_3); + TotalScanSignalsModifier.calculateMovingAverage(signals, 3); } @Override diff --git a/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_5_Test.java b/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_5_Test.java index e6502f3d37..968d7876b6 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_5_Test.java +++ b/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_5_Test.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2018 Lablicate GmbH. + * Copyright (c) 2008, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -16,7 +16,7 @@ import org.eclipse.chemclipse.model.signals.TotalScanSignal; import org.eclipse.chemclipse.model.signals.TotalScanSignals; import org.eclipse.chemclipse.model.signals.TotalScanSignalsModifier; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; + import junit.framework.TestCase; public class TotalIonSignalsModifier_5_Test extends TestCase { @@ -46,7 +46,7 @@ protected void setUp() throws Exception { signal = new TotalScanSignal(i * 100, 0.0f, abundance[i - 1]); signals.add(signal); } - TotalScanSignalsModifier.calculateMovingAverage(signals, WindowSize.WIDTH_5); + TotalScanSignalsModifier.calculateMovingAverage(signals, 5); } @Override diff --git a/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_6_Test.java b/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_6_Test.java index fecd9f21c8..840dac588d 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_6_Test.java +++ b/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_6_Test.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2018 Lablicate GmbH. + * Copyright (c) 2008, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -16,7 +16,7 @@ import org.eclipse.chemclipse.model.signals.TotalScanSignal; import org.eclipse.chemclipse.model.signals.TotalScanSignals; import org.eclipse.chemclipse.model.signals.TotalScanSignalsModifier; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; + import junit.framework.TestCase; public class TotalIonSignalsModifier_6_Test extends TestCase { @@ -38,7 +38,7 @@ protected void setUp() throws Exception { signal = new TotalScanSignal(i * 100, 0.0f, abundance[i - 1]); signals.add(signal); } - TotalScanSignalsModifier.calculateMovingAverage(signals, WindowSize.WIDTH_5); + TotalScanSignalsModifier.calculateMovingAverage(signals, 5); } @Override diff --git a/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_7_Test.java b/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_7_Test.java index e25eb78dbc..203e2d13b3 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_7_Test.java +++ b/chemclipse/tests/org.eclipse.chemclipse.msd.model.fragment.test/src/org/eclipse/chemclipse/msd/model/xic/TotalIonSignalsModifier_7_Test.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2018 Lablicate GmbH. + * Copyright (c) 2008, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -14,7 +14,7 @@ import org.eclipse.chemclipse.model.signals.ITotalScanSignals; import org.eclipse.chemclipse.model.signals.TotalScanSignals; import org.eclipse.chemclipse.model.signals.TotalScanSignalsModifier; -import org.eclipse.chemclipse.numeric.statistics.WindowSize; + import junit.framework.TestCase; public class TotalIonSignalsModifier_7_Test extends TestCase { @@ -36,14 +36,14 @@ protected void tearDown() throws Exception { public void testCalculateMovingAverage_1() { signals = null; - TotalScanSignalsModifier.calculateMovingAverage(signals, WindowSize.WIDTH_5); + TotalScanSignalsModifier.calculateMovingAverage(signals, 5); assertNull(signals); } public void testCalculateMovingAverage_2() { signals = new TotalScanSignals(5); - TotalScanSignalsModifier.calculateMovingAverage(signals, WindowSize.WIDTH_5); + TotalScanSignalsModifier.calculateMovingAverage(signals, 5); assertNotNull(signals); } } diff --git a/chemclipse/tests/org.eclipse.chemclipse.numeric.fragment.test/src/org/eclipse/chemclipse/numeric/statistics/Calculations_15_Test.java b/chemclipse/tests/org.eclipse.chemclipse.numeric.fragment.test/src/org/eclipse/chemclipse/numeric/statistics/Calculations_15_Test.java index 1443492394..c5274d8919 100644 --- a/chemclipse/tests/org.eclipse.chemclipse.numeric.fragment.test/src/org/eclipse/chemclipse/numeric/statistics/Calculations_15_Test.java +++ b/chemclipse/tests/org.eclipse.chemclipse.numeric.fragment.test/src/org/eclipse/chemclipse/numeric/statistics/Calculations_15_Test.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2018 Lablicate GmbH. + * Copyright (c) 2008, 2021 Lablicate GmbH. * * All rights reserved. * This program and the accompanying materials are made available under the @@ -16,7 +16,7 @@ /** * Testing median. * - * @author eselmeister + * @author Philip Wenig */ public class Calculations_15_Test extends TestCase { @@ -51,7 +51,7 @@ protected void tearDown() throws Exception { public void testGetWindowReducedLength_1() { - Calculations.smooth(values, WindowSize.WIDTH_3); + Calculations.smooth(values, 3); double[] smoothed; smoothed = new double[13]; smoothed[0] = 600.0d;