Added temporary support to scans

This commit is contained in:
Joel Collins 2019-04-09 14:57:28 +01:00
parent f9fb6dc721
commit 915958885b
2 changed files with 9 additions and 42 deletions

View file

@ -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

View file

@ -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,