iblrig.base_choice_world.ChoiceWorldTrialData

Inheritance diagram of ChoiceWorldTrialData

class iblrig.base_choice_world.ChoiceWorldTrialData[source]

Pydantic Model for Trial Data.

contrast: Annotated[float, Interval(gt=None, ge=0.0, lt=None, le=1.0)]
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'contrast': FieldInfo(annotation=float, required=True, metadata=[Interval(gt=None, ge=0.0, lt=None, le=1.0)]), 'pause_duration': FieldInfo(annotation=float, required=False, default=0.0, metadata=[Ge(ge=0)]), 'position': FieldInfo(annotation=float, required=True), 'quiescent_period': FieldInfo(annotation=float, required=True, metadata=[Ge(ge=0)]), 'response_side': FieldInfo(annotation=int, required=False, default=0, metadata=[Interval(gt=None, ge=0, lt=None, le=0)]), 'response_time': FieldInfo(annotation=float, required=False, default=nan, metadata=[Predicate(math.isnan)]), 'reward_amount': FieldInfo(annotation=float, required=True, metadata=[Ge(ge=0)]), 'reward_valve_time': FieldInfo(annotation=float, required=True, metadata=[Ge(ge=0)]), 'stim_angle': FieldInfo(annotation=float, required=True, metadata=[Interval(gt=None, ge=-180.0, lt=None, le=180.0)]), 'stim_freq': FieldInfo(annotation=float, required=True, metadata=[Ge(ge=0)]), 'stim_gain': FieldInfo(annotation=float, required=True), 'stim_phase': FieldInfo(annotation=float, required=True, metadata=[Interval(gt=None, ge=0.0, lt=None, le=6.283185307179586)]), 'stim_probability_left': FieldInfo(annotation=float, required=True, metadata=[Interval(gt=None, ge=0.0, lt=None, le=1.0)]), 'stim_reverse': FieldInfo(annotation=bool, required=True), 'stim_sigma': FieldInfo(annotation=float, required=True), 'trial_correct': FieldInfo(annotation=bool, required=False, default=False, metadata=[Interval(gt=None, ge=0, lt=None, le=0)]), 'trial_num': FieldInfo(annotation=int, required=True, metadata=[Ge(ge=0)])}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

pause_duration: Annotated[float, Ge(ge=0)]
position: float
quiescent_period: Annotated[float, Ge(ge=0)]
response_side: Annotated[int, Interval(gt=None, ge=0, lt=None, le=0)]
response_time: Annotated[float, Predicate(func=isnan)]
reward_amount: Annotated[float, Ge(ge=0)]
reward_valve_time: Annotated[float, Ge(ge=0)]
stim_angle: Annotated[float, Interval(gt=None, ge=-180.0, lt=None, le=180.0)]
stim_freq: Annotated[float, Ge(ge=0)]
stim_gain: float
stim_phase: Annotated[float, Interval(gt=None, ge=0.0, lt=None, le=6.283185307179586)]
stim_probability_left: Annotated[float, Interval(gt=None, ge=0.0, lt=None, le=1.0)]
stim_reverse: bool
stim_sigma: float
trial_correct: Annotated[bool, Interval(gt=None, ge=0, lt=None, le=0)]
trial_num: Annotated[int, Ge(ge=0)]