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 extends ISignal> signals, WindowSize windowSize) {
+ private static IFirstDerivativeDetectorSlopes getSignalSlopes(List extends ISignal> 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;