Skip to content

Commit

Permalink
chore: lint
Browse files Browse the repository at this point in the history
  • Loading branch information
dbirman committed Sep 26, 2024
1 parent 3909043 commit e9e3c46
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 101 deletions.
81 changes: 13 additions & 68 deletions examples/quality_control.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,93 +13,38 @@
evaluation_description="Qualitative check that drift map shows minimal movement",
evaluation_modality=Modality.ECEPHYS,
evaluation_stage=Stage.PROCESSING,
evaluation_status=[
QCStatus(
evaluator="Fred Flintstone",
timestamp=t,
status=Status.FAIL
)
],
evaluation_status=[QCStatus(evaluator="Fred Flintstone", timestamp=t, status=Status.FAIL)],
qc_metrics=[
QCMetric(
name="Probe A drift",
value="High",
reference="ecephys-drift-map"
),
QCMetric(
name="Probe B drift",
value="Low",
reference="ecephys-drift-map"
),
QCMetric(
name="Probe C drift",
value="Low",
reference="ecephys-drift-map"
)
QCMetric(name="Probe A drift", value="High", reference="ecephys-drift-map"),
QCMetric(name="Probe B drift", value="Low", reference="ecephys-drift-map"),
QCMetric(name="Probe C drift", value="Low", reference="ecephys-drift-map"),
],
notes="Manually annotated: failed due to high drift on probe A"
notes="Manually annotated: failed due to high drift on probe A",
)

eval1 = QCEvaluation(
evaluation_name="Video frame count check",
evaluation_modality=Modality.BEHAVIOR_VIDEOS,
evaluation_stage=Stage.RAW,
evaluation_status=[
QCStatus(
evaluator="Fred Flintstone",
timestamp=t,
status=Status.FAIL
)
],
qc_metrics=[
QCMetric(
name="video_1_num_frames",
value=662
),
QCMetric(
name="video_2_num_frames",
value=662
)
],
notes="Pass when video_1_num_frames==video_2_num_frames"
evaluation_status=[QCStatus(evaluator="Fred Flintstone", timestamp=t, status=Status.FAIL)],
qc_metrics=[QCMetric(name="video_1_num_frames", value=662), QCMetric(name="video_2_num_frames", value=662)],
notes="Pass when video_1_num_frames==video_2_num_frames",
)

eval2 = QCEvaluation(
evaluation_name="Probes present",
evaluation_modality=Modality.ECEPHYS,
evaluation_stage=Stage.RAW,
evaluation_status=[
QCStatus(
evaluator="Automated",
timestamp=t,
status=Status.PASS
)
],
evaluation_status=[QCStatus(evaluator="Automated", timestamp=t, status=Status.PASS)],
qc_metrics=[
QCMetric(
name="ProbeA_success",
value=True
),
QCMetric(
name="ProbeB_success",
value=True
),
QCMetric(
name="ProbeC_success",
value=True
)
QCMetric(name="ProbeA_success", value=True),
QCMetric(name="ProbeB_success", value=True),
QCMetric(name="ProbeC_success", value=True),
],
)

q = QualityControl(
overall_status=[
QCStatus(
evaluator="Automated",
timestamp=t,
status=Status.PASS
)
],
evaluations=[eval0, eval1, eval2]
overall_status=[QCStatus(evaluator="Automated", timestamp=t, status=Status.PASS)], evaluations=[eval0, eval1, eval2]
)

serialized = q.model_dump_json()
Expand Down
51 changes: 18 additions & 33 deletions tests/test_quality_control.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,43 +19,28 @@ def test_constructors(self):
q = QualityControl()

test_eval = QCEvaluation(
evaluation_name="Drift map",
evaluation_status=[
QCStatus(
evaluator="Fred Flintstone",
timestamp=date.fromisoformat("2020-10-10"),
status=Status.PASS
)
],
evaluation_modality=Modality.ECEPHYS,
evaluation_stage=Stage.PROCESSING,
qc_metrics=[
QCMetric(
name="Multiple values example",
value={"stuff": "in_a_dict"}
),
QCMetric(
name="Drift map pass/fail",
value=False,
description="Manual evaluation of whether the drift map looks good",
references=["s3://some-data-somewhere"]
)
],
)

q = QualityControl(
overall_status=[
QCStatus(
evaluator="Bob",
timestamp=date.fromisoformat("2020-10-10"),
status=Status.PASS
)
evaluation_name="Drift map",
evaluation_status=[
QCStatus(evaluator="Fred Flintstone", timestamp=date.fromisoformat("2020-10-10"), status=Status.PASS)
],
evaluations=[
test_eval
evaluation_modality=Modality.ECEPHYS,
evaluation_stage=Stage.PROCESSING,
qc_metrics=[
QCMetric(name="Multiple values example", value={"stuff": "in_a_dict"}),
QCMetric(
name="Drift map pass/fail",
value=False,
description="Manual evaluation of whether the drift map looks good",
references=["s3://some-data-somewhere"],
),
],
)

q = QualityControl(
overall_status=[QCStatus(evaluator="Bob", timestamp=date.fromisoformat("2020-10-10"), status=Status.PASS)],
evaluations=[test_eval],
)

assert q is not None


Expand Down

0 comments on commit e9e3c46

Please sign in to comment.