treadmill

For running the calibration of the treadmill refer to this repository.

pydantic model aind_behavior_services.calibration.treadmill.Treadmill[source]

Bases: HarpTreadmill

Fields:
field calibration: TreadmillCalibration | None = None[source]
pydantic model aind_behavior_services.calibration.treadmill.TreadmillCalibration[source]

Bases: Calibration

Treadmill calibration class

Fields:
field description: Literal['Calibration of the treadmill system'] = 'Calibration of the treadmill system'[source]
field device_name: str = 'Treadmill'[source]

Must match a device name in rig/instrument

field input: TreadmillCalibrationInput [Required][source]
field output: TreadmillCalibrationOutput [Required][source]
pydantic model aind_behavior_services.calibration.treadmill.TreadmillCalibrationInput[source]

Bases: BaseModel

pydantic model aind_behavior_services.calibration.treadmill.TreadmillCalibrationOutput[source]

Bases: BaseModel

Fields:
Validators:
field brake_lookup_calibration: List[List[float]] [Required][source]

Brake lookup calibration. Each pair of values define (input [torque], output [brake set-point U16])

Constraints:
  • min_length = 2

Validated by:
field invert_direction: bool = False[source]

Invert direction

field pulses_per_revolution: int = 28800[source]

Pulses per revolution

Constraints:
  • ge = 1

field wheel_diameter: float = 15[source]

Wheel diameter

Constraints:
  • ge = 0

validator validate_brake_lookup_calibration  »  brake_lookup_calibration[source]

Example

from aind_behavior_services.calibration import treadmill
from aind_behavior_services.utils import utcnow

treadmill_calibration = treadmill.TreadmillCalibrationOutput(
    wheel_diameter=10,
    pulses_per_revolution=10000,
    invert_direction=False,
    brake_lookup_calibration=[[0, 0], [0.5, 32768], [1, 65535]],
)

calibration = treadmill.TreadmillCalibration(
    device_name="Treadmill",
    input=treadmill.TreadmillCalibrationInput(),
    output=treadmill_calibration,
    date=utcnow(),
)