update calibratio

This commit is contained in:
sinergia 2022-11-09 09:57:48 -05:00
parent 8f3c07a69d
commit ebf7d7fc99

View File

@ -380,19 +380,24 @@ class Maintenance(Workflow, ModelSQL, ModelView):
def get_create_graph(matrix, patterns): def get_create_graph(matrix, patterns):
image = BytesIO() image = BytesIO()
all_data = [] errors = []
yerr = []
for mistake in matrix: count = 0
mean = sum(mistake)/len(mistake) for pattern in patterns:
all_data.append(mean) error = pattern - matrix[count][0]
yerr.append(matrix[count][1])
errors.append(error)
count+=1
labels = list(patterns) labels = list(patterns)
#raise UserError(str([labels,errors]))
x = labels x = labels
y = all_data y = errors
top = 0.40 top = 0.60
bottom = -0.40 bottom = -0.60
ls = 'dotted' ls = 'dotted'
fig, ax1 = plt.subplots(nrows=1, ncols=1) fig, ax1 = plt.subplots(nrows=1, ncols=1)
@ -408,7 +413,7 @@ class Maintenance(Workflow, ModelSQL, ModelView):
ax1.set_yticks([-0.25,0.0,0.25]) ax1.set_yticks([-0.25,0.0,0.25])
#ax1.set_xticks([-10.0,-5.0,0.0,5.0,10.0]) #ax1.set_xticks([-10.0,-5.0,0.0,5.0,10.0])
ax1.errorbar(x, y, yerr=0.1, marker='D', markersize=10, linestyle=ls) ax1.errorbar(x, y, yerr=yerr, marker='D', markersize=10, linestyle=ls)
plt.savefig(image, format='png') plt.savefig(image, format='png')
plt.close() plt.close()
@ -452,8 +457,8 @@ class Maintenance(Workflow, ModelSQL, ModelView):
pool = Pool() pool = Pool()
CalibrationLineTotal = pool.get('optical_equipment.maintenance.calibration') CalibrationLineTotal = pool.get('optical_equipment.maintenance.calibration')
dates = {} dates = {}
dates_mistake_pattern = {} dates_mistake_pattern = []
graph_data_matrix = [] #graph_data_matrix = []
patterns = set() patterns = set()
for maintenance in maintenances: for maintenance in maintenances:
@ -465,11 +470,10 @@ class Maintenance(Workflow, ModelSQL, ModelView):
if line.value_patterns.pattern not in patterns: if line.value_patterns.pattern not in patterns:
patterns.add(line.value_patterns.pattern) patterns.add(line.value_patterns.pattern)
dates[line.value_patterns.pattern] = [line.value_equipment] dates[line.value_patterns.pattern] = [line.value_equipment]
dates_mistake_pattern[line.value_patterns.pattern] = [line.mistake] #dates_mistake_pattern[line.value_patterns.pattern] = [line.mistake]
else: else:
dates[line.value_patterns.pattern].append(line.value_equipment) dates[line.value_patterns.pattern].append(line.value_equipment)
dates_mistake_pattern[line.value_patterns.pattern].append(line.mistake) #dates_mistake_pattern[line.value_patterns.pattern].append(line.mistake)
for pattern in patterns: for pattern in patterns:
samples = dates[pattern] samples = dates[pattern]
@ -499,10 +503,10 @@ class Maintenance(Workflow, ModelSQL, ModelView):
t_student = t.ppf(1-0.025, uncertain_eff) t_student = t.ppf(1-0.025, uncertain_eff)
uncertain_expanded = round((t_student * uncertain_c),2) uncertain_expanded = round((t_student * uncertain_c),2)
dates_mistake_pattern.append([mean,uncertain_expanded])
if maintenance.equipment.product.resolution_type == "analoga": if maintenance.equipment.product.resolution_type == "analoga":
calibrationLineTotal = CalibrationLineTotal( calibrationLineTotal = CalibrationLineTotal(
graph_dates=str(dates_mistake_pattern[pattern]),
diopter=pattern, diopter=pattern,
mean=mean, mean=mean,
dev_std=dev_std, dev_std=dev_std,
@ -523,7 +527,6 @@ class Maintenance(Workflow, ModelSQL, ModelView):
elif maintenance.equipment.product.resolution_type == "digital": elif maintenance.equipment.product.resolution_type == "digital":
calibrationLineTotal = CalibrationLineTotal( calibrationLineTotal = CalibrationLineTotal(
graph_dates=str(dates_mistake_pattern[pattern]),
diopter=pattern, diopter=pattern,
mean=mean, mean=mean,
dev_std=dev_std, dev_std=dev_std,
@ -544,10 +547,7 @@ class Maintenance(Workflow, ModelSQL, ModelView):
maintenance.save() maintenance.save()
for i in dates_mistake_pattern.keys(): image = cls.get_create_graph(dates_mistake_pattern, patterns)
graph_data_matrix.append(dates_mistake_pattern[i])
image = cls.get_create_graph(graph_data_matrix, patterns)
maintenance.graph_calibration = image maintenance.graph_calibration = image
maintenance.save() maintenance.save()