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):
image = BytesIO()
all_data = []
for mistake in matrix:
mean = sum(mistake)/len(mistake)
all_data.append(mean)
errors = []
yerr = []
count = 0
for pattern in patterns:
error = pattern - matrix[count][0]
yerr.append(matrix[count][1])
errors.append(error)
count+=1
labels = list(patterns)
#raise UserError(str([labels,errors]))
x = labels
y = all_data
y = errors
top = 0.40
bottom = -0.40
top = 0.60
bottom = -0.60
ls = 'dotted'
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_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.close()
@ -452,8 +457,8 @@ class Maintenance(Workflow, ModelSQL, ModelView):
pool = Pool()
CalibrationLineTotal = pool.get('optical_equipment.maintenance.calibration')
dates = {}
dates_mistake_pattern = {}
graph_data_matrix = []
dates_mistake_pattern = []
#graph_data_matrix = []
patterns = set()
for maintenance in maintenances:
@ -465,11 +470,10 @@ class Maintenance(Workflow, ModelSQL, ModelView):
if line.value_patterns.pattern not in patterns:
patterns.add(line.value_patterns.pattern)
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:
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:
samples = dates[pattern]
@ -499,10 +503,10 @@ class Maintenance(Workflow, ModelSQL, ModelView):
t_student = t.ppf(1-0.025, uncertain_eff)
uncertain_expanded = round((t_student * uncertain_c),2)
dates_mistake_pattern.append([mean,uncertain_expanded])
if maintenance.equipment.product.resolution_type == "analoga":
calibrationLineTotal = CalibrationLineTotal(
graph_dates=str(dates_mistake_pattern[pattern]),
diopter=pattern,
mean=mean,
dev_std=dev_std,
@ -523,7 +527,6 @@ class Maintenance(Workflow, ModelSQL, ModelView):
elif maintenance.equipment.product.resolution_type == "digital":
calibrationLineTotal = CalibrationLineTotal(
graph_dates=str(dates_mistake_pattern[pattern]),
diopter=pattern,
mean=mean,
dev_std=dev_std,
@ -544,10 +547,7 @@ class Maintenance(Workflow, ModelSQL, ModelView):
maintenance.save()
for i in dates_mistake_pattern.keys():
graph_data_matrix.append(dates_mistake_pattern[i])
image = cls.get_create_graph(graph_data_matrix, patterns)
image = cls.get_create_graph(dates_mistake_pattern, patterns)
maintenance.graph_calibration = image
maintenance.save()