diff --git a/gui/src/aaregui/panels/raster_data_collection.py b/gui/src/aaregui/panels/raster_data_collection.py index 05dcb67b..53955d6f 100644 --- a/gui/src/aaregui/panels/raster_data_collection.py +++ b/gui/src/aaregui/panels/raster_data_collection.py @@ -125,13 +125,17 @@ class RasterDataCollectionPanel(ScanSettingsPanel): def exp_time_s(self, inp: float): self.exp_time_updated.emit(inp) - @Slot(int, int) - def grid_scan_size_change(self, n_x: int, n_y: int): + @Slot(int, int, float, float) + def grid_scan_size_change(self, n_x: int, n_y: int, size_x_mm: float, size_y_mm: float): + self.__size_x = size_x_mm * 1000.0 + self.__size_y = size_y_mm * 1000.0 self.__n_x = n_x self.__n_y = n_y self.update_grid_scan_size() def update_grid_scan_size(self): + self.width_enter.update_value(self.__size_x) + self.height_enter.update_value(self.__size_y) self.n_x_label.setText(str(self.__n_x)) self.size_x_label.setText(f"{self.__size_x * self.__n_x:.1f}") self.n_y_label.setText(str(self.__n_y)) diff --git a/gui/src/aaregui/scan_logic/raster_grid_manager.py b/gui/src/aaregui/scan_logic/raster_grid_manager.py index 63a90ae2..e824f430 100644 --- a/gui/src/aaregui/scan_logic/raster_grid_manager.py +++ b/gui/src/aaregui/scan_logic/raster_grid_manager.py @@ -71,7 +71,7 @@ def normalize_angle(angle_deg: float) -> float: class RasterGridManager(QObject): grid_updated = Signal() grid_scan = Signal(RasterGridRequest) - grid_scan_size_changed = Signal(int, int) + grid_scan_size_changed = Signal(int, int, float, float) completed_grid_updated = Signal() file_ready = Signal(str) @@ -131,8 +131,7 @@ class RasterGridManager(QObject): self.clear_active_grid() if self.__beam_size_mm != s.geom.beam_size_mm: self.__beam_size_mm = s.geom.beam_size_mm - self.__active_grid.grid_size_mm = Coordinate(x= 0.8 * self.__beam_size_mm.x, - y= 0.8 * self.__beam_size_mm.y) + self.update_grid_size(0.8 * self.__beam_size_mm.x, 0.8 * self.__beam_size_mm.y) self.__geom = s.geom def resize_active_grid(self, end_point: QPointF): @@ -165,7 +164,10 @@ class RasterGridManager(QObject): ) self.__active_grid.omega_deg = self.__geom.omega_deg - self.grid_scan_size_changed.emit(self.__active_grid.n_x, self.__active_grid.n_y) + self.grid_scan_size_changed.emit(self.__active_grid.n_x, + self.__active_grid.n_y, + self.__active_grid.grid_size_mm.x, + self.__active_grid.grid_size_mm.y) def move_active_grid(self, delta: QPointF): if not self._is_grid_visible(self.__active_grid): @@ -185,7 +187,9 @@ class RasterGridManager(QObject): def clear_active_grid(self): self.__active_grid.n_x = 0 self.__active_grid.n_y = 0 - self.grid_scan_size_changed.emit(self.__active_grid.n_x, self.__active_grid.n_y) + self.grid_scan_size_changed.emit(0,0, + self.__active_grid.grid_size_mm.x, + self.__active_grid.grid_size_mm.y) def get_grid_coord(self, grid: RasterGridRequest, point: QPointF) -> Tuple[int, int]: point_bl = self.__geom.picture_to_sample(Coordinate(x=point.x(), y=point.y())) @@ -273,7 +277,10 @@ class RasterGridManager(QObject): self.__active_grid.grid_size_mm = Coordinate(x=grid_size_mm_x, y=grid_size_mm_y) - self.grid_scan_size_changed.emit(self.__active_grid.n_x, self.__active_grid.n_y) + self.grid_scan_size_changed.emit(self.__active_grid.n_x, + self.__active_grid.n_y, + self.__active_grid.grid_size_mm.x, + self.__active_grid.grid_size_mm.y) @Slot() def run_grid_scan(self): @@ -398,7 +405,10 @@ class RasterGridManager(QObject): self.__active_grid.visible = True self.__completed_grids[row].request.visible = False - self.grid_scan_size_changed.emit(self.__active_grid.n_x, self.__active_grid.n_y) + self.grid_scan_size_changed.emit(self.__active_grid.n_x, + self.__active_grid.n_y, + self.__active_grid.grid_size_mm.x, + self.__active_grid.grid_size_mm.y) self.completed_grid_updated.emit() def get_completed_grids(self) -> List[CompletedRasterGrid]: