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 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 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 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 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 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 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 {