From 6a958ef6ad5faacad518008a6fbe1883e9e240b9 Mon Sep 17 00:00:00 2001
From: Mikhail Svechnikov <m.svechnikov@fz-juelich.de>
Date: Tue, 27 Feb 2024 15:25:36 +0100
Subject: [PATCH] rm code duplication from crop()

---
 Device/Data/Datafield.cpp | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/Device/Data/Datafield.cpp b/Device/Data/Datafield.cpp
index 404883c17e8..e5cd75dc06c 100644
--- a/Device/Data/Datafield.cpp
+++ b/Device/Data/Datafield.cpp
@@ -285,19 +285,15 @@ Datafield* Datafield::crop(double xmin, double ymin, double xmax, double ymax) c
             out[iout++] = m_values[i];
     }
     return new Datafield(frame().clone(), out);
+
+    ASSERT(rank() == 2);
 }
 
 Datafield* Datafield::crop(double xmin, double xmax) const
 {
     ASSERT(rank() == 1);
-    std::vector<Bin1D> outbins;
-    for (size_t i = 0; i < xAxis().size(); ++i) {
-        const double x = xAxis().binCenter(i);
-        if (xmin <= x && x <= xmax)
-            outbins.push_back(xAxis().bin(i));
-    }
 
-    auto* xclipped = new Scale(xAxis().axisLabel(), outbins);
+    Scale* xclipped = xAxis().clipped(xmin, xmax).clone();
 
     const size_t N = size();
     std::vector<double> out;
-- 
GitLab