load_cells

pydantic model aind_behavior_services.calibration.load_cells.LoadCellCalibrationInput[source]

Bases: BaseModel

Fields:
field channel: LoadCellChannel [Required][source]

Load cell channel number available

Constraints:
  • ge = 0

  • le = 7

field offset_measurement: List[MeasuredOffset] = [][source]
field weight_measurement: List[MeasuredWeight] = [][source]
pydantic model aind_behavior_services.calibration.load_cells.LoadCellCalibrationOutput[source]

Bases: BaseModel

Fields:
field baseline: float = 0.0[source]
field channel: LoadCellChannel [Required][source]

Load cell channel number available

Constraints:
  • ge = 0

  • le = 7

field offset: LoadCellOffset = 0[source]

Load cell offset value [-255, 255]

Constraints:
  • ge = -255

  • le = 255

field slope: float = 1.0[source]
field weight_lookup: List[MeasuredWeight] = [][source]
pydantic model aind_behavior_services.calibration.load_cells.LoadCells[source]

Bases: HarpLoadCells

Fields:
field calibration: LoadCellsCalibration | None = None[source]
pydantic model aind_behavior_services.calibration.load_cells.LoadCellsCalibration[source]

Bases: Calibration

Load cells calibration class

Fields:
field description: Literal['Calibration of the load cells system'] = 'Calibration of the load cells system'[source]
field device_name: str = 'LoadCells'[source]

Must match a device name in rig/instrument

field input: LoadCellsCalibrationInput [Required][source]
field output: LoadCellsCalibrationOutput [Required][source]
pydantic model aind_behavior_services.calibration.load_cells.LoadCellsCalibrationInput[source]

Bases: BaseModel

Fields:
Validators:
field channels: List[LoadCellCalibrationInput] = [][source]
Validated by:
classmethod calibrate_loadcell_output(value: LoadCellCalibrationInput) LoadCellCalibrationOutput[source]
calibrate_output() LoadCellsCalibrationOutput[source]
validator ensure_unique_channels  »  channels[source]
static get_optimum_offset(value: List[MeasuredOffset] | None) int | None[source]
pydantic model aind_behavior_services.calibration.load_cells.LoadCellsCalibrationOutput[source]

Bases: BaseModel

Fields:
Validators:
field channels: List[LoadCellCalibrationOutput] = [][source]
Validated by:
validator ensure_unique_channels  »  channels[source]
pydantic model aind_behavior_services.calibration.load_cells.MeasuredOffset[source]

Bases: BaseModel

Fields:
field baseline: float [Required][source]

The measured baseline value

field offset: LoadCellOffset [Required][source]

The applied offset resistor value[-255, 255]

Constraints:
  • ge = -255

  • le = 255

pydantic model aind_behavior_services.calibration.load_cells.MeasuredWeight[source]

Bases: BaseModel

Fields:
field baseline: float [Required][source]

The measured baseline value

field weight: float [Required][source]

The applied weight in grams

Example

from aind_behavior_services.calibration import load_cells as lc
from aind_behavior_services.utils import utcnow

lc0 = lc.LoadCellCalibrationInput(
    channel=0,
    offset_measurement=[lc.MeasuredOffset(offset=100, baseline=0.1)],
    weight_measurement=[lc.MeasuredWeight(weight=0.1, baseline=0.1)],
)
lc1 = lc.LoadCellCalibrationInput(
    channel=1,
    offset_measurement=[lc.MeasuredOffset(offset=100, baseline=0.1)],
    weight_measurement=[lc.MeasuredWeight(weight=0.1, baseline=0.1)],
)

lc_calibration_input = lc.LoadCellsCalibrationInput(channels=[lc1, lc0])
lc_calibration_output = lc.LoadCellsCalibrationOutput(
    channels=[
        lc.LoadCellCalibrationOutput(channel=0, offset=6, baseline=1000, weight_lookup=[]),
        lc.LoadCellCalibrationOutput(channel=1, offset=6, baseline=1000, weight_lookup=[]),
    ]
)

calibration = lc.LoadCellsCalibration(
    input=lc_calibration_input,
    output=lc_calibration_output,
    device_name="LoadCells",
    date=utcnow(),
)