Loading openflexure_microscope/api/default_extensions/scan.py +44 −30 Original line number Diff line number Diff line Loading @@ -56,9 +56,20 @@ def flatten_grid(grid): ### Capturing class ScanExtension(BaseExtension): def __init__(self): self._images_to_be_captured: int = 1 self._images_captured_so_far: int = 0 BaseExtension.__init__(self, "org.openflexure.scan", version="2.0.0") def capture( self, microscope, basename, namemode: str = "coordinates", temporary: bool = False, use_video_port: bool = False, resize: Tuple[int, int] = None, Loading @@ -69,7 +80,10 @@ def capture( ): # Construct a tile filename if namemode == "coordinates": filename = "{}_{}_{}_{}".format(basename, *microscope.stage.position) else: filename = "{}_{}".format(basename, str(self._images_captured_so_far).zfill(len(str(self._images_to_be_captured)))) folder = "SCAN_{}".format(basename) # Do capture Loading @@ -86,13 +100,6 @@ def capture( cache_key=folder ) class ScanExtension(BaseExtension): def __init__(self): self._images_to_be_captured: int = 1 self._images_captured_so_far: int = 0 BaseExtension.__init__(self, "org.openflexure.scan", version="2.0.0") def progress(self): progress = (self._images_captured_so_far / self._images_to_be_captured) * 100 logging.info(progress) Loading @@ -103,6 +110,7 @@ class ScanExtension(BaseExtension): self, microscope, basename: str = None, namemode: str = "coordinates", temporary: bool = False, stride_size: int = [2000, 1500, 100], grid: list = [3, 3, 5], Loading Loading @@ -198,6 +206,7 @@ class ScanExtension(BaseExtension): capture( microscope, basename, namemode=namemode, temporary=temporary, use_video_port=use_video_port, resize=resize, Loading @@ -214,6 +223,7 @@ class ScanExtension(BaseExtension): self.stack( microscope=microscope, basename=basename, namemode=namemode, temporary=temporary, step_size=stride_size[2], steps=grid[2], Loading @@ -240,6 +250,7 @@ class ScanExtension(BaseExtension): self, microscope, basename: str = None, namemode: str = "coordinates", temporary: bool = False, step_size: int = 100, steps: int = 5, Loading @@ -265,9 +276,10 @@ class ScanExtension(BaseExtension): for i in range(steps): time.sleep(0.1) logging.debug(f"Capturing from position {microscope.stage.position}") capture( self.capture( microscope, basename, namemode=namemode, temporary=temporary, use_video_port=use_video_port, resize=resize, Loading Loading @@ -295,6 +307,7 @@ scan_extension_v2 = ScanExtension() class TileScanAPI(ActionView): args = { "filename": fields.String(missing=None, example=None), "namemode": fields.String(missing="coordinates", example="coordinates"), "temporary": fields.Boolean(missing=False), "stride_size": fields.List( fields.Integer, missing=[2000, 1500, 100], example=[2000, 1500, 100] Loading Loading @@ -338,6 +351,7 @@ class TileScanAPI(ActionView): return scan_extension_v2.tile( microscope, basename=args.get("filename"), namemode=args.get("namemode"), temporary=args.get("temporary"), stride_size=args.get("stride_size"), grid=args.get("grid"), Loading openflexure_microscope/api/static/src/components/controlComponents/paneCapture.vue +13 −0 Original line number Diff line number Diff line Loading @@ -227,6 +227,17 @@ <option>Snake</option> </select> </div> <div class="uk-margin-small uk-margin-remove-bottom"> <label class="uk-form-label" for="form-stacked-text" >Naming style</label > <select v-model="namingStyle" class="uk-select"> <option>Coordinates</option> <option>Number</option> </select> </div> </div> </div> </li> Loading Loading @@ -284,6 +295,7 @@ export default { scanCapture: false, scanDeltaZ: "Fast", scanStyle: "Raster", namingStyle: "Coordinates", scanStepSize: { x: 0, y: 0, Loading Loading @@ -364,6 +376,7 @@ export default { this.scanStepSize.z ]; payload.style = this.scanStyle.toLowerCase(); payload.namemode = this.namingStyle.toLowerCase(); // Convert AF selector to dz var afDeltas = { Loading Loading
openflexure_microscope/api/default_extensions/scan.py +44 −30 Original line number Diff line number Diff line Loading @@ -56,9 +56,20 @@ def flatten_grid(grid): ### Capturing class ScanExtension(BaseExtension): def __init__(self): self._images_to_be_captured: int = 1 self._images_captured_so_far: int = 0 BaseExtension.__init__(self, "org.openflexure.scan", version="2.0.0") def capture( self, microscope, basename, namemode: str = "coordinates", temporary: bool = False, use_video_port: bool = False, resize: Tuple[int, int] = None, Loading @@ -69,7 +80,10 @@ def capture( ): # Construct a tile filename if namemode == "coordinates": filename = "{}_{}_{}_{}".format(basename, *microscope.stage.position) else: filename = "{}_{}".format(basename, str(self._images_captured_so_far).zfill(len(str(self._images_to_be_captured)))) folder = "SCAN_{}".format(basename) # Do capture Loading @@ -86,13 +100,6 @@ def capture( cache_key=folder ) class ScanExtension(BaseExtension): def __init__(self): self._images_to_be_captured: int = 1 self._images_captured_so_far: int = 0 BaseExtension.__init__(self, "org.openflexure.scan", version="2.0.0") def progress(self): progress = (self._images_captured_so_far / self._images_to_be_captured) * 100 logging.info(progress) Loading @@ -103,6 +110,7 @@ class ScanExtension(BaseExtension): self, microscope, basename: str = None, namemode: str = "coordinates", temporary: bool = False, stride_size: int = [2000, 1500, 100], grid: list = [3, 3, 5], Loading Loading @@ -198,6 +206,7 @@ class ScanExtension(BaseExtension): capture( microscope, basename, namemode=namemode, temporary=temporary, use_video_port=use_video_port, resize=resize, Loading @@ -214,6 +223,7 @@ class ScanExtension(BaseExtension): self.stack( microscope=microscope, basename=basename, namemode=namemode, temporary=temporary, step_size=stride_size[2], steps=grid[2], Loading @@ -240,6 +250,7 @@ class ScanExtension(BaseExtension): self, microscope, basename: str = None, namemode: str = "coordinates", temporary: bool = False, step_size: int = 100, steps: int = 5, Loading @@ -265,9 +276,10 @@ class ScanExtension(BaseExtension): for i in range(steps): time.sleep(0.1) logging.debug(f"Capturing from position {microscope.stage.position}") capture( self.capture( microscope, basename, namemode=namemode, temporary=temporary, use_video_port=use_video_port, resize=resize, Loading Loading @@ -295,6 +307,7 @@ scan_extension_v2 = ScanExtension() class TileScanAPI(ActionView): args = { "filename": fields.String(missing=None, example=None), "namemode": fields.String(missing="coordinates", example="coordinates"), "temporary": fields.Boolean(missing=False), "stride_size": fields.List( fields.Integer, missing=[2000, 1500, 100], example=[2000, 1500, 100] Loading Loading @@ -338,6 +351,7 @@ class TileScanAPI(ActionView): return scan_extension_v2.tile( microscope, basename=args.get("filename"), namemode=args.get("namemode"), temporary=args.get("temporary"), stride_size=args.get("stride_size"), grid=args.get("grid"), Loading
openflexure_microscope/api/static/src/components/controlComponents/paneCapture.vue +13 −0 Original line number Diff line number Diff line Loading @@ -227,6 +227,17 @@ <option>Snake</option> </select> </div> <div class="uk-margin-small uk-margin-remove-bottom"> <label class="uk-form-label" for="form-stacked-text" >Naming style</label > <select v-model="namingStyle" class="uk-select"> <option>Coordinates</option> <option>Number</option> </select> </div> </div> </div> </li> Loading Loading @@ -284,6 +295,7 @@ export default { scanCapture: false, scanDeltaZ: "Fast", scanStyle: "Raster", namingStyle: "Coordinates", scanStepSize: { x: 0, y: 0, Loading Loading @@ -364,6 +376,7 @@ export default { this.scanStepSize.z ]; payload.style = this.scanStyle.toLowerCase(); payload.namemode = this.namingStyle.toLowerCase(); // Convert AF selector to dz var afDeltas = { Loading