update calibratio
This commit is contained in:
parent
8f3c07a69d
commit
ebf7d7fc99
@ -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()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user