Source code for allensdk.internal.api.queries.equipment_lims_queries
import pandas as pd
from allensdk.internal.api import PostgresQueryMixin
[docs]def experiment_configs_from_equipment_id_and_type(
equipment_id: int,
config_type: str,
lims_connection: PostgresQueryMixin) -> pd.DataFrame:
"""
Return the configuration of a piece of experimental
equipment as a function of time.
Parameters
----------
equipment_id: int
config_type: str
The observatory_experiment_config_types.name
corresponding to the configuration you want.
One of 'led position', 'behavior camera position',
'eye camera position', or 'screen position'
lims_connection: PostrgresQueryMixin
Returns
-------
experiment_config: pd.DataFrame
Columns are
active_date -- the date the config took effect
center_x_mm
center_y_mm
center_z_mm
rotation_x_deg
rotation_y_deg
rotation_z_deg
"""
query = f"""
SELECT
id
FROM
observatory_experiment_config_types
WHERE
observatory_experiment_config_types.name='{config_type}'
"""
config_id = lims_connection.fetchone(query)
return experiment_configs_from_equipment_id(
equipment_id=equipment_id,
config_type_id=config_id,
lims_connection=lims_connection)
[docs]def experiment_configs_from_equipment_id(
equipment_id: int,
config_type_id: int,
lims_connection: PostgresQueryMixin) -> pd.DataFrame:
"""
Return the configuration of a piece of experimental
equipment as a function of time.
Parameters
----------
equipment_id: int
config_type_id: str
The observatory_experiment_config_types.id
corresponding to the configuration you want.
lims_connection: PostrgresQueryMixin
Returns
-------
experiment_config: pd.DataFrame
Columns are
active_date -- the date the config took effect
center_x_mm
center_y_mm
center_z_mm
rotation_x_deg
rotation_y_deg
rotation_z_deg
"""
query = f"""
SELECT
active_date
,center_x_mm
,center_y_mm
,center_z_mm
,rotation_x_deg
,rotation_y_deg
,rotation_z_deg
FROM observatory_experiment_configs
WHERE
equipment_id={equipment_id}
AND
observatory_experiment_config_type_id={config_type_id}
"""
return lims_connection.select(query)