diff --git a/openflexure_microscope/plugins/default/scan/api.py b/openflexure_microscope/plugins/default/scan/api.py index 45e514cc..d025f039 100644 --- a/openflexure_microscope/plugins/default/scan/api.py +++ b/openflexure_microscope/plugins/default/scan/api.py @@ -10,6 +10,7 @@ class TileScanAPI(MicroscopeViewPlugin): # Get params filename = payload.param('filename') + temporary = payload.param('temporary', default=False, convert=bool) step_size = payload.param('step_size', default=[2000, 1500, 100], convert=list) step_size = [int(i) for i in step_size] @@ -36,6 +37,7 @@ class TileScanAPI(MicroscopeViewPlugin): task = self.microscope.task.start( self.plugin.tile, basename=filename, + temporary=temporary, step_size=step_size, grid=grid, style=style, @@ -49,43 +51,3 @@ class TileScanAPI(MicroscopeViewPlugin): # return a handle on the autofocus task return jsonify(task.state), 202 - - -class ZStackAPI(MicroscopeViewPlugin): - def post(self): - payload = JsonPayload(request) - - # Get params - name = payload.param('name') - step_size = payload.param('step_size', default=100, convert=int) - steps = payload.param('steps', default=5, convert=int) - center = payload.param('center', default=True, convert=bool) - - use_video_port = payload.param('use_video_port', default=False, convert=bool) - resize = payload.param('size', default=None) - if resize: - if ('width' in resize) and ('height' in resize): - resize = (int(resize['width']), int(resize['height'])) # Convert dict to tuple - else: - abort(404) - - bayer = payload.param('bayer', default=True, convert=bool) - metadata = payload.param('metadata', default={}, convert=dict) - tags = payload.param('tags', default=[], convert=list) - - print("Running tile scan...") - task = self.microscope.task.start( - self.plugin.stack, - basename=name, - step_size=step_size, - steps=steps, - center=center, - use_video_port=use_video_port, - resize=resize, - bayer=bayer, - metadata=metadata, - tags=tags - ) - - # return a handle on the autofocus task - return jsonify(task.state), 202 diff --git a/openflexure_microscope/plugins/default/scan/plugin.py b/openflexure_microscope/plugins/default/scan/plugin.py index e8c957a6..d8f26dba 100644 --- a/openflexure_microscope/plugins/default/scan/plugin.py +++ b/openflexure_microscope/plugins/default/scan/plugin.py @@ -48,12 +48,12 @@ class ScanPlugin(MicroscopePlugin): api_views = { '/tile': TileScanAPI, - '/stack': ZStackAPI, } def capture(self, basename, scan_id, + temporary: bool = False, use_video_port: bool = False, resize: Tuple[int, int] = None, bayer: bool = False, @@ -67,7 +67,7 @@ class ScanPlugin(MicroscopePlugin): # Create output object output = self.microscope.camera.new_image( write_to_file=True, - temporary=False, + temporary=temporary, filename=filename, folder=foldername) @@ -94,6 +94,7 @@ class ScanPlugin(MicroscopePlugin): def tile( self, basename: str = None, + temporary: bool = False, step_size: int = [2000, 1500, 100], grid: list = [3, 3, 5], style='raster', @@ -159,6 +160,7 @@ class ScanPlugin(MicroscopePlugin): self.capture( basename, scan_id, + temporary=temporary, use_video_port=use_video_port, resize=resize, bayer=bayer, @@ -169,6 +171,7 @@ class ScanPlugin(MicroscopePlugin): logging.debug("Entering z-stack") self.stack( basename=basename, + temporary=temporary, scan_id=scan_id, step_size=step_size[2], steps=grid[2], @@ -186,6 +189,7 @@ class ScanPlugin(MicroscopePlugin): def stack( self, basename: str = None, + temporary: bool = False, scan_id: str = None, step_size: int = 100, steps: int = 5, @@ -224,6 +228,7 @@ class ScanPlugin(MicroscopePlugin): self.capture( basename, scan_id, + temporary=temporary, use_video_port=use_video_port, resize=resize, bayer=bayer,