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

Begin work on quality control

parents
No related branches found
No related tags found
No related merge requests found
from util import BaseCheckList
def hbb_temp_outlier_check(frame, parameters):
return frame
def abb_temp_outlier_check(frame, parameters):
return frame
def calibrationambienttemp_outlier_check(frame, parameters):
return frame
class CheckList(BaseCheckList):
checks = [ hbb_temp_outlier_check , abb_temp_outlier_check, calibrationambienttemp_outlier_check ]
from util import BaseCheckList
def check_missing_data_flag(frame, parameters):
return frame
class CheckList(BaseCheckList):
checks = [ check_missing_data_flag ]
main.py 0 → 100644
import electronic_checks
import global_checks
import radiometric_checks
import scene_checks
import state_checks
import thermal_checks
levels = [
global_checks.CheckList(),
scene_checks.CheckList(),
state_checks.CheckList(),
electronic_checks.CheckList(),
radiometric_checks.CheckList(),
thermal_checks.CheckList()
]
def read_frame(path):
pass
def check_frame(frame, parameters):
frame['qc_percent'] = 0
for level in levels:
level.set_params(parameters)
frame = level.compute(frame)
return frame
from util import BaseCheckList
def imaginary_radiance_check(frame, parameters):
return frame
def hbb_radiance_check(frame, parameters):
# Std dev, nen, lw, sw
return frame
def responsivity_check(frame, parameters):
# lw, sw
return frame
class CheckList(BaseCheckList):
checks = [ imaginary_radiance_check, hbb_radiance_check, responsivity_check ]
from util import BaseCheckList
def hatch_check(frame, parameters):
return frame
def safing_check(frame, parameters):
return frame
def encoder_check(frame, parameters):
return frame
class CheckList(BaseCheckList):
checks = [hatch_check, safing_check, encoder_check]
from util import BaseCheckList
def detector_check(frame, parameters):
return frame
def hbb_thermistor_check(frame, parameters):
return frame
def hbb_stable_check(frame, parameters):
return frame
class CheckList(BaseCheckList):
checks = [detector_check, hbb_thermistor_check, hbb_stable_check]
test.py 0 → 100644
from main import check_frame
import pandas as pd
random_dataframe = pd.DataFrame(pd.np.random.randn(10,10), columns=list('abcdefghij'))
def test_it_works():
qc_frame = check_frame(random_dataframe, {})
assert 'qc_percent' in qc_frame.columns
print(qc_frame)
from util import BaseCheckList
def thermal_correlation_check(frame, parameters):
return frame
class CheckList(BaseCheckList):
checks = [ thermal_correlation_check ]
util.py 0 → 100644
def invalidate_record(frame, record, reason):
pass
class BaseCheckList:
def __init__(self, *args, **kwargs):
self.check_results = {}
self.parameters = {}
def set_params(self, parameters):
self.parameters = parameters
def update_qc_percent(self, frame):
for check_func in self.checks:
name = check_func.__name__
if name in frame.columns:
results = frame[name].fillna(0)
# Compute P(A U B)
previous_percent = frame['qc_percent']
frame['qc_percent'] = previous_percent + results - previous_percent*results
return frame
def compute(self, frame):
for check in self.checks:
frame = check(frame, self.parameters)
return self.update_qc_percent(frame)
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