apps.open_ephys¶
OpenEphysAppSettings ¶
Bases: ServiceSettings
Settings for Open Ephys App.
settings_customise_sources
classmethod
¶
settings_customise_sources(
settings_cls: type[BaseSettings],
init_settings: PydanticBaseSettingsSource,
env_settings: PydanticBaseSettingsSource,
dotenv_settings: PydanticBaseSettingsSource,
file_secret_settings: PydanticBaseSettingsSource,
) -> tuple[PydanticBaseSettingsSource, ...]
Customizes the settings sources to include the safe YAML settings source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
settings_cls
|
type[BaseSettings]
|
The settings class |
required |
init_settings
|
PydanticBaseSettingsSource
|
The initial settings source |
required |
env_settings
|
PydanticBaseSettingsSource
|
The environment settings source |
required |
dotenv_settings
|
PydanticBaseSettingsSource
|
The dotenv settings source |
required |
file_secret_settings
|
PydanticBaseSettingsSource
|
The file secret settings source |
required |
Returns:
| Type | Description |
|---|---|
tuple[PydanticBaseSettingsSource, ...]
|
Tuple[PydanticBaseSettingsSource, ...]: A tuple of settings sources |
Source code in src/clabe/services.py
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | |
OpenEphysApp ¶
OpenEphysApp(
settings: OpenEphysAppSettings,
skip_validation: bool = False,
)
Bases: ExecutableApp, _DefaultExecutorMixin
A class to manage the execution of Open Ephys GUI.
Handles Open Ephys GUI execution, configuration management, and process monitoring for ephys experiments.
Methods:
| Name | Description |
|---|---|
run |
Executes the Open Ephys GUI |
get_result |
Retrieves the result of the Open Ephys execution |
add_app_settings |
Adds or updates application settings |
validate |
Validates the Open Ephys application configuration |
Initializes the OpenEphysApp instance.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
settings
|
OpenEphysAppSettings
|
Settings for the Open Ephys App |
required |
skip_validation
|
bool
|
Whether to skip validation of required files |
False
|
Example
# Create and run a Open Ephys app
app = OpenEphysApp(settings=OpenEphysAppSettings(signal_chain="signal_chain.xml"))
app.run()
Source code in src/clabe/apps/open_ephys.py
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | |
validate ¶
validate()
Validates the existence of required files and directories.
Raises:
| Type | Description |
|---|---|
FileNotFoundError
|
If any required file or directory is missing |
Source code in src/clabe/apps/open_ephys.py
73 74 75 76 77 78 79 80 81 82 83 | |
run ¶
run(
executor_kwargs: dict[str, Any] | None = None,
) -> CommandResult
Execute the command using a local executor and return the result.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
executor_kwargs
|
dict[str, Any] | None
|
Keyword arguments forwarded to the local executor. |
None
|
Source code in src/clabe/apps/_executors.py
288 289 290 291 292 293 294 295 | |
run_async
async
¶
run_async(
executor_kwargs: dict[str, Any] | None = None,
) -> CommandResult
Execute the command asynchronously using a local executor and return the result.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
executor_kwargs
|
dict[str, Any] | None
|
Keyword arguments forwarded to the local executor. |
None
|
Source code in src/clabe/apps/_executors.py
297 298 299 300 301 302 303 304 | |
StatusResponse ¶
Bases: BaseModel
Response from /api/status endpoint.
StatusRequest ¶
Bases: BaseModel
Request to set GUI acquisition/recording mode.
RecordNode ¶
Bases: BaseModel
Information about a Record Node.
RecordingResponse ¶
Bases: BaseModel
Response from /api/recording endpoint.
RecordingRequest ¶
Bases: BaseModel
Request to update recording configuration.
RecordNodeRequest ¶
Bases: BaseModel
Request to update a specific Record Node.
Stream ¶
Bases: BaseModel
Data stream information.
Processor ¶
Bases: BaseModel
Processor/plugin information.
ProcessorsResponse ¶
Bases: BaseModel
Response from /api/processors endpoint.
ConfigRequest ¶
Bases: BaseModel
Request to send configuration message to a processor.
MessageRequest ¶
Bases: BaseModel
Request to broadcast a message to all processors.
WindowRequest ¶
Bases: BaseModel
Request to control GUI window.