Skip to content
Snippets Groups Projects
Commit ed3937f5 authored by Coda Phillips's avatar Coda Phillips
Browse files

Add abb check

parent 077b9174
No related branches found
No related tags found
No related merge requests found
......@@ -11,7 +11,7 @@ def hatch_check(frame, parameters):
hatch_closed_during_viewing = ((frame.hatchOpen != 1) &
(~frame.sceneMirrorPosition.isin([ord('H'), ord('A')])))
frame['hatch_check'] = hatch_closed_during_viewing
frame['hatch_check'] = hatch_closed_during_viewing * 1
annotate_all(frame, hatch_closed_during_viewing, 'hatch closed')
return frame
......
......@@ -16,39 +16,45 @@ def detector_check(frame, parameters):
return frame
def hbb_thermistor_check(frame, parameters):
return thermistor_check(frame, 'HBB', 331, 335)
def abb_thermistor_check(frame, parameters):
return thermistor_check(frame, 'ABB', 150, 335)
def thermistor_check(frame, bb, low, high):
"""
Check that all HBB thermistor temps are in range
Check that all thermistor temps are in range
"""
if not np.in1d(['HBBbottomTemp','HBBapexTemp','HBBtopTemp'], frame.columns).all():
if not np.in1d([x.format(bb) for x in ['{}bottomTemp','{}apexTemp','{}topTemp']], frame.columns).all():
return frame
hbbb_too_low = (frame['HBBbottomTemp'] - 333) < -2
hbba_too_low = (frame['HBBapexTemp'] - 333) < -2
hbbt_too_low = (frame['HBBtopTemp'] - 333) < -2
hbbb_too_high = (frame['HBBbottomTemp'] - 333) > 2
hbba_too_high = (frame['HBBapexTemp'] - 333) > 2
hbbt_too_high = (frame['HBBtopTemp'] - 333) > 2
hbbb_problem = hbbb_too_low | hbbb_too_high
hbba_problem = hbba_too_low | hbba_too_high
hbbt_problem = hbbt_too_low | hbbt_too_high
bbb_too_low = frame['{}bottomTemp'.format(bb)] < low
bba_too_low = frame['{}apexTemp'.format(bb)] < low
bbt_too_low = frame['{}topTemp'.format(bb)] < low
bbb_too_high = frame['{}bottomTemp'.format(bb)] > high
bba_too_high = frame['{}apexTemp'.format(bb)] > high
bbt_too_high = frame['{}topTemp'.format(bb)] > high
bbb_problem = bbb_too_low | bbb_too_high
bba_problem = bba_too_low | bba_too_high
bbt_problem = bbt_too_low | bbt_too_high
# Record qc for each thermistor
# qc variables are probabilites between 0 and 1
variable_qcs = pd.DataFrame({
'qc_HBBbottomTemp':hbbb_problem * 1,
'qc_HBBapexTemp' : hbba_problem * 1,
'qc_HBBtopTemp' : hbbt_problem * 1
'qc_{}bottomTemp'.format(bb) :bbb_problem * 1,
'qc_{}apexTemp'.format(bb) : bba_problem * 1,
'qc_{}topTemp'.format(bb) : bbt_problem * 1
}, index=frame.index)
frame = update_variable_qc(frame, variable_qcs)
# Compute overall BB quality
frame['hbb_thermistor_check'] = (hbbb_problem | hbba_problem | hbbt_problem) * 1
annotate_all(frame, hbbb_too_low, 'HBB bottom temperature too low')
annotate_all(frame, hbbt_too_low, 'HBB top temperature too low')
annotate_all(frame, hbba_too_low, 'HBB apex temperature too low')
annotate_all(frame, hbbb_too_high, 'HBB bottom temperature too high')
annotate_all(frame, hbbt_too_high, 'HBB top temperature too high')
annotate_all(frame, hbba_too_high, 'HBB apex temperature too high')
frame = invalidate_records(frame, 'hbb_thermistor_check')
frame['{}_thermistor_check'.format(bb.lower())] = (bbb_problem | bba_problem | bbt_problem) * 1
annotate_all(frame, bbb_too_low, '{} bottom temperature too low'.format(bb))
annotate_all(frame, bbt_too_low, '{} top temperature too low'.format(bb))
annotate_all(frame, bba_too_low, '{} apex temperature too low'.format(bb))
annotate_all(frame, bbb_too_high, '{} bottom temperature too high'.format(bb))
annotate_all(frame, bbt_too_high, '{} top temperature too high'.format(bb))
annotate_all(frame, bba_too_high, '{} apex temperature too high'.format(bb))
frame = invalidate_records(frame, '{}_thermistor_check'.format(bb.lower()))
return frame
def hbb_stable_check(frame, parameters):
......@@ -76,7 +82,7 @@ def hbb_stable_check(frame, parameters):
return frame
class CheckList(BaseCheckList):
checks = [detector_check, hbb_thermistor_check, hbb_stable_check]
checks = [detector_check, hbb_thermistor_check, hbb_stable_check, abb_thermistor_check]
#### TESTS ####
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment