Skip to content

Commit 39845cf

Browse files
committed
Refactor baseline support methods.
Depends on: eclipse-chemclipse/chemclipse#2723
1 parent a2eee1a commit 39845cf

File tree

1 file changed

+26
-3
lines changed
  • openchrom/plugins/net.openchrom.xxd.process.supplier.templates.ui/src/net/openchrom/xxd/process/supplier/templates/ui/charts

1 file changed

+26
-3
lines changed

openchrom/plugins/net.openchrom.xxd.process.supplier.templates.ui/src/net/openchrom/xxd/process/supplier/templates/ui/charts/PeakDetectorChart.java

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2019, 2025 Lablicate GmbH.
2+
* Copyright (c) 2019, 2026 Lablicate GmbH.
33
*
44
* This program and the accompanying materials are made
55
* available under the terms of the Eclipse Public License 2.0
@@ -14,7 +14,9 @@
1414
package net.openchrom.xxd.process.supplier.templates.ui.charts;
1515

1616
import java.util.ArrayList;
17+
import java.util.HashSet;
1718
import java.util.List;
19+
import java.util.Set;
1820

1921
import org.eclipse.chemclipse.model.baseline.IBaselineModel;
2022
import org.eclipse.chemclipse.model.core.IChromatogram;
@@ -26,6 +28,10 @@
2628
import org.eclipse.chemclipse.model.updates.IPeakUpdateListener;
2729
import org.eclipse.chemclipse.msd.model.core.IChromatogramMSD;
2830
import org.eclipse.chemclipse.msd.model.core.selection.ChromatogramSelectionMSD;
31+
import org.eclipse.chemclipse.support.traces.ITrace;
32+
import org.eclipse.chemclipse.support.traces.TraceFactory;
33+
import org.eclipse.chemclipse.support.traces.TraceNominalMSD;
34+
import org.eclipse.chemclipse.support.traces.TraceRasteredWSD;
2935
import org.eclipse.chemclipse.ux.extension.ui.support.BaselineSelectionPaintListener;
3036
import org.eclipse.chemclipse.ux.extension.xxd.ui.custom.ChromatogramPeakChart;
3137
import org.eclipse.chemclipse.ux.extension.xxd.ui.custom.PeakChartSettings;
@@ -539,8 +545,14 @@ private IPeak extractPeakFromUserSelection(int xStart, int yStart, int xStop, in
539545
* CB
540546
*/
541547
IBaselineModel baselineModel = chromatogram.getBaselineModel();
542-
startIntensity = baselineModel.getBackgroundAbundance(startRetentionTime);
543-
stopIntensity = baselineModel.getBackgroundAbundance(stopRetentionTime);
548+
Set<ITrace> traceSet = getTraceSet(chromatogram, traces);
549+
if(traceSet != null) {
550+
startIntensity = baselineModel.getBackground(startRetentionTime, traceSet);
551+
stopIntensity = baselineModel.getBackground(stopRetentionTime, traceSet);
552+
} else {
553+
startIntensity = baselineModel.getBackground(startRetentionTime);
554+
stopIntensity = baselineModel.getBackground(stopRetentionTime);
555+
}
544556
}
545557
PeakSupport peakSupport = new PeakSupport();
546558
peak = peakSupport.extractPeakByRetentionTime(chromatogram, startRetentionTime, stopRetentionTime, startIntensity, stopIntensity, traces);
@@ -561,6 +573,17 @@ private IPeak extractPeakFromUserSelection(int xStart, int yStart, int xStop, in
561573
return peak;
562574
}
563575

576+
private Set<ITrace> getTraceSet(IChromatogram chromatogram, String traces) {
577+
578+
if(chromatogram instanceof IChromatogramMSD) {
579+
return new HashSet<>(TraceFactory.parseTraces(traces, TraceNominalMSD.class));
580+
} else if(chromatogram instanceof IChromatogramWSD) {
581+
return new HashSet<>(TraceFactory.parseTraces(traces, TraceRasteredWSD.class));
582+
}
583+
584+
return null;
585+
}
586+
564587
private void fireUpdate(IPeak peak) {
565588

566589
if(peakUpdateListener != null) {

0 commit comments

Comments
 (0)