DAQ: Returning list of completed rasters
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from typing import Annotated
|
||||
from typing import Annotated, List
|
||||
|
||||
from jfjoch_client.models.scan_result import ScanResult
|
||||
from pydantic import Field, AfterValidator, BaseModel
|
||||
@@ -37,6 +37,9 @@ class RasterGridRequest(BaseModel):
|
||||
def start_pxl(self, geom: SampleGeometryModel) -> Coordinate:
|
||||
return geom.smargon_to_beamline(self.smargon.sh_mm)
|
||||
|
||||
class CompletedRasterGrid(BaseModel):
|
||||
class CompletedRasterGridElem(BaseModel):
|
||||
request: RasterGridRequest
|
||||
result: ScanResult
|
||||
|
||||
class CompletedRasterGrid(BaseModel):
|
||||
r: List[CompletedRasterGridElem]
|
||||
|
||||
@@ -22,7 +22,7 @@ from aaredaqlib.models import (
|
||||
PuckLoadedInfo,
|
||||
SampleShortInfoList,
|
||||
DAQStatusModel, BeamlineStatus, SessionStatus, SampleCameraSettings, AutofocusSettings, BoundingBoxModel, )
|
||||
from aaredaqlib.raster_grid import RasterGridRequest, CompletedRasterGrid
|
||||
from aaredaqlib.raster_grid import RasterGridRequest, CompletedRasterGrid, CompletedRasterGridElem
|
||||
from aaredaqlib.rotation_scan import RotationScanRequest, CompletedRotationScan
|
||||
from aaredaqlib.sample_geometry import SampleGeometryModel
|
||||
from mxlibs3.jfjoch import JFJochWrapper
|
||||
@@ -399,7 +399,7 @@ class AareDAQ:
|
||||
else:
|
||||
print("Auto finding optimal image failed due to no images found. Using previous position.")
|
||||
self.__devs.smargon.target = save_smargon_position
|
||||
return CompletedRasterGrid(request=copy.deepcopy(r), result=result)
|
||||
return CompletedRasterGrid(r=[CompletedRasterGridElem(request=copy.deepcopy(r), result=result)])
|
||||
|
||||
def measure_raster(self, r: RasterGridRequest, auto: bool) -> CompletedRasterGrid:
|
||||
self.__cfg.try_set_busy(timeout=ceil(360))
|
||||
|
||||
@@ -9,7 +9,7 @@ from typing import List, Tuple
|
||||
|
||||
from aaredaqlib.coordinate import Coordinate, SmargonCoordinate
|
||||
from aaredaqlib.models import DAQStatusModel
|
||||
from aaredaqlib.raster_grid import RasterGridRequest, CompletedRasterGrid
|
||||
from aaredaqlib.raster_grid import RasterGridRequest, CompletedRasterGrid, CompletedRasterGridElem
|
||||
from aaredaqlib.sample_geometry import SampleGeometryModel
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ class RasterGridManager(QObject):
|
||||
transmission=1.0,
|
||||
dtz=120.0
|
||||
)
|
||||
self.__completed_grids : List[CompletedRasterGrid] = []
|
||||
self.__completed_grids : List[CompletedRasterGridElem] = []
|
||||
|
||||
@property
|
||||
def active_grid(self) -> RasterGridRequest:
|
||||
@@ -411,12 +411,15 @@ class RasterGridManager(QObject):
|
||||
self.completed_grid_updated.emit()
|
||||
|
||||
@Slot(CompletedRasterGrid)
|
||||
def grid_scan_completed(self, r: CompletedRasterGrid):
|
||||
self.__completed_grids.append(r)
|
||||
def grid_scan_completed(self, raster_list: CompletedRasterGrid):
|
||||
last_raster = None
|
||||
for raster in raster_list.r:
|
||||
self.__completed_grids.append(raster)
|
||||
last_raster = raster
|
||||
self.__active_grid.n_x = 0
|
||||
self.__active_grid.n_y = 0
|
||||
if r.result.file_prefix is not None:
|
||||
self.file_ready.emit(r.result.file_prefix)
|
||||
if last_raster is not None and last_raster.result.file_prefix is not None:
|
||||
self.file_ready.emit(last_raster.result.file_prefix)
|
||||
self.completed_grid_updated.emit()
|
||||
|
||||
@Slot(int, bool)
|
||||
@@ -459,5 +462,5 @@ class RasterGridManager(QObject):
|
||||
self.__active_grid.grid_size_mm.y)
|
||||
self.completed_grid_updated.emit()
|
||||
|
||||
def get_completed_grids(self) -> List[CompletedRasterGrid]:
|
||||
def get_completed_grids(self) -> List[CompletedRasterGridElem]:
|
||||
return self.__completed_grids
|
||||
Reference in New Issue
Block a user