diff --git a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/IRawPeak.java b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/IRawPeak.java
index 116e917931..0e3645ed3d 100644
--- a/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/IRawPeak.java
+++ b/chemclipse/plugins/org.eclipse.chemclipse.chromatogram.peak.detector/src/org/eclipse/chemclipse/chromatogram/peak/detector/support/IRawPeak.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2025 Lablicate GmbH.
+ * Copyright (c) 2008, 2026 Lablicate GmbH.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
@@ -12,10 +12,7 @@
*******************************************************************************/
package org.eclipse.chemclipse.chromatogram.peak.detector.support;
-import org.eclipse.chemclipse.model.core.PeakPosition;
-import org.eclipse.chemclipse.model.core.PeakType;
-
-public interface IRawPeak extends PeakPosition {
+public interface IRawPeak {
/**
* Returns the start scan of the raw peak.
@@ -52,28 +49,4 @@ public interface IRawPeak extends PeakPosition {
* @return int
*/
int getStopScan();
-
- @Override
- default PeakType getPeakType() {
-
- return PeakType.DEFAULT;
- }
-
- @Override
- default int getPeakStart() {
-
- return getStartScan() - 1;
- }
-
- @Override
- default int getPeakMaximum() {
-
- return getMaximumScan() - 1;
- }
-
- @Override
- default int getPeakEnd() {
-
- return getStopScan() - 1;
- }
}
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.model/META-INF/MANIFEST.MF b/chemclipse/plugins/org.eclipse.chemclipse.model/META-INF/MANIFEST.MF
index cf15512b36..399e74f873 100644
--- a/chemclipse/plugins/org.eclipse.chemclipse.model/META-INF/MANIFEST.MF
+++ b/chemclipse/plugins/org.eclipse.chemclipse.model/META-INF/MANIFEST.MF
@@ -28,7 +28,6 @@ Export-Package: org.eclipse.chemclipse.model.baseline,
org.eclipse.chemclipse.model.comparator,
org.eclipse.chemclipse.model.core,
org.eclipse.chemclipse.model.core.support,
- org.eclipse.chemclipse.model.detector;version="1.0.0",
org.eclipse.chemclipse.model.exception,
org.eclipse.chemclipse.model.exceptions,
org.eclipse.chemclipse.model.filter;version="1.0.0",
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/core/IPeak.java b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/core/IPeak.java
index edd6b8c40d..5bc62ecfcd 100644
--- a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/core/IPeak.java
+++ b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/core/IPeak.java
@@ -21,7 +21,7 @@
import org.eclipse.chemclipse.model.quantitation.IQuantitationEntry;
import org.eclipse.chemclipse.model.support.IIntegrationConstraints;
-public interface IPeak extends ITargetSupplier, PeakPosition, IClassifier, ISignal {
+public interface IPeak extends ITargetSupplier, IClassifier, ISignal {
/**
* This comparator compares peaks based on the RT at the maximum of the intensity of the peak model
@@ -59,7 +59,6 @@ public interface IPeak extends ITargetSupplier, PeakPosition, IClassifier, ISign
* BV - baseline valley
* ...
*/
- @Override
PeakType getPeakType();
/**
@@ -221,36 +220,6 @@ public interface IPeak extends ITargetSupplier, PeakPosition, IClassifier, ISign
*/
void setMarkedAsDeleted(boolean markedAsDeleted);
- /**
- * Returns the scan number at peak stop.
- */
- @Override
- default int getPeakEnd() {
-
- IPeakModel peakModel = getPeakModel();
- return peakModel.getPeakScan(peakModel.getStopRetentionTime()).getScanNumber() - 1;
- }
-
- /**
- * Returns the scan number at peak start.
- */
- @Override
- default int getPeakStart() {
-
- IPeakModel peakModel = getPeakModel();
- return peakModel.getPeakScan(peakModel.getStartRetentionTime()).getScanNumber() - 1;
- }
-
- /**
- * Returns the scan number at peak maximum.
- */
- @Override
- default int getPeakMaximum() {
-
- IPeakModel peakModel = getPeakModel();
- return peakModel.getPeakMaximum().getScanNumber() - 1;
- }
-
/**
* Returns the retention time at peak maximum in milliseconds.
*/
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/core/PeakList.java b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/core/PeakList.java
deleted file mode 100644
index e3c8eefe92..0000000000
--- a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/core/PeakList.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2025 Lablicate GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Christoph Läubrich - initial API and implementation
- *******************************************************************************/
-package org.eclipse.chemclipse.model.core;
-
-/**
- * Interface that supplies a stream of {@link PeakPosition}s
- *
- * @author Christoph Läubrich
- *
- */
-public class PeakList implements IMeasurementResult> {
-
- private static final long serialVersionUID = -7220296068044561221L;
- private Iterable peakPositions;
- private String name;
- private String identfier;
- private String description;
-
- public PeakList(Iterable peakPositions, String identfier, String name, String description) {
-
- this.peakPositions = peakPositions;
- this.name = name;
- this.identfier = identfier;
- this.description = description;
- }
-
- @Override
- public Iterable getResult() {
-
- return peakPositions;
- }
-
- @Override
- public String getName() {
-
- return name;
- }
-
- @Override
- public String getIdentifier() {
-
- return identfier;
- }
-
- @Override
- public String getDescription() {
-
- return description;
- }
-}
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/core/PeakPosition.java b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/core/PeakPosition.java
deleted file mode 100644
index 8a4ffbce3d..0000000000
--- a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/core/PeakPosition.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2025 Lablicate GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Christoph Läubrich - initial API and implementation
- *******************************************************************************/
-package org.eclipse.chemclipse.model.core;
-
-/**
- * Interface of Objects that can describe the position of a single peak, the position is always related to some kind of indexed (e.g. sampled) data
- *
- * @author Christoph Läubrich
- *
- */
-public interface PeakPosition {
-
- /**
- *
- * @return the index of the peak maximum (zero based) or -1 if the index is unknown
- */
- int getPeakMaximum();
-
- /**
- *
- * @return the index of the peak start (zero based) or -1 if the index is unknown
- */
- int getPeakStart();
-
- /**
- *
- * @return the index of the peak end (zero based) or -1 if the index is unknown
- */
- int getPeakEnd();
-
- /**
- *
- * @return the type of the peak or {@link PeakType#DEFAULT} if unknown
- */
- PeakType getPeakType();
-}
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/detector/IMeasurementPeakDetector.java b/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/detector/IMeasurementPeakDetector.java
deleted file mode 100644
index 6bab2753b2..0000000000
--- a/chemclipse/plugins/org.eclipse.chemclipse.model/src/org/eclipse/chemclipse/model/detector/IMeasurementPeakDetector.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019, 2026 Lablicate GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Christoph Läubrich - initial API and implementation
- *******************************************************************************/
-package org.eclipse.chemclipse.model.detector;
-
-import java.util.Collection;
-import java.util.Map;
-
-import org.eclipse.chemclipse.model.core.IMeasurement;
-import org.eclipse.chemclipse.model.core.PeakList;
-import org.eclipse.chemclipse.processing.core.IMessageConsumer;
-import org.eclipse.chemclipse.processing.detector.Detector;
-import org.eclipse.chemclipse.processing.detector.DetectorCategory;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-public interface IMeasurementPeakDetector extends Detector {
-
- /**
- * Detects the peaks in the given measurements and returns a mapping between the measurement and the detected peaks
- */
- Map detectIMeasurementPeaks(Collection detectorInputItems, ConfigType configuration, IMessageConsumer messageConsumer, IProgressMonitor monitor) throws IllegalArgumentException;
-
- /**
- * Checks if the given {@link IMeasurement} is compatible with this filter, that means that this filter can be applied without throwing an {@link IllegalArgumentException}
- *
- * @param items
- * the {@link IMeasurement} to check
- * @return true if this {@link IMeasurement} can be applied, false otherwise
- */
- boolean acceptsIMeasurements(Collection extends IMeasurement> items);
-
- /**
- * Creates a new configuration that is specially suited for the given {@link IMeasurement} types
- *
- * @return a new configuration for this items or the default config if items is empty or no suitable configuration can be created
- * @throws IllegalArgumentException
- * if the given {@link IMeasurement}s are incompatible with this filter ({@link #acceptsIMeasurements(IMeasurement)} returns false)
- */
- default ConfigType createConfiguration(Collection extends IMeasurement> items) throws IllegalArgumentException {
-
- if(acceptsIMeasurements(items)) {
- return createNewConfiguration();
- } else {
- throw new IllegalArgumentException("incompatible items in collection");
- }
- }
-
- @Override
- default DetectorCategory getDetectorCategory() {
-
- return DetectorCategory.PEAK;
- }
-}
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/META-INF/MANIFEST.MF b/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/META-INF/MANIFEST.MF
index efdbb8eca3..f4d3a8967b 100644
--- a/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/META-INF/MANIFEST.MF
+++ b/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/META-INF/MANIFEST.MF
@@ -30,7 +30,6 @@ Service-Component: OSGI-INF/org.eclipse.chemclipse.nmr.processing.apodization.Ex
OSGI-INF/org.eclipse.chemclipse.nmr.processing.digitalfilter.DigitalFilterRemoval.xml,
OSGI-INF/org.eclipse.chemclipse.nmr.processing.ft.FourierTransformationProcessor.xml,
OSGI-INF/org.eclipse.chemclipse.nmr.processing.ft.InverseFourierTransformationProcessor.xml,
- OSGI-INF/org.eclipse.chemclipse.nmr.processing.peakdetection.WaveletPeakDetectorProcessor.xml,
OSGI-INF/org.eclipse.chemclipse.nmr.processing.phasecorrection.AutoPhaseCorrectionProcessor.xml,
OSGI-INF/org.eclipse.chemclipse.nmr.processing.phasecorrection.PhaseCorrectionProcessor.xml,
OSGI-INF/org.eclipse.chemclipse.nmr.processing.supplier.base.core.BaselineCorrectionProcessor.xml,
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/OSGI-INF/org.eclipse.chemclipse.nmr.processing.peakdetection.WaveletPeakDetectorProcessor.xml b/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/OSGI-INF/org.eclipse.chemclipse.nmr.processing.peakdetection.WaveletPeakDetectorProcessor.xml
deleted file mode 100644
index 0bb675b472..0000000000
--- a/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/OSGI-INF/org.eclipse.chemclipse.nmr.processing.peakdetection.WaveletPeakDetectorProcessor.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/src/org/eclipse/chemclipse/nmr/processing/peakdetection/WaveletPeakDetectorProcessor.java b/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/src/org/eclipse/chemclipse/nmr/processing/peakdetection/WaveletPeakDetectorProcessor.java
deleted file mode 100644
index 816ca1458d..0000000000
--- a/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/src/org/eclipse/chemclipse/nmr/processing/peakdetection/WaveletPeakDetectorProcessor.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019, 2025 Lablicate GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Alexander Stark - initial API and implementation
- * Philip Wenig - refactoring
- *******************************************************************************/
-package org.eclipse.chemclipse.nmr.processing.peakdetection;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.chemclipse.model.core.IMeasurement;
-import org.eclipse.chemclipse.model.core.PeakList;
-import org.eclipse.chemclipse.model.core.PeakPosition;
-import org.eclipse.chemclipse.model.detector.IMeasurementPeakDetector;
-import org.eclipse.chemclipse.nmr.model.core.ISpectrumMeasurement;
-import org.eclipse.chemclipse.nmr.model.core.ISpectrumSignal;
-import org.eclipse.chemclipse.processing.core.IMessageConsumer;
-import org.eclipse.chemclipse.processing.detector.Detector;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubMonitor;
-import org.osgi.service.component.annotations.Component;
-
-@Component(service = {Detector.class, IMeasurementPeakDetector.class})
-public class WaveletPeakDetectorProcessor implements IMeasurementPeakDetector {
-
- private static final String NAME = "Wavelet Peak Detector";
-
- @Override
- public String getName() {
-
- return NAME;
- }
-
- @Override
- public Class getConfigClass() {
-
- return WaveletPeakDetectorSettings.class;
- }
-
- @Override
- public Map detectIMeasurementPeaks(Collection detectorInputItems, WaveletPeakDetectorSettings configuration, IMessageConsumer messageConsumer, IProgressMonitor monitor) throws IllegalArgumentException {
-
- SubMonitor convert = SubMonitor.convert(monitor, getName(), detectorInputItems.size() * 100);
- LinkedHashMap map = new LinkedHashMap<>();
- for(T measurement : detectorInputItems) {
- if(measurement instanceof ISpectrumMeasurement spectrumMeasurement) {
- map.put(measurement, detect(spectrumMeasurement.getSignals(), configuration, messageConsumer, convert.split(100)));
- }
- }
- return map;
- }
-
- @SuppressWarnings("unused")
- private PeakList detect(List extends ISpectrumSignal> signals, WaveletPeakDetectorSettings configuration, IMessageConsumer messageConsumer, IProgressMonitor monitor) {
-
- /*
- * TODO detect the peaks
- */
- SubMonitor subMonitor = SubMonitor.convert(monitor, signals.size());
- List peakPositions = new ArrayList<>();
- int index = 0;
- for(ISpectrumSignal signal : signals) {
- double x = signal.getX();
- double y = signal.getY();
- subMonitor.worked(1);
- if(index == 100) {
- peakPositions.add(new WavletPeakPosition());
- }
- }
- return new PeakList(peakPositions, getID(), getName(), getDescription());
- }
-
- @Override
- public boolean acceptsIMeasurements(Collection extends IMeasurement> items) {
-
- for(IMeasurement measurement : items) {
- if(!(measurement instanceof ISpectrumMeasurement)) {
- return false;
- }
- }
- return true;
- }
-}
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/src/org/eclipse/chemclipse/nmr/processing/peakdetection/WavletPeakPosition.java b/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/src/org/eclipse/chemclipse/nmr/processing/peakdetection/WavletPeakPosition.java
deleted file mode 100644
index 4792462da4..0000000000
--- a/chemclipse/plugins/org.eclipse.chemclipse.nmr.processing.supplier.base/src/org/eclipse/chemclipse/nmr/processing/peakdetection/WavletPeakPosition.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019, 2025 Lablicate GmbH.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Christoph Läubrich - initial API and implementation
- * Philip Wenig - refactoring
- *******************************************************************************/
-package org.eclipse.chemclipse.nmr.processing.peakdetection;
-
-import org.eclipse.chemclipse.model.core.PeakPosition;
-import org.eclipse.chemclipse.model.core.PeakType;
-
-public class WavletPeakPosition implements PeakPosition {
-
- @Override
- public int getPeakMaximum() {
-
- return 100;
- }
-
- @Override
- public int getPeakStart() {
-
- return 90;
- }
-
- @Override
- public int getPeakEnd() {
-
- return 105;
- }
-
- @Override
- public PeakType getPeakType() {
-
- return PeakType.DEFAULT;
- }
-}
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/charts/ChartNMR.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/charts/ChartNMR.java
index 8e448570ca..6ed351c4ad 100644
--- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/charts/ChartNMR.java
+++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/charts/ChartNMR.java
@@ -18,17 +18,14 @@
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Collection;
-import java.util.List;
import java.util.Locale;
import java.util.function.Supplier;
-import java.util.stream.StreamSupport;
import org.eclipse.chemclipse.converter.core.IConverterSupport;
import org.eclipse.chemclipse.converter.scan.IScanConverterSupport;
import org.eclipse.chemclipse.logging.core.Logger;
import org.eclipse.chemclipse.model.core.IComplexSignalMeasurement;
import org.eclipse.chemclipse.model.core.ISignal;
-import org.eclipse.chemclipse.model.core.PeakPosition;
import org.eclipse.chemclipse.nmr.converter.core.ScanConverterNMR;
import org.eclipse.chemclipse.processing.converter.ISupplier;
import org.eclipse.chemclipse.processing.core.ICategories;
@@ -270,28 +267,6 @@ public static ISeriesData createSignalSeries(String id, Collection extends ISi
return createSignalSeries(id, signals, 0.0d, 0.0d);
}
- public static ISeriesData createPeakSeries(String id, List extends ISignal> signals, Iterable iterable, double yOffset, double xOffset) {
-
- List list = StreamSupport.stream(iterable.spliterator(), false).toList();
- int size = list.size();
- double[] xSeries = new double[size];
- double[] ySeries = new double[size];
- int index = 0;
- for(PeakPosition position : list) {
- int maximum = position.getPeakMaximum();
- if(maximum > -1) {
- ISignal signal = signals.get(maximum);
- xSeries[index] = signal.getX() + xOffset;
- ySeries[index] = signal.getY() + yOffset;
- } else {
- xSeries[index] = Double.NaN;
- ySeries[index] = Double.NaN;
- }
- index++;
- }
- return new SeriesData(xSeries, ySeries, id);
- }
-
public static ISeriesData createSignalSeries(String id, Collection extends ISignal> signals, double yOffset, double xOffset) {
int size = signals.size();
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/NMRMeasurementsUI.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/NMRMeasurementsUI.java
index 53dde629af..f212bf4b36 100644
--- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/NMRMeasurementsUI.java
+++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/NMRMeasurementsUI.java
@@ -21,22 +21,17 @@
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
import java.util.Set;
import java.util.function.Consumer;
import org.eclipse.chemclipse.model.core.IComplexSignalMeasurement;
import org.eclipse.chemclipse.model.core.IMeasurement;
-import org.eclipse.chemclipse.model.core.PeakList;
-import org.eclipse.chemclipse.model.detector.IMeasurementPeakDetector;
import org.eclipse.chemclipse.model.filter.IMeasurementFilter;
import org.eclipse.chemclipse.nmr.model.core.IMeasurementFID;
import org.eclipse.chemclipse.nmr.model.core.ISpectrumMeasurement;
import org.eclipse.chemclipse.nmr.model.selection.DataNMRSelection;
import org.eclipse.chemclipse.nmr.model.selection.IDataNMRSelection.ChangeType;
import org.eclipse.chemclipse.processing.ProcessorFactory;
-import org.eclipse.chemclipse.processing.core.DefaultProcessingResult;
import org.eclipse.chemclipse.processing.filter.Filtered;
import org.eclipse.chemclipse.processing.supplier.IProcessSupplierContext;
import org.eclipse.chemclipse.rcp.ui.icons.core.ApplicationImageFactory;
@@ -163,37 +158,10 @@ public void menuAboutToShow(IMenuManager menuManager) {
Set> measurements = Collections.singleton(selection.getMeasurement());
addFilter(menuManager, measurements);
menuManager.add(new Separator());
- addDetectors(menuManager, measurements);
- menuManager.add(new Separator());
menuManager.add(new DeleteAction());
menuManager.add(new FilterInfoAction());
}
- private void addDetectors(IMenuManager mgr, Set> measurements) {
-
- Collection> detectors = filterFactory.getProcessors(ProcessorFactory.genericClass(IMeasurementPeakDetector.class), (detector, u) -> detector.acceptsIMeasurements(measurements));
- for(IMeasurementPeakDetector> peakDetector : detectors) {
- mgr.add(new Action() {
-
- @Override
- public String getText() {
-
- return peakDetector.getName();
- }
-
- @Override
- public void run() {
-
- Map, PeakList> peaks = peakDetector.detectIMeasurementPeaks(measurements, null, new DefaultProcessingResult<>(), null);
- for(Entry, PeakList> entries : peaks.entrySet()) {
- entries.getKey().addMeasurementResult(entries.getValue());
- }
- propertyChange(new PropertyChangeEvent(this, "PeakDetection", detectors, ChangeType.SELECTION_CHANGED));
- }
- });
- }
- }
-
private void addFilter(IMenuManager mgr, Set> measurements) {
Collection> filters = filterFactory.getProcessors(ProcessorFactory.genericClass(IMeasurementFilter.class), (filter, properties) -> filter.acceptsIMeasurements(measurements));
diff --git a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ExtendedNMRScanUI.java b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ExtendedNMRScanUI.java
index c3c35ec555..21a3aed768 100644
--- a/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ExtendedNMRScanUI.java
+++ b/chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/editors/ExtendedNMRScanUI.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2018, 2025 Lablicate GmbH.
+ * Copyright (c) 2018, 2026 Lablicate GmbH.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
@@ -20,7 +20,6 @@
import java.util.List;
import org.eclipse.chemclipse.model.core.IComplexSignalMeasurement;
-import org.eclipse.chemclipse.model.core.PeakList;
import org.eclipse.chemclipse.nmr.model.core.AcquisitionParameter;
import org.eclipse.chemclipse.nmr.model.core.IMeasurementFID;
import org.eclipse.chemclipse.nmr.model.core.ISpectrumMeasurement;
@@ -32,11 +31,8 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
-import org.eclipse.swtchart.ILineSeries.PlotSymbolType;
-import org.eclipse.swtchart.LineStyle;
import org.eclipse.swtchart.extensions.core.AbstractAxisScaleConverter;
import org.eclipse.swtchart.extensions.core.IChartSettings;
-import org.eclipse.swtchart.extensions.core.ISeriesData;
import org.eclipse.swtchart.extensions.linecharts.ILineSeriesData;
import org.eclipse.swtchart.extensions.linecharts.ILineSeriesSettings;
import org.eclipse.swtchart.extensions.linecharts.LineSeriesData;
@@ -84,7 +80,6 @@ public void updateScan() {
IComplexSignalMeasurement> measurement = getCurrentMeasurement();
AcquisitionParameter acquisitionParameter;
boolean enableArea;
- ISeriesData peakSeriesData = null;
if(measurement instanceof ISpectrumMeasurement spectrumMeasurement) {
acquisitionParameter = spectrumMeasurement.getAcquisitionParameter();
chartNMR.setPPMconverter(new AbstractAxisScaleConverter() {
@@ -103,10 +98,6 @@ public double convertToPrimaryUnit(double secondaryValue) {
});
chartNMR.modifyChart(false);
enableArea = true;
- PeakList peakList = spectrumMeasurement.getMeasurementResult(PeakList.class);
- if(peakList != null) {
- peakSeriesData = ChartNMR.createPeakSeries(SERIES_ID + ".peaks", spectrumMeasurement.getSignals(), peakList.getResult(), 0, 0);
- }
} else if(measurement instanceof IMeasurementFID fidMeasurement) {
acquisitionParameter = fidMeasurement.getAcquisitionParameter();
chartNMR.setPPMconverter(null);
@@ -118,31 +109,10 @@ public double convertToPrimaryUnit(double secondaryValue) {
}
List lineSeriesDataList = new ArrayList<>();
ILineSeriesData lineSeriesData = new LineSeriesData(ChartNMR.createSignalSeries(SERIES_ID, measurement.getSignals()));
- if(Boolean.getBoolean("editor.nmr.debug.seriesdata")) {
- System.out.println("============ " + measurement.getDataName() + " ==================");
- AcquisitionParameter.print(acquisitionParameter);
- ISeriesData data = lineSeriesData.getSeriesData();
- double[] xSeries = data.getXSeries();
- double[] ySeries = data.getYSeries();
- for(int i = 0; i < xSeries.length; i++) {
- if(i < 100 || i > xSeries.length - 100) {
- System.out.println("[" + i + "] time = " + xSeries[i] + ", signal = " + ySeries[i]);
- }
- }
- }
ILineSeriesSettings lineSeriesSettings = lineSeriesData.getSettings();
lineSeriesSettings.setEnableArea(enableArea);
lineSeriesSettings.setLineColor(Colors.RED);
lineSeriesDataList.add(lineSeriesData);
- if(peakSeriesData != null) {
- LineSeriesData peakSeries = new LineSeriesData(peakSeriesData);
- lineSeriesDataList.add(peakSeries);
- ILineSeriesSettings settings = peakSeries.getLineSeriesSettings();
- settings.setLineStyle(LineStyle.NONE);
- settings.setSymbolType(PlotSymbolType.INVERTED_TRIANGLE);
- settings.setSymbolColor(Colors.BLACK);
- settings.setSymbolSize(3);
- }
chartNMR.addSeriesData(lineSeriesDataList);
}
} finally {