diff --git a/nwb_linkml/src/nwb_linkml/models/__init__.py b/nwb_linkml/src/nwb_linkml/models/__init__.py index 97cb846..fa3cf1e 100644 --- a/nwb_linkml/src/nwb_linkml/models/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/__init__.py @@ -1 +1 @@ -from .pydantic.core.v2_7_0.namespace import * \ No newline at end of file +from .pydantic.core.v2_7_0.namespace import * diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_base.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_base.py index 413763b..74b6325 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_base.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_base.py @@ -71,9 +71,7 @@ class Image(NWBData): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +103,7 @@ class TimeSeries(NWBDataInterface): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_behavior.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_behavior.py index 06218a0..d786427 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_behavior.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_behavior.py @@ -75,9 +75,7 @@ class SpatialSeries(TimeSeries): None, description="""Description defining what exactly 'straight-ahead' means.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -127,9 +125,7 @@ class BehavioralEpochs(NWBDataInterface): TimeSeries for storing behavioral epochs. The objective of this and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another data modality (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a group having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data. """ - children: Optional[List[IntervalSeries] | IntervalSeries] = Field( - default_factory=dict - ) + children: Optional[List[IntervalSeries] | IntervalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -165,9 +161,7 @@ class EyeTracking(NWBDataInterface): Eye-tracking data, representing direction of gaze. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -176,9 +170,7 @@ class CompassDirection(NWBDataInterface): With a CompassDirection interface, a module publishes a SpatialSeries object representing a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to 0 and which is the direction of rotation (this should be clockwise). The si_unit for the SpatialSeries should be radians or degrees. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -187,7 +179,5 @@ class Position(NWBDataInterface): Position data, whether along the x, x/y or x/y/z axis. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ecephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ecephys.py index 12c3900..8802f5e 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ecephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ecephys.py @@ -81,9 +81,7 @@ class ElectricalSeries(TimeSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -147,9 +145,7 @@ class SpikeEventSeries(ElectricalSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -182,11 +178,9 @@ class FeatureExtraction(NWBDataInterface): ..., description="""Description of features (eg, ''PC1'') for each of the extracted features.""", ) - features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = ( - Field( - ..., - description="""Multi-dimensional array of features extracted from each event.""", - ) + features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = Field( + ..., + description="""Multi-dimensional array of features extracted from each event.""", ) times: NDArray[Shape["* num_events"], float] = Field( ..., @@ -237,9 +231,7 @@ class EventWaveform(NWBDataInterface): Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. """ - children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field(default_factory=dict) name: str = Field(...) @@ -248,9 +240,7 @@ class FilteredEphys(NWBDataInterface): Electrophysiology data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each's TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Filter properties should be noted in the ElectricalSeries. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -259,9 +249,7 @@ class LFP(NWBDataInterface): LFP data from one or more channels. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries description or comments field. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -271,9 +259,7 @@ class ElectrodeGroup(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of this electrode group.""" - ) + description: Optional[str] = Field(None, description="""Description of this electrode group.""") location: Optional[str] = Field( None, description="""Location of electrode group. Specify the area, layer, comments on estimation of area/layer, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_epoch.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_epoch.py index d3ca995..5773b76 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_epoch.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_epoch.py @@ -77,12 +77,8 @@ class TimeIntervals(DynamicTable): description="""User-defined tags that identify or categorize events.""", ) tags_index: Optional[str] = Field(None, description="""Index for tags.""") - timeseries: Optional[str] = Field( - None, description="""An index into a TimeSeries object.""" - ) - timeseries_index: Optional[str] = Field( - None, description="""Index for timeseries.""" - ) + timeseries: Optional[str] = Field(None, description="""An index into a TimeSeries object.""") + timeseries_index: Optional[str] = Field(None, description="""Index for timeseries.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_file.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_file.py index 1a87d9c..a7bb2ca 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_file.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_file.py @@ -181,9 +181,7 @@ class NWBFileGeneral(ConfiguredBaseModel): keywords: Optional[NDArray[Shape["* num_keywords"], str]] = Field( None, description="""Terms to search over.""" ) - lab: Optional[str] = Field( - None, description="""Laboratory where experiment was performed.""" - ) + lab: Optional[str] = Field(None, description="""Laboratory where experiment was performed.""") notes: Optional[str] = Field(None, description="""Notes about the experiment.""") pharmacology: Optional[str] = Field( None, @@ -196,9 +194,7 @@ class NWBFileGeneral(ConfiguredBaseModel): related_publications: Optional[NDArray[Shape["* num_publications"], str]] = Field( None, description="""Publication information. PMID, DOI, URL, etc.""" ) - session_id: Optional[str] = Field( - None, description="""Lab-specific ID for the session.""" - ) + session_id: Optional[str] = Field(None, description="""Lab-specific ID for the session.""") slices: Optional[str] = Field( None, description="""Description of slices, including information about preparation thickness, orientation, temperature, and bath solution.""", @@ -237,11 +233,9 @@ class NWBFileGeneral(ConfiguredBaseModel): intracellular_ephys: Optional[str] = Field( None, description="""Metadata related to intracellular electrophysiology.""" ) - optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = ( - Field( - default_factory=dict, - description="""Metadata describing optogenetic stimuluation.""", - ) + optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = Field( + default_factory=dict, + description="""Metadata describing optogenetic stimuluation.""", ) optophysiology: Optional[List[ImagingPlane] | ImagingPlane] = Field( default_factory=dict, description="""Metadata related to optophysiology.""" diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_icephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_icephys.py index b68d0e3..03fe734 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_icephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_icephys.py @@ -83,9 +83,7 @@ class PatchClampSeries(TimeSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -132,12 +130,8 @@ class CurrentClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded voltage.""") - bias_current: Optional[float] = Field( - None, description="""Bias current, in amps.""" - ) - bridge_balance: Optional[float] = Field( - None, description="""Bridge balance, in ohms.""" - ) + bias_current: Optional[float] = Field(None, description="""Bias current, in amps.""") + bridge_balance: Optional[float] = Field(None, description="""Bridge balance, in ohms.""") capacitance_compensation: Optional[float] = Field( None, description="""Capacitance compensation, in farads.""" ) @@ -152,9 +146,7 @@ class CurrentClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -200,12 +192,8 @@ class IZeroClampSeries(CurrentClampSeries): """ name: str = Field(...) - bias_current: float = Field( - ..., description="""Bias current, in amps, fixed to 0.0.""" - ) - bridge_balance: float = Field( - ..., description="""Bridge balance, in ohms, fixed to 0.0.""" - ) + bias_current: float = Field(..., description="""Bias current, in amps, fixed to 0.0.""") + bridge_balance: float = Field(..., description="""Bridge balance, in ohms, fixed to 0.0.""") capacitance_compensation: float = Field( ..., description="""Capacitance compensation, in farads, fixed to 0.0.""" ) @@ -221,9 +209,7 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -268,9 +254,7 @@ class CurrentClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -317,12 +301,8 @@ class VoltageClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded current.""") - capacitance_fast: Optional[str] = Field( - None, description="""Fast capacitance, in farads.""" - ) - capacitance_slow: Optional[str] = Field( - None, description="""Slow capacitance, in farads.""" - ) + capacitance_fast: Optional[str] = Field(None, description="""Fast capacitance, in farads.""") + capacitance_slow: Optional[str] = Field(None, description="""Slow capacitance, in farads.""") resistance_comp_bandwidth: Optional[str] = Field( None, description="""Resistance compensation bandwidth, in hertz.""" ) @@ -349,9 +329,7 @@ class VoltageClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -474,9 +452,7 @@ class VoltageClampSeriesWholeCellSeriesResistanceComp(ConfiguredBaseModel): Whole cell series resistance compensation, in ohms. """ - name: Literal["whole_cell_series_resistance_comp"] = Field( - "whole_cell_series_resistance_comp" - ) + name: Literal["whole_cell_series_resistance_comp"] = Field("whole_cell_series_resistance_comp") unit: Optional[str] = Field( None, description="""Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.""", @@ -502,9 +478,7 @@ class VoltageClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -554,9 +528,7 @@ class IntracellularElectrode(NWBContainer): ..., description="""Description of electrode (e.g., whole-cell, sharp, etc.).""", ) - filtering: Optional[str] = Field( - None, description="""Electrode specific filtering.""" - ) + filtering: Optional[str] = Field(None, description="""Electrode specific filtering.""") initial_access_resistance: Optional[str] = Field( None, description="""Initial access resistance.""" ) @@ -564,12 +536,8 @@ class IntracellularElectrode(NWBContainer): None, description="""Location of the electrode. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", ) - resistance: Optional[str] = Field( - None, description="""Electrode resistance, in ohms.""" - ) - seal: Optional[str] = Field( - None, description="""Information about seal used for recording.""" - ) + resistance: Optional[str] = Field(None, description="""Electrode resistance, in ohms.""") + seal: Optional[str] = Field(None, description="""Information about seal used for recording.""") slice: Optional[str] = Field( None, description="""Information about slice used for recording.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_image.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_image.py index 68bc1ba..7ee9c91 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_image.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_image.py @@ -63,9 +63,7 @@ class GrayscaleImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -84,9 +82,7 @@ class RGBImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +101,7 @@ class RGBAImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -140,9 +134,7 @@ class ImageSeries(TimeSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -205,9 +197,7 @@ class ImageMaskSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -273,9 +263,7 @@ class OpticalSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -311,9 +299,7 @@ class IndexSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Index of the frame in the referenced ImageSeries.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_misc.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_misc.py index b6aa819..c5bfecd 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_misc.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_misc.py @@ -77,9 +77,7 @@ class AbstractFeatureSeries(TimeSeries): ..., description="""Description of the features represented in TimeSeries::data.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -133,9 +131,7 @@ class AnnotationSeries(TimeSeries): data: NDArray[Shape["* num_times"], str] = Field( ..., description="""Annotations made during an experiment.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -171,9 +167,7 @@ class IntervalSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Use values >0 if interval started, <0 if interval ended.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,16 +201,12 @@ class DecompositionSeries(TimeSeries): name: str = Field(...) data: str = Field(..., description="""Data decomposed into frequency bands.""") - metric: str = Field( - ..., description="""The metric used, e.g. phase, amplitude, power.""" - ) + metric: str = Field(..., description="""The metric used, e.g. phase, amplitude, power.""") bands: str = Field( ..., description="""Table for describing the bands that this series was generated from. There should be one row in this table for each band.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -253,9 +243,7 @@ class DecompositionSeriesData(ConfiguredBaseModel): None, description="""Base unit of measurement for working with the data. Actual stored values are not necessarily stored in these units. To access the data in these units, multiply 'data' by 'conversion'.""", ) - array: Optional[ - NDArray[Shape["* num_times, * num_channels, * num_bands"], float] - ] = Field(None) + array: Optional[NDArray[Shape["* num_times, * num_channels, * num_bands"], float]] = Field(None) class DecompositionSeriesBands(DynamicTable): @@ -306,18 +294,14 @@ class Units(DynamicTable): spike_times_index: Optional[str] = Field( None, description="""Index into the spike_times dataset.""" ) - spike_times: Optional[str] = Field( - None, description="""Spike times for each unit.""" - ) + spike_times: Optional[str] = Field(None, description="""Spike times for each unit.""") obs_intervals_index: Optional[str] = Field( None, description="""Index into the obs_intervals dataset.""" ) - obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = ( - Field(None, description="""Observation intervals for each unit.""") - ) - electrodes_index: Optional[str] = Field( - None, description="""Index into electrodes.""" + obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = Field( + None, description="""Observation intervals for each unit.""" ) + electrodes_index: Optional[str] = Field(None, description="""Index into electrodes.""") electrodes: Optional[str] = Field( None, description="""Electrode that each spike unit came from, specified using a DynamicTableRegion.""", @@ -337,9 +321,7 @@ class Units(DynamicTable): NDArray[Shape["* num_units, * num_samples"], float], NDArray[Shape["* num_units, * num_samples, * num_electrodes"], float], ] - ] = Field( - None, description="""Spike waveform standard deviation for each spike unit.""" - ) + ] = Field(None, description="""Spike waveform standard deviation for each spike unit.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ogen.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ogen.py index c8dbfca..aa5b05e 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ogen.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ogen.py @@ -68,9 +68,7 @@ class OptogeneticSeries(TimeSeries): data: NDArray[Shape["* num_times"], float] = Field( ..., description="""Applied power for optogenetic stimulus, in watts.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -104,9 +102,7 @@ class OptogeneticStimulusSite(NWBContainer): name: str = Field(...) description: str = Field(..., description="""Description of stimulation site.""") - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") location: str = Field( ..., description="""Location of the stimulation site. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ophys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ophys.py index 877eedb..7941950 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ophys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_ophys.py @@ -101,9 +101,7 @@ class TwoPhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -144,9 +142,7 @@ class RoiResponseSeries(TimeSeries): ..., description="""DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -193,9 +189,7 @@ class DfOverF(NWBDataInterface): dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -204,9 +198,7 @@ class Fluorescence(NWBDataInterface): Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -215,9 +207,9 @@ class ImageSegmentation(NWBDataInterface): Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. """ - children: Optional[ - List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable] - ] = Field(default_factory=dict) + children: Optional[List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable]] = ( + Field(default_factory=dict) + ) name: str = Field(...) @@ -227,15 +219,9 @@ class ImagingPlane(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the imaging plane.""" - ) - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) - imaging_rate: float = Field( - ..., description="""Rate that images are acquired, in Hz.""" - ) + description: Optional[str] = Field(None, description="""Description of the imaging plane.""") + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") + imaging_rate: float = Field(..., description="""Rate that images are acquired, in Hz.""") indicator: str = Field(..., description="""Calcium indicator.""") location: str = Field( ..., @@ -316,12 +302,8 @@ class OpticalChannel(NWBContainer): """ name: str = Field(...) - description: str = Field( - ..., description="""Description or other notes about the channel.""" - ) - emission_lambda: float = Field( - ..., description="""Emission wavelength for channel, in nm.""" - ) + description: str = Field(..., description="""Description or other notes about the channel.""") + emission_lambda: float = Field(..., description="""Emission wavelength for channel, in nm.""") class MotionCorrection(NWBDataInterface): @@ -329,7 +311,5 @@ class MotionCorrection(NWBDataInterface): An image stack where all frames are shifted (registered) to a common coordinate system, to account for movement and drift between frames. Note: each frame at each point in time is assumed to be 2-D (has only x & y dimensions). """ - children: Optional[List[NWBDataInterface] | NWBDataInterface] = Field( - default_factory=dict - ) + children: Optional[List[NWBDataInterface] | NWBDataInterface] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_retinotopy.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_retinotopy.py index eeb88c3..724d23a 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_retinotopy.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_0/core_nwb_retinotopy.py @@ -66,9 +66,7 @@ class RetinotopyMap(NWBData): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -86,9 +84,7 @@ class AxisMap(RetinotopyMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") class RetinotopyImage(GrayscaleImage): @@ -105,18 +101,14 @@ class RetinotopyImage(GrayscaleImage): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -177,9 +169,7 @@ class ImagingRetinotopyAxis1PhaseMap(AxisMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") class ImagingRetinotopyAxis1PowerMap(AxisMap): @@ -196,9 +186,7 @@ class ImagingRetinotopyAxis1PowerMap(AxisMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") class ImagingRetinotopyAxis2PhaseMap(AxisMap): @@ -215,9 +203,7 @@ class ImagingRetinotopyAxis2PhaseMap(AxisMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") class ImagingRetinotopyAxis2PowerMap(AxisMap): @@ -234,9 +220,7 @@ class ImagingRetinotopyAxis2PowerMap(AxisMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") class ImagingRetinotopySignMap(RetinotopyMap): @@ -249,9 +233,7 @@ class ImagingRetinotopySignMap(RetinotopyMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -261,9 +243,7 @@ class ImagingRetinotopyFocalDepthImage(RetinotopyImage): """ name: Literal["focal_depth_image"] = Field("focal_depth_image") - focal_depth: Optional[float] = Field( - None, description="""Focal depth offset, in meters.""" - ) + focal_depth: Optional[float] = Field(None, description="""Focal depth offset, in meters.""") bits_per_pixel: Optional[int] = Field( None, description="""Number of bits used to represent each value. This is necessary to determine maximum (white) pixel value.""", @@ -272,18 +252,14 @@ class ImagingRetinotopyFocalDepthImage(RetinotopyImage): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -307,18 +283,14 @@ class ImagingRetinotopyVasculatureImage(RetinotopyImage): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_base.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_base.py index 802ec47..a8c4397 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_base.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_base.py @@ -71,9 +71,7 @@ class Image(NWBData): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +103,7 @@ class TimeSeries(NWBDataInterface): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_behavior.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_behavior.py index 15b5619..c9af457 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_behavior.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_behavior.py @@ -75,9 +75,7 @@ class SpatialSeries(TimeSeries): None, description="""Description defining what exactly 'straight-ahead' means.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -127,9 +125,7 @@ class BehavioralEpochs(NWBDataInterface): TimeSeries for storing behavioral epochs. The objective of this and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another data modality (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a group having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data. """ - children: Optional[List[IntervalSeries] | IntervalSeries] = Field( - default_factory=dict - ) + children: Optional[List[IntervalSeries] | IntervalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -165,9 +161,7 @@ class EyeTracking(NWBDataInterface): Eye-tracking data, representing direction of gaze. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -176,9 +170,7 @@ class CompassDirection(NWBDataInterface): With a CompassDirection interface, a module publishes a SpatialSeries object representing a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to 0 and which is the direction of rotation (this should be clockwise). The si_unit for the SpatialSeries should be radians or degrees. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -187,7 +179,5 @@ class Position(NWBDataInterface): Position data, whether along the x, x/y or x/y/z axis. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ecephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ecephys.py index cb557bd..2ea5ccc 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ecephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ecephys.py @@ -81,9 +81,7 @@ class ElectricalSeries(TimeSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -147,9 +145,7 @@ class SpikeEventSeries(ElectricalSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -182,11 +178,9 @@ class FeatureExtraction(NWBDataInterface): ..., description="""Description of features (eg, ''PC1'') for each of the extracted features.""", ) - features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = ( - Field( - ..., - description="""Multi-dimensional array of features extracted from each event.""", - ) + features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = Field( + ..., + description="""Multi-dimensional array of features extracted from each event.""", ) times: NDArray[Shape["* num_events"], float] = Field( ..., @@ -237,9 +231,7 @@ class EventWaveform(NWBDataInterface): Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. """ - children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field(default_factory=dict) name: str = Field(...) @@ -248,9 +240,7 @@ class FilteredEphys(NWBDataInterface): Electrophysiology data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each's TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Filter properties should be noted in the ElectricalSeries. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -259,9 +249,7 @@ class LFP(NWBDataInterface): LFP data from one or more channels. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries description or comments field. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -271,9 +259,7 @@ class ElectrodeGroup(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of this electrode group.""" - ) + description: Optional[str] = Field(None, description="""Description of this electrode group.""") location: Optional[str] = Field( None, description="""Location of electrode group. Specify the area, layer, comments on estimation of area/layer, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_epoch.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_epoch.py index 35ba0aa..f6dd90d 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_epoch.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_epoch.py @@ -77,12 +77,8 @@ class TimeIntervals(DynamicTable): description="""User-defined tags that identify or categorize events.""", ) tags_index: Optional[str] = Field(None, description="""Index for tags.""") - timeseries: Optional[str] = Field( - None, description="""An index into a TimeSeries object.""" - ) - timeseries_index: Optional[str] = Field( - None, description="""Index for timeseries.""" - ) + timeseries: Optional[str] = Field(None, description="""An index into a TimeSeries object.""") + timeseries_index: Optional[str] = Field(None, description="""Index for timeseries.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_file.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_file.py index d95bbe1..5ea3b38 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_file.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_file.py @@ -181,9 +181,7 @@ class NWBFileGeneral(ConfiguredBaseModel): keywords: Optional[NDArray[Shape["* num_keywords"], str]] = Field( None, description="""Terms to search over.""" ) - lab: Optional[str] = Field( - None, description="""Laboratory where experiment was performed.""" - ) + lab: Optional[str] = Field(None, description="""Laboratory where experiment was performed.""") notes: Optional[str] = Field(None, description="""Notes about the experiment.""") pharmacology: Optional[str] = Field( None, @@ -196,9 +194,7 @@ class NWBFileGeneral(ConfiguredBaseModel): related_publications: Optional[NDArray[Shape["* num_publications"], str]] = Field( None, description="""Publication information. PMID, DOI, URL, etc.""" ) - session_id: Optional[str] = Field( - None, description="""Lab-specific ID for the session.""" - ) + session_id: Optional[str] = Field(None, description="""Lab-specific ID for the session.""") slices: Optional[str] = Field( None, description="""Description of slices, including information about preparation thickness, orientation, temperature, and bath solution.""", @@ -237,11 +233,9 @@ class NWBFileGeneral(ConfiguredBaseModel): intracellular_ephys: Optional[str] = Field( None, description="""Metadata related to intracellular electrophysiology.""" ) - optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = ( - Field( - default_factory=dict, - description="""Metadata describing optogenetic stimuluation.""", - ) + optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = Field( + default_factory=dict, + description="""Metadata describing optogenetic stimuluation.""", ) optophysiology: Optional[List[ImagingPlane] | ImagingPlane] = Field( default_factory=dict, description="""Metadata related to optophysiology.""" diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_icephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_icephys.py index 54888da..254b7f2 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_icephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_icephys.py @@ -83,9 +83,7 @@ class PatchClampSeries(TimeSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -132,12 +130,8 @@ class CurrentClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded voltage.""") - bias_current: Optional[float] = Field( - None, description="""Bias current, in amps.""" - ) - bridge_balance: Optional[float] = Field( - None, description="""Bridge balance, in ohms.""" - ) + bias_current: Optional[float] = Field(None, description="""Bias current, in amps.""") + bridge_balance: Optional[float] = Field(None, description="""Bridge balance, in ohms.""") capacitance_compensation: Optional[float] = Field( None, description="""Capacitance compensation, in farads.""" ) @@ -152,9 +146,7 @@ class CurrentClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -200,12 +192,8 @@ class IZeroClampSeries(CurrentClampSeries): """ name: str = Field(...) - bias_current: float = Field( - ..., description="""Bias current, in amps, fixed to 0.0.""" - ) - bridge_balance: float = Field( - ..., description="""Bridge balance, in ohms, fixed to 0.0.""" - ) + bias_current: float = Field(..., description="""Bias current, in amps, fixed to 0.0.""") + bridge_balance: float = Field(..., description="""Bridge balance, in ohms, fixed to 0.0.""") capacitance_compensation: float = Field( ..., description="""Capacitance compensation, in farads, fixed to 0.0.""" ) @@ -221,9 +209,7 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -268,9 +254,7 @@ class CurrentClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -317,12 +301,8 @@ class VoltageClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded current.""") - capacitance_fast: Optional[str] = Field( - None, description="""Fast capacitance, in farads.""" - ) - capacitance_slow: Optional[str] = Field( - None, description="""Slow capacitance, in farads.""" - ) + capacitance_fast: Optional[str] = Field(None, description="""Fast capacitance, in farads.""") + capacitance_slow: Optional[str] = Field(None, description="""Slow capacitance, in farads.""") resistance_comp_bandwidth: Optional[str] = Field( None, description="""Resistance compensation bandwidth, in hertz.""" ) @@ -349,9 +329,7 @@ class VoltageClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -474,9 +452,7 @@ class VoltageClampSeriesWholeCellSeriesResistanceComp(ConfiguredBaseModel): Whole cell series resistance compensation, in ohms. """ - name: Literal["whole_cell_series_resistance_comp"] = Field( - "whole_cell_series_resistance_comp" - ) + name: Literal["whole_cell_series_resistance_comp"] = Field("whole_cell_series_resistance_comp") unit: Optional[str] = Field( None, description="""Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.""", @@ -502,9 +478,7 @@ class VoltageClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -554,9 +528,7 @@ class IntracellularElectrode(NWBContainer): ..., description="""Description of electrode (e.g., whole-cell, sharp, etc.).""", ) - filtering: Optional[str] = Field( - None, description="""Electrode specific filtering.""" - ) + filtering: Optional[str] = Field(None, description="""Electrode specific filtering.""") initial_access_resistance: Optional[str] = Field( None, description="""Initial access resistance.""" ) @@ -564,12 +536,8 @@ class IntracellularElectrode(NWBContainer): None, description="""Location of the electrode. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", ) - resistance: Optional[str] = Field( - None, description="""Electrode resistance, in ohms.""" - ) - seal: Optional[str] = Field( - None, description="""Information about seal used for recording.""" - ) + resistance: Optional[str] = Field(None, description="""Electrode resistance, in ohms.""") + seal: Optional[str] = Field(None, description="""Information about seal used for recording.""") slice: Optional[str] = Field( None, description="""Information about slice used for recording.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_image.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_image.py index 9aa104d..aa4d8e8 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_image.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_image.py @@ -63,9 +63,7 @@ class GrayscaleImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -84,9 +82,7 @@ class RGBImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +101,7 @@ class RGBAImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -140,9 +134,7 @@ class ImageSeries(TimeSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -205,9 +197,7 @@ class ImageMaskSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -273,9 +263,7 @@ class OpticalSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -311,9 +299,7 @@ class IndexSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Index of the frame in the referenced ImageSeries.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_misc.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_misc.py index 4d8b2ad..0bedea2 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_misc.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_misc.py @@ -77,9 +77,7 @@ class AbstractFeatureSeries(TimeSeries): ..., description="""Description of the features represented in TimeSeries::data.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -133,9 +131,7 @@ class AnnotationSeries(TimeSeries): data: NDArray[Shape["* num_times"], str] = Field( ..., description="""Annotations made during an experiment.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -171,9 +167,7 @@ class IntervalSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Use values >0 if interval started, <0 if interval ended.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,16 +201,12 @@ class DecompositionSeries(TimeSeries): name: str = Field(...) data: str = Field(..., description="""Data decomposed into frequency bands.""") - metric: str = Field( - ..., description="""The metric used, e.g. phase, amplitude, power.""" - ) + metric: str = Field(..., description="""The metric used, e.g. phase, amplitude, power.""") bands: str = Field( ..., description="""Table for describing the bands that this series was generated from. There should be one row in this table for each band.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -253,9 +243,7 @@ class DecompositionSeriesData(ConfiguredBaseModel): None, description="""Base unit of measurement for working with the data. Actual stored values are not necessarily stored in these units. To access the data in these units, multiply 'data' by 'conversion'.""", ) - array: Optional[ - NDArray[Shape["* num_times, * num_channels, * num_bands"], float] - ] = Field(None) + array: Optional[NDArray[Shape["* num_times, * num_channels, * num_bands"], float]] = Field(None) class DecompositionSeriesBands(DynamicTable): @@ -306,18 +294,14 @@ class Units(DynamicTable): spike_times_index: Optional[str] = Field( None, description="""Index into the spike_times dataset.""" ) - spike_times: Optional[str] = Field( - None, description="""Spike times for each unit.""" - ) + spike_times: Optional[str] = Field(None, description="""Spike times for each unit.""") obs_intervals_index: Optional[str] = Field( None, description="""Index into the obs_intervals dataset.""" ) - obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = ( - Field(None, description="""Observation intervals for each unit.""") - ) - electrodes_index: Optional[str] = Field( - None, description="""Index into electrodes.""" + obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = Field( + None, description="""Observation intervals for each unit.""" ) + electrodes_index: Optional[str] = Field(None, description="""Index into electrodes.""") electrodes: Optional[str] = Field( None, description="""Electrode that each spike unit came from, specified using a DynamicTableRegion.""", @@ -337,9 +321,7 @@ class Units(DynamicTable): NDArray[Shape["* num_units, * num_samples"], float], NDArray[Shape["* num_units, * num_samples, * num_electrodes"], float], ] - ] = Field( - None, description="""Spike waveform standard deviation for each spike unit.""" - ) + ] = Field(None, description="""Spike waveform standard deviation for each spike unit.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ogen.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ogen.py index 8189191..394a1dd 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ogen.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ogen.py @@ -68,9 +68,7 @@ class OptogeneticSeries(TimeSeries): data: NDArray[Shape["* num_times"], float] = Field( ..., description="""Applied power for optogenetic stimulus, in watts.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -104,9 +102,7 @@ class OptogeneticStimulusSite(NWBContainer): name: str = Field(...) description: str = Field(..., description="""Description of stimulation site.""") - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") location: str = Field( ..., description="""Location of the stimulation site. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ophys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ophys.py index ece81c6..37d8524 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ophys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_ophys.py @@ -101,9 +101,7 @@ class TwoPhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -144,9 +142,7 @@ class RoiResponseSeries(TimeSeries): ..., description="""DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -193,9 +189,7 @@ class DfOverF(NWBDataInterface): dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -204,9 +198,7 @@ class Fluorescence(NWBDataInterface): Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -215,9 +207,9 @@ class ImageSegmentation(NWBDataInterface): Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. """ - children: Optional[ - List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable] - ] = Field(default_factory=dict) + children: Optional[List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable]] = ( + Field(default_factory=dict) + ) name: str = Field(...) @@ -227,15 +219,9 @@ class ImagingPlane(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the imaging plane.""" - ) - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) - imaging_rate: float = Field( - ..., description="""Rate that images are acquired, in Hz.""" - ) + description: Optional[str] = Field(None, description="""Description of the imaging plane.""") + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") + imaging_rate: float = Field(..., description="""Rate that images are acquired, in Hz.""") indicator: str = Field(..., description="""Calcium indicator.""") location: str = Field( ..., @@ -316,12 +302,8 @@ class OpticalChannel(NWBContainer): """ name: str = Field(...) - description: str = Field( - ..., description="""Description or other notes about the channel.""" - ) - emission_lambda: float = Field( - ..., description="""Emission wavelength for channel, in nm.""" - ) + description: str = Field(..., description="""Description or other notes about the channel.""") + emission_lambda: float = Field(..., description="""Emission wavelength for channel, in nm.""") class MotionCorrection(NWBDataInterface): @@ -329,7 +311,5 @@ class MotionCorrection(NWBDataInterface): An image stack where all frames are shifted (registered) to a common coordinate system, to account for movement and drift between frames. Note: each frame at each point in time is assumed to be 2-D (has only x & y dimensions). """ - children: Optional[List[NWBDataInterface] | NWBDataInterface] = Field( - default_factory=dict - ) + children: Optional[List[NWBDataInterface] | NWBDataInterface] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_retinotopy.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_retinotopy.py index 6504e00..91905a4 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_retinotopy.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_1/core_nwb_retinotopy.py @@ -66,9 +66,7 @@ class RetinotopyMap(NWBData): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -86,9 +84,7 @@ class AxisMap(RetinotopyMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") class RetinotopyImage(GrayscaleImage): @@ -105,18 +101,14 @@ class RetinotopyImage(GrayscaleImage): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -177,9 +169,7 @@ class ImagingRetinotopyAxis1PhaseMap(AxisMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") class ImagingRetinotopyAxis1PowerMap(AxisMap): @@ -196,9 +186,7 @@ class ImagingRetinotopyAxis1PowerMap(AxisMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") class ImagingRetinotopyAxis2PhaseMap(AxisMap): @@ -215,9 +203,7 @@ class ImagingRetinotopyAxis2PhaseMap(AxisMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") class ImagingRetinotopyAxis2PowerMap(AxisMap): @@ -234,9 +220,7 @@ class ImagingRetinotopyAxis2PowerMap(AxisMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") class ImagingRetinotopySignMap(RetinotopyMap): @@ -249,9 +233,7 @@ class ImagingRetinotopySignMap(RetinotopyMap): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -261,9 +243,7 @@ class ImagingRetinotopyFocalDepthImage(RetinotopyImage): """ name: Literal["focal_depth_image"] = Field("focal_depth_image") - focal_depth: Optional[float] = Field( - None, description="""Focal depth offset, in meters.""" - ) + focal_depth: Optional[float] = Field(None, description="""Focal depth offset, in meters.""") bits_per_pixel: Optional[int] = Field( None, description="""Number of bits used to represent each value. This is necessary to determine maximum (white) pixel value.""", @@ -272,18 +252,14 @@ class ImagingRetinotopyFocalDepthImage(RetinotopyImage): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -307,18 +283,14 @@ class ImagingRetinotopyVasculatureImage(RetinotopyImage): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_base.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_base.py index 39997b7..e3c6961 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_base.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_base.py @@ -71,9 +71,7 @@ class Image(NWBData): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +103,7 @@ class TimeSeries(NWBDataInterface): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_behavior.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_behavior.py index 675287d..6f2a1bd 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_behavior.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_behavior.py @@ -75,9 +75,7 @@ class SpatialSeries(TimeSeries): None, description="""Description defining what exactly 'straight-ahead' means.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -127,9 +125,7 @@ class BehavioralEpochs(NWBDataInterface): TimeSeries for storing behavioral epochs. The objective of this and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another data modality (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a group having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data. """ - children: Optional[List[IntervalSeries] | IntervalSeries] = Field( - default_factory=dict - ) + children: Optional[List[IntervalSeries] | IntervalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -165,9 +161,7 @@ class EyeTracking(NWBDataInterface): Eye-tracking data, representing direction of gaze. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -176,9 +170,7 @@ class CompassDirection(NWBDataInterface): With a CompassDirection interface, a module publishes a SpatialSeries object representing a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to 0 and which is the direction of rotation (this should be clockwise). The si_unit for the SpatialSeries should be radians or degrees. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -187,7 +179,5 @@ class Position(NWBDataInterface): Position data, whether along the x, x/y or x/y/z axis. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ecephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ecephys.py index fc6b1c8..2bc3c19 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ecephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ecephys.py @@ -81,9 +81,7 @@ class ElectricalSeries(TimeSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -155,9 +153,7 @@ class SpikeEventSeries(ElectricalSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -190,11 +186,9 @@ class FeatureExtraction(NWBDataInterface): ..., description="""Description of features (eg, ''PC1'') for each of the extracted features.""", ) - features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = ( - Field( - ..., - description="""Multi-dimensional array of features extracted from each event.""", - ) + features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = Field( + ..., + description="""Multi-dimensional array of features extracted from each event.""", ) times: NDArray[Shape["* num_events"], float] = Field( ..., @@ -253,9 +247,7 @@ class EventWaveform(NWBDataInterface): Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. """ - children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field(default_factory=dict) name: str = Field(...) @@ -264,9 +256,7 @@ class FilteredEphys(NWBDataInterface): Electrophysiology data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each's TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Filter properties should be noted in the ElectricalSeries. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -275,9 +265,7 @@ class LFP(NWBDataInterface): LFP data from one or more channels. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries description or comments field. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -287,9 +275,7 @@ class ElectrodeGroup(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of this electrode group.""" - ) + description: Optional[str] = Field(None, description="""Description of this electrode group.""") location: Optional[str] = Field( None, description="""Location of electrode group. Specify the area, layer, comments on estimation of area/layer, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_epoch.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_epoch.py index c7106a2..1f6d0cc 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_epoch.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_epoch.py @@ -77,12 +77,8 @@ class TimeIntervals(DynamicTable): description="""User-defined tags that identify or categorize events.""", ) tags_index: Optional[str] = Field(None, description="""Index for tags.""") - timeseries: Optional[str] = Field( - None, description="""An index into a TimeSeries object.""" - ) - timeseries_index: Optional[str] = Field( - None, description="""Index for timeseries.""" - ) + timeseries: Optional[str] = Field(None, description="""An index into a TimeSeries object.""") + timeseries_index: Optional[str] = Field(None, description="""Index for timeseries.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_file.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_file.py index 029c37a..c6056db 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_file.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_file.py @@ -181,9 +181,7 @@ class NWBFileGeneral(ConfiguredBaseModel): keywords: Optional[NDArray[Shape["* num_keywords"], str]] = Field( None, description="""Terms to search over.""" ) - lab: Optional[str] = Field( - None, description="""Laboratory where experiment was performed.""" - ) + lab: Optional[str] = Field(None, description="""Laboratory where experiment was performed.""") notes: Optional[str] = Field(None, description="""Notes about the experiment.""") pharmacology: Optional[str] = Field( None, @@ -196,9 +194,7 @@ class NWBFileGeneral(ConfiguredBaseModel): related_publications: Optional[NDArray[Shape["* num_publications"], str]] = Field( None, description="""Publication information. PMID, DOI, URL, etc.""" ) - session_id: Optional[str] = Field( - None, description="""Lab-specific ID for the session.""" - ) + session_id: Optional[str] = Field(None, description="""Lab-specific ID for the session.""") slices: Optional[str] = Field( None, description="""Description of slices, including information about preparation thickness, orientation, temperature, and bath solution.""", @@ -237,11 +233,9 @@ class NWBFileGeneral(ConfiguredBaseModel): intracellular_ephys: Optional[str] = Field( None, description="""Metadata related to intracellular electrophysiology.""" ) - optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = ( - Field( - default_factory=dict, - description="""Metadata describing optogenetic stimuluation.""", - ) + optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = Field( + default_factory=dict, + description="""Metadata describing optogenetic stimuluation.""", ) optophysiology: Optional[List[ImagingPlane] | ImagingPlane] = Field( default_factory=dict, description="""Metadata related to optophysiology.""" diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_icephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_icephys.py index cc35e4a..9ef3c50 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_icephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_icephys.py @@ -83,9 +83,7 @@ class PatchClampSeries(TimeSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -132,12 +130,8 @@ class CurrentClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded voltage.""") - bias_current: Optional[float] = Field( - None, description="""Bias current, in amps.""" - ) - bridge_balance: Optional[float] = Field( - None, description="""Bridge balance, in ohms.""" - ) + bias_current: Optional[float] = Field(None, description="""Bias current, in amps.""") + bridge_balance: Optional[float] = Field(None, description="""Bridge balance, in ohms.""") capacitance_compensation: Optional[float] = Field( None, description="""Capacitance compensation, in farads.""" ) @@ -152,9 +146,7 @@ class CurrentClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -200,12 +192,8 @@ class IZeroClampSeries(CurrentClampSeries): """ name: str = Field(...) - bias_current: float = Field( - ..., description="""Bias current, in amps, fixed to 0.0.""" - ) - bridge_balance: float = Field( - ..., description="""Bridge balance, in ohms, fixed to 0.0.""" - ) + bias_current: float = Field(..., description="""Bias current, in amps, fixed to 0.0.""") + bridge_balance: float = Field(..., description="""Bridge balance, in ohms, fixed to 0.0.""") capacitance_compensation: float = Field( ..., description="""Capacitance compensation, in farads, fixed to 0.0.""" ) @@ -221,9 +209,7 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -268,9 +254,7 @@ class CurrentClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -317,12 +301,8 @@ class VoltageClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded current.""") - capacitance_fast: Optional[str] = Field( - None, description="""Fast capacitance, in farads.""" - ) - capacitance_slow: Optional[str] = Field( - None, description="""Slow capacitance, in farads.""" - ) + capacitance_fast: Optional[str] = Field(None, description="""Fast capacitance, in farads.""") + capacitance_slow: Optional[str] = Field(None, description="""Slow capacitance, in farads.""") resistance_comp_bandwidth: Optional[str] = Field( None, description="""Resistance compensation bandwidth, in hertz.""" ) @@ -349,9 +329,7 @@ class VoltageClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -474,9 +452,7 @@ class VoltageClampSeriesWholeCellSeriesResistanceComp(ConfiguredBaseModel): Whole cell series resistance compensation, in ohms. """ - name: Literal["whole_cell_series_resistance_comp"] = Field( - "whole_cell_series_resistance_comp" - ) + name: Literal["whole_cell_series_resistance_comp"] = Field("whole_cell_series_resistance_comp") unit: Optional[str] = Field( None, description="""Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.""", @@ -502,9 +478,7 @@ class VoltageClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -554,9 +528,7 @@ class IntracellularElectrode(NWBContainer): ..., description="""Description of electrode (e.g., whole-cell, sharp, etc.).""", ) - filtering: Optional[str] = Field( - None, description="""Electrode specific filtering.""" - ) + filtering: Optional[str] = Field(None, description="""Electrode specific filtering.""") initial_access_resistance: Optional[str] = Field( None, description="""Initial access resistance.""" ) @@ -564,12 +536,8 @@ class IntracellularElectrode(NWBContainer): None, description="""Location of the electrode. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", ) - resistance: Optional[str] = Field( - None, description="""Electrode resistance, in ohms.""" - ) - seal: Optional[str] = Field( - None, description="""Information about seal used for recording.""" - ) + resistance: Optional[str] = Field(None, description="""Electrode resistance, in ohms.""") + seal: Optional[str] = Field(None, description="""Information about seal used for recording.""") slice: Optional[str] = Field( None, description="""Information about slice used for recording.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_image.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_image.py index 9263d50..41f90e7 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_image.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_image.py @@ -63,9 +63,7 @@ class GrayscaleImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -84,9 +82,7 @@ class RGBImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +101,7 @@ class RGBAImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -140,9 +134,7 @@ class ImageSeries(TimeSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -205,9 +197,7 @@ class ImageMaskSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -255,9 +245,7 @@ class OpticalSeries(ImageSeries): data: Union[ NDArray[Shape["* frame, * x, * y"], float], NDArray[Shape["* frame, * x, * y, 3 r_g_b"], float], - ] = Field( - ..., description="""Images presented to subject, either grayscale or RGB""" - ) + ] = Field(..., description="""Images presented to subject, either grayscale or RGB""") orientation: Optional[str] = Field( None, description="""Description of image relative to some reference frame (e.g., which way is up). Must also specify frame of reference.""", @@ -273,9 +261,7 @@ class OpticalSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -311,9 +297,7 @@ class IndexSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Index of the frame in the referenced ImageSeries.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_misc.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_misc.py index e3f3eaf..4e7b288 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_misc.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_misc.py @@ -77,9 +77,7 @@ class AbstractFeatureSeries(TimeSeries): ..., description="""Description of the features represented in TimeSeries::data.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -133,9 +131,7 @@ class AnnotationSeries(TimeSeries): data: NDArray[Shape["* num_times"], str] = Field( ..., description="""Annotations made during an experiment.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -171,9 +167,7 @@ class IntervalSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Use values >0 if interval started, <0 if interval ended.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,16 +201,12 @@ class DecompositionSeries(TimeSeries): name: str = Field(...) data: str = Field(..., description="""Data decomposed into frequency bands.""") - metric: str = Field( - ..., description="""The metric used, e.g. phase, amplitude, power.""" - ) + metric: str = Field(..., description="""The metric used, e.g. phase, amplitude, power.""") bands: str = Field( ..., description="""Table for describing the bands that this series was generated from. There should be one row in this table for each band.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -253,9 +243,7 @@ class DecompositionSeriesData(ConfiguredBaseModel): None, description="""Base unit of measurement for working with the data. Actual stored values are not necessarily stored in these units. To access the data in these units, multiply 'data' by 'conversion'.""", ) - array: Optional[ - NDArray[Shape["* num_times, * num_channels, * num_bands"], float] - ] = Field(None) + array: Optional[NDArray[Shape["* num_times, * num_channels, * num_bands"], float]] = Field(None) class DecompositionSeriesBands(DynamicTable): @@ -306,18 +294,14 @@ class Units(DynamicTable): spike_times_index: Optional[str] = Field( None, description="""Index into the spike_times dataset.""" ) - spike_times: Optional[str] = Field( - None, description="""Spike times for each unit.""" - ) + spike_times: Optional[str] = Field(None, description="""Spike times for each unit.""") obs_intervals_index: Optional[str] = Field( None, description="""Index into the obs_intervals dataset.""" ) - obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = ( - Field(None, description="""Observation intervals for each unit.""") - ) - electrodes_index: Optional[str] = Field( - None, description="""Index into electrodes.""" + obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = Field( + None, description="""Observation intervals for each unit.""" ) + electrodes_index: Optional[str] = Field(None, description="""Index into electrodes.""") electrodes: Optional[str] = Field( None, description="""Electrode that each spike unit came from, specified using a DynamicTableRegion.""", @@ -337,9 +321,7 @@ class Units(DynamicTable): NDArray[Shape["* num_units, * num_samples"], float], NDArray[Shape["* num_units, * num_samples, * num_electrodes"], float], ] - ] = Field( - None, description="""Spike waveform standard deviation for each spike unit.""" - ) + ] = Field(None, description="""Spike waveform standard deviation for each spike unit.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ogen.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ogen.py index 45a618c..8022a6d 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ogen.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ogen.py @@ -68,9 +68,7 @@ class OptogeneticSeries(TimeSeries): data: NDArray[Shape["* num_times"], float] = Field( ..., description="""Applied power for optogenetic stimulus, in watts.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -104,9 +102,7 @@ class OptogeneticStimulusSite(NWBContainer): name: str = Field(...) description: str = Field(..., description="""Description of stimulation site.""") - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") location: str = Field( ..., description="""Location of the stimulation site. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ophys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ophys.py index 3557ff5..9947352 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ophys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_ophys.py @@ -101,9 +101,7 @@ class TwoPhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -144,9 +142,7 @@ class RoiResponseSeries(TimeSeries): ..., description="""DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -201,9 +197,7 @@ class DfOverF(NWBDataInterface): dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -212,9 +206,7 @@ class Fluorescence(NWBDataInterface): Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -223,9 +215,9 @@ class ImageSegmentation(NWBDataInterface): Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. """ - children: Optional[ - List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable] - ] = Field(default_factory=dict) + children: Optional[List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable]] = ( + Field(default_factory=dict) + ) name: str = Field(...) @@ -243,7 +235,5 @@ class MotionCorrection(NWBDataInterface): An image stack where all frames are shifted (registered) to a common coordinate system, to account for movement and drift between frames. Note: each frame at each point in time is assumed to be 2-D (has only x & y dimensions). """ - children: Optional[List[NWBDataInterface] | NWBDataInterface] = Field( - default_factory=dict - ) + children: Optional[List[NWBDataInterface] | NWBDataInterface] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_retinotopy.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_retinotopy.py index c129bbe..339308f 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_retinotopy.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_2/core_nwb_retinotopy.py @@ -102,9 +102,7 @@ class ImagingRetinotopyAxis1PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -121,9 +119,7 @@ class ImagingRetinotopyAxis1PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -140,9 +136,7 @@ class ImagingRetinotopyAxis2PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -159,9 +153,7 @@ class ImagingRetinotopyAxis2PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -182,12 +174,8 @@ class ImagingRetinotopyFocalDepthImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) - focal_depth: Optional[float] = Field( - None, description="""Focal depth offset, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") + focal_depth: Optional[float] = Field(None, description="""Focal depth offset, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) @@ -204,9 +192,7 @@ class ImagingRetinotopySignMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -224,9 +210,7 @@ class ImagingRetinotopyVasculatureImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_base.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_base.py index a7e8fe7..a032ad6 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_base.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_base.py @@ -71,9 +71,7 @@ class Image(NWBData): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +103,7 @@ class TimeSeries(NWBDataInterface): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_behavior.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_behavior.py index 874a4f4..da796f8 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_behavior.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_behavior.py @@ -75,9 +75,7 @@ class SpatialSeries(TimeSeries): None, description="""Description defining what exactly 'straight-ahead' means.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -127,9 +125,7 @@ class BehavioralEpochs(NWBDataInterface): TimeSeries for storing behavioral epochs. The objective of this and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another data modality (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a group having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data. """ - children: Optional[List[IntervalSeries] | IntervalSeries] = Field( - default_factory=dict - ) + children: Optional[List[IntervalSeries] | IntervalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -165,9 +161,7 @@ class EyeTracking(NWBDataInterface): Eye-tracking data, representing direction of gaze. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -176,9 +170,7 @@ class CompassDirection(NWBDataInterface): With a CompassDirection interface, a module publishes a SpatialSeries object representing a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to 0 and which is the direction of rotation (this should be clockwise). The si_unit for the SpatialSeries should be radians or degrees. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -187,7 +179,5 @@ class Position(NWBDataInterface): Position data, whether along the x, x/y or x/y/z axis. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ecephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ecephys.py index f20a6f0..89f9127 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ecephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ecephys.py @@ -81,9 +81,7 @@ class ElectricalSeries(TimeSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -155,9 +153,7 @@ class SpikeEventSeries(ElectricalSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -190,11 +186,9 @@ class FeatureExtraction(NWBDataInterface): ..., description="""Description of features (eg, ''PC1'') for each of the extracted features.""", ) - features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = ( - Field( - ..., - description="""Multi-dimensional array of features extracted from each event.""", - ) + features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = Field( + ..., + description="""Multi-dimensional array of features extracted from each event.""", ) times: NDArray[Shape["* num_events"], float] = Field( ..., @@ -253,9 +247,7 @@ class EventWaveform(NWBDataInterface): Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. """ - children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field(default_factory=dict) name: str = Field(...) @@ -264,9 +256,7 @@ class FilteredEphys(NWBDataInterface): Electrophysiology data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each's TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Filter properties should be noted in the ElectricalSeries. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -275,9 +265,7 @@ class LFP(NWBDataInterface): LFP data from one or more channels. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries description or comments field. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -287,9 +275,7 @@ class ElectrodeGroup(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of this electrode group.""" - ) + description: Optional[str] = Field(None, description="""Description of this electrode group.""") location: Optional[str] = Field( None, description="""Location of electrode group. Specify the area, layer, comments on estimation of area/layer, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_epoch.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_epoch.py index d71668b..f38c627 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_epoch.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_epoch.py @@ -77,12 +77,8 @@ class TimeIntervals(DynamicTable): description="""User-defined tags that identify or categorize events.""", ) tags_index: Optional[str] = Field(None, description="""Index for tags.""") - timeseries: Optional[str] = Field( - None, description="""An index into a TimeSeries object.""" - ) - timeseries_index: Optional[str] = Field( - None, description="""Index for timeseries.""" - ) + timeseries: Optional[str] = Field(None, description="""An index into a TimeSeries object.""") + timeseries_index: Optional[str] = Field(None, description="""Index for timeseries.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_file.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_file.py index 6fb2b9e..3b11f0a 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_file.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_file.py @@ -198,9 +198,7 @@ class NWBFileGeneral(ConfiguredBaseModel): keywords: Optional[NDArray[Shape["* num_keywords"], str]] = Field( None, description="""Terms to search over.""" ) - lab: Optional[str] = Field( - None, description="""Laboratory where experiment was performed.""" - ) + lab: Optional[str] = Field(None, description="""Laboratory where experiment was performed.""") notes: Optional[str] = Field(None, description="""Notes about the experiment.""") pharmacology: Optional[str] = Field( None, @@ -213,9 +211,7 @@ class NWBFileGeneral(ConfiguredBaseModel): related_publications: Optional[NDArray[Shape["* num_publications"], str]] = Field( None, description="""Publication information. PMID, DOI, URL, etc.""" ) - session_id: Optional[str] = Field( - None, description="""Lab-specific ID for the session.""" - ) + session_id: Optional[str] = Field(None, description="""Lab-specific ID for the session.""") slices: Optional[str] = Field( None, description="""Description of slices, including information about preparation thickness, orientation, temperature, and bath solution.""", @@ -254,11 +250,9 @@ class NWBFileGeneral(ConfiguredBaseModel): intracellular_ephys: Optional[str] = Field( None, description="""Metadata related to intracellular electrophysiology.""" ) - optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = ( - Field( - default_factory=dict, - description="""Metadata describing optogenetic stimuluation.""", - ) + optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = Field( + default_factory=dict, + description="""Metadata describing optogenetic stimuluation.""", ) optophysiology: Optional[List[ImagingPlane] | ImagingPlane] = Field( default_factory=dict, description="""Metadata related to optophysiology.""" diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_icephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_icephys.py index 9d9e235..695050c 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_icephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_icephys.py @@ -83,9 +83,7 @@ class PatchClampSeries(TimeSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -132,12 +130,8 @@ class CurrentClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded voltage.""") - bias_current: Optional[float] = Field( - None, description="""Bias current, in amps.""" - ) - bridge_balance: Optional[float] = Field( - None, description="""Bridge balance, in ohms.""" - ) + bias_current: Optional[float] = Field(None, description="""Bias current, in amps.""") + bridge_balance: Optional[float] = Field(None, description="""Bridge balance, in ohms.""") capacitance_compensation: Optional[float] = Field( None, description="""Capacitance compensation, in farads.""" ) @@ -152,9 +146,7 @@ class CurrentClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -200,12 +192,8 @@ class IZeroClampSeries(CurrentClampSeries): """ name: str = Field(...) - bias_current: float = Field( - ..., description="""Bias current, in amps, fixed to 0.0.""" - ) - bridge_balance: float = Field( - ..., description="""Bridge balance, in ohms, fixed to 0.0.""" - ) + bias_current: float = Field(..., description="""Bias current, in amps, fixed to 0.0.""") + bridge_balance: float = Field(..., description="""Bridge balance, in ohms, fixed to 0.0.""") capacitance_compensation: float = Field( ..., description="""Capacitance compensation, in farads, fixed to 0.0.""" ) @@ -221,9 +209,7 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -268,9 +254,7 @@ class CurrentClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -317,12 +301,8 @@ class VoltageClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded current.""") - capacitance_fast: Optional[str] = Field( - None, description="""Fast capacitance, in farads.""" - ) - capacitance_slow: Optional[str] = Field( - None, description="""Slow capacitance, in farads.""" - ) + capacitance_fast: Optional[str] = Field(None, description="""Fast capacitance, in farads.""") + capacitance_slow: Optional[str] = Field(None, description="""Slow capacitance, in farads.""") resistance_comp_bandwidth: Optional[str] = Field( None, description="""Resistance compensation bandwidth, in hertz.""" ) @@ -349,9 +329,7 @@ class VoltageClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -474,9 +452,7 @@ class VoltageClampSeriesWholeCellSeriesResistanceComp(ConfiguredBaseModel): Whole cell series resistance compensation, in ohms. """ - name: Literal["whole_cell_series_resistance_comp"] = Field( - "whole_cell_series_resistance_comp" - ) + name: Literal["whole_cell_series_resistance_comp"] = Field("whole_cell_series_resistance_comp") unit: Optional[str] = Field( None, description="""Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.""", @@ -502,9 +478,7 @@ class VoltageClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -554,9 +528,7 @@ class IntracellularElectrode(NWBContainer): ..., description="""Description of electrode (e.g., whole-cell, sharp, etc.).""", ) - filtering: Optional[str] = Field( - None, description="""Electrode specific filtering.""" - ) + filtering: Optional[str] = Field(None, description="""Electrode specific filtering.""") initial_access_resistance: Optional[str] = Field( None, description="""Initial access resistance.""" ) @@ -564,12 +536,8 @@ class IntracellularElectrode(NWBContainer): None, description="""Location of the electrode. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", ) - resistance: Optional[str] = Field( - None, description="""Electrode resistance, in ohms.""" - ) - seal: Optional[str] = Field( - None, description="""Information about seal used for recording.""" - ) + resistance: Optional[str] = Field(None, description="""Electrode resistance, in ohms.""") + seal: Optional[str] = Field(None, description="""Information about seal used for recording.""") slice: Optional[str] = Field( None, description="""Information about slice used for recording.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_image.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_image.py index 376f7ed..b3a9a12 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_image.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_image.py @@ -63,9 +63,7 @@ class GrayscaleImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -84,9 +82,7 @@ class RGBImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +101,7 @@ class RGBAImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -140,9 +134,7 @@ class ImageSeries(TimeSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -205,9 +197,7 @@ class ImageMaskSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -255,9 +245,7 @@ class OpticalSeries(ImageSeries): data: Union[ NDArray[Shape["* frame, * x, * y"], float], NDArray[Shape["* frame, * x, * y, 3 r_g_b"], float], - ] = Field( - ..., description="""Images presented to subject, either grayscale or RGB""" - ) + ] = Field(..., description="""Images presented to subject, either grayscale or RGB""") orientation: Optional[str] = Field( None, description="""Description of image relative to some reference frame (e.g., which way is up). Must also specify frame of reference.""", @@ -273,9 +261,7 @@ class OpticalSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -311,9 +297,7 @@ class IndexSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Index of the frame in the referenced ImageSeries.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_misc.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_misc.py index a17123b..e851734 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_misc.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_misc.py @@ -77,9 +77,7 @@ class AbstractFeatureSeries(TimeSeries): ..., description="""Description of the features represented in TimeSeries::data.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -133,9 +131,7 @@ class AnnotationSeries(TimeSeries): data: NDArray[Shape["* num_times"], str] = Field( ..., description="""Annotations made during an experiment.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -171,9 +167,7 @@ class IntervalSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Use values >0 if interval started, <0 if interval ended.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,16 +201,12 @@ class DecompositionSeries(TimeSeries): name: str = Field(...) data: str = Field(..., description="""Data decomposed into frequency bands.""") - metric: str = Field( - ..., description="""The metric used, e.g. phase, amplitude, power.""" - ) + metric: str = Field(..., description="""The metric used, e.g. phase, amplitude, power.""") bands: str = Field( ..., description="""Table for describing the bands that this series was generated from. There should be one row in this table for each band.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -253,9 +243,7 @@ class DecompositionSeriesData(ConfiguredBaseModel): None, description="""Base unit of measurement for working with the data. Actual stored values are not necessarily stored in these units. To access the data in these units, multiply 'data' by 'conversion'.""", ) - array: Optional[ - NDArray[Shape["* num_times, * num_channels, * num_bands"], float] - ] = Field(None) + array: Optional[NDArray[Shape["* num_times, * num_channels, * num_bands"], float]] = Field(None) class DecompositionSeriesBands(DynamicTable): @@ -306,18 +294,14 @@ class Units(DynamicTable): spike_times_index: Optional[str] = Field( None, description="""Index into the spike_times dataset.""" ) - spike_times: Optional[str] = Field( - None, description="""Spike times for each unit.""" - ) + spike_times: Optional[str] = Field(None, description="""Spike times for each unit.""") obs_intervals_index: Optional[str] = Field( None, description="""Index into the obs_intervals dataset.""" ) - obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = ( - Field(None, description="""Observation intervals for each unit.""") - ) - electrodes_index: Optional[str] = Field( - None, description="""Index into electrodes.""" + obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = Field( + None, description="""Observation intervals for each unit.""" ) + electrodes_index: Optional[str] = Field(None, description="""Index into electrodes.""") electrodes: Optional[str] = Field( None, description="""Electrode that each spike unit came from, specified using a DynamicTableRegion.""", @@ -337,9 +321,7 @@ class Units(DynamicTable): NDArray[Shape["* num_units, * num_samples"], float], NDArray[Shape["* num_units, * num_samples, * num_electrodes"], float], ] - ] = Field( - None, description="""Spike waveform standard deviation for each spike unit.""" - ) + ] = Field(None, description="""Spike waveform standard deviation for each spike unit.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ogen.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ogen.py index e94b884..68cf593 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ogen.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ogen.py @@ -68,9 +68,7 @@ class OptogeneticSeries(TimeSeries): data: NDArray[Shape["* num_times"], float] = Field( ..., description="""Applied power for optogenetic stimulus, in watts.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -104,9 +102,7 @@ class OptogeneticStimulusSite(NWBContainer): name: str = Field(...) description: str = Field(..., description="""Description of stimulation site.""") - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") location: str = Field( ..., description="""Location of the stimulation site. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ophys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ophys.py index 4f30578..22af7b2 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ophys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_ophys.py @@ -106,9 +106,7 @@ class TwoPhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -149,9 +147,7 @@ class RoiResponseSeries(TimeSeries): ..., description="""DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -206,9 +202,7 @@ class DfOverF(NWBDataInterface): dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -217,9 +211,7 @@ class Fluorescence(NWBDataInterface): Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -228,9 +220,7 @@ class ImageSegmentation(NWBDataInterface): Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. """ - children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field( - default_factory=dict - ) + children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field(default_factory=dict) name: str = Field(...) @@ -249,16 +239,12 @@ class PlaneSegmentation(DynamicTable): None, description="""ROI masks for each ROI. Each image mask is the size of the original imaging plane (or volume) and members of the ROI are finite non-zero.""", ) - pixel_mask_index: Optional[str] = Field( - None, description="""Index into pixel_mask.""" - ) + pixel_mask_index: Optional[str] = Field(None, description="""Index into pixel_mask.""") pixel_mask: Optional[str] = Field( None, description="""Pixel masks for each ROI: a list of indices and weights for the ROI. Pixel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", ) - voxel_mask_index: Optional[str] = Field( - None, description="""Index into voxel_mask.""" - ) + voxel_mask_index: Optional[str] = Field(None, description="""Index into voxel_mask.""") voxel_mask: Optional[str] = Field( None, description="""Voxel masks for each ROI: a list of indices and weights for the ROI. Voxel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", @@ -363,9 +349,7 @@ class ImagingPlane(NWBContainer): An imaging plane and its metadata. """ - children: Optional[List[OpticalChannel] | OpticalChannel] = Field( - default_factory=dict - ) + children: Optional[List[OpticalChannel] | OpticalChannel] = Field(default_factory=dict) name: str = Field(...) @@ -375,12 +359,8 @@ class OpticalChannel(NWBContainer): """ name: str = Field(...) - description: str = Field( - ..., description="""Description or other notes about the channel.""" - ) - emission_lambda: float = Field( - ..., description="""Emission wavelength for channel, in nm.""" - ) + description: str = Field(..., description="""Description or other notes about the channel.""") + emission_lambda: float = Field(..., description="""Emission wavelength for channel, in nm.""") class MotionCorrection(NWBDataInterface): diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_retinotopy.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_retinotopy.py index b9bbc67..0b2cbfc 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_retinotopy.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_4/core_nwb_retinotopy.py @@ -102,9 +102,7 @@ class ImagingRetinotopyAxis1PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -121,9 +119,7 @@ class ImagingRetinotopyAxis1PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -140,9 +136,7 @@ class ImagingRetinotopyAxis2PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -159,9 +153,7 @@ class ImagingRetinotopyAxis2PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -182,12 +174,8 @@ class ImagingRetinotopyFocalDepthImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) - focal_depth: Optional[float] = Field( - None, description="""Focal depth offset, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") + focal_depth: Optional[float] = Field(None, description="""Focal depth offset, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) @@ -204,9 +192,7 @@ class ImagingRetinotopySignMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -224,9 +210,7 @@ class ImagingRetinotopyVasculatureImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_base.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_base.py index 8a65d3c..e69dc67 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_base.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_base.py @@ -71,9 +71,7 @@ class Image(NWBData): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +103,7 @@ class TimeSeries(NWBDataInterface): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_behavior.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_behavior.py index 9d332a6..7b2ae1d 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_behavior.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_behavior.py @@ -75,9 +75,7 @@ class SpatialSeries(TimeSeries): None, description="""Description defining what exactly 'straight-ahead' means.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -127,9 +125,7 @@ class BehavioralEpochs(NWBDataInterface): TimeSeries for storing behavioral epochs. The objective of this and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another data modality (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a group having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data. """ - children: Optional[List[IntervalSeries] | IntervalSeries] = Field( - default_factory=dict - ) + children: Optional[List[IntervalSeries] | IntervalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -165,9 +161,7 @@ class EyeTracking(NWBDataInterface): Eye-tracking data, representing direction of gaze. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -176,9 +170,7 @@ class CompassDirection(NWBDataInterface): With a CompassDirection interface, a module publishes a SpatialSeries object representing a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to 0 and which is the direction of rotation (this should be clockwise). The si_unit for the SpatialSeries should be radians or degrees. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -187,7 +179,5 @@ class Position(NWBDataInterface): Position data, whether along the x, x/y or x/y/z axis. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ecephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ecephys.py index 51ac12d..feec459 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ecephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ecephys.py @@ -81,9 +81,7 @@ class ElectricalSeries(TimeSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -155,9 +153,7 @@ class SpikeEventSeries(ElectricalSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -190,11 +186,9 @@ class FeatureExtraction(NWBDataInterface): ..., description="""Description of features (eg, ''PC1'') for each of the extracted features.""", ) - features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = ( - Field( - ..., - description="""Multi-dimensional array of features extracted from each event.""", - ) + features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = Field( + ..., + description="""Multi-dimensional array of features extracted from each event.""", ) times: NDArray[Shape["* num_events"], float] = Field( ..., @@ -253,9 +247,7 @@ class EventWaveform(NWBDataInterface): Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. """ - children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field(default_factory=dict) name: str = Field(...) @@ -264,9 +256,7 @@ class FilteredEphys(NWBDataInterface): Electrophysiology data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each's TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Filter properties should be noted in the ElectricalSeries. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -275,9 +265,7 @@ class LFP(NWBDataInterface): LFP data from one or more channels. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries description or comments field. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -287,9 +275,7 @@ class ElectrodeGroup(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of this electrode group.""" - ) + description: Optional[str] = Field(None, description="""Description of this electrode group.""") location: Optional[str] = Field( None, description="""Location of electrode group. Specify the area, layer, comments on estimation of area/layer, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_epoch.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_epoch.py index 555f691..831f62a 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_epoch.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_epoch.py @@ -77,12 +77,8 @@ class TimeIntervals(DynamicTable): description="""User-defined tags that identify or categorize events.""", ) tags_index: Optional[str] = Field(None, description="""Index for tags.""") - timeseries: Optional[str] = Field( - None, description="""An index into a TimeSeries object.""" - ) - timeseries_index: Optional[str] = Field( - None, description="""Index for timeseries.""" - ) + timeseries: Optional[str] = Field(None, description="""An index into a TimeSeries object.""") + timeseries_index: Optional[str] = Field(None, description="""Index for timeseries.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_file.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_file.py index 7db1f78..bc06b3f 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_file.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_file.py @@ -198,9 +198,7 @@ class NWBFileGeneral(ConfiguredBaseModel): keywords: Optional[NDArray[Shape["* num_keywords"], str]] = Field( None, description="""Terms to search over.""" ) - lab: Optional[str] = Field( - None, description="""Laboratory where experiment was performed.""" - ) + lab: Optional[str] = Field(None, description="""Laboratory where experiment was performed.""") notes: Optional[str] = Field(None, description="""Notes about the experiment.""") pharmacology: Optional[str] = Field( None, @@ -213,9 +211,7 @@ class NWBFileGeneral(ConfiguredBaseModel): related_publications: Optional[NDArray[Shape["* num_publications"], str]] = Field( None, description="""Publication information. PMID, DOI, URL, etc.""" ) - session_id: Optional[str] = Field( - None, description="""Lab-specific ID for the session.""" - ) + session_id: Optional[str] = Field(None, description="""Lab-specific ID for the session.""") slices: Optional[str] = Field( None, description="""Description of slices, including information about preparation thickness, orientation, temperature, and bath solution.""", @@ -254,11 +250,9 @@ class NWBFileGeneral(ConfiguredBaseModel): intracellular_ephys: Optional[str] = Field( None, description="""Metadata related to intracellular electrophysiology.""" ) - optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = ( - Field( - default_factory=dict, - description="""Metadata describing optogenetic stimuluation.""", - ) + optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = Field( + default_factory=dict, + description="""Metadata describing optogenetic stimuluation.""", ) optophysiology: Optional[List[ImagingPlane] | ImagingPlane] = Field( default_factory=dict, description="""Metadata related to optophysiology.""" diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_icephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_icephys.py index ab40059..ee7fe67 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_icephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_icephys.py @@ -83,9 +83,7 @@ class PatchClampSeries(TimeSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -132,12 +130,8 @@ class CurrentClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded voltage.""") - bias_current: Optional[float] = Field( - None, description="""Bias current, in amps.""" - ) - bridge_balance: Optional[float] = Field( - None, description="""Bridge balance, in ohms.""" - ) + bias_current: Optional[float] = Field(None, description="""Bias current, in amps.""") + bridge_balance: Optional[float] = Field(None, description="""Bridge balance, in ohms.""") capacitance_compensation: Optional[float] = Field( None, description="""Capacitance compensation, in farads.""" ) @@ -152,9 +146,7 @@ class CurrentClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -200,12 +192,8 @@ class IZeroClampSeries(CurrentClampSeries): """ name: str = Field(...) - bias_current: float = Field( - ..., description="""Bias current, in amps, fixed to 0.0.""" - ) - bridge_balance: float = Field( - ..., description="""Bridge balance, in ohms, fixed to 0.0.""" - ) + bias_current: float = Field(..., description="""Bias current, in amps, fixed to 0.0.""") + bridge_balance: float = Field(..., description="""Bridge balance, in ohms, fixed to 0.0.""") capacitance_compensation: float = Field( ..., description="""Capacitance compensation, in farads, fixed to 0.0.""" ) @@ -221,9 +209,7 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -268,9 +254,7 @@ class CurrentClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -317,12 +301,8 @@ class VoltageClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded current.""") - capacitance_fast: Optional[str] = Field( - None, description="""Fast capacitance, in farads.""" - ) - capacitance_slow: Optional[str] = Field( - None, description="""Slow capacitance, in farads.""" - ) + capacitance_fast: Optional[str] = Field(None, description="""Fast capacitance, in farads.""") + capacitance_slow: Optional[str] = Field(None, description="""Slow capacitance, in farads.""") resistance_comp_bandwidth: Optional[str] = Field( None, description="""Resistance compensation bandwidth, in hertz.""" ) @@ -349,9 +329,7 @@ class VoltageClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -474,9 +452,7 @@ class VoltageClampSeriesWholeCellSeriesResistanceComp(ConfiguredBaseModel): Whole cell series resistance compensation, in ohms. """ - name: Literal["whole_cell_series_resistance_comp"] = Field( - "whole_cell_series_resistance_comp" - ) + name: Literal["whole_cell_series_resistance_comp"] = Field("whole_cell_series_resistance_comp") unit: Optional[str] = Field( None, description="""Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.""", @@ -502,9 +478,7 @@ class VoltageClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -554,9 +528,7 @@ class IntracellularElectrode(NWBContainer): ..., description="""Description of electrode (e.g., whole-cell, sharp, etc.).""", ) - filtering: Optional[str] = Field( - None, description="""Electrode specific filtering.""" - ) + filtering: Optional[str] = Field(None, description="""Electrode specific filtering.""") initial_access_resistance: Optional[str] = Field( None, description="""Initial access resistance.""" ) @@ -564,12 +536,8 @@ class IntracellularElectrode(NWBContainer): None, description="""Location of the electrode. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", ) - resistance: Optional[str] = Field( - None, description="""Electrode resistance, in ohms.""" - ) - seal: Optional[str] = Field( - None, description="""Information about seal used for recording.""" - ) + resistance: Optional[str] = Field(None, description="""Electrode resistance, in ohms.""") + seal: Optional[str] = Field(None, description="""Information about seal used for recording.""") slice: Optional[str] = Field( None, description="""Information about slice used for recording.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_image.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_image.py index afbdbe0..715103f 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_image.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_image.py @@ -63,9 +63,7 @@ class GrayscaleImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -84,9 +82,7 @@ class RGBImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +101,7 @@ class RGBAImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -140,9 +134,7 @@ class ImageSeries(TimeSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -205,9 +197,7 @@ class ImageMaskSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -255,9 +245,7 @@ class OpticalSeries(ImageSeries): data: Union[ NDArray[Shape["* frame, * x, * y"], float], NDArray[Shape["* frame, * x, * y, 3 r_g_b"], float], - ] = Field( - ..., description="""Images presented to subject, either grayscale or RGB""" - ) + ] = Field(..., description="""Images presented to subject, either grayscale or RGB""") orientation: Optional[str] = Field( None, description="""Description of image relative to some reference frame (e.g., which way is up). Must also specify frame of reference.""", @@ -273,9 +261,7 @@ class OpticalSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -311,9 +297,7 @@ class IndexSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Index of the frame in the referenced ImageSeries.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_misc.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_misc.py index 31a5561..86feb48 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_misc.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_misc.py @@ -77,9 +77,7 @@ class AbstractFeatureSeries(TimeSeries): ..., description="""Description of the features represented in TimeSeries::data.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -133,9 +131,7 @@ class AnnotationSeries(TimeSeries): data: NDArray[Shape["* num_times"], str] = Field( ..., description="""Annotations made during an experiment.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -171,9 +167,7 @@ class IntervalSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Use values >0 if interval started, <0 if interval ended.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,16 +201,12 @@ class DecompositionSeries(TimeSeries): name: str = Field(...) data: str = Field(..., description="""Data decomposed into frequency bands.""") - metric: str = Field( - ..., description="""The metric used, e.g. phase, amplitude, power.""" - ) + metric: str = Field(..., description="""The metric used, e.g. phase, amplitude, power.""") bands: str = Field( ..., description="""Table for describing the bands that this series was generated from. There should be one row in this table for each band.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -253,9 +243,7 @@ class DecompositionSeriesData(ConfiguredBaseModel): None, description="""Base unit of measurement for working with the data. Actual stored values are not necessarily stored in these units. To access the data in these units, multiply 'data' by 'conversion'.""", ) - array: Optional[ - NDArray[Shape["* num_times, * num_channels, * num_bands"], float] - ] = Field(None) + array: Optional[NDArray[Shape["* num_times, * num_channels, * num_bands"], float]] = Field(None) class DecompositionSeriesBands(DynamicTable): @@ -306,18 +294,14 @@ class Units(DynamicTable): spike_times_index: Optional[str] = Field( None, description="""Index into the spike_times dataset.""" ) - spike_times: Optional[str] = Field( - None, description="""Spike times for each unit.""" - ) + spike_times: Optional[str] = Field(None, description="""Spike times for each unit.""") obs_intervals_index: Optional[str] = Field( None, description="""Index into the obs_intervals dataset.""" ) - obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = ( - Field(None, description="""Observation intervals for each unit.""") - ) - electrodes_index: Optional[str] = Field( - None, description="""Index into electrodes.""" + obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = Field( + None, description="""Observation intervals for each unit.""" ) + electrodes_index: Optional[str] = Field(None, description="""Index into electrodes.""") electrodes: Optional[str] = Field( None, description="""Electrode that each spike unit came from, specified using a DynamicTableRegion.""", @@ -337,9 +321,7 @@ class Units(DynamicTable): NDArray[Shape["* num_units, * num_samples"], float], NDArray[Shape["* num_units, * num_samples, * num_electrodes"], float], ] - ] = Field( - None, description="""Spike waveform standard deviation for each spike unit.""" - ) + ] = Field(None, description="""Spike waveform standard deviation for each spike unit.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ogen.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ogen.py index f661793..f2057e8 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ogen.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ogen.py @@ -68,9 +68,7 @@ class OptogeneticSeries(TimeSeries): data: NDArray[Shape["* num_times"], float] = Field( ..., description="""Applied power for optogenetic stimulus, in watts.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -104,9 +102,7 @@ class OptogeneticStimulusSite(NWBContainer): name: str = Field(...) description: str = Field(..., description="""Description of stimulation site.""") - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") location: str = Field( ..., description="""Location of the stimulation site. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ophys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ophys.py index 506783a..65208d8 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ophys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_ophys.py @@ -106,9 +106,7 @@ class TwoPhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -149,9 +147,7 @@ class RoiResponseSeries(TimeSeries): ..., description="""DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -206,9 +202,7 @@ class DfOverF(NWBDataInterface): dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -217,9 +211,7 @@ class Fluorescence(NWBDataInterface): Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -228,9 +220,7 @@ class ImageSegmentation(NWBDataInterface): Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. """ - children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field( - default_factory=dict - ) + children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field(default_factory=dict) name: str = Field(...) @@ -249,16 +239,12 @@ class PlaneSegmentation(DynamicTable): None, description="""ROI masks for each ROI. Each image mask is the size of the original imaging plane (or volume) and members of the ROI are finite non-zero.""", ) - pixel_mask_index: Optional[str] = Field( - None, description="""Index into pixel_mask.""" - ) + pixel_mask_index: Optional[str] = Field(None, description="""Index into pixel_mask.""") pixel_mask: Optional[str] = Field( None, description="""Pixel masks for each ROI: a list of indices and weights for the ROI. Pixel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", ) - voxel_mask_index: Optional[str] = Field( - None, description="""Index into voxel_mask.""" - ) + voxel_mask_index: Optional[str] = Field(None, description="""Index into voxel_mask.""") voxel_mask: Optional[str] = Field( None, description="""Voxel masks for each ROI: a list of indices and weights for the ROI. Voxel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", @@ -363,9 +349,7 @@ class ImagingPlane(NWBContainer): An imaging plane and its metadata. """ - children: Optional[List[OpticalChannel] | OpticalChannel] = Field( - default_factory=dict - ) + children: Optional[List[OpticalChannel] | OpticalChannel] = Field(default_factory=dict) name: str = Field(...) @@ -375,12 +359,8 @@ class OpticalChannel(NWBContainer): """ name: str = Field(...) - description: str = Field( - ..., description="""Description or other notes about the channel.""" - ) - emission_lambda: float = Field( - ..., description="""Emission wavelength for channel, in nm.""" - ) + description: str = Field(..., description="""Description or other notes about the channel.""") + emission_lambda: float = Field(..., description="""Emission wavelength for channel, in nm.""") class MotionCorrection(NWBDataInterface): diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_retinotopy.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_retinotopy.py index bae1146..544cdd6 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_retinotopy.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_2_5/core_nwb_retinotopy.py @@ -102,9 +102,7 @@ class ImagingRetinotopyAxis1PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -121,9 +119,7 @@ class ImagingRetinotopyAxis1PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -140,9 +136,7 @@ class ImagingRetinotopyAxis2PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -159,9 +153,7 @@ class ImagingRetinotopyAxis2PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -182,12 +174,8 @@ class ImagingRetinotopyFocalDepthImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) - focal_depth: Optional[float] = Field( - None, description="""Focal depth offset, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") + focal_depth: Optional[float] = Field(None, description="""Focal depth offset, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) @@ -204,9 +192,7 @@ class ImagingRetinotopySignMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -224,9 +210,7 @@ class ImagingRetinotopyVasculatureImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_base.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_base.py index f3c66c9..cdb6e43 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_base.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_base.py @@ -73,9 +73,7 @@ class Image(NWBData): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -107,9 +105,7 @@ class TimeSeries(NWBDataInterface): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_behavior.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_behavior.py index fb63332..47cb3b4 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_behavior.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_behavior.py @@ -75,9 +75,7 @@ class SpatialSeries(TimeSeries): None, description="""Description defining what exactly 'straight-ahead' means.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -127,9 +125,7 @@ class BehavioralEpochs(NWBDataInterface): TimeSeries for storing behavioral epochs. The objective of this and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another data modality (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a group having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data. """ - children: Optional[List[IntervalSeries] | IntervalSeries] = Field( - default_factory=dict - ) + children: Optional[List[IntervalSeries] | IntervalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -165,9 +161,7 @@ class EyeTracking(NWBDataInterface): Eye-tracking data, representing direction of gaze. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -176,9 +170,7 @@ class CompassDirection(NWBDataInterface): With a CompassDirection interface, a module publishes a SpatialSeries object representing a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to 0 and which is the direction of rotation (this should be clockwise). The si_unit for the SpatialSeries should be radians or degrees. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -187,7 +179,5 @@ class Position(NWBDataInterface): Position data, whether along the x, x/y or x/y/z axis. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ecephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ecephys.py index 5249cf2..a63438e 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ecephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ecephys.py @@ -85,9 +85,7 @@ class ElectricalSeries(TimeSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -163,9 +161,7 @@ class SpikeEventSeries(ElectricalSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -198,11 +194,9 @@ class FeatureExtraction(NWBDataInterface): ..., description="""Description of features (eg, ''PC1'') for each of the extracted features.""", ) - features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = ( - Field( - ..., - description="""Multi-dimensional array of features extracted from each event.""", - ) + features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = Field( + ..., + description="""Multi-dimensional array of features extracted from each event.""", ) times: NDArray[Shape["* num_events"], float] = Field( ..., @@ -261,9 +255,7 @@ class EventWaveform(NWBDataInterface): Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. """ - children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field(default_factory=dict) name: str = Field(...) @@ -272,9 +264,7 @@ class FilteredEphys(NWBDataInterface): Electrophysiology data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each's TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Filter properties should be noted in the ElectricalSeries 'filtering' attribute. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -283,9 +273,7 @@ class LFP(NWBDataInterface): LFP data from one or more channels. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries 'filtering' attribute. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -295,9 +283,7 @@ class ElectrodeGroup(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of this electrode group.""" - ) + description: Optional[str] = Field(None, description="""Description of this electrode group.""") location: Optional[str] = Field( None, description="""Location of electrode group. Specify the area, layer, comments on estimation of area/layer, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_epoch.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_epoch.py index 637b6ae..498f57a 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_epoch.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_epoch.py @@ -77,12 +77,8 @@ class TimeIntervals(DynamicTable): description="""User-defined tags that identify or categorize events.""", ) tags_index: Optional[str] = Field(None, description="""Index for tags.""") - timeseries: Optional[str] = Field( - None, description="""An index into a TimeSeries object.""" - ) - timeseries_index: Optional[str] = Field( - None, description="""Index for timeseries.""" - ) + timeseries: Optional[str] = Field(None, description="""An index into a TimeSeries object.""") + timeseries_index: Optional[str] = Field(None, description="""Index for timeseries.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_file.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_file.py index 15bf459..0a9a2fc 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_file.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_file.py @@ -194,9 +194,7 @@ class NWBFileGeneral(ConfiguredBaseModel): keywords: Optional[NDArray[Shape["* num_keywords"], str]] = Field( None, description="""Terms to search over.""" ) - lab: Optional[str] = Field( - None, description="""Laboratory where experiment was performed.""" - ) + lab: Optional[str] = Field(None, description="""Laboratory where experiment was performed.""") notes: Optional[str] = Field(None, description="""Notes about the experiment.""") pharmacology: Optional[str] = Field( None, @@ -209,9 +207,7 @@ class NWBFileGeneral(ConfiguredBaseModel): related_publications: Optional[NDArray[Shape["* num_publications"], str]] = Field( None, description="""Publication information. PMID, DOI, URL, etc.""" ) - session_id: Optional[str] = Field( - None, description="""Lab-specific ID for the session.""" - ) + session_id: Optional[str] = Field(None, description="""Lab-specific ID for the session.""") slices: Optional[str] = Field( None, description="""Description of slices, including information about preparation thickness, orientation, temperature, and bath solution.""", @@ -250,11 +246,9 @@ class NWBFileGeneral(ConfiguredBaseModel): intracellular_ephys: Optional[str] = Field( None, description="""Metadata related to intracellular electrophysiology.""" ) - optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = ( - Field( - default_factory=dict, - description="""Metadata describing optogenetic stimuluation.""", - ) + optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = Field( + default_factory=dict, + description="""Metadata describing optogenetic stimuluation.""", ) optophysiology: Optional[List[ImagingPlane] | ImagingPlane] = Field( default_factory=dict, description="""Metadata related to optophysiology.""" diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_icephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_icephys.py index 3f13f1a..3639932 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_icephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_icephys.py @@ -83,9 +83,7 @@ class PatchClampSeries(TimeSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -132,12 +130,8 @@ class CurrentClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded voltage.""") - bias_current: Optional[float] = Field( - None, description="""Bias current, in amps.""" - ) - bridge_balance: Optional[float] = Field( - None, description="""Bridge balance, in ohms.""" - ) + bias_current: Optional[float] = Field(None, description="""Bias current, in amps.""") + bridge_balance: Optional[float] = Field(None, description="""Bridge balance, in ohms.""") capacitance_compensation: Optional[float] = Field( None, description="""Capacitance compensation, in farads.""" ) @@ -152,9 +146,7 @@ class CurrentClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -204,12 +196,8 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""An IZeroClampSeries has no stimulus, so this attribute is automatically set to \"N/A\"""", ) - bias_current: float = Field( - ..., description="""Bias current, in amps, fixed to 0.0.""" - ) - bridge_balance: float = Field( - ..., description="""Bridge balance, in ohms, fixed to 0.0.""" - ) + bias_current: float = Field(..., description="""Bias current, in amps, fixed to 0.0.""") + bridge_balance: float = Field(..., description="""Bridge balance, in ohms, fixed to 0.0.""") capacitance_compensation: float = Field( ..., description="""Capacitance compensation, in farads, fixed to 0.0.""" ) @@ -222,9 +210,7 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -269,9 +255,7 @@ class CurrentClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -318,12 +302,8 @@ class VoltageClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded current.""") - capacitance_fast: Optional[str] = Field( - None, description="""Fast capacitance, in farads.""" - ) - capacitance_slow: Optional[str] = Field( - None, description="""Slow capacitance, in farads.""" - ) + capacitance_fast: Optional[str] = Field(None, description="""Fast capacitance, in farads.""") + capacitance_slow: Optional[str] = Field(None, description="""Slow capacitance, in farads.""") resistance_comp_bandwidth: Optional[str] = Field( None, description="""Resistance compensation bandwidth, in hertz.""" ) @@ -350,9 +330,7 @@ class VoltageClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -475,9 +453,7 @@ class VoltageClampSeriesWholeCellSeriesResistanceComp(ConfiguredBaseModel): Whole cell series resistance compensation, in ohms. """ - name: Literal["whole_cell_series_resistance_comp"] = Field( - "whole_cell_series_resistance_comp" - ) + name: Literal["whole_cell_series_resistance_comp"] = Field("whole_cell_series_resistance_comp") unit: Optional[str] = Field( None, description="""Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.""", @@ -503,9 +479,7 @@ class VoltageClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -555,9 +529,7 @@ class IntracellularElectrode(NWBContainer): ..., description="""Description of electrode (e.g., whole-cell, sharp, etc.).""", ) - filtering: Optional[str] = Field( - None, description="""Electrode specific filtering.""" - ) + filtering: Optional[str] = Field(None, description="""Electrode specific filtering.""") initial_access_resistance: Optional[str] = Field( None, description="""Initial access resistance.""" ) @@ -565,12 +537,8 @@ class IntracellularElectrode(NWBContainer): None, description="""Location of the electrode. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", ) - resistance: Optional[str] = Field( - None, description="""Electrode resistance, in ohms.""" - ) - seal: Optional[str] = Field( - None, description="""Information about seal used for recording.""" - ) + resistance: Optional[str] = Field(None, description="""Electrode resistance, in ohms.""") + seal: Optional[str] = Field(None, description="""Information about seal used for recording.""") slice: Optional[str] = Field( None, description="""Information about slice used for recording.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_image.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_image.py index c69f8f7..973bae3 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_image.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_image.py @@ -63,9 +63,7 @@ class GrayscaleImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -84,9 +82,7 @@ class RGBImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +101,7 @@ class RGBAImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -140,9 +134,7 @@ class ImageSeries(TimeSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -205,9 +197,7 @@ class ImageMaskSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -255,9 +245,7 @@ class OpticalSeries(ImageSeries): data: Union[ NDArray[Shape["* frame, * x, * y"], float], NDArray[Shape["* frame, * x, * y, 3 r_g_b"], float], - ] = Field( - ..., description="""Images presented to subject, either grayscale or RGB""" - ) + ] = Field(..., description="""Images presented to subject, either grayscale or RGB""") orientation: Optional[str] = Field( None, description="""Description of image relative to some reference frame (e.g., which way is up). Must also specify frame of reference.""", @@ -273,9 +261,7 @@ class OpticalSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -311,9 +297,7 @@ class IndexSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Index of the frame in the referenced ImageSeries.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_misc.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_misc.py index f7352a1..d7ebe2a 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_misc.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_misc.py @@ -77,9 +77,7 @@ class AbstractFeatureSeries(TimeSeries): ..., description="""Description of the features represented in TimeSeries::data.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -133,9 +131,7 @@ class AnnotationSeries(TimeSeries): data: NDArray[Shape["* num_times"], str] = Field( ..., description="""Annotations made during an experiment.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -171,9 +167,7 @@ class IntervalSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Use values >0 if interval started, <0 if interval ended.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +201,7 @@ class DecompositionSeries(TimeSeries): name: str = Field(...) data: str = Field(..., description="""Data decomposed into frequency bands.""") - metric: str = Field( - ..., description="""The metric used, e.g. phase, amplitude, power.""" - ) + metric: str = Field(..., description="""The metric used, e.g. phase, amplitude, power.""") source_channels: Optional[str] = Field( None, description="""DynamicTableRegion pointer to the channels that this decomposition series was generated from.""", @@ -218,9 +210,7 @@ class DecompositionSeries(TimeSeries): ..., description="""Table for describing the bands that this series was generated from. There should be one row in this table for each band.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -257,9 +247,7 @@ class DecompositionSeriesData(ConfiguredBaseModel): None, description="""Base unit of measurement for working with the data. Actual stored values are not necessarily stored in these units. To access the data in these units, multiply 'data' by 'conversion'.""", ) - array: Optional[ - NDArray[Shape["* num_times, * num_channels, * num_bands"], float] - ] = Field(None) + array: Optional[NDArray[Shape["* num_times, * num_channels, * num_bands"], float]] = Field(None) class DecompositionSeriesSourceChannels(DynamicTableRegion): @@ -330,18 +318,14 @@ class Units(DynamicTable): spike_times_index: Optional[str] = Field( None, description="""Index into the spike_times dataset.""" ) - spike_times: Optional[str] = Field( - None, description="""Spike times for each unit.""" - ) + spike_times: Optional[str] = Field(None, description="""Spike times for each unit.""") obs_intervals_index: Optional[str] = Field( None, description="""Index into the obs_intervals dataset.""" ) - obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = ( - Field(None, description="""Observation intervals for each unit.""") - ) - electrodes_index: Optional[str] = Field( - None, description="""Index into electrodes.""" + obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = Field( + None, description="""Observation intervals for each unit.""" ) + electrodes_index: Optional[str] = Field(None, description="""Index into electrodes.""") electrodes: Optional[str] = Field( None, description="""Electrode that each spike unit came from, specified using a DynamicTableRegion.""", @@ -361,14 +345,10 @@ class Units(DynamicTable): NDArray[Shape["* num_units, * num_samples"], float], NDArray[Shape["* num_units, * num_samples, * num_electrodes"], float], ] - ] = Field( - None, description="""Spike waveform standard deviation for each spike unit.""" - ) - waveforms: Optional[NDArray[Shape["* num_waveforms, * num_samples"], float]] = ( - Field( - None, - description="""Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index' column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column to indicate which spike events belong to a given unit. For example, if the 'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different electrodes for the first spike time of the first unit. See https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical representation of this example. When there is only one electrode for each unit (i.e., each spike time is associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is the number of spike events. The number of electrodes for each spike event should be the same within a given unit. The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order of the waveforms within a given unit x spike event should be in the same order as the electrodes referenced in the 'electrodes' column of this table. The number of samples for each waveform must be the same.""", - ) + ] = Field(None, description="""Spike waveform standard deviation for each spike unit.""") + waveforms: Optional[NDArray[Shape["* num_waveforms, * num_samples"], float]] = Field( + None, + description="""Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index' column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column to indicate which spike events belong to a given unit. For example, if the 'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different electrodes for the first spike time of the first unit. See https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical representation of this example. When there is only one electrode for each unit (i.e., each spike time is associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is the number of spike events. The number of electrodes for each spike event should be the same within a given unit. The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order of the waveforms within a given unit x spike event should be in the same order as the electrodes referenced in the 'electrodes' column of this table. The number of samples for each waveform must be the same.""", ) waveforms_index: Optional[str] = Field( None, diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ogen.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ogen.py index 4f59909..6eae6af 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ogen.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ogen.py @@ -68,9 +68,7 @@ class OptogeneticSeries(TimeSeries): data: NDArray[Shape["* num_times"], float] = Field( ..., description="""Applied power for optogenetic stimulus, in watts.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -104,9 +102,7 @@ class OptogeneticStimulusSite(NWBContainer): name: str = Field(...) description: str = Field(..., description="""Description of stimulation site.""") - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") location: str = Field( ..., description="""Location of the stimulation site. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ophys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ophys.py index f6d72d6..f6dbea5 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ophys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_ophys.py @@ -106,9 +106,7 @@ class TwoPhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -149,9 +147,7 @@ class RoiResponseSeries(TimeSeries): ..., description="""DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -206,9 +202,7 @@ class DfOverF(NWBDataInterface): dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -217,9 +211,7 @@ class Fluorescence(NWBDataInterface): Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -228,9 +220,7 @@ class ImageSegmentation(NWBDataInterface): Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. """ - children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field( - default_factory=dict - ) + children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field(default_factory=dict) name: str = Field(...) @@ -249,16 +239,12 @@ class PlaneSegmentation(DynamicTable): None, description="""ROI masks for each ROI. Each image mask is the size of the original imaging plane (or volume) and members of the ROI are finite non-zero.""", ) - pixel_mask_index: Optional[str] = Field( - None, description="""Index into pixel_mask.""" - ) + pixel_mask_index: Optional[str] = Field(None, description="""Index into pixel_mask.""") pixel_mask: Optional[str] = Field( None, description="""Pixel masks for each ROI: a list of indices and weights for the ROI. Pixel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", ) - voxel_mask_index: Optional[str] = Field( - None, description="""Index into voxel_mask.""" - ) + voxel_mask_index: Optional[str] = Field(None, description="""Index into voxel_mask.""") voxel_mask: Optional[str] = Field( None, description="""Voxel masks for each ROI: a list of indices and weights for the ROI. Voxel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", @@ -380,9 +366,7 @@ class ImagingPlane(NWBContainer): An imaging plane and its metadata. """ - children: Optional[List[OpticalChannel] | OpticalChannel] = Field( - default_factory=dict - ) + children: Optional[List[OpticalChannel] | OpticalChannel] = Field(default_factory=dict) name: str = Field(...) @@ -392,12 +376,8 @@ class OpticalChannel(NWBContainer): """ name: str = Field(...) - description: str = Field( - ..., description="""Description or other notes about the channel.""" - ) - emission_lambda: float = Field( - ..., description="""Emission wavelength for channel, in nm.""" - ) + description: str = Field(..., description="""Description or other notes about the channel.""") + emission_lambda: float = Field(..., description="""Emission wavelength for channel, in nm.""") class MotionCorrection(NWBDataInterface): diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_retinotopy.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_retinotopy.py index 76f7a88..007ccbe 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_retinotopy.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_3_0/core_nwb_retinotopy.py @@ -102,9 +102,7 @@ class ImagingRetinotopyAxis1PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -121,9 +119,7 @@ class ImagingRetinotopyAxis1PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -140,9 +136,7 @@ class ImagingRetinotopyAxis2PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -159,9 +153,7 @@ class ImagingRetinotopyAxis2PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -182,12 +174,8 @@ class ImagingRetinotopyFocalDepthImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) - focal_depth: Optional[float] = Field( - None, description="""Focal depth offset, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") + focal_depth: Optional[float] = Field(None, description="""Focal depth offset, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) @@ -204,9 +192,7 @@ class ImagingRetinotopySignMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -224,9 +210,7 @@ class ImagingRetinotopyVasculatureImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_base.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_base.py index cca02e2..7c1dbe8 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_base.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_base.py @@ -78,9 +78,7 @@ class TimeSeriesReferenceVectorData(VectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -103,9 +101,7 @@ class Image(NWBData): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -137,9 +133,7 @@ class TimeSeries(NWBDataInterface): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_behavior.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_behavior.py index 722f04b..19ed11a 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_behavior.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_behavior.py @@ -75,9 +75,7 @@ class SpatialSeries(TimeSeries): None, description="""Description defining what exactly 'straight-ahead' means.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -127,9 +125,7 @@ class BehavioralEpochs(NWBDataInterface): TimeSeries for storing behavioral epochs. The objective of this and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another data modality (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a group having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data. """ - children: Optional[List[IntervalSeries] | IntervalSeries] = Field( - default_factory=dict - ) + children: Optional[List[IntervalSeries] | IntervalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -165,9 +161,7 @@ class EyeTracking(NWBDataInterface): Eye-tracking data, representing direction of gaze. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -176,9 +170,7 @@ class CompassDirection(NWBDataInterface): With a CompassDirection interface, a module publishes a SpatialSeries object representing a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to 0 and which is the direction of rotation (this should be clockwise). The si_unit for the SpatialSeries should be radians or degrees. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -187,7 +179,5 @@ class Position(NWBDataInterface): Position data, whether along the x, x/y or x/y/z axis. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ecephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ecephys.py index 9b9150f..4449306 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ecephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ecephys.py @@ -85,9 +85,7 @@ class ElectricalSeries(TimeSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -163,9 +161,7 @@ class SpikeEventSeries(ElectricalSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -198,11 +194,9 @@ class FeatureExtraction(NWBDataInterface): ..., description="""Description of features (eg, ''PC1'') for each of the extracted features.""", ) - features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = ( - Field( - ..., - description="""Multi-dimensional array of features extracted from each event.""", - ) + features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = Field( + ..., + description="""Multi-dimensional array of features extracted from each event.""", ) times: NDArray[Shape["* num_events"], float] = Field( ..., @@ -261,9 +255,7 @@ class EventWaveform(NWBDataInterface): Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. """ - children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field(default_factory=dict) name: str = Field(...) @@ -272,9 +264,7 @@ class FilteredEphys(NWBDataInterface): Electrophysiology data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each's TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Filter properties should be noted in the ElectricalSeries 'filtering' attribute. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -283,9 +273,7 @@ class LFP(NWBDataInterface): LFP data from one or more channels. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries 'filtering' attribute. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -295,9 +283,7 @@ class ElectrodeGroup(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of this electrode group.""" - ) + description: Optional[str] = Field(None, description="""Description of this electrode group.""") location: Optional[str] = Field( None, description="""Location of electrode group. Specify the area, layer, comments on estimation of area/layer, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_epoch.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_epoch.py index e763d71..6e4ba81 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_epoch.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_epoch.py @@ -77,12 +77,8 @@ class TimeIntervals(DynamicTable): description="""User-defined tags that identify or categorize events.""", ) tags_index: Optional[str] = Field(None, description="""Index for tags.""") - timeseries: Optional[str] = Field( - None, description="""An index into a TimeSeries object.""" - ) - timeseries_index: Optional[str] = Field( - None, description="""Index for timeseries.""" - ) + timeseries: Optional[str] = Field(None, description="""An index into a TimeSeries object.""") + timeseries_index: Optional[str] = Field(None, description="""Index for timeseries.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_file.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_file.py index 8f55173..200168d 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_file.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_file.py @@ -202,9 +202,7 @@ class NWBFileGeneral(ConfiguredBaseModel): keywords: Optional[NDArray[Shape["* num_keywords"], str]] = Field( None, description="""Terms to search over.""" ) - lab: Optional[str] = Field( - None, description="""Laboratory where experiment was performed.""" - ) + lab: Optional[str] = Field(None, description="""Laboratory where experiment was performed.""") notes: Optional[str] = Field(None, description="""Notes about the experiment.""") pharmacology: Optional[str] = Field( None, @@ -217,9 +215,7 @@ class NWBFileGeneral(ConfiguredBaseModel): related_publications: Optional[NDArray[Shape["* num_publications"], str]] = Field( None, description="""Publication information. PMID, DOI, URL, etc.""" ) - session_id: Optional[str] = Field( - None, description="""Lab-specific ID for the session.""" - ) + session_id: Optional[str] = Field(None, description="""Lab-specific ID for the session.""") slices: Optional[str] = Field( None, description="""Description of slices, including information about preparation thickness, orientation, temperature, and bath solution.""", @@ -258,11 +254,9 @@ class NWBFileGeneral(ConfiguredBaseModel): intracellular_ephys: Optional[str] = Field( None, description="""Metadata related to intracellular electrophysiology.""" ) - optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = ( - Field( - default_factory=dict, - description="""Metadata describing optogenetic stimuluation.""", - ) + optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = Field( + default_factory=dict, + description="""Metadata describing optogenetic stimuluation.""", ) optophysiology: Optional[List[ImagingPlane] | ImagingPlane] = Field( default_factory=dict, description="""Metadata related to optophysiology.""" diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_icephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_icephys.py index 0e27d8b..d6f6117 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_icephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_icephys.py @@ -86,9 +86,7 @@ class PatchClampSeries(TimeSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -135,12 +133,8 @@ class CurrentClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded voltage.""") - bias_current: Optional[float] = Field( - None, description="""Bias current, in amps.""" - ) - bridge_balance: Optional[float] = Field( - None, description="""Bridge balance, in ohms.""" - ) + bias_current: Optional[float] = Field(None, description="""Bias current, in amps.""") + bridge_balance: Optional[float] = Field(None, description="""Bridge balance, in ohms.""") capacitance_compensation: Optional[float] = Field( None, description="""Capacitance compensation, in farads.""" ) @@ -155,9 +149,7 @@ class CurrentClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,12 +199,8 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""An IZeroClampSeries has no stimulus, so this attribute is automatically set to \"N/A\"""", ) - bias_current: float = Field( - ..., description="""Bias current, in amps, fixed to 0.0.""" - ) - bridge_balance: float = Field( - ..., description="""Bridge balance, in ohms, fixed to 0.0.""" - ) + bias_current: float = Field(..., description="""Bias current, in amps, fixed to 0.0.""") + bridge_balance: float = Field(..., description="""Bridge balance, in ohms, fixed to 0.0.""") capacitance_compensation: float = Field( ..., description="""Capacitance compensation, in farads, fixed to 0.0.""" ) @@ -225,9 +213,7 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -272,9 +258,7 @@ class CurrentClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -321,12 +305,8 @@ class VoltageClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded current.""") - capacitance_fast: Optional[str] = Field( - None, description="""Fast capacitance, in farads.""" - ) - capacitance_slow: Optional[str] = Field( - None, description="""Slow capacitance, in farads.""" - ) + capacitance_fast: Optional[str] = Field(None, description="""Fast capacitance, in farads.""") + capacitance_slow: Optional[str] = Field(None, description="""Slow capacitance, in farads.""") resistance_comp_bandwidth: Optional[str] = Field( None, description="""Resistance compensation bandwidth, in hertz.""" ) @@ -353,9 +333,7 @@ class VoltageClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -478,9 +456,7 @@ class VoltageClampSeriesWholeCellSeriesResistanceComp(ConfiguredBaseModel): Whole cell series resistance compensation, in ohms. """ - name: Literal["whole_cell_series_resistance_comp"] = Field( - "whole_cell_series_resistance_comp" - ) + name: Literal["whole_cell_series_resistance_comp"] = Field("whole_cell_series_resistance_comp") unit: Optional[str] = Field( None, description="""Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.""", @@ -506,9 +482,7 @@ class VoltageClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -558,9 +532,7 @@ class IntracellularElectrode(NWBContainer): ..., description="""Description of electrode (e.g., whole-cell, sharp, etc.).""", ) - filtering: Optional[str] = Field( - None, description="""Electrode specific filtering.""" - ) + filtering: Optional[str] = Field(None, description="""Electrode specific filtering.""") initial_access_resistance: Optional[str] = Field( None, description="""Initial access resistance.""" ) @@ -568,12 +540,8 @@ class IntracellularElectrode(NWBContainer): None, description="""Location of the electrode. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", ) - resistance: Optional[str] = Field( - None, description="""Electrode resistance, in ohms.""" - ) - seal: Optional[str] = Field( - None, description="""Information about seal used for recording.""" - ) + resistance: Optional[str] = Field(None, description="""Electrode resistance, in ohms.""") + seal: Optional[str] = Field(None, description="""Information about seal used for recording.""") slice: Optional[str] = Field( None, description="""Information about slice used for recording.""" ) @@ -702,9 +670,7 @@ class IntracellularStimuliTableStimulus(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -759,9 +725,7 @@ class IntracellularResponsesTableResponse(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -797,9 +761,9 @@ class IntracellularRecordingsTable(AlignedDynamicTable): ..., description="""Table for storing intracellular response related metadata.""", ) - children: Optional[ - List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable] - ] = Field(default_factory=dict) + children: Optional[List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable]] = ( + Field(default_factory=dict) + ) colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -824,9 +788,7 @@ class SimultaneousRecordingsTable(DynamicTable): ..., description="""A reference to one or more rows in the IntracellularRecordingsTable table.""", ) - recordings_index: str = Field( - ..., description="""Index dataset for the recordings column.""" - ) + recordings_index: str = Field(..., description="""Index dataset for the recordings column.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -952,9 +914,7 @@ class SequentialRecordingsTableSimultaneousRecordingsIndex(VectorIndex): Index dataset for the simultaneous_recordings column. """ - name: Literal["simultaneous_recordings_index"] = Field( - "simultaneous_recordings_index" - ) + name: Literal["simultaneous_recordings_index"] = Field("simultaneous_recordings_index") target: Optional[str] = Field( None, description="""Reference to the target dataset that this index applies to.""", @@ -1058,9 +1018,7 @@ class ExperimentalConditionsTable(DynamicTable): ..., description="""A reference to one or more rows in the RepetitionsTable table.""", ) - repetitions_index: str = Field( - ..., description="""Index dataset for the repetitions column.""" - ) + repetitions_index: str = Field(..., description="""Index dataset for the repetitions column.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_image.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_image.py index 212a548..72b3832 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_image.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_image.py @@ -63,9 +63,7 @@ class GrayscaleImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -84,9 +82,7 @@ class RGBImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +101,7 @@ class RGBAImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -141,9 +135,7 @@ class ImageSeries(TimeSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +199,7 @@ class ImageMaskSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -257,9 +247,7 @@ class OpticalSeries(ImageSeries): data: Union[ NDArray[Shape["* frame, * x, * y"], float], NDArray[Shape["* frame, * x, * y, 3 r_g_b"], float], - ] = Field( - ..., description="""Images presented to subject, either grayscale or RGB""" - ) + ] = Field(..., description="""Images presented to subject, either grayscale or RGB""") orientation: Optional[str] = Field( None, description="""Description of image relative to some reference frame (e.g., which way is up). Must also specify frame of reference.""", @@ -275,9 +263,7 @@ class OpticalSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -313,9 +299,7 @@ class IndexSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Index of the frame in the referenced ImageSeries.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_misc.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_misc.py index 8a70e84..6d168c1 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_misc.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_misc.py @@ -77,9 +77,7 @@ class AbstractFeatureSeries(TimeSeries): ..., description="""Description of the features represented in TimeSeries::data.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -133,9 +131,7 @@ class AnnotationSeries(TimeSeries): data: NDArray[Shape["* num_times"], str] = Field( ..., description="""Annotations made during an experiment.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -171,9 +167,7 @@ class IntervalSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Use values >0 if interval started, <0 if interval ended.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +201,7 @@ class DecompositionSeries(TimeSeries): name: str = Field(...) data: str = Field(..., description="""Data decomposed into frequency bands.""") - metric: str = Field( - ..., description="""The metric used, e.g. phase, amplitude, power.""" - ) + metric: str = Field(..., description="""The metric used, e.g. phase, amplitude, power.""") source_channels: Optional[str] = Field( None, description="""DynamicTableRegion pointer to the channels that this decomposition series was generated from.""", @@ -218,9 +210,7 @@ class DecompositionSeries(TimeSeries): ..., description="""Table for describing the bands that this series was generated from. There should be one row in this table for each band.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -257,9 +247,7 @@ class DecompositionSeriesData(ConfiguredBaseModel): None, description="""Base unit of measurement for working with the data. Actual stored values are not necessarily stored in these units. To access the data in these units, multiply 'data' by 'conversion'.""", ) - array: Optional[ - NDArray[Shape["* num_times, * num_channels, * num_bands"], float] - ] = Field(None) + array: Optional[NDArray[Shape["* num_times, * num_channels, * num_bands"], float]] = Field(None) class DecompositionSeriesSourceChannels(DynamicTableRegion): @@ -330,18 +318,14 @@ class Units(DynamicTable): spike_times_index: Optional[str] = Field( None, description="""Index into the spike_times dataset.""" ) - spike_times: Optional[str] = Field( - None, description="""Spike times for each unit.""" - ) + spike_times: Optional[str] = Field(None, description="""Spike times for each unit.""") obs_intervals_index: Optional[str] = Field( None, description="""Index into the obs_intervals dataset.""" ) - obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = ( - Field(None, description="""Observation intervals for each unit.""") - ) - electrodes_index: Optional[str] = Field( - None, description="""Index into electrodes.""" + obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = Field( + None, description="""Observation intervals for each unit.""" ) + electrodes_index: Optional[str] = Field(None, description="""Index into electrodes.""") electrodes: Optional[str] = Field( None, description="""Electrode that each spike unit came from, specified using a DynamicTableRegion.""", @@ -361,14 +345,10 @@ class Units(DynamicTable): NDArray[Shape["* num_units, * num_samples"], float], NDArray[Shape["* num_units, * num_samples, * num_electrodes"], float], ] - ] = Field( - None, description="""Spike waveform standard deviation for each spike unit.""" - ) - waveforms: Optional[NDArray[Shape["* num_waveforms, * num_samples"], float]] = ( - Field( - None, - description="""Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index' column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column to indicate which spike events belong to a given unit. For example, if the 'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different electrodes for the first spike time of the first unit. See https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical representation of this example. When there is only one electrode for each unit (i.e., each spike time is associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is the number of spike events. The number of electrodes for each spike event should be the same within a given unit. The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order of the waveforms within a given unit x spike event should be in the same order as the electrodes referenced in the 'electrodes' column of this table. The number of samples for each waveform must be the same.""", - ) + ] = Field(None, description="""Spike waveform standard deviation for each spike unit.""") + waveforms: Optional[NDArray[Shape["* num_waveforms, * num_samples"], float]] = Field( + None, + description="""Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index' column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column to indicate which spike events belong to a given unit. For example, if the 'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different electrodes for the first spike time of the first unit. See https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical representation of this example. When there is only one electrode for each unit (i.e., each spike time is associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is the number of spike events. The number of electrodes for each spike event should be the same within a given unit. The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order of the waveforms within a given unit x spike event should be in the same order as the electrodes referenced in the 'electrodes' column of this table. The number of samples for each waveform must be the same.""", ) waveforms_index: Optional[str] = Field( None, diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ogen.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ogen.py index 70fde28..58caa78 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ogen.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ogen.py @@ -68,9 +68,7 @@ class OptogeneticSeries(TimeSeries): data: NDArray[Shape["* num_times"], float] = Field( ..., description="""Applied power for optogenetic stimulus, in watts.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -104,9 +102,7 @@ class OptogeneticStimulusSite(NWBContainer): name: str = Field(...) description: str = Field(..., description="""Description of stimulation site.""") - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") location: str = Field( ..., description="""Location of the stimulation site. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ophys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ophys.py index 705cc69..6e4a2d2 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ophys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_ophys.py @@ -107,9 +107,7 @@ class TwoPhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -150,9 +148,7 @@ class RoiResponseSeries(TimeSeries): ..., description="""DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +203,7 @@ class DfOverF(NWBDataInterface): dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -218,9 +212,7 @@ class Fluorescence(NWBDataInterface): Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -229,9 +221,7 @@ class ImageSegmentation(NWBDataInterface): Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. """ - children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field( - default_factory=dict - ) + children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field(default_factory=dict) name: str = Field(...) @@ -250,16 +240,12 @@ class PlaneSegmentation(DynamicTable): None, description="""ROI masks for each ROI. Each image mask is the size of the original imaging plane (or volume) and members of the ROI are finite non-zero.""", ) - pixel_mask_index: Optional[str] = Field( - None, description="""Index into pixel_mask.""" - ) + pixel_mask_index: Optional[str] = Field(None, description="""Index into pixel_mask.""") pixel_mask: Optional[str] = Field( None, description="""Pixel masks for each ROI: a list of indices and weights for the ROI. Pixel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", ) - voxel_mask_index: Optional[str] = Field( - None, description="""Index into voxel_mask.""" - ) + voxel_mask_index: Optional[str] = Field(None, description="""Index into voxel_mask.""") voxel_mask: Optional[str] = Field( None, description="""Voxel masks for each ROI: a list of indices and weights for the ROI. Voxel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", @@ -381,9 +367,7 @@ class ImagingPlane(NWBContainer): An imaging plane and its metadata. """ - children: Optional[List[OpticalChannel] | OpticalChannel] = Field( - default_factory=dict - ) + children: Optional[List[OpticalChannel] | OpticalChannel] = Field(default_factory=dict) name: str = Field(...) @@ -393,12 +377,8 @@ class OpticalChannel(NWBContainer): """ name: str = Field(...) - description: str = Field( - ..., description="""Description or other notes about the channel.""" - ) - emission_lambda: float = Field( - ..., description="""Emission wavelength for channel, in nm.""" - ) + description: str = Field(..., description="""Description or other notes about the channel.""") + emission_lambda: float = Field(..., description="""Emission wavelength for channel, in nm.""") class MotionCorrection(NWBDataInterface): diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_retinotopy.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_retinotopy.py index 73367f8..8463655 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_retinotopy.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_4_0/core_nwb_retinotopy.py @@ -102,9 +102,7 @@ class ImagingRetinotopyAxis1PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -121,9 +119,7 @@ class ImagingRetinotopyAxis1PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -140,9 +136,7 @@ class ImagingRetinotopyAxis2PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -159,9 +153,7 @@ class ImagingRetinotopyAxis2PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -182,12 +174,8 @@ class ImagingRetinotopyFocalDepthImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) - focal_depth: Optional[float] = Field( - None, description="""Focal depth offset, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") + focal_depth: Optional[float] = Field(None, description="""Focal depth offset, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) @@ -204,9 +192,7 @@ class ImagingRetinotopySignMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -224,9 +210,7 @@ class ImagingRetinotopyVasculatureImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_base.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_base.py index 971c33f..854621c 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_base.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_base.py @@ -78,9 +78,7 @@ class TimeSeriesReferenceVectorData(VectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -103,9 +101,7 @@ class Image(NWBData): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -149,9 +145,7 @@ class TimeSeries(NWBDataInterface): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_behavior.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_behavior.py index b137179..cd7232f 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_behavior.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_behavior.py @@ -75,9 +75,7 @@ class SpatialSeries(TimeSeries): None, description="""Description defining what exactly 'straight-ahead' means.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -129,9 +127,7 @@ class BehavioralEpochs(NWBDataInterface): TimeSeries for storing behavioral epochs. The objective of this and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another data modality (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a group having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data. """ - children: Optional[List[IntervalSeries] | IntervalSeries] = Field( - default_factory=dict - ) + children: Optional[List[IntervalSeries] | IntervalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -167,9 +163,7 @@ class EyeTracking(NWBDataInterface): Eye-tracking data, representing direction of gaze. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -178,9 +172,7 @@ class CompassDirection(NWBDataInterface): With a CompassDirection interface, a module publishes a SpatialSeries object representing a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to 0 and which is the direction of rotation (this should be clockwise). The si_unit for the SpatialSeries should be radians or degrees. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -189,7 +181,5 @@ class Position(NWBDataInterface): Position data, whether along the x, x/y or x/y/z axis. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ecephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ecephys.py index 883d1e7..050be66 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ecephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ecephys.py @@ -85,9 +85,7 @@ class ElectricalSeries(TimeSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -163,9 +161,7 @@ class SpikeEventSeries(ElectricalSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -198,11 +194,9 @@ class FeatureExtraction(NWBDataInterface): ..., description="""Description of features (eg, ''PC1'') for each of the extracted features.""", ) - features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = ( - Field( - ..., - description="""Multi-dimensional array of features extracted from each event.""", - ) + features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = Field( + ..., + description="""Multi-dimensional array of features extracted from each event.""", ) times: NDArray[Shape["* num_events"], float] = Field( ..., @@ -261,9 +255,7 @@ class EventWaveform(NWBDataInterface): Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. """ - children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field(default_factory=dict) name: str = Field(...) @@ -272,9 +264,7 @@ class FilteredEphys(NWBDataInterface): Electrophysiology data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each's TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Filter properties should be noted in the ElectricalSeries 'filtering' attribute. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -283,9 +273,7 @@ class LFP(NWBDataInterface): LFP data from one or more channels. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries 'filtering' attribute. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -295,9 +283,7 @@ class ElectrodeGroup(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of this electrode group.""" - ) + description: Optional[str] = Field(None, description="""Description of this electrode group.""") location: Optional[str] = Field( None, description="""Location of electrode group. Specify the area, layer, comments on estimation of area/layer, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_epoch.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_epoch.py index c048959..7ac4904 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_epoch.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_epoch.py @@ -77,12 +77,8 @@ class TimeIntervals(DynamicTable): description="""User-defined tags that identify or categorize events.""", ) tags_index: Optional[str] = Field(None, description="""Index for tags.""") - timeseries: Optional[str] = Field( - None, description="""An index into a TimeSeries object.""" - ) - timeseries_index: Optional[str] = Field( - None, description="""Index for timeseries.""" - ) + timeseries: Optional[str] = Field(None, description="""An index into a TimeSeries object.""") + timeseries_index: Optional[str] = Field(None, description="""Index for timeseries.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -137,9 +133,7 @@ class TimeIntervalsTimeseries(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_file.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_file.py index ca8be6e..eec68f3 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_file.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_file.py @@ -175,11 +175,9 @@ class NWBFileStimulus(ConfiguredBaseModel): presentation: Optional[List[TimeSeries] | TimeSeries] = Field( default_factory=dict, description="""Stimuli presented during the experiment.""" ) - templates: Optional[List[Union[Images, TimeSeries]] | Union[Images, TimeSeries]] = ( - Field( - default_factory=dict, - description="""Template stimuli. Timestamps in templates are based on stimulus design and are relative to the beginning of the stimulus. When templates are used, the stimulus instances must convert presentation times to the experiment`s time reference frame.""", - ) + templates: Optional[List[Union[Images, TimeSeries]] | Union[Images, TimeSeries]] = Field( + default_factory=dict, + description="""Template stimuli. Timestamps in templates are based on stimulus design and are relative to the beginning of the stimulus. When templates are used, the stimulus instances must convert presentation times to the experiment`s time reference frame.""", ) @@ -205,9 +203,7 @@ class NWBFileGeneral(ConfiguredBaseModel): keywords: Optional[NDArray[Shape["* num_keywords"], str]] = Field( None, description="""Terms to search over.""" ) - lab: Optional[str] = Field( - None, description="""Laboratory where experiment was performed.""" - ) + lab: Optional[str] = Field(None, description="""Laboratory where experiment was performed.""") notes: Optional[str] = Field(None, description="""Notes about the experiment.""") pharmacology: Optional[str] = Field( None, @@ -220,9 +216,7 @@ class NWBFileGeneral(ConfiguredBaseModel): related_publications: Optional[NDArray[Shape["* num_publications"], str]] = Field( None, description="""Publication information. PMID, DOI, URL, etc.""" ) - session_id: Optional[str] = Field( - None, description="""Lab-specific ID for the session.""" - ) + session_id: Optional[str] = Field(None, description="""Lab-specific ID for the session.""") slices: Optional[str] = Field( None, description="""Description of slices, including information about preparation thickness, orientation, temperature, and bath solution.""", @@ -261,11 +255,9 @@ class NWBFileGeneral(ConfiguredBaseModel): intracellular_ephys: Optional[str] = Field( None, description="""Metadata related to intracellular electrophysiology.""" ) - optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = ( - Field( - default_factory=dict, - description="""Metadata describing optogenetic stimuluation.""", - ) + optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = Field( + default_factory=dict, + description="""Metadata describing optogenetic stimuluation.""", ) optophysiology: Optional[List[ImagingPlane] | ImagingPlane] = Field( default_factory=dict, description="""Metadata related to optophysiology.""" diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_icephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_icephys.py index 34c4793..96fbc79 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_icephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_icephys.py @@ -86,9 +86,7 @@ class PatchClampSeries(TimeSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -135,12 +133,8 @@ class CurrentClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded voltage.""") - bias_current: Optional[float] = Field( - None, description="""Bias current, in amps.""" - ) - bridge_balance: Optional[float] = Field( - None, description="""Bridge balance, in ohms.""" - ) + bias_current: Optional[float] = Field(None, description="""Bias current, in amps.""") + bridge_balance: Optional[float] = Field(None, description="""Bridge balance, in ohms.""") capacitance_compensation: Optional[float] = Field( None, description="""Capacitance compensation, in farads.""" ) @@ -155,9 +149,7 @@ class CurrentClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,12 +199,8 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""An IZeroClampSeries has no stimulus, so this attribute is automatically set to \"N/A\"""", ) - bias_current: float = Field( - ..., description="""Bias current, in amps, fixed to 0.0.""" - ) - bridge_balance: float = Field( - ..., description="""Bridge balance, in ohms, fixed to 0.0.""" - ) + bias_current: float = Field(..., description="""Bias current, in amps, fixed to 0.0.""") + bridge_balance: float = Field(..., description="""Bridge balance, in ohms, fixed to 0.0.""") capacitance_compensation: float = Field( ..., description="""Capacitance compensation, in farads, fixed to 0.0.""" ) @@ -225,9 +213,7 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -272,9 +258,7 @@ class CurrentClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -321,12 +305,8 @@ class VoltageClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded current.""") - capacitance_fast: Optional[str] = Field( - None, description="""Fast capacitance, in farads.""" - ) - capacitance_slow: Optional[str] = Field( - None, description="""Slow capacitance, in farads.""" - ) + capacitance_fast: Optional[str] = Field(None, description="""Fast capacitance, in farads.""") + capacitance_slow: Optional[str] = Field(None, description="""Slow capacitance, in farads.""") resistance_comp_bandwidth: Optional[str] = Field( None, description="""Resistance compensation bandwidth, in hertz.""" ) @@ -353,9 +333,7 @@ class VoltageClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -478,9 +456,7 @@ class VoltageClampSeriesWholeCellSeriesResistanceComp(ConfiguredBaseModel): Whole cell series resistance compensation, in ohms. """ - name: Literal["whole_cell_series_resistance_comp"] = Field( - "whole_cell_series_resistance_comp" - ) + name: Literal["whole_cell_series_resistance_comp"] = Field("whole_cell_series_resistance_comp") unit: Optional[str] = Field( None, description="""Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.""", @@ -506,9 +482,7 @@ class VoltageClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -559,9 +533,7 @@ class IntracellularElectrode(NWBContainer): ..., description="""Description of electrode (e.g., whole-cell, sharp, etc.).""", ) - filtering: Optional[str] = Field( - None, description="""Electrode specific filtering.""" - ) + filtering: Optional[str] = Field(None, description="""Electrode specific filtering.""") initial_access_resistance: Optional[str] = Field( None, description="""Initial access resistance.""" ) @@ -569,12 +541,8 @@ class IntracellularElectrode(NWBContainer): None, description="""Location of the electrode. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", ) - resistance: Optional[str] = Field( - None, description="""Electrode resistance, in ohms.""" - ) - seal: Optional[str] = Field( - None, description="""Information about seal used for recording.""" - ) + resistance: Optional[str] = Field(None, description="""Electrode resistance, in ohms.""") + seal: Optional[str] = Field(None, description="""Information about seal used for recording.""") slice: Optional[str] = Field( None, description="""Information about slice used for recording.""" ) @@ -703,9 +671,7 @@ class IntracellularStimuliTableStimulus(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -760,9 +726,7 @@ class IntracellularResponsesTableResponse(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -798,9 +762,9 @@ class IntracellularRecordingsTable(AlignedDynamicTable): ..., description="""Table for storing intracellular response related metadata.""", ) - children: Optional[ - List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable] - ] = Field(default_factory=dict) + children: Optional[List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable]] = ( + Field(default_factory=dict) + ) colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -825,9 +789,7 @@ class SimultaneousRecordingsTable(DynamicTable): ..., description="""A reference to one or more rows in the IntracellularRecordingsTable table.""", ) - recordings_index: str = Field( - ..., description="""Index dataset for the recordings column.""" - ) + recordings_index: str = Field(..., description="""Index dataset for the recordings column.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -953,9 +915,7 @@ class SequentialRecordingsTableSimultaneousRecordingsIndex(VectorIndex): Index dataset for the simultaneous_recordings column. """ - name: Literal["simultaneous_recordings_index"] = Field( - "simultaneous_recordings_index" - ) + name: Literal["simultaneous_recordings_index"] = Field("simultaneous_recordings_index") target: Optional[str] = Field( None, description="""Reference to the target dataset that this index applies to.""", @@ -1059,9 +1019,7 @@ class ExperimentalConditionsTable(DynamicTable): ..., description="""A reference to one or more rows in the RepetitionsTable table.""", ) - repetitions_index: str = Field( - ..., description="""Index dataset for the repetitions column.""" - ) + repetitions_index: str = Field(..., description="""Index dataset for the repetitions column.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_image.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_image.py index 2e3218f..a33766f 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_image.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_image.py @@ -63,9 +63,7 @@ class GrayscaleImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -84,9 +82,7 @@ class RGBImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +101,7 @@ class RGBAImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -141,9 +135,7 @@ class ImageSeries(TimeSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +199,7 @@ class ImageMaskSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -257,9 +247,7 @@ class OpticalSeries(ImageSeries): data: Union[ NDArray[Shape["* frame, * x, * y"], float], NDArray[Shape["* frame, * x, * y, 3 r_g_b"], float], - ] = Field( - ..., description="""Images presented to subject, either grayscale or RGB""" - ) + ] = Field(..., description="""Images presented to subject, either grayscale or RGB""") orientation: Optional[str] = Field( None, description="""Description of image relative to some reference frame (e.g., which way is up). Must also specify frame of reference.""", @@ -275,9 +263,7 @@ class OpticalSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -314,9 +300,7 @@ class IndexSeries(TimeSeries): ..., description="""Index of the image (using zero-indexing) in the linked Images object.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_misc.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_misc.py index 3e052c2..6d35e1a 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_misc.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_misc.py @@ -77,9 +77,7 @@ class AbstractFeatureSeries(TimeSeries): ..., description="""Description of the features represented in TimeSeries::data.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -133,9 +131,7 @@ class AnnotationSeries(TimeSeries): data: NDArray[Shape["* num_times"], str] = Field( ..., description="""Annotations made during an experiment.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -171,9 +167,7 @@ class IntervalSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Use values >0 if interval started, <0 if interval ended.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +201,7 @@ class DecompositionSeries(TimeSeries): name: str = Field(...) data: str = Field(..., description="""Data decomposed into frequency bands.""") - metric: str = Field( - ..., description="""The metric used, e.g. phase, amplitude, power.""" - ) + metric: str = Field(..., description="""The metric used, e.g. phase, amplitude, power.""") source_channels: Optional[str] = Field( None, description="""DynamicTableRegion pointer to the channels that this decomposition series was generated from.""", @@ -218,9 +210,7 @@ class DecompositionSeries(TimeSeries): ..., description="""Table for describing the bands that this series was generated from. There should be one row in this table for each band.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -257,9 +247,7 @@ class DecompositionSeriesData(ConfiguredBaseModel): None, description="""Base unit of measurement for working with the data. Actual stored values are not necessarily stored in these units. To access the data in these units, multiply 'data' by 'conversion'.""", ) - array: Optional[ - NDArray[Shape["* num_times, * num_channels, * num_bands"], float] - ] = Field(None) + array: Optional[NDArray[Shape["* num_times, * num_channels, * num_bands"], float]] = Field(None) class DecompositionSeriesSourceChannels(DynamicTableRegion): @@ -330,18 +318,14 @@ class Units(DynamicTable): spike_times_index: Optional[str] = Field( None, description="""Index into the spike_times dataset.""" ) - spike_times: Optional[str] = Field( - None, description="""Spike times for each unit.""" - ) + spike_times: Optional[str] = Field(None, description="""Spike times for each unit.""") obs_intervals_index: Optional[str] = Field( None, description="""Index into the obs_intervals dataset.""" ) - obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = ( - Field(None, description="""Observation intervals for each unit.""") - ) - electrodes_index: Optional[str] = Field( - None, description="""Index into electrodes.""" + obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = Field( + None, description="""Observation intervals for each unit.""" ) + electrodes_index: Optional[str] = Field(None, description="""Index into electrodes.""") electrodes: Optional[str] = Field( None, description="""Electrode that each spike unit came from, specified using a DynamicTableRegion.""", @@ -361,14 +345,10 @@ class Units(DynamicTable): NDArray[Shape["* num_units, * num_samples"], float], NDArray[Shape["* num_units, * num_samples, * num_electrodes"], float], ] - ] = Field( - None, description="""Spike waveform standard deviation for each spike unit.""" - ) - waveforms: Optional[NDArray[Shape["* num_waveforms, * num_samples"], float]] = ( - Field( - None, - description="""Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index' column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column to indicate which spike events belong to a given unit. For example, if the 'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different electrodes for the first spike time of the first unit. See https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical representation of this example. When there is only one electrode for each unit (i.e., each spike time is associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is the number of spike events. The number of electrodes for each spike event should be the same within a given unit. The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order of the waveforms within a given unit x spike event should be in the same order as the electrodes referenced in the 'electrodes' column of this table. The number of samples for each waveform must be the same.""", - ) + ] = Field(None, description="""Spike waveform standard deviation for each spike unit.""") + waveforms: Optional[NDArray[Shape["* num_waveforms, * num_samples"], float]] = Field( + None, + description="""Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index' column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column to indicate which spike events belong to a given unit. For example, if the 'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different electrodes for the first spike time of the first unit. See https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical representation of this example. When there is only one electrode for each unit (i.e., each spike time is associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is the number of spike events. The number of electrodes for each spike event should be the same within a given unit. The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order of the waveforms within a given unit x spike event should be in the same order as the electrodes referenced in the 'electrodes' column of this table. The number of samples for each waveform must be the same.""", ) waveforms_index: Optional[str] = Field( None, diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ogen.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ogen.py index 3b7d8f7..da68189 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ogen.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ogen.py @@ -68,9 +68,7 @@ class OptogeneticSeries(TimeSeries): data: NDArray[Shape["* num_times"], float] = Field( ..., description="""Applied power for optogenetic stimulus, in watts.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -104,9 +102,7 @@ class OptogeneticStimulusSite(NWBContainer): name: str = Field(...) description: str = Field(..., description="""Description of stimulation site.""") - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") location: str = Field( ..., description="""Location of the stimulation site. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ophys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ophys.py index 7e721ae..323f8e0 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ophys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_ophys.py @@ -107,9 +107,7 @@ class TwoPhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -150,9 +148,7 @@ class RoiResponseSeries(TimeSeries): ..., description="""DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +203,7 @@ class DfOverF(NWBDataInterface): dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -218,9 +212,7 @@ class Fluorescence(NWBDataInterface): Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -229,9 +221,7 @@ class ImageSegmentation(NWBDataInterface): Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. """ - children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field( - default_factory=dict - ) + children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field(default_factory=dict) name: str = Field(...) @@ -250,16 +240,12 @@ class PlaneSegmentation(DynamicTable): None, description="""ROI masks for each ROI. Each image mask is the size of the original imaging plane (or volume) and members of the ROI are finite non-zero.""", ) - pixel_mask_index: Optional[str] = Field( - None, description="""Index into pixel_mask.""" - ) + pixel_mask_index: Optional[str] = Field(None, description="""Index into pixel_mask.""") pixel_mask: Optional[str] = Field( None, description="""Pixel masks for each ROI: a list of indices and weights for the ROI. Pixel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", ) - voxel_mask_index: Optional[str] = Field( - None, description="""Index into voxel_mask.""" - ) + voxel_mask_index: Optional[str] = Field(None, description="""Index into voxel_mask.""") voxel_mask: Optional[str] = Field( None, description="""Voxel masks for each ROI: a list of indices and weights for the ROI. Voxel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", @@ -381,9 +367,7 @@ class ImagingPlane(NWBContainer): An imaging plane and its metadata. """ - children: Optional[List[OpticalChannel] | OpticalChannel] = Field( - default_factory=dict - ) + children: Optional[List[OpticalChannel] | OpticalChannel] = Field(default_factory=dict) name: str = Field(...) @@ -393,12 +377,8 @@ class OpticalChannel(NWBContainer): """ name: str = Field(...) - description: str = Field( - ..., description="""Description or other notes about the channel.""" - ) - emission_lambda: float = Field( - ..., description="""Emission wavelength for channel, in nm.""" - ) + description: str = Field(..., description="""Description or other notes about the channel.""") + emission_lambda: float = Field(..., description="""Emission wavelength for channel, in nm.""") class MotionCorrection(NWBDataInterface): diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_retinotopy.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_retinotopy.py index efacbbf..268be56 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_retinotopy.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_5_0/core_nwb_retinotopy.py @@ -102,9 +102,7 @@ class ImagingRetinotopyAxis1PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -121,9 +119,7 @@ class ImagingRetinotopyAxis1PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -140,9 +136,7 @@ class ImagingRetinotopyAxis2PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -159,9 +153,7 @@ class ImagingRetinotopyAxis2PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -182,12 +174,8 @@ class ImagingRetinotopyFocalDepthImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) - focal_depth: Optional[float] = Field( - None, description="""Focal depth offset, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") + focal_depth: Optional[float] = Field(None, description="""Focal depth offset, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) @@ -204,9 +192,7 @@ class ImagingRetinotopySignMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -224,9 +210,7 @@ class ImagingRetinotopyVasculatureImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_base.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_base.py index 0da448e..2c68ed5 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_base.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_base.py @@ -78,9 +78,7 @@ class TimeSeriesReferenceVectorData(VectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -103,9 +101,7 @@ class Image(NWBData): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -149,9 +145,7 @@ class TimeSeries(NWBDataInterface): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_behavior.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_behavior.py index a048faa..6661cab 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_behavior.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_behavior.py @@ -75,9 +75,7 @@ class SpatialSeries(TimeSeries): None, description="""Description defining what exactly 'straight-ahead' means.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -129,9 +127,7 @@ class BehavioralEpochs(NWBDataInterface): TimeSeries for storing behavioral epochs. The objective of this and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another data modality (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a group having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data. """ - children: Optional[List[IntervalSeries] | IntervalSeries] = Field( - default_factory=dict - ) + children: Optional[List[IntervalSeries] | IntervalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -167,9 +163,7 @@ class EyeTracking(NWBDataInterface): Eye-tracking data, representing direction of gaze. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -178,9 +172,7 @@ class CompassDirection(NWBDataInterface): With a CompassDirection interface, a module publishes a SpatialSeries object representing a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to 0 and which is the direction of rotation (this should be clockwise). The si_unit for the SpatialSeries should be radians or degrees. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -189,7 +181,5 @@ class Position(NWBDataInterface): Position data, whether along the x, x/y or x/y/z axis. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ecephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ecephys.py index 6015ccb..6ac24b8 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ecephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ecephys.py @@ -85,9 +85,7 @@ class ElectricalSeries(TimeSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -163,9 +161,7 @@ class SpikeEventSeries(ElectricalSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -198,11 +194,9 @@ class FeatureExtraction(NWBDataInterface): ..., description="""Description of features (eg, ''PC1'') for each of the extracted features.""", ) - features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = ( - Field( - ..., - description="""Multi-dimensional array of features extracted from each event.""", - ) + features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = Field( + ..., + description="""Multi-dimensional array of features extracted from each event.""", ) times: NDArray[Shape["* num_events"], float] = Field( ..., @@ -261,9 +255,7 @@ class EventWaveform(NWBDataInterface): Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. """ - children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field(default_factory=dict) name: str = Field(...) @@ -272,9 +264,7 @@ class FilteredEphys(NWBDataInterface): Electrophysiology data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each's TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Filter properties should be noted in the ElectricalSeries 'filtering' attribute. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -283,9 +273,7 @@ class LFP(NWBDataInterface): LFP data from one or more channels. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries 'filtering' attribute. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -295,9 +283,7 @@ class ElectrodeGroup(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of this electrode group.""" - ) + description: Optional[str] = Field(None, description="""Description of this electrode group.""") location: Optional[str] = Field( None, description="""Location of electrode group. Specify the area, layer, comments on estimation of area/layer, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_epoch.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_epoch.py index 4f0d9ac..7251b74 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_epoch.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_epoch.py @@ -77,12 +77,8 @@ class TimeIntervals(DynamicTable): description="""User-defined tags that identify or categorize events.""", ) tags_index: Optional[str] = Field(None, description="""Index for tags.""") - timeseries: Optional[str] = Field( - None, description="""An index into a TimeSeries object.""" - ) - timeseries_index: Optional[str] = Field( - None, description="""Index for timeseries.""" - ) + timeseries: Optional[str] = Field(None, description="""An index into a TimeSeries object.""") + timeseries_index: Optional[str] = Field(None, description="""Index for timeseries.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -137,9 +133,7 @@ class TimeIntervalsTimeseries(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_file.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_file.py index ddd319c..8c16270 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_file.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_file.py @@ -175,11 +175,9 @@ class NWBFileStimulus(ConfiguredBaseModel): presentation: Optional[List[TimeSeries] | TimeSeries] = Field( default_factory=dict, description="""Stimuli presented during the experiment.""" ) - templates: Optional[List[Union[Images, TimeSeries]] | Union[Images, TimeSeries]] = ( - Field( - default_factory=dict, - description="""Template stimuli. Timestamps in templates are based on stimulus design and are relative to the beginning of the stimulus. When templates are used, the stimulus instances must convert presentation times to the experiment`s time reference frame.""", - ) + templates: Optional[List[Union[Images, TimeSeries]] | Union[Images, TimeSeries]] = Field( + default_factory=dict, + description="""Template stimuli. Timestamps in templates are based on stimulus design and are relative to the beginning of the stimulus. When templates are used, the stimulus instances must convert presentation times to the experiment`s time reference frame.""", ) @@ -205,9 +203,7 @@ class NWBFileGeneral(ConfiguredBaseModel): keywords: Optional[NDArray[Shape["* num_keywords"], str]] = Field( None, description="""Terms to search over.""" ) - lab: Optional[str] = Field( - None, description="""Laboratory where experiment was performed.""" - ) + lab: Optional[str] = Field(None, description="""Laboratory where experiment was performed.""") notes: Optional[str] = Field(None, description="""Notes about the experiment.""") pharmacology: Optional[str] = Field( None, @@ -220,9 +216,7 @@ class NWBFileGeneral(ConfiguredBaseModel): related_publications: Optional[NDArray[Shape["* num_publications"], str]] = Field( None, description="""Publication information. PMID, DOI, URL, etc.""" ) - session_id: Optional[str] = Field( - None, description="""Lab-specific ID for the session.""" - ) + session_id: Optional[str] = Field(None, description="""Lab-specific ID for the session.""") slices: Optional[str] = Field( None, description="""Description of slices, including information about preparation thickness, orientation, temperature, and bath solution.""", @@ -261,11 +255,9 @@ class NWBFileGeneral(ConfiguredBaseModel): intracellular_ephys: Optional[str] = Field( None, description="""Metadata related to intracellular electrophysiology.""" ) - optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = ( - Field( - default_factory=dict, - description="""Metadata describing optogenetic stimuluation.""", - ) + optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = Field( + default_factory=dict, + description="""Metadata describing optogenetic stimuluation.""", ) optophysiology: Optional[List[ImagingPlane] | ImagingPlane] = Field( default_factory=dict, description="""Metadata related to optophysiology.""" diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_icephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_icephys.py index d2a2935..ed38698 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_icephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_icephys.py @@ -86,9 +86,7 @@ class PatchClampSeries(TimeSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -135,12 +133,8 @@ class CurrentClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded voltage.""") - bias_current: Optional[float] = Field( - None, description="""Bias current, in amps.""" - ) - bridge_balance: Optional[float] = Field( - None, description="""Bridge balance, in ohms.""" - ) + bias_current: Optional[float] = Field(None, description="""Bias current, in amps.""") + bridge_balance: Optional[float] = Field(None, description="""Bridge balance, in ohms.""") capacitance_compensation: Optional[float] = Field( None, description="""Capacitance compensation, in farads.""" ) @@ -155,9 +149,7 @@ class CurrentClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,12 +199,8 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""An IZeroClampSeries has no stimulus, so this attribute is automatically set to \"N/A\"""", ) - bias_current: float = Field( - ..., description="""Bias current, in amps, fixed to 0.0.""" - ) - bridge_balance: float = Field( - ..., description="""Bridge balance, in ohms, fixed to 0.0.""" - ) + bias_current: float = Field(..., description="""Bias current, in amps, fixed to 0.0.""") + bridge_balance: float = Field(..., description="""Bridge balance, in ohms, fixed to 0.0.""") capacitance_compensation: float = Field( ..., description="""Capacitance compensation, in farads, fixed to 0.0.""" ) @@ -225,9 +213,7 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -272,9 +258,7 @@ class CurrentClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -321,12 +305,8 @@ class VoltageClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded current.""") - capacitance_fast: Optional[str] = Field( - None, description="""Fast capacitance, in farads.""" - ) - capacitance_slow: Optional[str] = Field( - None, description="""Slow capacitance, in farads.""" - ) + capacitance_fast: Optional[str] = Field(None, description="""Fast capacitance, in farads.""") + capacitance_slow: Optional[str] = Field(None, description="""Slow capacitance, in farads.""") resistance_comp_bandwidth: Optional[str] = Field( None, description="""Resistance compensation bandwidth, in hertz.""" ) @@ -353,9 +333,7 @@ class VoltageClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -478,9 +456,7 @@ class VoltageClampSeriesWholeCellSeriesResistanceComp(ConfiguredBaseModel): Whole cell series resistance compensation, in ohms. """ - name: Literal["whole_cell_series_resistance_comp"] = Field( - "whole_cell_series_resistance_comp" - ) + name: Literal["whole_cell_series_resistance_comp"] = Field("whole_cell_series_resistance_comp") unit: Optional[str] = Field( None, description="""Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.""", @@ -506,9 +482,7 @@ class VoltageClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -559,9 +533,7 @@ class IntracellularElectrode(NWBContainer): ..., description="""Description of electrode (e.g., whole-cell, sharp, etc.).""", ) - filtering: Optional[str] = Field( - None, description="""Electrode specific filtering.""" - ) + filtering: Optional[str] = Field(None, description="""Electrode specific filtering.""") initial_access_resistance: Optional[str] = Field( None, description="""Initial access resistance.""" ) @@ -569,12 +541,8 @@ class IntracellularElectrode(NWBContainer): None, description="""Location of the electrode. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", ) - resistance: Optional[str] = Field( - None, description="""Electrode resistance, in ohms.""" - ) - seal: Optional[str] = Field( - None, description="""Information about seal used for recording.""" - ) + resistance: Optional[str] = Field(None, description="""Electrode resistance, in ohms.""") + seal: Optional[str] = Field(None, description="""Information about seal used for recording.""") slice: Optional[str] = Field( None, description="""Information about slice used for recording.""" ) @@ -703,9 +671,7 @@ class IntracellularStimuliTableStimulus(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -760,9 +726,7 @@ class IntracellularResponsesTableResponse(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -798,9 +762,9 @@ class IntracellularRecordingsTable(AlignedDynamicTable): ..., description="""Table for storing intracellular response related metadata.""", ) - children: Optional[ - List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable] - ] = Field(default_factory=dict) + children: Optional[List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable]] = ( + Field(default_factory=dict) + ) colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -825,9 +789,7 @@ class SimultaneousRecordingsTable(DynamicTable): ..., description="""A reference to one or more rows in the IntracellularRecordingsTable table.""", ) - recordings_index: str = Field( - ..., description="""Index dataset for the recordings column.""" - ) + recordings_index: str = Field(..., description="""Index dataset for the recordings column.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -953,9 +915,7 @@ class SequentialRecordingsTableSimultaneousRecordingsIndex(VectorIndex): Index dataset for the simultaneous_recordings column. """ - name: Literal["simultaneous_recordings_index"] = Field( - "simultaneous_recordings_index" - ) + name: Literal["simultaneous_recordings_index"] = Field("simultaneous_recordings_index") target: Optional[str] = Field( None, description="""Reference to the target dataset that this index applies to.""", @@ -1059,9 +1019,7 @@ class ExperimentalConditionsTable(DynamicTable): ..., description="""A reference to one or more rows in the RepetitionsTable table.""", ) - repetitions_index: str = Field( - ..., description="""Index dataset for the repetitions column.""" - ) + repetitions_index: str = Field(..., description="""Index dataset for the repetitions column.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_image.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_image.py index de94c2d..abc0527 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_image.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_image.py @@ -63,9 +63,7 @@ class GrayscaleImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -84,9 +82,7 @@ class RGBImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +101,7 @@ class RGBAImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -141,9 +135,7 @@ class ImageSeries(TimeSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +199,7 @@ class ImageMaskSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -257,9 +247,7 @@ class OpticalSeries(ImageSeries): data: Union[ NDArray[Shape["* frame, * x, * y"], float], NDArray[Shape["* frame, * x, * y, 3 r_g_b"], float], - ] = Field( - ..., description="""Images presented to subject, either grayscale or RGB""" - ) + ] = Field(..., description="""Images presented to subject, either grayscale or RGB""") orientation: Optional[str] = Field( None, description="""Description of image relative to some reference frame (e.g., which way is up). Must also specify frame of reference.""", @@ -275,9 +263,7 @@ class OpticalSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -314,9 +300,7 @@ class IndexSeries(TimeSeries): ..., description="""Index of the image (using zero-indexing) in the linked Images object.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_misc.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_misc.py index b258ed4..0ab4204 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_misc.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_misc.py @@ -77,9 +77,7 @@ class AbstractFeatureSeries(TimeSeries): ..., description="""Description of the features represented in TimeSeries::data.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -133,9 +131,7 @@ class AnnotationSeries(TimeSeries): data: NDArray[Shape["* num_times"], str] = Field( ..., description="""Annotations made during an experiment.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -171,9 +167,7 @@ class IntervalSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Use values >0 if interval started, <0 if interval ended.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +201,7 @@ class DecompositionSeries(TimeSeries): name: str = Field(...) data: str = Field(..., description="""Data decomposed into frequency bands.""") - metric: str = Field( - ..., description="""The metric used, e.g. phase, amplitude, power.""" - ) + metric: str = Field(..., description="""The metric used, e.g. phase, amplitude, power.""") source_channels: Optional[str] = Field( None, description="""DynamicTableRegion pointer to the channels that this decomposition series was generated from.""", @@ -218,9 +210,7 @@ class DecompositionSeries(TimeSeries): ..., description="""Table for describing the bands that this series was generated from. There should be one row in this table for each band.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -257,9 +247,7 @@ class DecompositionSeriesData(ConfiguredBaseModel): None, description="""Base unit of measurement for working with the data. Actual stored values are not necessarily stored in these units. To access the data in these units, multiply 'data' by 'conversion'.""", ) - array: Optional[ - NDArray[Shape["* num_times, * num_channels, * num_bands"], float] - ] = Field(None) + array: Optional[NDArray[Shape["* num_times, * num_channels, * num_bands"], float]] = Field(None) class DecompositionSeriesSourceChannels(DynamicTableRegion): @@ -336,12 +324,10 @@ class Units(DynamicTable): obs_intervals_index: Optional[str] = Field( None, description="""Index into the obs_intervals dataset.""" ) - obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = ( - Field(None, description="""Observation intervals for each unit.""") - ) - electrodes_index: Optional[str] = Field( - None, description="""Index into electrodes.""" + obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = Field( + None, description="""Observation intervals for each unit.""" ) + electrodes_index: Optional[str] = Field(None, description="""Index into electrodes.""") electrodes: Optional[str] = Field( None, description="""Electrode that each spike unit came from, specified using a DynamicTableRegion.""", @@ -361,14 +347,10 @@ class Units(DynamicTable): NDArray[Shape["* num_units, * num_samples"], float], NDArray[Shape["* num_units, * num_samples, * num_electrodes"], float], ] - ] = Field( - None, description="""Spike waveform standard deviation for each spike unit.""" - ) - waveforms: Optional[NDArray[Shape["* num_waveforms, * num_samples"], float]] = ( - Field( - None, - description="""Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index' column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column to indicate which spike events belong to a given unit. For example, if the 'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different electrodes for the first spike time of the first unit. See https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical representation of this example. When there is only one electrode for each unit (i.e., each spike time is associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is the number of spike events. The number of electrodes for each spike event should be the same within a given unit. The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order of the waveforms within a given unit x spike event should be in the same order as the electrodes referenced in the 'electrodes' column of this table. The number of samples for each waveform must be the same.""", - ) + ] = Field(None, description="""Spike waveform standard deviation for each spike unit.""") + waveforms: Optional[NDArray[Shape["* num_waveforms, * num_samples"], float]] = Field( + None, + description="""Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index' column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column to indicate which spike events belong to a given unit. For example, if the 'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different electrodes for the first spike time of the first unit. See https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical representation of this example. When there is only one electrode for each unit (i.e., each spike time is associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is the number of spike events. The number of electrodes for each spike event should be the same within a given unit. The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order of the waveforms within a given unit x spike event should be in the same order as the electrodes referenced in the 'electrodes' column of this table. The number of samples for each waveform must be the same.""", ) waveforms_index: Optional[str] = Field( None, diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ogen.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ogen.py index b206017..f8f0232 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ogen.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ogen.py @@ -68,9 +68,7 @@ class OptogeneticSeries(TimeSeries): data: NDArray[Shape["* num_times"], float] = Field( ..., description="""Applied power for optogenetic stimulus, in watts.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -104,9 +102,7 @@ class OptogeneticStimulusSite(NWBContainer): name: str = Field(...) description: str = Field(..., description="""Description of stimulation site.""") - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") location: str = Field( ..., description="""Location of the stimulation site. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ophys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ophys.py index 528760d..8b00fbd 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ophys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_ophys.py @@ -88,9 +88,7 @@ class OnePhotonSeries(ImageSeries): None, description="""Amount of pixels combined into 'bins'; could be 1, 2, 4, 8, etc.""", ) - power: Optional[float] = Field( - None, description="""Power of the excitation in mW, if known.""" - ) + power: Optional[float] = Field(None, description="""Power of the excitation in mW, if known.""") intensity: Optional[float] = Field( None, description="""Intensity of the excitation in mW/mm^2, if known.""" ) @@ -112,9 +110,7 @@ class OnePhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -179,9 +175,7 @@ class TwoPhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -222,9 +216,7 @@ class RoiResponseSeries(TimeSeries): ..., description="""DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -279,9 +271,7 @@ class DfOverF(NWBDataInterface): dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -290,9 +280,7 @@ class Fluorescence(NWBDataInterface): Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -301,9 +289,7 @@ class ImageSegmentation(NWBDataInterface): Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. """ - children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field( - default_factory=dict - ) + children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field(default_factory=dict) name: str = Field(...) @@ -322,16 +308,12 @@ class PlaneSegmentation(DynamicTable): None, description="""ROI masks for each ROI. Each image mask is the size of the original imaging plane (or volume) and members of the ROI are finite non-zero.""", ) - pixel_mask_index: Optional[str] = Field( - None, description="""Index into pixel_mask.""" - ) + pixel_mask_index: Optional[str] = Field(None, description="""Index into pixel_mask.""") pixel_mask: Optional[str] = Field( None, description="""Pixel masks for each ROI: a list of indices and weights for the ROI. Pixel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", ) - voxel_mask_index: Optional[str] = Field( - None, description="""Index into voxel_mask.""" - ) + voxel_mask_index: Optional[str] = Field(None, description="""Index into voxel_mask.""") voxel_mask: Optional[str] = Field( None, description="""Voxel masks for each ROI: a list of indices and weights for the ROI. Voxel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", @@ -453,9 +435,7 @@ class ImagingPlane(NWBContainer): An imaging plane and its metadata. """ - children: Optional[List[OpticalChannel] | OpticalChannel] = Field( - default_factory=dict - ) + children: Optional[List[OpticalChannel] | OpticalChannel] = Field(default_factory=dict) name: str = Field(...) @@ -465,12 +445,8 @@ class OpticalChannel(NWBContainer): """ name: str = Field(...) - description: str = Field( - ..., description="""Description or other notes about the channel.""" - ) - emission_lambda: float = Field( - ..., description="""Emission wavelength for channel, in nm.""" - ) + description: str = Field(..., description="""Description or other notes about the channel.""") + emission_lambda: float = Field(..., description="""Emission wavelength for channel, in nm.""") class MotionCorrection(NWBDataInterface): diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_retinotopy.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_retinotopy.py index b783b75..7c661cb 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_retinotopy.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_6_0_alpha/core_nwb_retinotopy.py @@ -102,9 +102,7 @@ class ImagingRetinotopyAxis1PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -121,9 +119,7 @@ class ImagingRetinotopyAxis1PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -140,9 +136,7 @@ class ImagingRetinotopyAxis2PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -159,9 +153,7 @@ class ImagingRetinotopyAxis2PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -182,12 +174,8 @@ class ImagingRetinotopyFocalDepthImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) - focal_depth: Optional[float] = Field( - None, description="""Focal depth offset, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") + focal_depth: Optional[float] = Field(None, description="""Focal depth offset, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) @@ -204,9 +192,7 @@ class ImagingRetinotopySignMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -224,9 +210,7 @@ class ImagingRetinotopyVasculatureImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_base.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_base.py index 38eddb4..4b369ef 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_base.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_base.py @@ -78,9 +78,7 @@ class TimeSeriesReferenceVectorData(VectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -103,9 +101,7 @@ class Image(NWBData): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -149,9 +145,7 @@ class TimeSeries(NWBDataInterface): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_behavior.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_behavior.py index 4307af5..588d1d6 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_behavior.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_behavior.py @@ -75,9 +75,7 @@ class SpatialSeries(TimeSeries): None, description="""Description defining what exactly 'straight-ahead' means.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -129,9 +127,7 @@ class BehavioralEpochs(NWBDataInterface): TimeSeries for storing behavioral epochs. The objective of this and the other two Behavioral interfaces (e.g. BehavioralEvents and BehavioralTimeSeries) is to provide generic hooks for software tools/scripts. This allows a tool/script to take the output one specific interface (e.g., UnitTimes) and plot that data relative to another data modality (e.g., behavioral events) without having to define all possible modalities in advance. Declaring one of these interfaces means that one or more TimeSeries of the specified type is published. These TimeSeries should reside in a group having the same name as the interface. For example, if a BehavioralTimeSeries interface is declared, the module will have one or more TimeSeries defined in the module sub-group 'BehavioralTimeSeries'. BehavioralEpochs should use IntervalSeries. BehavioralEvents is used for irregular events. BehavioralTimeSeries is for continuous data. """ - children: Optional[List[IntervalSeries] | IntervalSeries] = Field( - default_factory=dict - ) + children: Optional[List[IntervalSeries] | IntervalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -167,9 +163,7 @@ class EyeTracking(NWBDataInterface): Eye-tracking data, representing direction of gaze. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -178,9 +172,7 @@ class CompassDirection(NWBDataInterface): With a CompassDirection interface, a module publishes a SpatialSeries object representing a floating point value for theta. The SpatialSeries::reference_frame field should indicate what direction corresponds to 0 and which is the direction of rotation (this should be clockwise). The si_unit for the SpatialSeries should be radians or degrees. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) @@ -189,7 +181,5 @@ class Position(NWBDataInterface): Position data, whether along the x, x/y or x/y/z axis. """ - children: Optional[List[SpatialSeries] | SpatialSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpatialSeries] | SpatialSeries] = Field(default_factory=dict) name: str = Field(...) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ecephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ecephys.py index 7dd56c2..abb19f1 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ecephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ecephys.py @@ -85,9 +85,7 @@ class ElectricalSeries(TimeSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -163,9 +161,7 @@ class SpikeEventSeries(ElectricalSeries): None, description="""Channel-specific conversion factor. Multiply the data in the 'data' dataset by these values along the channel axis (as indicated by axis attribute) AND by the global conversion factor in the 'conversion' attribute of 'data' to get the data values in Volts, i.e, data in Volts = data * data.conversion * channel_conversion. This approach allows for both global and per-channel data conversion factors needed to support the storage of electrical recordings as native values generated by data acquisition systems. If this dataset is not present, then there is no channel-specific conversion factor, i.e. it is 1 for all channels.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -198,11 +194,9 @@ class FeatureExtraction(NWBDataInterface): ..., description="""Description of features (eg, ''PC1'') for each of the extracted features.""", ) - features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = ( - Field( - ..., - description="""Multi-dimensional array of features extracted from each event.""", - ) + features: NDArray[Shape["* num_events, * num_channels, * num_features"], float] = Field( + ..., + description="""Multi-dimensional array of features extracted from each event.""", ) times: NDArray[Shape["* num_events"], float] = Field( ..., @@ -261,9 +255,7 @@ class EventWaveform(NWBDataInterface): Represents either the waveforms of detected events, as extracted from a raw data trace in /acquisition, or the event waveforms that were stored during experiment acquisition. """ - children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field( - default_factory=dict - ) + children: Optional[List[SpikeEventSeries] | SpikeEventSeries] = Field(default_factory=dict) name: str = Field(...) @@ -272,9 +264,7 @@ class FilteredEphys(NWBDataInterface): Electrophysiology data from one or more channels that has been subjected to filtering. Examples of filtered data include Theta and Gamma (LFP has its own interface). FilteredEphys modules publish an ElectricalSeries for each filtered channel or set of channels. The name of each ElectricalSeries is arbitrary but should be informative. The source of the filtered data, whether this is from analysis of another time series or as acquired by hardware, should be noted in each's TimeSeries::description field. There is no assumed 1::1 correspondence between filtered ephys signals and electrodes, as a single signal can apply to many nearby electrodes, and one electrode may have different filtered (e.g., theta and/or gamma) signals represented. Filter properties should be noted in the ElectricalSeries 'filtering' attribute. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -283,9 +273,7 @@ class LFP(NWBDataInterface): LFP data from one or more channels. The electrode map in each published ElectricalSeries will identify which channels are providing LFP data. Filter properties should be noted in the ElectricalSeries 'filtering' attribute. """ - children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field( - default_factory=dict - ) + children: Optional[List[ElectricalSeries] | ElectricalSeries] = Field(default_factory=dict) name: str = Field(...) @@ -295,9 +283,7 @@ class ElectrodeGroup(NWBContainer): """ name: str = Field(...) - description: Optional[str] = Field( - None, description="""Description of this electrode group.""" - ) + description: Optional[str] = Field(None, description="""Description of this electrode group.""") location: Optional[str] = Field( None, description="""Location of electrode group. Specify the area, layer, comments on estimation of area/layer, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_epoch.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_epoch.py index 5affb53..e91ef04 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_epoch.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_epoch.py @@ -77,12 +77,8 @@ class TimeIntervals(DynamicTable): description="""User-defined tags that identify or categorize events.""", ) tags_index: Optional[str] = Field(None, description="""Index for tags.""") - timeseries: Optional[str] = Field( - None, description="""An index into a TimeSeries object.""" - ) - timeseries_index: Optional[str] = Field( - None, description="""Index for timeseries.""" - ) + timeseries: Optional[str] = Field(None, description="""An index into a TimeSeries object.""") + timeseries_index: Optional[str] = Field(None, description="""Index for timeseries.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -137,9 +133,7 @@ class TimeIntervalsTimeseries(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_file.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_file.py index 428bc7b..465179a 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_file.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_file.py @@ -175,14 +175,10 @@ class NWBFileStimulus(ConfiguredBaseModel): presentation: Optional[ List[Union[BaseModel, DynamicTable, NWBDataInterface, TimeSeries]] | Union[BaseModel, DynamicTable, NWBDataInterface, TimeSeries] - ] = Field( - default_factory=dict, description="""Stimuli presented during the experiment.""" - ) - templates: Optional[List[Union[Images, TimeSeries]] | Union[Images, TimeSeries]] = ( - Field( - default_factory=dict, - description="""Template stimuli. Timestamps in templates are based on stimulus design and are relative to the beginning of the stimulus. When templates are used, the stimulus instances must convert presentation times to the experiment`s time reference frame.""", - ) + ] = Field(default_factory=dict, description="""Stimuli presented during the experiment.""") + templates: Optional[List[Union[Images, TimeSeries]] | Union[Images, TimeSeries]] = Field( + default_factory=dict, + description="""Template stimuli. Timestamps in templates are based on stimulus design and are relative to the beginning of the stimulus. When templates are used, the stimulus instances must convert presentation times to the experiment`s time reference frame.""", ) @@ -208,9 +204,7 @@ class NWBFileGeneral(ConfiguredBaseModel): keywords: Optional[NDArray[Shape["* num_keywords"], str]] = Field( None, description="""Terms to search over.""" ) - lab: Optional[str] = Field( - None, description="""Laboratory where experiment was performed.""" - ) + lab: Optional[str] = Field(None, description="""Laboratory where experiment was performed.""") notes: Optional[str] = Field(None, description="""Notes about the experiment.""") pharmacology: Optional[str] = Field( None, @@ -223,9 +217,7 @@ class NWBFileGeneral(ConfiguredBaseModel): related_publications: Optional[NDArray[Shape["* num_publications"], str]] = Field( None, description="""Publication information. PMID, DOI, URL, etc.""" ) - session_id: Optional[str] = Field( - None, description="""Lab-specific ID for the session.""" - ) + session_id: Optional[str] = Field(None, description="""Lab-specific ID for the session.""") slices: Optional[str] = Field( None, description="""Description of slices, including information about preparation thickness, orientation, temperature, and bath solution.""", @@ -264,11 +256,9 @@ class NWBFileGeneral(ConfiguredBaseModel): intracellular_ephys: Optional[str] = Field( None, description="""Metadata related to intracellular electrophysiology.""" ) - optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = ( - Field( - default_factory=dict, - description="""Metadata describing optogenetic stimuluation.""", - ) + optogenetics: Optional[List[OptogeneticStimulusSite] | OptogeneticStimulusSite] = Field( + default_factory=dict, + description="""Metadata describing optogenetic stimuluation.""", ) optophysiology: Optional[List[ImagingPlane] | ImagingPlane] = Field( default_factory=dict, description="""Metadata related to optophysiology.""" diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_icephys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_icephys.py index 791fbb0..3e9e807 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_icephys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_icephys.py @@ -86,9 +86,7 @@ class PatchClampSeries(TimeSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -135,12 +133,8 @@ class CurrentClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded voltage.""") - bias_current: Optional[float] = Field( - None, description="""Bias current, in amps.""" - ) - bridge_balance: Optional[float] = Field( - None, description="""Bridge balance, in ohms.""" - ) + bias_current: Optional[float] = Field(None, description="""Bias current, in amps.""") + bridge_balance: Optional[float] = Field(None, description="""Bridge balance, in ohms.""") capacitance_compensation: Optional[float] = Field( None, description="""Capacitance compensation, in farads.""" ) @@ -155,9 +149,7 @@ class CurrentClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,12 +199,8 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""An IZeroClampSeries has no stimulus, so this attribute is automatically set to \"N/A\"""", ) - bias_current: float = Field( - ..., description="""Bias current, in amps, fixed to 0.0.""" - ) - bridge_balance: float = Field( - ..., description="""Bridge balance, in ohms, fixed to 0.0.""" - ) + bias_current: float = Field(..., description="""Bias current, in amps, fixed to 0.0.""") + bridge_balance: float = Field(..., description="""Bridge balance, in ohms, fixed to 0.0.""") capacitance_compensation: float = Field( ..., description="""Capacitance compensation, in farads, fixed to 0.0.""" ) @@ -225,9 +213,7 @@ class IZeroClampSeries(CurrentClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -272,9 +258,7 @@ class CurrentClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -321,12 +305,8 @@ class VoltageClampSeries(PatchClampSeries): name: str = Field(...) data: str = Field(..., description="""Recorded current.""") - capacitance_fast: Optional[str] = Field( - None, description="""Fast capacitance, in farads.""" - ) - capacitance_slow: Optional[str] = Field( - None, description="""Slow capacitance, in farads.""" - ) + capacitance_fast: Optional[str] = Field(None, description="""Fast capacitance, in farads.""") + capacitance_slow: Optional[str] = Field(None, description="""Slow capacitance, in farads.""") resistance_comp_bandwidth: Optional[str] = Field( None, description="""Resistance compensation bandwidth, in hertz.""" ) @@ -353,9 +333,7 @@ class VoltageClampSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -478,9 +456,7 @@ class VoltageClampSeriesWholeCellSeriesResistanceComp(ConfiguredBaseModel): Whole cell series resistance compensation, in ohms. """ - name: Literal["whole_cell_series_resistance_comp"] = Field( - "whole_cell_series_resistance_comp" - ) + name: Literal["whole_cell_series_resistance_comp"] = Field("whole_cell_series_resistance_comp") unit: Optional[str] = Field( None, description="""Unit of measurement for whole_cell_series_resistance_comp, which is fixed to 'ohms'.""", @@ -506,9 +482,7 @@ class VoltageClampStimulusSeries(PatchClampSeries): None, description="""Gain of the recording, in units Volt/Amp (v-clamp) or Volt/Volt (c-clamp).""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -559,9 +533,7 @@ class IntracellularElectrode(NWBContainer): ..., description="""Description of electrode (e.g., whole-cell, sharp, etc.).""", ) - filtering: Optional[str] = Field( - None, description="""Electrode specific filtering.""" - ) + filtering: Optional[str] = Field(None, description="""Electrode specific filtering.""") initial_access_resistance: Optional[str] = Field( None, description="""Initial access resistance.""" ) @@ -569,12 +541,8 @@ class IntracellularElectrode(NWBContainer): None, description="""Location of the electrode. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", ) - resistance: Optional[str] = Field( - None, description="""Electrode resistance, in ohms.""" - ) - seal: Optional[str] = Field( - None, description="""Information about seal used for recording.""" - ) + resistance: Optional[str] = Field(None, description="""Electrode resistance, in ohms.""") + seal: Optional[str] = Field(None, description="""Information about seal used for recording.""") slice: Optional[str] = Field( None, description="""Information about slice used for recording.""" ) @@ -707,9 +675,7 @@ class IntracellularStimuliTableStimulus(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -737,9 +703,7 @@ class IntracellularStimuliTableStimulusTemplate(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -794,9 +758,7 @@ class IntracellularResponsesTableResponse(TimeSeriesReferenceVectorData): ..., description="""Number of data samples available in this time series, during this epoch""", ) - timeseries: str = Field( - ..., description="""The TimeSeries that this index applies to""" - ) + timeseries: str = Field(..., description="""The TimeSeries that this index applies to""") description: Optional[str] = Field( None, description="""Description of what these vectors represent.""" ) @@ -832,9 +794,9 @@ class IntracellularRecordingsTable(AlignedDynamicTable): ..., description="""Table for storing intracellular response related metadata.""", ) - children: Optional[ - List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable] - ] = Field(default_factory=dict) + children: Optional[List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable]] = ( + Field(default_factory=dict) + ) colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -859,9 +821,7 @@ class SimultaneousRecordingsTable(DynamicTable): ..., description="""A reference to one or more rows in the IntracellularRecordingsTable table.""", ) - recordings_index: str = Field( - ..., description="""Index dataset for the recordings column.""" - ) + recordings_index: str = Field(..., description="""Index dataset for the recordings column.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", @@ -987,9 +947,7 @@ class SequentialRecordingsTableSimultaneousRecordingsIndex(VectorIndex): Index dataset for the simultaneous_recordings column. """ - name: Literal["simultaneous_recordings_index"] = Field( - "simultaneous_recordings_index" - ) + name: Literal["simultaneous_recordings_index"] = Field("simultaneous_recordings_index") target: Optional[str] = Field( None, description="""Reference to the target dataset that this index applies to.""", @@ -1093,9 +1051,7 @@ class ExperimentalConditionsTable(DynamicTable): ..., description="""A reference to one or more rows in the RepetitionsTable table.""", ) - repetitions_index: str = Field( - ..., description="""Index dataset for the repetitions column.""" - ) + repetitions_index: str = Field(..., description="""Index dataset for the repetitions column.""") colnames: Optional[str] = Field( None, description="""The names of the columns in this table. This should be used to specify an order to the columns.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_image.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_image.py index 82259dc..720e970 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_image.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_image.py @@ -63,9 +63,7 @@ class GrayscaleImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -84,9 +82,7 @@ class RGBImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -105,9 +101,7 @@ class RGBAImage(Image): resolution: Optional[float] = Field( None, description="""Pixel resolution of the image, in pixels per centimeter.""" ) - description: Optional[str] = Field( - None, description="""Description of the image.""" - ) + description: Optional[str] = Field(None, description="""Description of the image.""") array: Optional[ Union[ NDArray[Shape["* x, * y"], float], @@ -141,9 +135,7 @@ class ImageSeries(TimeSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +199,7 @@ class ImageMaskSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -257,9 +247,7 @@ class OpticalSeries(ImageSeries): data: Union[ NDArray[Shape["* frame, * x, * y"], float], NDArray[Shape["* frame, * x, * y, 3 r_g_b"], float], - ] = Field( - ..., description="""Images presented to subject, either grayscale or RGB""" - ) + ] = Field(..., description="""Images presented to subject, either grayscale or RGB""") orientation: Optional[str] = Field( None, description="""Description of image relative to some reference frame (e.g., which way is up). Must also specify frame of reference.""", @@ -275,9 +263,7 @@ class OpticalSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -314,9 +300,7 @@ class IndexSeries(TimeSeries): ..., description="""Index of the image (using zero-indexing) in the linked Images object.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_misc.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_misc.py index 2083477..fe50af2 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_misc.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_misc.py @@ -77,9 +77,7 @@ class AbstractFeatureSeries(TimeSeries): ..., description="""Description of the features represented in TimeSeries::data.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -133,9 +131,7 @@ class AnnotationSeries(TimeSeries): data: NDArray[Shape["* num_times"], str] = Field( ..., description="""Annotations made during an experiment.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -171,9 +167,7 @@ class IntervalSeries(TimeSeries): data: NDArray[Shape["* num_times"], int] = Field( ..., description="""Use values >0 if interval started, <0 if interval ended.""" ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -207,9 +201,7 @@ class DecompositionSeries(TimeSeries): name: str = Field(...) data: str = Field(..., description="""Data decomposed into frequency bands.""") - metric: str = Field( - ..., description="""The metric used, e.g. phase, amplitude, power.""" - ) + metric: str = Field(..., description="""The metric used, e.g. phase, amplitude, power.""") source_channels: Optional[str] = Field( None, description="""DynamicTableRegion pointer to the channels that this decomposition series was generated from.""", @@ -218,9 +210,7 @@ class DecompositionSeries(TimeSeries): ..., description="""Table for describing the bands that this series was generated from. There should be one row in this table for each band.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -257,9 +247,7 @@ class DecompositionSeriesData(ConfiguredBaseModel): None, description="""Base unit of measurement for working with the data. Actual stored values are not necessarily stored in these units. To access the data in these units, multiply 'data' by 'conversion'.""", ) - array: Optional[ - NDArray[Shape["* num_times, * num_channels, * num_bands"], float] - ] = Field(None) + array: Optional[NDArray[Shape["* num_times, * num_channels, * num_bands"], float]] = Field(None) class DecompositionSeriesSourceChannels(DynamicTableRegion): @@ -336,12 +324,10 @@ class Units(DynamicTable): obs_intervals_index: Optional[str] = Field( None, description="""Index into the obs_intervals dataset.""" ) - obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = ( - Field(None, description="""Observation intervals for each unit.""") - ) - electrodes_index: Optional[str] = Field( - None, description="""Index into electrodes.""" + obs_intervals: Optional[NDArray[Shape["* num_intervals, 2 start_end"], float]] = Field( + None, description="""Observation intervals for each unit.""" ) + electrodes_index: Optional[str] = Field(None, description="""Index into electrodes.""") electrodes: Optional[str] = Field( None, description="""Electrode that each spike unit came from, specified using a DynamicTableRegion.""", @@ -361,14 +347,10 @@ class Units(DynamicTable): NDArray[Shape["* num_units, * num_samples"], float], NDArray[Shape["* num_units, * num_samples, * num_electrodes"], float], ] - ] = Field( - None, description="""Spike waveform standard deviation for each spike unit.""" - ) - waveforms: Optional[NDArray[Shape["* num_waveforms, * num_samples"], float]] = ( - Field( - None, - description="""Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index' column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column to indicate which spike events belong to a given unit. For example, if the 'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different electrodes for the first spike time of the first unit. See https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical representation of this example. When there is only one electrode for each unit (i.e., each spike time is associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is the number of spike events. The number of electrodes for each spike event should be the same within a given unit. The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order of the waveforms within a given unit x spike event should be in the same order as the electrodes referenced in the 'electrodes' column of this table. The number of samples for each waveform must be the same.""", - ) + ] = Field(None, description="""Spike waveform standard deviation for each spike unit.""") + waveforms: Optional[NDArray[Shape["* num_waveforms, * num_samples"], float]] = Field( + None, + description="""Individual waveforms for each spike on each electrode. This is a doubly indexed column. The 'waveforms_index' column indexes which waveforms in this column belong to the same spike event for a given unit, where each waveform was recorded from a different electrode. The 'waveforms_index_index' column indexes the 'waveforms_index' column to indicate which spike events belong to a given unit. For example, if the 'waveforms_index_index' column has values [2, 5, 6], then the first 2 elements of the 'waveforms_index' column correspond to the 2 spike events of the first unit, the next 3 elements of the 'waveforms_index' column correspond to the 3 spike events of the second unit, and the next 1 element of the 'waveforms_index' column corresponds to the 1 spike event of the third unit. If the 'waveforms_index' column has values [3, 6, 8, 10, 12, 13], then the first 3 elements of the 'waveforms' column contain the 3 spike waveforms that were recorded from 3 different electrodes for the first spike time of the first unit. See https://nwb-schema.readthedocs.io/en/stable/format_description.html#doubly-ragged-arrays for a graphical representation of this example. When there is only one electrode for each unit (i.e., each spike time is associated with a single waveform), then the 'waveforms_index' column will have values 1, 2, ..., N, where N is the number of spike events. The number of electrodes for each spike event should be the same within a given unit. The 'electrodes' column should be used to indicate which electrodes are associated with each unit, and the order of the waveforms within a given unit x spike event should be in the same order as the electrodes referenced in the 'electrodes' column of this table. The number of samples for each waveform must be the same.""", ) waveforms_index: Optional[str] = Field( None, diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ogen.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ogen.py index ae48339..b551011 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ogen.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ogen.py @@ -72,9 +72,7 @@ class OptogeneticSeries(TimeSeries): ..., description="""Applied power for optogenetic stimulus, in watts. Shape can be 1D or 2D. 2D data is meant to be used in an extension of OptogeneticSeries that defines what the second dimension represents.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -108,9 +106,7 @@ class OptogeneticStimulusSite(NWBContainer): name: str = Field(...) description: str = Field(..., description="""Description of stimulation site.""") - excitation_lambda: float = Field( - ..., description="""Excitation wavelength, in nm.""" - ) + excitation_lambda: float = Field(..., description="""Excitation wavelength, in nm.""") location: str = Field( ..., description="""Location of the stimulation site. Specify the area, layer, comments on estimation of area/layer, stereotaxic coordinates if in vivo, etc. Use standard atlas names for anatomical regions when possible.""", diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ophys.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ophys.py index 82ac2ad..16f696f 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ophys.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_ophys.py @@ -88,9 +88,7 @@ class OnePhotonSeries(ImageSeries): None, description="""Amount of pixels combined into 'bins'; could be 1, 2, 4, 8, etc.""", ) - power: Optional[float] = Field( - None, description="""Power of the excitation in mW, if known.""" - ) + power: Optional[float] = Field(None, description="""Power of the excitation in mW, if known.""") intensity: Optional[float] = Field( None, description="""Intensity of the excitation in mW/mm^2, if known.""" ) @@ -112,9 +110,7 @@ class OnePhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -179,9 +175,7 @@ class TwoPhotonSeries(ImageSeries): None, description="""Format of image. If this is 'external', then the attribute 'external_file' contains the path information to the image files. If this is 'raw', then the raw (single-channel) binary data is stored in the 'data' dataset. If this attribute is not present, then the default format='raw' case is assumed.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -222,9 +216,7 @@ class RoiResponseSeries(TimeSeries): ..., description="""DynamicTableRegion referencing into an ROITable containing information on the ROIs stored in this timeseries.""", ) - description: Optional[str] = Field( - None, description="""Description of the time series.""" - ) + description: Optional[str] = Field(None, description="""Description of the time series.""") comments: Optional[str] = Field( None, description="""Human-readable comments about the TimeSeries. This second descriptive field can be used to store additional information, or descriptive information if the primary description field is populated with a computer-readable string.""", @@ -279,9 +271,7 @@ class DfOverF(NWBDataInterface): dF/F information about a region of interest (ROI). Storage hierarchy of dF/F should be the same as for segmentation (i.e., same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -290,9 +280,7 @@ class Fluorescence(NWBDataInterface): Fluorescence information about a region of interest (ROI). Storage hierarchy of fluorescence should be the same as for segmentation (ie, same names for ROIs and for image planes). """ - children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field( - default_factory=dict - ) + children: Optional[List[RoiResponseSeries] | RoiResponseSeries] = Field(default_factory=dict) name: str = Field(...) @@ -301,9 +289,7 @@ class ImageSegmentation(NWBDataInterface): Stores pixels in an image that represent different regions of interest (ROIs) or masks. All segmentation for a given imaging plane is stored together, with storage for multiple imaging planes (masks) supported. Each ROI is stored in its own subgroup, with the ROI group containing both a 2D mask and a list of pixels that make up this mask. Segments can also be used for masking neuropil. If segmentation is allowed to change with time, a new imaging plane (or module) is required and ROI names should remain consistent between them. """ - children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field( - default_factory=dict - ) + children: Optional[List[PlaneSegmentation] | PlaneSegmentation] = Field(default_factory=dict) name: str = Field(...) @@ -322,16 +308,12 @@ class PlaneSegmentation(DynamicTable): None, description="""ROI masks for each ROI. Each image mask is the size of the original imaging plane (or volume) and members of the ROI are finite non-zero.""", ) - pixel_mask_index: Optional[str] = Field( - None, description="""Index into pixel_mask.""" - ) + pixel_mask_index: Optional[str] = Field(None, description="""Index into pixel_mask.""") pixel_mask: Optional[str] = Field( None, description="""Pixel masks for each ROI: a list of indices and weights for the ROI. Pixel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", ) - voxel_mask_index: Optional[str] = Field( - None, description="""Index into voxel_mask.""" - ) + voxel_mask_index: Optional[str] = Field(None, description="""Index into voxel_mask.""") voxel_mask: Optional[str] = Field( None, description="""Voxel masks for each ROI: a list of indices and weights for the ROI. Voxel masks are concatenated and parsing of this dataset is maintained by the PlaneSegmentation""", @@ -453,9 +435,7 @@ class ImagingPlane(NWBContainer): An imaging plane and its metadata. """ - children: Optional[List[OpticalChannel] | OpticalChannel] = Field( - default_factory=dict - ) + children: Optional[List[OpticalChannel] | OpticalChannel] = Field(default_factory=dict) name: str = Field(...) @@ -465,12 +445,8 @@ class OpticalChannel(NWBContainer): """ name: str = Field(...) - description: str = Field( - ..., description="""Description or other notes about the channel.""" - ) - emission_lambda: float = Field( - ..., description="""Emission wavelength for channel, in nm.""" - ) + description: str = Field(..., description="""Description or other notes about the channel.""") + emission_lambda: float = Field(..., description="""Emission wavelength for channel, in nm.""") class MotionCorrection(NWBDataInterface): diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_retinotopy.py b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_retinotopy.py index 3f047f6..0ebafd5 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_retinotopy.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/core/v2_7_0/core_nwb_retinotopy.py @@ -102,9 +102,7 @@ class ImagingRetinotopyAxis1PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -121,9 +119,7 @@ class ImagingRetinotopyAxis1PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -140,9 +136,7 @@ class ImagingRetinotopyAxis2PhaseMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -159,9 +153,7 @@ class ImagingRetinotopyAxis2PowerMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") unit: Optional[str] = Field( None, description="""Unit that axis data is stored in (e.g., degrees).""" ) @@ -182,12 +174,8 @@ class ImagingRetinotopyFocalDepthImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) - focal_depth: Optional[float] = Field( - None, description="""Focal depth offset, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") + focal_depth: Optional[float] = Field(None, description="""Focal depth offset, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) @@ -204,9 +192,7 @@ class ImagingRetinotopySignMap(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") array: Optional[NDArray[Shape["* num_rows, * num_cols"], float]] = Field(None) @@ -224,9 +210,7 @@ class ImagingRetinotopyVasculatureImage(ConfiguredBaseModel): None, description="""Number of rows and columns in the image. NOTE: row, column representation is equivalent to height, width.""", ) - field_of_view: Optional[float] = Field( - None, description="""Size of viewing area, in meters.""" - ) + field_of_view: Optional[float] = Field(None, description="""Size of viewing area, in meters.""") format: Optional[str] = Field( None, description="""Format of image. Right now only 'raw' is supported.""" ) diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_0/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_0/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_0/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_0/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_0/hdmf_common_sparse.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_0/hdmf_common_sparse.py index b9afd6a..6f41ddd 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_0/hdmf_common_sparse.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_0/hdmf_common_sparse.py @@ -57,9 +57,7 @@ class CSRMatrix(ConfiguredBaseModel): """ name: str = Field(...) - shape: Optional[int] = Field( - None, description="""the shape of this sparse matrix""" - ) + shape: Optional[int] = Field(None, description="""the shape of this sparse matrix""") indices: str = Field(..., description="""column indices""") indptr: str = Field(..., description="""index pointer""") data: str = Field(..., description="""values in the matrix""") diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_2/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_2/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_2/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_2/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_2/hdmf_common_sparse.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_2/hdmf_common_sparse.py index ae27964..b5817f3 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_2/hdmf_common_sparse.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_2/hdmf_common_sparse.py @@ -57,9 +57,7 @@ class CSRMatrix(ConfiguredBaseModel): """ name: str = Field(...) - shape: Optional[int] = Field( - None, description="""the shape of this sparse matrix""" - ) + shape: Optional[int] = Field(None, description="""the shape of this sparse matrix""") indices: str = Field(..., description="""column indices""") indptr: str = Field(..., description="""index pointer""") data: str = Field(..., description="""values in the matrix""") diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_3/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_3/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_3/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_3/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_3/hdmf_common_sparse.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_3/hdmf_common_sparse.py index 18138b2..0e31ed3 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_3/hdmf_common_sparse.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_1_3/hdmf_common_sparse.py @@ -57,9 +57,7 @@ class CSRMatrix(ConfiguredBaseModel): """ name: str = Field(...) - shape: Optional[int] = Field( - None, description="""the shape of this sparse matrix""" - ) + shape: Optional[int] = Field(None, description="""the shape of this sparse matrix""") indices: str = Field(..., description="""column indices""") indptr: str = Field(..., description="""index pointer""") data: str = Field(..., description="""values in the matrix""") diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_5_0/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_5_0/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_5_0/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_5_0/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_5_0/hdmf_common_table.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_5_0/hdmf_common_table.py index 49525ad..d72f2f1 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_5_0/hdmf_common_table.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_5_0/hdmf_common_table.py @@ -155,9 +155,9 @@ class AlignedDynamicTable(DynamicTable): DynamicTable container that supports storing a collection of sub-tables. Each sub-table is a DynamicTable itself that is aligned with the main table by row index. I.e., all DynamicTables stored in this group MUST have the same number of rows. This type effectively defines a 2-level table in which the main data is stored in the main table implemented by this type and additional columns of the table are grouped into categories, with each category being represented by a separate DynamicTable stored within the group. """ - children: Optional[ - List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable] - ] = Field(default_factory=dict) + children: Optional[List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable]] = ( + Field(default_factory=dict) + ) name: str = Field(...) colnames: Optional[str] = Field( None, diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_8_0/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_8_0/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_8_0/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_8_0/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_8_0/hdmf_common_table.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_8_0/hdmf_common_table.py index 6229638..345289f 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_8_0/hdmf_common_table.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_common/v1_8_0/hdmf_common_table.py @@ -155,9 +155,9 @@ class AlignedDynamicTable(DynamicTable): DynamicTable container that supports storing a collection of sub-tables. Each sub-table is a DynamicTable itself that is aligned with the main table by row index. I.e., all DynamicTables stored in this group MUST have the same number of rows. This type effectively defines a 2-level table in which the main data is stored in the main table implemented by this type and additional columns of the table are grouped into categories, with each category being represented by a separate DynamicTable stored within the group. """ - children: Optional[ - List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable] - ] = Field(default_factory=dict) + children: Optional[List[Union[BaseModel, DynamicTable]] | Union[BaseModel, DynamicTable]] = ( + Field(default_factory=dict) + ) name: str = Field(...) colnames: Optional[str] = Field( None, diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_1_0/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_1_0/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_1_0/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_1_0/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_1_0/hdmf_experimental_resources.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_1_0/hdmf_experimental_resources.py index 45b4971..f4f326f 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_1_0/hdmf_experimental_resources.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_1_0/hdmf_experimental_resources.py @@ -99,12 +99,8 @@ class ExternalResourcesEntities(Data): """ name: Literal["entities"] = Field("entities") - keys_idx: int = Field( - ..., description="""The index to the key in the 'keys' table.""" - ) - resources_idx: int = Field( - ..., description="""The index into the 'resources' table""" - ) + keys_idx: int = Field(..., description="""The index to the key in the 'keys' table.""") + resources_idx: int = Field(..., description="""The index into the 'resources' table""") entity_id: str = Field(..., description="""The unique identifier entity.""") entity_uri: str = Field( ..., @@ -147,6 +143,4 @@ class ExternalResourcesObjectKeys(Data): ..., description="""The index to the 'objects' table for the object that holds the key.""", ) - keys_idx: int = Field( - ..., description="""The index to the 'keys' table for the key.""" - ) + keys_idx: int = Field(..., description="""The index to the 'keys' table for the key.""") diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_5_0/__init__.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_5_0/__init__.py index 0519ecb..e69de29 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_5_0/__init__.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_5_0/__init__.py @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_5_0/hdmf_experimental_resources.py b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_5_0/hdmf_experimental_resources.py index cd4f619..e5f54b1 100644 --- a/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_5_0/hdmf_experimental_resources.py +++ b/nwb_linkml/src/nwb_linkml/models/pydantic/hdmf_experimental/v0_5_0/hdmf_experimental_resources.py @@ -156,9 +156,7 @@ class HERDObjectKeys(Data): ..., description="""The row index to the object in the `objects` table that holds the key""", ) - keys_idx: int = Field( - ..., description="""The row index to the key in the `keys` table.""" - ) + keys_idx: int = Field(..., description="""The row index to the key in the `keys` table.""") class HERDEntityKeys(Data): @@ -170,6 +168,4 @@ class HERDEntityKeys(Data): entities_idx: int = Field( ..., description="""The row index to the entity in the `entities` table.""" ) - keys_idx: int = Field( - ..., description="""The row index to the key in the `keys` table.""" - ) + keys_idx: int = Field(..., description="""The row index to the key in the `keys` table.""")