def run_position(self, position_name, position_coords):
    'Do everything required for taking a timepoint at a single position\n        EXCEPT focusing / image acquisition. This includes moving the stage to\n        the right x,y position, loading and saving metadata, and saving image\n        data, as generated by acquire_images()'
    timestamp = time.time()
    (position_dir, metadata_path, position_metadata) = self._position_metadata(position_name)
    position_dir.mkdir(exist_ok=True)
    if (self.scope is not None):
        with self.debug_timing('Stage positioning'):
            self.scope.stage.position = position_coords
    (images, image_names, new_metadata) = self.acquire_images(position_name, position_dir, position_metadata)
    new_metadata['timestamp'] = timestamp
    new_metadata['timepoint'] = self.timepoint_prefix
    position_metadata.append(new_metadata)
    self.finalize_acquisition(position_name, position_dir, position_metadata)
    image_paths = [(position_dir / ((self.timepoint_prefix + ' ') + name)) for name in image_names]
    if (new_metadata is None):
        new_metadata = {}
    if self.write_files:
        self.image_io.write(images, image_paths, self.IMAGE_COMPRESSION)
        self._write_atomic_json(metadata_path, position_metadata)
Do everything required for taking a timepoint at a single position
EXCEPT focusing / image acquisition. This includes moving the stage to
the right x,y position, loading and saving metadata, and saving image
data, as generated by acquire_images()
def run_position(self, position_name, position_coords):
    'Do everything required for taking a timepoint at a single position\n        EXCEPT focusing / image acquisition. This includes moving the stage to\n        the right x,y position, loading and saving metadata, and saving image\n        data, as generated by acquire_images()'
    timestamp = time.time()
    (position_dir, metadata_path, position_metadata) = self._position_metadata(position_name)
    position_dir.mkdir(exist_ok=True)
    if (self.scope is not None):
        with self.debug_timing('Stage positioning'):
            self.scope.stage.position = position_coords
    (images, image_names, new_metadata) = self.acquire_images(position_name, position_dir, position_metadata)
    new_metadata['timestamp'] = timestamp
    new_metadata['timepoint'] = self.timepoint_prefix
    position_metadata.append(new_metadata)
    self.finalize_acquisition(position_name, position_dir, position_metadata)
    image_paths = [(position_dir / ((self.timepoint_prefix + ' ') + name)) for name in image_names]
    if (new_metadata is None):
        new_metadata = {}
    if self.write_files:
        self.image_io.write(images, image_paths, self.IMAGE_COMPRESSION)
        self._write_atomic_json(metadata_path, position_metadata)