Skip to content

Commit 06e703d

Browse files
authored
Merge pull request #1600 from AllenNeuralDynamics/release-v2.1.0
Release v2.1.0
2 parents de9fd11 + a494d4e commit 06e703d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+2685
-1586
lines changed

.github/copilot-instructions.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Always use the .venv
2+
Always use unittest
3+
Never add comments
4+
Never run linting

docs/source/acquisition.md

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -71,24 +71,24 @@ The acquisition metadata is split into two parallel pieces: the DataStream and t
7171
At any given moment in time the active DataStream(s) represents all modalities of data being acquired,
7272
while the StimulusEpoch represents all stimuli being presented.
7373

74-
| Field | Type | Description |
74+
| Field | Type | Title (Description) |
7575
|-------|------|-------------|
76-
| `subject_id` | `str` | Unique identifier for the subject |
77-
| `specimen_id` | `Optional[str]` | Specimen ID is required for in vitro imaging modalities |
78-
| `acquisition_start_time` | `datetime (timezone-aware)` | |
79-
| `acquisition_end_time` | `datetime (timezone-aware)` | |
80-
| `experimenters` | `List[str]` | |
81-
| `protocol_id` | `Optional[List[str]]` | DOI for protocols.io |
82-
| `ethics_review_id` | `Optional[List[str]]` | |
83-
| `instrument_id` | `str` | Should match the Instrument.instrument_id |
84-
| `acquisition_type` | `str` | Descriptive string detailing the type of acquisition, should be consistent across similar acquisitions for the same experiment. |
85-
| `notes` | `Optional[str]` | |
86-
| `coordinate_system` | Optional[[CoordinateSystem](components/coordinates.md#coordinatesystem)] | Origin and axis definitions for determining the configured position of devices during acquisition. Required when coordinates are provided within the Acquisition |
87-
| `calibrations` | List[[Calibration](components/measurements.md#calibration) or [VolumeCalibration](components/measurements.md#volumecalibration) or [PowerCalibration](components/measurements.md#powercalibration)] | List of calibration measurements taken prior to acquisition. |
88-
| `maintenance` | List[[Maintenance](components/measurements.md#maintenance)] | List of maintenance on instrument prior to acquisition. |
89-
| `data_streams` | List[[DataStream](acquisition.md#datastream)] | A data stream is a collection of devices that are acquiring data simultaneously. Each acquisition can include multiple streams. Streams should be split when configurations are changed. |
90-
| `stimulus_epochs` | List[[StimulusEpoch](acquisition.md#stimulusepoch)] | A stimulus epoch captures all stimuli being presented during an acquisition. Epochs should be split when the purpose of the stimulus changes. |
91-
| `subject_details` | Optional[[AcquisitionSubjectDetails](acquisition.md#acquisitionsubjectdetails)] | |
76+
| `subject_id` | `str` | Subject ID (Unique identifier for the subject) |
77+
| `specimen_id` | `Optional[str]` | Specimen ID (Specimen ID is required for in vitro imaging modalities) |
78+
| `acquisition_start_time` | `datetime (timezone-aware)` | Acquisition start time |
79+
| `acquisition_end_time` | `datetime (timezone-aware)` | Acquisition end time |
80+
| `experimenters` | `List[str]` | experimenter(s) |
81+
| `protocol_id` | `Optional[List[str]]` | Protocol ID (DOI for protocols.io) |
82+
| `ethics_review_id` | `Optional[List[str]]` | Ethics review ID |
83+
| `instrument_id` | `str` | Instrument ID (Should match the Instrument.instrument_id) |
84+
| `acquisition_type` | `str` | Acquisition type (Descriptive string detailing the type of acquisition, should be consistent across similar acquisitions for the same experiment.) |
85+
| `notes` | `Optional[str]` | Notes |
86+
| `coordinate_system` | Optional[[CoordinateSystem](components/coordinates.md#coordinatesystem)] | Coordinate system (Origin and axis definitions for determining the configured position of devices during acquisition. Required when coordinates are provided within the Acquisition) |
87+
| `calibrations` | List[[Calibration](components/measurements.md#calibration) or [VolumeCalibration](components/measurements.md#volumecalibration) or [PowerCalibration](components/measurements.md#powercalibration)] | Calibrations (List of calibration measurements taken prior to acquisition.) |
88+
| `maintenance` | List[[Maintenance](components/measurements.md#maintenance)] | Maintenance (List of maintenance on instrument prior to acquisition.) |
89+
| `data_streams` | List[[DataStream](acquisition.md#datastream)] | Data streams (A data stream is a collection of devices that are acquiring data simultaneously. Each acquisition can include multiple streams. Streams should be split when configurations are changed.) |
90+
| `stimulus_epochs` | List[[StimulusEpoch](acquisition.md#stimulusepoch)] | Stimulus (A stimulus epoch captures all stimuli being presented during an acquisition. Epochs should be split when the purpose of the stimulus changes.) |
91+
| `subject_details` | Optional[[AcquisitionSubjectDetails](acquisition.md#acquisitionsubjectdetails)] | Subject details |
9292

9393

9494
## Model definitions
@@ -97,63 +97,63 @@ while the StimulusEpoch represents all stimuli being presented.
9797

9898
Details about the subject during an acquisition
9999

100-
| Field | Type | Description |
100+
| Field | Type | Title (Description) |
101101
|-------|------|-------------|
102-
| `animal_weight_prior` | `Optional[decimal.Decimal]` | Animal weight before procedure |
103-
| `animal_weight_post` | `Optional[decimal.Decimal]` | Animal weight after procedure |
104-
| `weight_unit` | [MassUnit](aind_data_schema_models/units.md#massunit) | |
105-
| `anaesthesia` | Optional[[Anaesthetic](components/surgery_procedures.md#anaesthetic)] | |
106-
| `mouse_platform_name` | `str` | |
107-
| `reward_consumed_total` | `Optional[decimal.Decimal]` | |
108-
| `reward_consumed_unit` | Optional[[VolumeUnit](aind_data_schema_models/units.md#volumeunit)] | |
102+
| `animal_weight_prior` | `Optional[decimal.Decimal]` | Animal weight (g) (Animal weight before procedure) |
103+
| `animal_weight_post` | `Optional[decimal.Decimal]` | Animal weight (g) (Animal weight after procedure) |
104+
| `weight_unit` | [MassUnit](aind_data_schema_models/units.md#massunit) | Weight unit |
105+
| `anaesthesia` | Optional[[Anaesthetic](components/surgery_procedures.md#anaesthetic)] | Anaesthesia |
106+
| `mouse_platform_name` | `str` | Mouse platform |
107+
| `reward_consumed_total` | `Optional[decimal.Decimal]` | Total reward consumed (mL) |
108+
| `reward_consumed_unit` | Optional[[VolumeUnit](aind_data_schema_models/units.md#volumeunit)] | Reward consumed unit |
109109

110110

111111
### DataStream
112112

113113
A set of devices that are acquiring data and their configurations starting and stopping at approximately the
114114
same time.
115115

116-
| Field | Type | Description |
116+
| Field | Type | Title (Description) |
117117
|-------|------|-------------|
118-
| `stream_start_time` | `datetime (timezone-aware)` | |
119-
| `stream_end_time` | `datetime (timezone-aware)` | |
120-
| `modalities` | List[[Modality](aind_data_schema_models/modalities.md#modality)] | Modalities that are acquired in this stream |
121-
| `code` | Optional[List[[Code](components/identifiers.md#code)]] | |
122-
| `notes` | `Optional[str]` | |
123-
| `active_devices` | `List[str]` | Device names must match devices in the Instrument |
124-
| `configurations` | List[[LightEmittingDiodeConfig](components/configs.md#lightemittingdiodeconfig) or [LaserConfig](components/configs.md#laserconfig) or [ManipulatorConfig](components/configs.md#manipulatorconfig) or [DetectorConfig](components/configs.md#detectorconfig) or [PatchCordConfig](components/configs.md#patchcordconfig) or [FiberAssemblyConfig](components/configs.md#fiberassemblyconfig) or [MRIScan](components/configs.md#mriscan) or [LickSpoutConfig](components/configs.md#lickspoutconfig) or [AirPuffConfig](components/configs.md#airpuffconfig) or [ImagingConfig](components/configs.md#imagingconfig) or [SlapPlane](components/configs.md#slapplane) or [SampleChamberConfig](components/configs.md#samplechamberconfig) or [ProbeConfig](components/configs.md#probeconfig) or [EphysAssemblyConfig](components/configs.md#ephysassemblyconfig)] | Configurations are parameters controlling active devices during this stream |
125-
| `connections` | List[[Connection](components/connections.md#connection)] | Connections are links between devices that are specific to this acquisition (i.e. not already defined in the Instrument) |
118+
| `stream_start_time` | `datetime (timezone-aware)` | Stream start time |
119+
| `stream_end_time` | `datetime (timezone-aware)` | Stream stop time |
120+
| `modalities` | List[[Modality](aind_data_schema_models/modalities.md#modality)] | Modalities (Modalities that are acquired in this stream) |
121+
| `code` | Optional[List[[Code](components/identifiers.md#code)]] | Acquisition code |
122+
| `notes` | `Optional[str]` | Notes |
123+
| `active_devices` | `List[str]` | Active devices (Device names must match devices in the Instrument) |
124+
| `configurations` | List[[LightEmittingDiodeConfig](components/configs.md#lightemittingdiodeconfig) or [LaserConfig](components/configs.md#laserconfig) or [ManipulatorConfig](components/configs.md#manipulatorconfig) or [DetectorConfig](components/configs.md#detectorconfig) or [PatchCordConfig](components/configs.md#patchcordconfig) or [FiberAssemblyConfig](components/configs.md#fiberassemblyconfig) or [MRIScan](components/configs.md#mriscan) or [LickSpoutConfig](components/configs.md#lickspoutconfig) or [AirPuffConfig](components/configs.md#airpuffconfig) or [ImagingConfig](components/configs.md#imagingconfig) or [SlapPlane](components/configs.md#slapplane) or [SampleChamberConfig](components/configs.md#samplechamberconfig) or [ProbeConfig](components/configs.md#probeconfig) or [EphysAssemblyConfig](components/configs.md#ephysassemblyconfig) or [CatheterConfig](components/configs.md#catheterconfig)] | Device configurations (Configurations are parameters controlling active devices during this stream) |
125+
| `connections` | List[[Connection](components/connections.md#connection)] | Connections (Connections are links between devices that are specific to this acquisition (i.e. not already defined in the Instrument)) |
126126

127127

128128
### PerformanceMetrics
129129

130130
Summary of a StimulusEpoch
131131

132-
| Field | Type | Description |
132+
| Field | Type | Title (Description) |
133133
|-------|------|-------------|
134-
| `output_parameters` | `dict` | |
135-
| `reward_consumed_during_epoch` | `Optional[decimal.Decimal]` | |
136-
| `reward_consumed_unit` | Optional[[VolumeUnit](aind_data_schema_models/units.md#volumeunit)] | |
137-
| `trials_total` | `Optional[int]` | |
138-
| `trials_finished` | `Optional[int]` | |
139-
| `trials_rewarded` | `Optional[int]` | |
134+
| `output_parameters` | `dict` | Additional metrics |
135+
| `reward_consumed_during_epoch` | `Optional[decimal.Decimal]` | Reward consumed during training (uL) |
136+
| `reward_consumed_unit` | Optional[[VolumeUnit](aind_data_schema_models/units.md#volumeunit)] | Reward consumed unit |
137+
| `trials_total` | `Optional[int]` | Total trials |
138+
| `trials_finished` | `Optional[int]` | Finished trials |
139+
| `trials_rewarded` | `Optional[int]` | Rewarded trials |
140140

141141

142142
### StimulusEpoch
143143

144144
All stimuli being presented to the subject. starting and stopping at approximately the
145145
same time. Not all acquisitions have StimulusEpochs.
146146

147-
| Field | Type | Description |
147+
| Field | Type | Title (Description) |
148148
|-------|------|-------------|
149-
| `stimulus_start_time` | `datetime (timezone-aware)` | When a specific stimulus begins. This might be the same as the acquisition start time. |
150-
| `stimulus_end_time` | `datetime (timezone-aware)` | When a specific stimulus ends. This might be the same as the acquisition end time. |
151-
| `stimulus_name` | `str` | |
152-
| `code` | Optional[[Code](components/identifiers.md#code)] | Custom code/script used to control the behavior/stimulus. Use the Code.parameters field to store stimulus properties |
153-
| `stimulus_modalities` | List[[StimulusModality](aind_data_schema_models/stimulus_modality.md#stimulusmodality)] | |
154-
| `performance_metrics` | Optional[[PerformanceMetrics](acquisition.md#performancemetrics)] | |
155-
| `notes` | `Optional[str]` | |
156-
| `active_devices` | `List[str]` | Device names must match devices in the Instrument |
157-
| `configurations` | List[[SpeakerConfig](components/configs.md#speakerconfig) or [LightEmittingDiodeConfig](components/configs.md#lightemittingdiodeconfig) or [LaserConfig](components/configs.md#laserconfig) or [MousePlatformConfig](components/configs.md#mouseplatformconfig)] | |
158-
| `training_protocol_name` | `Optional[str]` | Name of the training protocol used during the acquisition, must match a protocol in the Procedures |
159-
| `curriculum_status` | `Optional[str]` | Status within the training protocol curriculum |
149+
| `stimulus_start_time` | `datetime (timezone-aware)` | Stimulus start time (When a specific stimulus begins. This might be the same as the acquisition start time.) |
150+
| `stimulus_end_time` | `datetime (timezone-aware)` | Stimulus end time (When a specific stimulus ends. This might be the same as the acquisition end time.) |
151+
| `stimulus_name` | `str` | Stimulus name |
152+
| `code` | Optional[[Code](components/identifiers.md#code)] | Code or script (Custom code/script used to control the behavior/stimulus. Use the Code.parameters field to store stimulus properties) |
153+
| `stimulus_modalities` | List[[StimulusModality](aind_data_schema_models/stimulus_modality.md#stimulusmodality)] | Stimulus modalities |
154+
| `performance_metrics` | Optional[[PerformanceMetrics](acquisition.md#performancemetrics)] | Performance metrics |
155+
| `notes` | `Optional[str]` | Notes |
156+
| `active_devices` | `List[str]` | Active devices (Device names must match devices in the Instrument) |
157+
| `configurations` | List[[SpeakerConfig](components/configs.md#speakerconfig) or [LightEmittingDiodeConfig](components/configs.md#lightemittingdiodeconfig) or [LaserConfig](components/configs.md#laserconfig) or [MousePlatformConfig](components/configs.md#mouseplatformconfig) or [OlfactometerConfig](components/configs.md#olfactometerconfig)] | Device configurations |
158+
| `training_protocol_name` | `Optional[str]` | Training protocol name (Name of the training protocol used during the acquisition, must match a protocol in the Procedures) |
159+
| `curriculum_status` | `Optional[str]` | Curriculum status (Status within the training protocol curriculum) |

0 commit comments

Comments
 (0)