zen_api/acquisition/v1beta/experiment_service.proto#
Version: 2026.5.1
Package: zen_api.acquisition.v1beta
Service ExperimentService#
The IExperimentService interface.
Clone#
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.
rpc Clone (zen_api.acquisition.v1beta.ExperimentServiceCloneRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceCloneResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceCloneRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceCloneResponse
Delete#
Deletes an experiment file from the predefined location on disk. It does not delete the corresponding loaded experiment instance.
rpc Delete (zen_api.acquisition.v1beta.ExperimentServiceDeleteRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceDeleteResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceDeleteRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceDeleteResponse
Export#
Returns xml representation of an experiment.
rpc Export (zen_api.acquisition.v1beta.ExperimentServiceExportRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceExportResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceExportRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceExportResponse
GetAvailableExperiments#
Retrieves a list of all available experiments of the system.
rpc GetAvailableExperiments (zen_api.acquisition.v1beta.ExperimentServiceGetAvailableExperimentsRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceGetAvailableExperimentsResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceGetAvailableExperimentsRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceGetAvailableExperimentsResponse
GetImageOutputPath#
Gets the location where the images will be stored on the machine where ZEN Client is running.
rpc GetImageOutputPath (zen_api.acquisition.v1beta.ExperimentServiceGetImageOutputPathRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceGetImageOutputPathResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceGetImageOutputPathRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceGetImageOutputPathResponse
GetStatus#
Gets status of an experiment. The information is updated in interval (several times per seconds). As a result, some status updates could be skipped.
rpc GetStatus (zen_api.acquisition.v1beta.ExperimentServiceGetStatusRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceGetStatusResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceGetStatusRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceGetStatusResponse
Import#
Imports an experiment from the provided experiment xml string. This method returns the info needed to reference the imported experiment.
rpc Import (zen_api.acquisition.v1beta.ExperimentServiceImportRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceImportResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceImportRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceImportResponse
Load#
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.
rpc Load (zen_api.acquisition.v1beta.ExperimentServiceLoadRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceLoadResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceLoadRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceLoadResponse
RegisterOnStatusChanged#
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.
rpc RegisterOnStatusChanged (zen_api.acquisition.v1beta.ExperimentServiceRegisterOnStatusChangedRequest) returns (stream zen_api.acquisition.v1beta.ExperimentServiceRegisterOnStatusChangedResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceRegisterOnStatusChangedRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceRegisterOnStatusChangedResponse
RunExperiment#
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.
rpc RunExperiment (zen_api.acquisition.v1beta.ExperimentServiceRunExperimentRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceRunExperimentResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceRunExperimentRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceRunExperimentResponse
RunSnap#
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.
rpc RunSnap (zen_api.acquisition.v1beta.ExperimentServiceRunSnapRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceRunSnapResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceRunSnapRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceRunSnapResponse
Save#
Saves a loaded experiment to the predefined location on disk.
rpc Save (zen_api.acquisition.v1beta.ExperimentServiceSaveRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceSaveResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceSaveRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceSaveResponse
StartContinuous#
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.
rpc StartContinuous (zen_api.acquisition.v1beta.ExperimentServiceStartContinuousRequest) returns (google.protobuf.Empty);
Request: zen_api.acquisition.v1beta.ExperimentServiceStartContinuousRequest
Response: google.protobuf.Empty
StartExperiment#
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.
rpc StartExperiment (zen_api.acquisition.v1beta.ExperimentServiceStartExperimentRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceStartExperimentResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceStartExperimentRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceStartExperimentResponse
StartLive#
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.
rpc StartLive (zen_api.acquisition.v1beta.ExperimentServiceStartLiveRequest) returns (google.protobuf.Empty);
Request: zen_api.acquisition.v1beta.ExperimentServiceStartLiveRequest
Response: google.protobuf.Empty
StartSnap#
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.
rpc StartSnap (zen_api.acquisition.v1beta.ExperimentServiceStartSnapRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceStartSnapResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceStartSnapRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceStartSnapResponse
Stop#
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.
rpc Stop (zen_api.acquisition.v1beta.ExperimentServiceStopRequest) returns (zen_api.acquisition.v1beta.ExperimentServiceStopResponse);
Request: zen_api.acquisition.v1beta.ExperimentServiceStopRequest
Response: zen_api.acquisition.v1beta.ExperimentServiceStopResponse
Message ExperimentServiceCloneRequest#
The ExperimentServiceCloneRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | Id of the experiment to be cloned. |
Message ExperimentServiceCloneResponse#
Response object of the method for cloning an experiment.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | The experiment id which is used to reference the cloned experiment. |
Message ExperimentServiceDeleteRequest#
The ExperimentServiceDeleteRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_name |
1 | string |
singular | Name of the experiment to be deleted. |
Message ExperimentServiceDeleteResponse#
The ExperimentServiceDeleteResponse class.
Message ExperimentServiceExportRequest#
The ExperimentServiceExportRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | Experiment id. |
Message ExperimentServiceExportResponse#
Response object of the method for exporting an experiment.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
xml |
1 | string |
singular | Xml string of experiment. |
Message ExperimentServiceGetAvailableExperimentsRequest#
The ExperimentServiceGetAvailableExperimentsRequest class.
Message ExperimentServiceGetAvailableExperimentsResponse#
Response object of available experiments.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiments |
1 | zen_api.acquisition.v1beta.ExperimentDescriptor | repeated | List of available experiments. |
Message ExperimentServiceGetImageOutputPathRequest#
The ExperimentServiceGetImageOutputPathRequest class.
Message ExperimentServiceGetImageOutputPathResponse#
Response object of the method for getting the image output path.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
image_output_path |
1 | string |
singular | The image output path. |
Message ExperimentServiceGetStatusRequest#
The ExperimentServiceGetStatusRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | 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. |
Message ExperimentServiceGetStatusResponse#
Response object representing the status of an experiment.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
status |
1 | zen_api.acquisition.v1beta.ExperimentStatus | singular | The experiment status. |
Message ExperimentServiceImportRequest#
The ExperimentServiceImportRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
xml_string |
1 | string |
singular | Xml string of the experiment. |
Message ExperimentServiceImportResponse#
Response object of the method for importing an experiment.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | The experiment id which is used to reference the imported experiment. |
Message ExperimentServiceLoadRequest#
The ExperimentServiceLoadRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_name |
1 | string |
singular | Name of the experiment. |
Message ExperimentServiceLoadResponse#
Response object of the method for loading an experiment.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | The experiment id which is used to reference the loaded experiment. |
Message ExperimentServiceRegisterOnStatusChangedRequest#
The ExperimentServiceRegisterOnStatusChangedRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | ID of an active experiment for which status is monitored. If ID is not provided, status of one of the active experiments is monitored. |
Message ExperimentServiceRegisterOnStatusChangedResponse#
Response object representing the status of an experiment. It contains full set of status information, which can consist a single or multiple new states.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
status |
1 | zen_api.acquisition.v1beta.ExperimentStatus | singular | The experiment status. |
Message ExperimentServiceRunExperimentRequest#
The ExperimentServiceRunExperimentRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | Experiment id. |
output_name |
2 | string |
singular | 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. |
Message ExperimentServiceRunExperimentResponse#
Information about execution of an experiment.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
output_name |
1 | string |
singular | The name of the experiment's output (in a format of a file name without a file extension). |
Message ExperimentServiceRunSnapRequest#
The ExperimentServiceRunSnapRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | Experiment id. |
output_name |
2 | string |
singular | 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. |
Message ExperimentServiceRunSnapResponse#
Information about execution of a snap experiment.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
output_name |
1 | string |
singular | The name of the snap's output (in a format of a file name without a file extension). |
Message ExperimentServiceSaveRequest#
The ExperimentServiceSaveRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | Experiment id. |
experiment_name |
2 | string |
singular | Name to be used when saving the experiment. |
allow_override |
3 | bool |
singular | Allow override of already existing experiment with the same name. |
Message ExperimentServiceSaveResponse#
The ExperimentServiceSaveResponse class.
Message ExperimentServiceStartContinuousRequest#
The ExperimentServiceStartContinuousRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | Experiment id. |
Message ExperimentServiceStartExperimentRequest#
The ExperimentServiceStartExperimentRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | Experiment id. |
output_name |
2 | string |
singular | 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. |
Message ExperimentServiceStartExperimentResponse#
Information about execution of an experiment.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
output_name |
1 | string |
singular | The name of the experiment's output (in a format of a file name without a file extension). |
Message ExperimentServiceStartLiveRequest#
The ExperimentServiceStartLiveRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | Experiment id. |
track_index |
2 | google.protobuf.Int32Value |
singular | 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". |
Message ExperimentServiceStartSnapRequest#
The ExperimentServiceStartSnapRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | Experiment id. |
output_name |
2 | string |
singular | 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. |
Message ExperimentServiceStartSnapResponse#
Information about execution of a snap experiment.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
output_name |
1 | string |
singular | The name of the snap's output (in a format of a file name without a file extension). |
Message ExperimentServiceStopRequest#
The ExperimentServiceStopRequest class.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | ID of an experiment to stop or an empty GUID to stop one of the active experiments. |
Message ExperimentServiceStopResponse#
Information about execution of an experiment.
| Field | Number | Type | Presence | Description |
|---|---|---|---|---|
experiment_id |
1 | string |
singular | The ID of the experiment which is used to reference the stopped experiment. |