Skip to content

acquisition.v1beta#

zen_api.acquisition.v1beta #

Classes:

PixelType #

Bases: Enum

Pixel type of image data.

Attributes:

  • UNSPECIFIED –

    Default value if status is not specified.

  • GRAY8 –

    8 bit unsigned.

  • GRAY16 –

    16 bit unsigned.

  • BGR24 –

    8 bit triples, representing the color channels Blue, Green and Red.

  • BGR48 –

    16 bit triples, representing the color channels Blue, Green and Red.

UNSPECIFIED class-attribute instance-attribute #

UNSPECIFIED = 0

Default value if status is not specified.

GRAY8 class-attribute instance-attribute #

GRAY8 = 1

8 bit unsigned.

GRAY16 class-attribute instance-attribute #

GRAY16 = 2

16 bit unsigned.

BGR24 class-attribute instance-attribute #

BGR24 = 4

8 bit triples, representing the color channels Blue, Green and Red.

BGR48 class-attribute instance-attribute #

BGR48 = 5

16 bit triples, representing the color channels Blue, Green and Red.

ExperimentDescriptor dataclass #

ExperimentDescriptor(name: str = betterproto.string_field(1))

Bases: Message

Descriptors for experiment.

Attributes:

  • name (str) –

    Experiment name.

name class-attribute instance-attribute #

name: str = betterproto.string_field(1)

Experiment name.

ExperimentStatus dataclass #

ExperimentStatus(tiles_index: int = betterproto.int32_field(1), tiles_count: int = betterproto.int32_field(2), cumulated_tiles_count: int = betterproto.int32_field(3), scenes_index: int = betterproto.int32_field(4), scenes_count: int = betterproto.int32_field(5), time_points_index: int = betterproto.int32_field(6), time_points_count: int = betterproto.int32_field(7), zstack_slices_index: int = betterproto.int32_field(8), zstack_slices_count: int = betterproto.int32_field(9), channels_index: int = betterproto.int32_field(10), channels_count: int = betterproto.int32_field(11), images_acquired_index: int = betterproto.int32_field(12), images_count: int = betterproto.int32_field(13), is_experiment_running: bool = betterproto.bool_field(14), is_acquisition_running: bool = betterproto.bool_field(15), total_elapsed_time: timedelta = betterproto.message_field(16))

Bases: Message

Status of an experiment. The index properties are 0-based. If a value is 0 or -1 it means the value is not initialized or the running experiment does not have the corresponding dimension. In case of indices, 0 value can also refer to the first element.

Attributes:

  • tiles_index (int) –

    The current or already acquired (depending of the dimension order) tiles position index

  • tiles_count (int) –

    The tiles count of the currently acquired scene.

  • cumulated_tiles_count (int) –

    The total tiles count of all scenes.

  • scenes_index (int) –

    The current or already acquired (depending of the dimension order) scene index (= tile region/position index).

  • scenes_count (int) –

    The total scene count (= tile region/position count).

  • time_points_index (int) –

    The current or already acquired (depending of the dimension order) time point index in time series.

  • time_points_count (int) –

    The number of time points in time series.

  • zstack_slices_index (int) –

    The current or already acquired (depending of the dimension order) z-stack slice index.

  • zstack_slices_count (int) –

    The total count of z-stack slices.

  • channels_index (int) –

    The current or already acquired (depending of the dimension order) channel index.

  • channels_count (int) –

    The total channel count.

  • images_acquired_index (int) –

    The number of acquired images over all dimensions (channels, time series, z-stack, cumulated tiles).

  • images_count (int) –

    The images count over all dimensions (channels, time series, z-stack, cumulated tiles).

  • is_experiment_running (bool) –

    A value indicating whether the experiment is currently running.

  • is_acquisition_running (bool) –

    A value indicating whether an acquisition is currently running.

  • total_elapsed_time (timedelta) –

    The total time that elapsed since the start of the running experiment.

tiles_index class-attribute instance-attribute #

tiles_index: int = betterproto.int32_field(1)

The current or already acquired (depending of the dimension order) tiles position index of the currently acquired scene.

tiles_count class-attribute instance-attribute #

tiles_count: int = betterproto.int32_field(2)

The tiles count of the currently acquired scene.

cumulated_tiles_count class-attribute instance-attribute #

cumulated_tiles_count: int = betterproto.int32_field(3)

The total tiles count of all scenes.

scenes_index class-attribute instance-attribute #

scenes_index: int = betterproto.int32_field(4)

The current or already acquired (depending of the dimension order) scene index (= tile region/position index).

scenes_count class-attribute instance-attribute #

scenes_count: int = betterproto.int32_field(5)

The total scene count (= tile region/position count).

time_points_index class-attribute instance-attribute #

time_points_index: int = betterproto.int32_field(6)

The current or already acquired (depending of the dimension order) time point index in time series.

time_points_count class-attribute instance-attribute #

time_points_count: int = betterproto.int32_field(7)

The number of time points in time series.

zstack_slices_index class-attribute instance-attribute #

zstack_slices_index: int = betterproto.int32_field(8)

The current or already acquired (depending of the dimension order) z-stack slice index.

zstack_slices_count class-attribute instance-attribute #

zstack_slices_count: int = betterproto.int32_field(9)

The total count of z-stack slices.

channels_index class-attribute instance-attribute #

channels_index: int = betterproto.int32_field(10)

The current or already acquired (depending of the dimension order) channel index.

channels_count class-attribute instance-attribute #

channels_count: int = betterproto.int32_field(11)

The total channel count.

images_acquired_index class-attribute instance-attribute #

images_acquired_index: int = betterproto.int32_field(12)

The number of acquired images over all dimensions (channels, time series, z-stack, cumulated tiles).

images_count class-attribute instance-attribute #

images_count: int = betterproto.int32_field(13)

The images count over all dimensions (channels, time series, z-stack, cumulated tiles). This value is relevant only for acquisition where end is determined (standard experiment and Snap), therefore it is not relevant for Continuous and Live.

is_experiment_running class-attribute instance-attribute #

is_experiment_running: bool = betterproto.bool_field(14)

A value indicating whether the experiment is currently running.

is_acquisition_running class-attribute instance-attribute #

is_acquisition_running: bool = betterproto.bool_field(15)

A value indicating whether an acquisition is currently running.

total_elapsed_time class-attribute instance-attribute #

total_elapsed_time: timedelta = betterproto.message_field(16)

The total time that elapsed since the start of the running experiment.

ExperimentServiceCloneRequest dataclass #

ExperimentServiceCloneRequest(experiment_id: str = betterproto.string_field(1))

Bases: Message

The ExperimentServiceCloneRequest class.

Attributes:

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

Id of the experiment to be cloned.

ExperimentServiceCloneResponse dataclass #

ExperimentServiceCloneResponse(experiment_id: str = betterproto.string_field(1))

Bases: Message

Response object of the method for cloning an experiment.

Attributes:

  • experiment_id (str) –

    The experiment id which is used to reference the cloned experiment.

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

The experiment id which is used to reference the cloned experiment.

ExperimentServiceDeleteRequest dataclass #

ExperimentServiceDeleteRequest(experiment_name: str = betterproto.string_field(1))

Bases: Message

The ExperimentServiceDeleteRequest class.

Attributes:

experiment_name class-attribute instance-attribute #

experiment_name: str = betterproto.string_field(1)

Name of the experiment to be deleted.

ExperimentServiceDeleteResponse dataclass #

ExperimentServiceDeleteResponse()

Bases: Message

The ExperimentServiceDeleteResponse class.

ExperimentServiceExportRequest dataclass #

ExperimentServiceExportRequest(experiment_id: str = betterproto.string_field(1))

Bases: Message

The ExperimentServiceExportRequest class.

Attributes:

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

Experiment id.

ExperimentServiceExportResponse dataclass #

ExperimentServiceExportResponse(xml: str = betterproto.string_field(1))

Bases: Message

Response object of the method for exporting an experiment.

Attributes:

  • xml (str) –

    Xml string of experiment.

xml class-attribute instance-attribute #

xml: str = betterproto.string_field(1)

Xml string of experiment.

ExperimentServiceGetAvailableExperimentsRequest dataclass #

ExperimentServiceGetAvailableExperimentsRequest()

Bases: Message

The ExperimentServiceGetAvailableExperimentsRequest class.

ExperimentServiceGetAvailableExperimentsResponse dataclass #

ExperimentServiceGetAvailableExperimentsResponse(experiments: List[ExperimentDescriptor] = betterproto.message_field(1))

Bases: Message

Response object of available experiments.

Attributes:

experiments class-attribute instance-attribute #

experiments: List[ExperimentDescriptor] = betterproto.message_field(1)

List of available experiments.

ExperimentServiceGetImageOutputPathRequest dataclass #

ExperimentServiceGetImageOutputPathRequest()

Bases: Message

The ExperimentServiceGetImageOutputPathRequest class.

ExperimentServiceGetImageOutputPathResponse dataclass #

ExperimentServiceGetImageOutputPathResponse(image_output_path: str = betterproto.string_field(1))

Bases: Message

Response object of the method for getting the image output path.

Attributes:

image_output_path class-attribute instance-attribute #

image_output_path: str = betterproto.string_field(1)

The image output path.

ExperimentServiceGetStatusRequest dataclass #

ExperimentServiceGetStatusRequest(experiment_id: str = betterproto.string_field(1))

Bases: Message

The ExperimentServiceGetStatusRequest class.

Attributes:

  • experiment_id (str) –

    ID of an experiment for which status is requested.

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

ID of an experiment for which status is requested. If ID is provided, the status can be retrieved for both active and finished experiments. If ID is not provided, status of one of the active experiments is returned. If ID is not provided and there are no active experiments, an exception is thrown.

ExperimentServiceGetStatusResponse dataclass #

ExperimentServiceGetStatusResponse(status: ExperimentStatus = betterproto.message_field(1))

Bases: Message

Response object representing the status of an experiment.

Attributes:

status class-attribute instance-attribute #

status: ExperimentStatus = betterproto.message_field(1)

The experiment status.

ExperimentServiceImportRequest dataclass #

ExperimentServiceImportRequest(xml_string: str = betterproto.string_field(1))

Bases: Message

The ExperimentServiceImportRequest class.

Attributes:

  • xml_string (str) –

    Xml string of the experiment.

xml_string class-attribute instance-attribute #

xml_string: str = betterproto.string_field(1)

Xml string of the experiment.

ExperimentServiceImportResponse dataclass #

ExperimentServiceImportResponse(experiment_id: str = betterproto.string_field(1))

Bases: Message

Response object of the method for importing an experiment.

Attributes:

  • experiment_id (str) –

    The experiment id which is used to reference the imported experiment.

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

The experiment id which is used to reference the imported experiment.

ExperimentServiceLoadRequest dataclass #

ExperimentServiceLoadRequest(experiment_name: str = betterproto.string_field(1))

Bases: Message

The ExperimentServiceLoadRequest class.

Attributes:

experiment_name class-attribute instance-attribute #

experiment_name: str = betterproto.string_field(1)

Name of the experiment.

ExperimentServiceLoadResponse dataclass #

ExperimentServiceLoadResponse(experiment_id: str = betterproto.string_field(1))

Bases: Message

Response object of the method for loading an experiment.

Attributes:

  • experiment_id (str) –

    The experiment id which is used to reference the loaded experiment.

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

The experiment id which is used to reference the loaded experiment.

ExperimentServiceRegisterOnStatusChangedRequest dataclass #

ExperimentServiceRegisterOnStatusChangedRequest(experiment_id: str = betterproto.string_field(1))

Bases: Message

The ExperimentServiceRegisterOnStatusChangedRequest class.

Attributes:

  • experiment_id (str) –

    ID of an active experiment for which status is monitored.

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

ID of an active experiment for which status is monitored. If ID is not provided, status of one of the active experiments is monitored.

ExperimentServiceRegisterOnStatusChangedResponse dataclass #

ExperimentServiceRegisterOnStatusChangedResponse(status: ExperimentStatus = betterproto.message_field(1))

Bases: Message

Response object representing the status of an experiment. It contains full set of status information, which can consist a single or multiple new states.

Attributes:

status class-attribute instance-attribute #

status: ExperimentStatus = betterproto.message_field(1)

The experiment status.

ExperimentServiceRunExperimentRequest dataclass #

ExperimentServiceRunExperimentRequest(experiment_id: str = betterproto.string_field(1), output_name: str = betterproto.string_field(2))

Bases: Message

The ExperimentServiceRunExperimentRequest class.

Attributes:

  • experiment_id (str) –

    Experiment id.

  • output_name (str) –

    Optional name of the experiment's output. If a null or an empty name is provided, the

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

Experiment id.

output_name class-attribute instance-attribute #

output_name: str = betterproto.string_field(2)

Optional name of the experiment's output. If a null or an empty name is provided, the output name will be created automatically, otherwise the output name must be in a format of a file name without a file extension.

ExperimentServiceRunExperimentResponse dataclass #

ExperimentServiceRunExperimentResponse(output_name: str = betterproto.string_field(1))

Bases: Message

Information about execution of an experiment.

Attributes:

  • output_name (str) –

    The name of the experiment's output (in a format of a file name without a

output_name class-attribute instance-attribute #

output_name: str = betterproto.string_field(1)

The name of the experiment's output (in a format of a file name without a file extension).

ExperimentServiceRunSnapRequest dataclass #

ExperimentServiceRunSnapRequest(experiment_id: str = betterproto.string_field(1), output_name: str = betterproto.string_field(2))

Bases: Message

The ExperimentServiceRunSnapRequest class.

Attributes:

  • experiment_id (str) –

    Experiment id.

  • output_name (str) –

    Optional name of the experiment's output. If a null or an empty name is provided, the

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

Experiment id.

output_name class-attribute instance-attribute #

output_name: str = betterproto.string_field(2)

Optional name of the experiment's output. If a null or an empty name is provided, the output name will be created automatically, otherwise the output name must be in a format of a file name without a file extension.

ExperimentServiceRunSnapResponse dataclass #

ExperimentServiceRunSnapResponse(output_name: str = betterproto.string_field(1))

Bases: Message

Information about execution of a snap experiment.

Attributes:

  • output_name (str) –

    The name of the snap's output (in a format of a file name without a file

output_name class-attribute instance-attribute #

output_name: str = betterproto.string_field(1)

The name of the snap's output (in a format of a file name without a file extension).

ExperimentServiceSaveRequest dataclass #

ExperimentServiceSaveRequest(experiment_id: str = betterproto.string_field(1), experiment_name: str = betterproto.string_field(2), allow_override: bool = betterproto.bool_field(3))

Bases: Message

The ExperimentServiceSaveRequest class.

Attributes:

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

Experiment id.

experiment_name class-attribute instance-attribute #

experiment_name: str = betterproto.string_field(2)

Name to be used when saving the experiment.

allow_override class-attribute instance-attribute #

allow_override: bool = betterproto.bool_field(3)

Allow override of already existing experiment with the same name.

ExperimentServiceSaveResponse dataclass #

ExperimentServiceSaveResponse()

Bases: Message

The ExperimentServiceSaveResponse class.

ExperimentServiceStartContinuousRequest dataclass #

ExperimentServiceStartContinuousRequest(experiment_id: str = betterproto.string_field(1))

Bases: Message

The ExperimentServiceStartContinuousRequest class.

Attributes:

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

Experiment id.

ExperimentServiceStartExperimentRequest dataclass #

ExperimentServiceStartExperimentRequest(experiment_id: str = betterproto.string_field(1), output_name: str = betterproto.string_field(2))

Bases: Message

The ExperimentServiceStartExperimentRequest class.

Attributes:

  • experiment_id (str) –

    Experiment id.

  • output_name (str) –

    Optional name of the experiment's output. If a null or an empty name is provided, the

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

Experiment id.

output_name class-attribute instance-attribute #

output_name: str = betterproto.string_field(2)

Optional name of the experiment's output. If a null or an empty name is provided, the output name will be created automatically, otherwise the output name must be in a format of a file name without a file extension.

ExperimentServiceStartExperimentResponse dataclass #

ExperimentServiceStartExperimentResponse(output_name: str = betterproto.string_field(1))

Bases: Message

Information about execution of an experiment.

Attributes:

  • output_name (str) –

    The name of the experiment's output (in a format of a file name without a

output_name class-attribute instance-attribute #

output_name: str = betterproto.string_field(1)

The name of the experiment's output (in a format of a file name without a file extension).

ExperimentServiceStartLiveRequest dataclass #

ExperimentServiceStartLiveRequest(experiment_id: str = betterproto.string_field(1), track_index: Optional[int] = betterproto.message_field(2, wraps=betterproto.TYPE_INT32))

Bases: Message

The ExperimentServiceStartLiveRequest class.

Attributes:

  • experiment_id (str) –

    Experiment id.

  • track_index (Optional[int]) –

    Optional track index. When index is not provided the first selected or activated track

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

Experiment id.

track_index class-attribute instance-attribute #

track_index: Optional[int] = betterproto.message_field(2, wraps=betterproto.TYPE_INT32)

Optional track index. When index is not provided the first selected or activated track (in that order) will be used, but when the index is provided the track with than index will be selected. The track index starts with "0".

ExperimentServiceStartSnapRequest dataclass #

ExperimentServiceStartSnapRequest(experiment_id: str = betterproto.string_field(1), output_name: str = betterproto.string_field(2))

Bases: Message

The ExperimentServiceStartSnapRequest class.

Attributes:

  • experiment_id (str) –

    Experiment id.

  • output_name (str) –

    Optional name of the experiment's output. If a null or an empty name is provided, the

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

Experiment id.

output_name class-attribute instance-attribute #

output_name: str = betterproto.string_field(2)

Optional name of the experiment's output. If a null or an empty name is provided, the output name will be created automatically, otherwise the output name must be in a format of a file name without a file extension.

ExperimentServiceStartSnapResponse dataclass #

ExperimentServiceStartSnapResponse(output_name: str = betterproto.string_field(1))

Bases: Message

Information about execution of a snap experiment.

Attributes:

  • output_name (str) –

    The name of the snap's output (in a format of a file name without a file

output_name class-attribute instance-attribute #

output_name: str = betterproto.string_field(1)

The name of the snap's output (in a format of a file name without a file extension).

ExperimentServiceStopRequest dataclass #

ExperimentServiceStopRequest(experiment_id: str = betterproto.string_field(1))

Bases: Message

The ExperimentServiceStopRequest class.

Attributes:

  • experiment_id (str) –

    ID of an experiment to stop or an empty GUID to stop one of the active experiments.

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

ID of an experiment to stop or an empty GUID to stop one of the active experiments.

ExperimentServiceStopResponse dataclass #

ExperimentServiceStopResponse(experiment_id: str = betterproto.string_field(1))

Bases: Message

Information about execution of an experiment.

Attributes:

  • experiment_id (str) –

    The ID of the experiment which is used to reference the stopped experiment.

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

The ID of the experiment which is used to reference the stopped experiment.

FramePixelData dataclass #

FramePixelData(start_position: IntPoint = betterproto.message_field(1), size: IntSize = betterproto.message_field(2), pixel_type: PixelType = betterproto.enum_field(3), raw_data: bytes = betterproto.bytes_field(4))

Bases: Message

A simple container for the frame pixel data. This can contain either the pixels of a full frame or only a part of it (e.g., a line or a rectangle in case of partial acquisition when working with EM and LSM).

Attributes:

start_position class-attribute instance-attribute #

start_position: IntPoint = betterproto.message_field(1)

The start position (in pixels) of the pixel data in the frame. Together with the size property, this represents the rectangle where the pixels are located inside the full frame. For ordinary acquisition this will be the top left corner of the frame, but for partial acquisition this can be any position inside the full frame relative to the top left corner.

size class-attribute instance-attribute #

size: IntSize = betterproto.message_field(2)

Size (in pixels) of the pixel data. Together with the start position property, this represents the rectangle where the pixels are located inside the full frame. For ordinary acquisition this will be the full frame size, but for partial acquisition this can be just one part of the full frame.

pixel_type class-attribute instance-attribute #

pixel_type: PixelType = betterproto.enum_field(3)

The pixel type of the frame.

raw_data class-attribute instance-attribute #

raw_data: bytes = betterproto.bytes_field(4)

The raw pixel data. The value of individual pixels is contained in this container. The pixel values need to be extracted from the raw byte data. The number of bits needed to extract a single pixel from the raw byte data and the format it is stored in is determined by the pixel type property.

FramePosition dataclass #

FramePosition(x: int = betterproto.int32_field(1), y: int = betterproto.int32_field(2), z: int = betterproto.int32_field(3), t: int = betterproto.int32_field(4), s: int = betterproto.int32_field(5), m: int = betterproto.int32_field(6), c: int = betterproto.int32_field(7), h: int = betterproto.int32_field(8))

Bases: Message

Defines the position of the frame in multiple dimensions.

Attributes:

  • x (int) –

    The pixel index in X direction of the top left corner of the frame.

  • y (int) –

    The pixel index in Y direction of the top left corner of the frame.

  • z (int) –

    The Z slice index of the of the frame.

  • t (int) –

    The time point of the frame in a sequentially acquired series of data.

  • s (int) –

    The scene index.

  • m (int) –

    The mosaic tile index.

  • c (int) –

    The channel index in a multi-channel data set.

  • h (int) –

    The raw data index.

x class-attribute instance-attribute #

x: int = betterproto.int32_field(1)

The pixel index in X direction of the top left corner of the frame.

y class-attribute instance-attribute #

y: int = betterproto.int32_field(2)

The pixel index in Y direction of the top left corner of the frame.

z class-attribute instance-attribute #

z: int = betterproto.int32_field(3)

The Z slice index of the of the frame.

t class-attribute instance-attribute #

t: int = betterproto.int32_field(4)

The time point of the frame in a sequentially acquired series of data. Note that this doesn't represents the exact time of acquisition but only the sequence of the acquired image.

s class-attribute instance-attribute #

s: int = betterproto.int32_field(5)

The scene index.

m class-attribute instance-attribute #

m: int = betterproto.int32_field(6)

The mosaic tile index.

c class-attribute instance-attribute #

c: int = betterproto.int32_field(7)

The channel index in a multi-channel data set.

h class-attribute instance-attribute #

h: int = betterproto.int32_field(8)

The raw data index.

FrameStagePosition dataclass #

FrameStagePosition(x: Optional[float] = betterproto.message_field(1, wraps=betterproto.TYPE_DOUBLE), y: Optional[float] = betterproto.message_field(2, wraps=betterproto.TYPE_DOUBLE), z: Optional[float] = betterproto.message_field(3, wraps=betterproto.TYPE_DOUBLE))

Bases: Message

Defines the stage position of the acquired frame.

Attributes:

  • x (Optional[float]) –

    The stage position in X direction (unit: m).

  • y (Optional[float]) –

    The stage position in Y direction (unit: m).

  • z (Optional[float]) –

    The stage position in Z direction (unit: m).

x class-attribute instance-attribute #

x: Optional[float] = betterproto.message_field(1, wraps=betterproto.TYPE_DOUBLE)

The stage position in X direction (unit: m).

y class-attribute instance-attribute #

y: Optional[float] = betterproto.message_field(2, wraps=betterproto.TYPE_DOUBLE)

The stage position in Y direction (unit: m).

z class-attribute instance-attribute #

z: Optional[float] = betterproto.message_field(3, wraps=betterproto.TYPE_DOUBLE)

The stage position in Z direction (unit: m).

Scaling dataclass #

Scaling(x: float = betterproto.double_field(1), y: float = betterproto.double_field(2))

Bases: Message

Defines the scaling of the acquired frame.

Attributes:

  • x (float) –

    The scaling in X dimension (unit: m/pixel).

  • y (float) –

    The scaling in Y dimension (unit: m/pixel).

x class-attribute instance-attribute #

x: float = betterproto.double_field(1)

The scaling in X dimension (unit: m/pixel).

y class-attribute instance-attribute #

y: float = betterproto.double_field(2)

The scaling in Y dimension (unit: m/pixel).

FrameData dataclass #

FrameData(experiment_id: str = betterproto.string_field(1), frame_number: int = betterproto.int32_field(2), frame_position: FramePosition = betterproto.message_field(3), frame_size: IntSize = betterproto.message_field(4), frame_stage_position: FrameStagePosition = betterproto.message_field(5), scaling: Scaling = betterproto.message_field(6), pixel_data: FramePixelData = betterproto.message_field(7))

Bases: Message

A simple container for the frame data. This can contain either a full frame or only a part of it (e.g., in case of partial acquisition when working with EM and LSM).

Attributes:

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

The ID of the experiment.

frame_number class-attribute instance-attribute #

frame_number: int = betterproto.int32_field(2)

The frame sequence number. One frame can represent either a single image taken by the camera or one full scan in case of partial acquisition. One frame can also contain multiple channels if they are acquired in the same image or scan.

frame_position class-attribute instance-attribute #

frame_position: FramePosition = betterproto.message_field(3)

The position of the full frame.

frame_size class-attribute instance-attribute #

frame_size: IntSize = betterproto.message_field(4)

The size of the full frame (in pixels).

frame_stage_position class-attribute instance-attribute #

frame_stage_position: FrameStagePosition = betterproto.message_field(5)

The stage position of the acquired full frame.

scaling class-attribute instance-attribute #

scaling: Scaling = betterproto.message_field(6)

The scaling of the frame.

pixel_data class-attribute instance-attribute #

pixel_data: FramePixelData = betterproto.message_field(7)

The pixel data of the frame. This can contain either the pixels of a full frame or only a part of it (e.g., a line or a rectangle in case of partial acquisition when working with EM and LSM).

ExperimentStreamingServiceMonitorAllExperimentsRequest dataclass #

ExperimentStreamingServiceMonitorAllExperimentsRequest(channel_index: Optional[int] = betterproto.message_field(1, wraps=betterproto.TYPE_INT32), enable_raw_data: bool = betterproto.bool_field(2))

Bases: Message

The ExperimentStreamingServiceMonitorAllExperimentsRequest class.

Attributes:

  • channel_index (Optional[int]) –

    Optional parameter for filtering by specific channel. If the channel index is provided,

  • enable_raw_data (bool) –

    Value indicating whether the streamed frame data contains raw frames as received from

channel_index class-attribute instance-attribute #

channel_index: Optional[int] = betterproto.message_field(1, wraps=betterproto.TYPE_INT32)

Optional parameter for filtering by specific channel. If the channel index is provided, then only that channel will be monitored, but if the channel index is not provided, then all channels will be monitored.

enable_raw_data class-attribute instance-attribute #

enable_raw_data: bool = betterproto.bool_field(2)

Value indicating whether the streamed frame data contains raw frames as received from the acquisition (when set), which can be either full or partial frames (e.g., in general LM cameras produce full frames and LSM and EM detectors produce partial frames/lines). Otherwise (when not set) the streamed frame data contains only full frames, which means that in the case of partial frames/lines, they would be assembled into full frames.

ExperimentStreamingServiceMonitorAllExperimentsResponse dataclass #

ExperimentStreamingServiceMonitorAllExperimentsResponse(frame_data: FrameData = betterproto.message_field(1))

Bases: Message

Response object of the method for monitoring all experiments.

Attributes:

frame_data class-attribute instance-attribute #

frame_data: FrameData = betterproto.message_field(1)

The experiment's frame data.

ExperimentStreamingServiceMonitorExperimentRequest dataclass #

ExperimentStreamingServiceMonitorExperimentRequest(experiment_id: str = betterproto.string_field(1), channel_index: Optional[int] = betterproto.message_field(2, wraps=betterproto.TYPE_INT32), enable_raw_data: bool = betterproto.bool_field(3))

Bases: Message

The ExperimentStreamingServiceMonitorExperimentRequest class.

Attributes:

  • experiment_id (str) –

    ID of the experiment to monitor.

  • channel_index (Optional[int]) –

    Optional parameter for filtering by specific channel. If the channel index is provided,

  • enable_raw_data (bool) –

    Value indicating whether the streamed frame data contains raw frames as received from

experiment_id class-attribute instance-attribute #

experiment_id: str = betterproto.string_field(1)

ID of the experiment to monitor.

channel_index class-attribute instance-attribute #

channel_index: Optional[int] = betterproto.message_field(2, wraps=betterproto.TYPE_INT32)

Optional parameter for filtering by specific channel. If the channel index is provided, then only that channel will be monitored, but if the channel index is not provided, then all channels will be monitored.

enable_raw_data class-attribute instance-attribute #

enable_raw_data: bool = betterproto.bool_field(3)

Value indicating whether the streamed frame data contains raw frames as received from the acquisition (when set), which can be either full or partial frames (e.g., in general LM cameras produce full frames and LSM and EM detectors produce partial frames/lines). Otherwise (when not set) the streamed frame data contains only full frames, which means that in the case of partial frames/lines, they would be assembled into full frames.

ExperimentStreamingServiceMonitorExperimentResponse dataclass #

ExperimentStreamingServiceMonitorExperimentResponse(frame_data: FrameData = betterproto.message_field(1))

Bases: Message

Response object of the method for monitoring an experiment.

Attributes:

frame_data class-attribute instance-attribute #

frame_data: FrameData = betterproto.message_field(1)

The experiment's frame data.

ExperimentServiceStub #

Bases: ServiceStub

Methods:

  • clone –

    Clones an already loaded experiment. Useful when one wants to clone an experiment before

  • delete –

    Deletes an experiment file from the predefined location on disk.

  • export –

    Returns xml representation of an experiment.

  • get_available_experiments –

    Retrieves a list of all available experiments of the system.

  • get_image_output_path –

    Gets the location where the images will be stored on the machine where ZEN Client is

  • get_status –

    Gets status of an experiment.

  • load –

    Loads an experiment from the available experiments. Consequently, the experiment is

  • register_on_status_changed –

    Register on experiment status changed events.

  • run_experiment –

    Executes an experiment and waits until the experiment execution is finished. This means

  • run_snap –

    Acquires a single snap image with the activated channels in the specified experiment and

  • save –

    Saves a loaded experiment to the predefined location on disk.

  • start_continuous –

    Starts the continuous with the activated channels in the specified experiment and waits

  • start_experiment –

    Starts the process of executing an experiment and waits for the acquisition to start.

  • start_live –

    Starts live with the requested track in the specified experiment and waits for the

  • start_snap –

    Starts the process of acquiring a single snap image with the activated channels in the

  • stop –

    Stops the specified experiment or one of the active experiments if the experiment ID is

clone async #

clone(experiment_service_clone_request: ExperimentServiceCloneRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceCloneResponse

Clones an already loaded experiment. Useful when one wants to clone an experiment before modifying it in order to preserve the original experiment. This method returns the info needed to reference the cloned experiment.

delete async #

delete(experiment_service_delete_request: ExperimentServiceDeleteRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceDeleteResponse

Deletes an experiment file from the predefined location on disk. It does not delete the corresponding loaded experiment instance.

export async #

export(experiment_service_export_request: ExperimentServiceExportRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceExportResponse

Returns xml representation of an experiment.

get_available_experiments async #

get_available_experiments(experiment_service_get_available_experiments_request: ExperimentServiceGetAvailableExperimentsRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceGetAvailableExperimentsResponse

Retrieves a list of all available experiments of the system.

get_image_output_path async #

get_image_output_path(experiment_service_get_image_output_path_request: ExperimentServiceGetImageOutputPathRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceGetImageOutputPathResponse

Gets the location where the images will be stored on the machine where ZEN Client is running.

get_status async #

get_status(experiment_service_get_status_request: ExperimentServiceGetStatusRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceGetStatusResponse

Gets status of an experiment. The information is updated in interval (several times per seconds). As a result, some status updates could be skipped.

load async #

load(experiment_service_load_request: ExperimentServiceLoadRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceLoadResponse

Loads an experiment from the available experiments. Consequently, the experiment is ready to be executed or modified. This method returns the info needed to reference the loaded experiment.

register_on_status_changed async #

register_on_status_changed(experiment_service_register_on_status_changed_request: ExperimentServiceRegisterOnStatusChangedRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> AsyncIterator[ExperimentServiceRegisterOnStatusChangedResponse]

Register on experiment status changed events. The information is updated in interval (several times per seconds). As a result, some status updates could be skipped. The notifications can be retrieved for experiments which are active at the time the method is invoked. If the method is invoked after an experiment is finished, the call will throw an exception.

run_experiment async #

run_experiment(experiment_service_run_experiment_request: ExperimentServiceRunExperimentRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceRunExperimentResponse

Executes an experiment and waits until the experiment execution is finished. This means that the method will block until the experiment was successfully completed, it fails, or it is cancelled. If the call is interrupted (e.g., caller is not available anymore) the experiment will be stopped.

run_snap async #

run_snap(experiment_service_run_snap_request: ExperimentServiceRunSnapRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceRunSnapResponse

Acquires a single snap image with the activated channels in the specified experiment and waits until the process of acquiring snap is finished. This means that the method will block until the experiment was successfully completed, it fails, or it is cancelled. If the call is interrupted (e.g., caller is not available anymore) the snap will be stopped.

save async #

save(experiment_service_save_request: ExperimentServiceSaveRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceSaveResponse

Saves a loaded experiment to the predefined location on disk.

start_continuous async #

start_continuous(experiment_service_start_continuous_request: ExperimentServiceStartContinuousRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> betterproto_lib_google_protobuf.Empty

Starts the continuous with the activated channels in the specified experiment and waits for the acquisition to start. After that point continuous will run until it is explicitly stopped or it fails - even if the caller is not available anymore.

start_experiment async #

start_experiment(experiment_service_start_experiment_request: ExperimentServiceStartExperimentRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceStartExperimentResponse

Starts the process of executing an experiment and waits for the acquisition to start. After that point the experiment will either run to completion (successful or not) or until it is explicitly stopped - even if the caller is not available anymore.

start_live async #

start_live(experiment_service_start_live_request: ExperimentServiceStartLiveRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> betterproto_lib_google_protobuf.Empty

Starts live with the requested track in the specified experiment and waits for the acquisition to start. After that point live will run until it is explicitly stopped or it fails - even if the caller is not available anymore.

start_snap async #

start_snap(experiment_service_start_snap_request: ExperimentServiceStartSnapRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceStartSnapResponse

Starts the process of acquiring a single snap image with the activated channels in the specified experiment and waits for the acquisition to start. After that point the snap will either run to completion (successful or not) or until it is explicitly stopped - even if the caller is not available anymore.

stop async #

stop(experiment_service_stop_request: ExperimentServiceStopRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> ExperimentServiceStopResponse

Stops the specified experiment or one of the active experiments if the experiment ID is not provided. This will stop any type of experiment (i.e., experiment, snap, continuous, live) if it is active and known to this service. This method returns the info needed to reference the stopped experiment.

ExperimentStreamingServiceStub #

Bases: ServiceStub

Methods:

monitor_all_experiments async #

monitor_all_experiments(experiment_streaming_service_monitor_all_experiments_request: ExperimentStreamingServiceMonitorAllExperimentsRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> AsyncIterator[ExperimentStreamingServiceMonitorAllExperimentsResponse]

Starts monitoring all experiments.

monitor_experiment async #

monitor_experiment(experiment_streaming_service_monitor_experiment_request: ExperimentStreamingServiceMonitorExperimentRequest, *, timeout: Optional[float] = None, deadline: Optional[Deadline] = None, metadata: Optional[MetadataLike] = None) -> AsyncIterator[ExperimentStreamingServiceMonitorExperimentResponse]

Starts monitoring the specified experiment.

ExperimentServiceBase #

Bases: ServiceBase

Methods:

  • clone –

    Clones an already loaded experiment. Useful when one wants to clone an experiment before

  • delete –

    Deletes an experiment file from the predefined location on disk.

  • export –

    Returns xml representation of an experiment.

  • get_available_experiments –

    Retrieves a list of all available experiments of the system.

  • get_image_output_path –

    Gets the location where the images will be stored on the machine where ZEN Client is

  • get_status –

    Gets status of an experiment.

  • load –

    Loads an experiment from the available experiments. Consequently, the experiment is

  • register_on_status_changed –

    Register on experiment status changed events.

  • run_experiment –

    Executes an experiment and waits until the experiment execution is finished. This means

  • run_snap –

    Acquires a single snap image with the activated channels in the specified experiment and

  • save –

    Saves a loaded experiment to the predefined location on disk.

  • start_continuous –

    Starts the continuous with the activated channels in the specified experiment and waits

  • start_experiment –

    Starts the process of executing an experiment and waits for the acquisition to start.

  • start_live –

    Starts live with the requested track in the specified experiment and waits for the

  • start_snap –

    Starts the process of acquiring a single snap image with the activated channels in the

  • stop –

    Stops the specified experiment or one of the active experiments if the experiment ID is

clone async #

clone(experiment_service_clone_request: ExperimentServiceCloneRequest) -> ExperimentServiceCloneResponse

Clones an already loaded experiment. Useful when one wants to clone an experiment before modifying it in order to preserve the original experiment. This method returns the info needed to reference the cloned experiment.

delete async #

delete(experiment_service_delete_request: ExperimentServiceDeleteRequest) -> ExperimentServiceDeleteResponse

Deletes an experiment file from the predefined location on disk. It does not delete the corresponding loaded experiment instance.

export async #

export(experiment_service_export_request: ExperimentServiceExportRequest) -> ExperimentServiceExportResponse

Returns xml representation of an experiment.

get_available_experiments async #

get_available_experiments(experiment_service_get_available_experiments_request: ExperimentServiceGetAvailableExperimentsRequest) -> ExperimentServiceGetAvailableExperimentsResponse

Retrieves a list of all available experiments of the system.

get_image_output_path async #

get_image_output_path(experiment_service_get_image_output_path_request: ExperimentServiceGetImageOutputPathRequest) -> ExperimentServiceGetImageOutputPathResponse

Gets the location where the images will be stored on the machine where ZEN Client is running.

get_status async #

get_status(experiment_service_get_status_request: ExperimentServiceGetStatusRequest) -> ExperimentServiceGetStatusResponse

Gets status of an experiment. The information is updated in interval (several times per seconds). As a result, some status updates could be skipped.

load async #

load(experiment_service_load_request: ExperimentServiceLoadRequest) -> ExperimentServiceLoadResponse

Loads an experiment from the available experiments. Consequently, the experiment is ready to be executed or modified. This method returns the info needed to reference the loaded experiment.

register_on_status_changed async #

register_on_status_changed(experiment_service_register_on_status_changed_request: ExperimentServiceRegisterOnStatusChangedRequest) -> AsyncIterator[ExperimentServiceRegisterOnStatusChangedResponse]

Register on experiment status changed events. The information is updated in interval (several times per seconds). As a result, some status updates could be skipped. The notifications can be retrieved for experiments which are active at the time the method is invoked. If the method is invoked after an experiment is finished, the call will throw an exception.

run_experiment async #

run_experiment(experiment_service_run_experiment_request: ExperimentServiceRunExperimentRequest) -> ExperimentServiceRunExperimentResponse

Executes an experiment and waits until the experiment execution is finished. This means that the method will block until the experiment was successfully completed, it fails, or it is cancelled. If the call is interrupted (e.g., caller is not available anymore) the experiment will be stopped.

run_snap async #

run_snap(experiment_service_run_snap_request: ExperimentServiceRunSnapRequest) -> ExperimentServiceRunSnapResponse

Acquires a single snap image with the activated channels in the specified experiment and waits until the process of acquiring snap is finished. This means that the method will block until the experiment was successfully completed, it fails, or it is cancelled. If the call is interrupted (e.g., caller is not available anymore) the snap will be stopped.

save async #

save(experiment_service_save_request: ExperimentServiceSaveRequest) -> ExperimentServiceSaveResponse

Saves a loaded experiment to the predefined location on disk.

start_continuous async #

start_continuous(experiment_service_start_continuous_request: ExperimentServiceStartContinuousRequest) -> betterproto_lib_google_protobuf.Empty

Starts the continuous with the activated channels in the specified experiment and waits for the acquisition to start. After that point continuous will run until it is explicitly stopped or it fails - even if the caller is not available anymore.

start_experiment async #

start_experiment(experiment_service_start_experiment_request: ExperimentServiceStartExperimentRequest) -> ExperimentServiceStartExperimentResponse

Starts the process of executing an experiment and waits for the acquisition to start. After that point the experiment will either run to completion (successful or not) or until it is explicitly stopped - even if the caller is not available anymore.

start_live async #

start_live(experiment_service_start_live_request: ExperimentServiceStartLiveRequest) -> betterproto_lib_google_protobuf.Empty

Starts live with the requested track in the specified experiment and waits for the acquisition to start. After that point live will run until it is explicitly stopped or it fails - even if the caller is not available anymore.

start_snap async #

start_snap(experiment_service_start_snap_request: ExperimentServiceStartSnapRequest) -> ExperimentServiceStartSnapResponse

Starts the process of acquiring a single snap image with the activated channels in the specified experiment and waits for the acquisition to start. After that point the snap will either run to completion (successful or not) or until it is explicitly stopped - even if the caller is not available anymore.

stop async #

stop(experiment_service_stop_request: ExperimentServiceStopRequest) -> ExperimentServiceStopResponse

Stops the specified experiment or one of the active experiments if the experiment ID is not provided. This will stop any type of experiment (i.e., experiment, snap, continuous, live) if it is active and known to this service. This method returns the info needed to reference the stopped experiment.

ExperimentStreamingServiceBase #

Bases: ServiceBase

Methods:

monitor_all_experiments async #

monitor_all_experiments(experiment_streaming_service_monitor_all_experiments_request: ExperimentStreamingServiceMonitorAllExperimentsRequest) -> AsyncIterator[ExperimentStreamingServiceMonitorAllExperimentsResponse]

Starts monitoring all experiments.

monitor_experiment async #

monitor_experiment(experiment_streaming_service_monitor_experiment_request: ExperimentStreamingServiceMonitorExperimentRequest) -> AsyncIterator[ExperimentStreamingServiceMonitorExperimentResponse]

Starts monitoring the specified experiment.