petal-qc 0.0.3__py3-none-any.whl → 0.0.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of petal-qc might be problematic. Click here for more details.
- petal_qc/__init__.py +1 -1
- petal_qc/metrology/PetalMetrology.py +3 -3
- petal_qc/metrology/compare_Cores.py +159 -23
- petal_qc/metrology/petal_flatness.py +7 -2
- petal_qc/thermal/IRDataGetter.py +5 -3
- petal_qc/thermal/IRPetal.py +1 -1
- petal_qc/thermal/coreThermal.py +2 -1
- petal_qc/thermal/create_IRCore.py +5 -3
- {petal_qc-0.0.3.dist-info → petal_qc-0.0.4.dist-info}/METADATA +1 -1
- {petal_qc-0.0.3.dist-info → petal_qc-0.0.4.dist-info}/RECORD +15 -15
- {petal_qc-0.0.3.dist-info → petal_qc-0.0.4.dist-info}/WHEEL +1 -1
- /petal_qc/{thermal → test}/test_Graphana.py +0 -0
- /petal_qc/{thermal → test}/test_coreThermal.py +0 -0
- {petal_qc-0.0.3.dist-info → petal_qc-0.0.4.dist-info}/entry_points.txt +0 -0
- {petal_qc-0.0.3.dist-info → petal_qc-0.0.4.dist-info}/top_level.txt +0 -0
petal_qc/__init__.py
CHANGED
|
@@ -130,7 +130,7 @@ def petal_metrology(ifile, options):
|
|
|
130
130
|
if options.desy:
|
|
131
131
|
flatness_data = DataFile.read(ifile, "PetalPlane")
|
|
132
132
|
else:
|
|
133
|
-
flatness_data = DataFile.read(ifile, r"Punto
|
|
133
|
+
flatness_data = DataFile.read(ifile, r"Punto(-|(Vision-))\d", "Punto")
|
|
134
134
|
Fmean = np.mean(flatness_data[:, 2])
|
|
135
135
|
flatness_data[:, 2] -= Fmean
|
|
136
136
|
|
|
@@ -170,10 +170,10 @@ def petal_metrology(ifile, options):
|
|
|
170
170
|
if key == "COPLANARITY_LOCATORS" and not check_spec(val, 0.1):
|
|
171
171
|
dbOut["comments"].append(
|
|
172
172
|
"Coplanarity of locators: {:.3f} mm".format(val))
|
|
173
|
-
elif key == "PARALLELISM" and not check_spec(abs(val), 0.
|
|
173
|
+
elif key == "PARALLELISM" and not check_spec(abs(val), 0.2):
|
|
174
174
|
dbOut["defects"].append({
|
|
175
175
|
"name": key,
|
|
176
|
-
"description": "Paralelism of locators is {:.3f} mm > 0.
|
|
176
|
+
"description": "Paralelism of locators is {:.3f} mm > 0.200 mm".format(val)
|
|
177
177
|
})
|
|
178
178
|
elif key == "OFFSET" and not check_spec(abs(val), 0.100):
|
|
179
179
|
dbOut["comments"].append("Offset of locator plane w.r.t BT is {:.3f} mm".format(val))
|
|
@@ -11,19 +11,53 @@ import matplotlib.pyplot as plt
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def get_value(data, value_path):
|
|
14
|
-
"""Get the value."""
|
|
14
|
+
"""Get the value from the path given."""
|
|
15
15
|
a = data
|
|
16
16
|
for k in value_path.split('/'):
|
|
17
17
|
a = a[k]
|
|
18
18
|
|
|
19
19
|
return a
|
|
20
20
|
|
|
21
|
+
def save_figure(fig, fnam, prefix=None, dpi=192):
|
|
22
|
+
"""Saves the figure
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
Args:
|
|
25
|
+
fig (Figure): The figure to save
|
|
26
|
+
fnam (str): The name of the output file
|
|
27
|
+
dpi (int, optional): The Dots por Inch. Defaults to 300.
|
|
28
|
+
"""
|
|
29
|
+
if fnam is not None:
|
|
30
|
+
if prefix:
|
|
31
|
+
P = Path(fnam).expanduser().resolve()
|
|
32
|
+
name = prefix + P.name
|
|
33
|
+
out = P.parent / name
|
|
34
|
+
fnam = out
|
|
35
|
+
|
|
36
|
+
print("out: {}".format(fnam))
|
|
37
|
+
fig.savefig(fnam, dpi=dpi)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def read_data_files(options):
|
|
41
|
+
"""Read the data files.
|
|
42
|
+
|
|
43
|
+
It assumes the data file names are in the format:
|
|
44
|
+
|
|
45
|
+
<AlternativeID>-<side>.json
|
|
46
|
+
|
|
47
|
+
AlternativeID is PPC.nnn side is either front or back.
|
|
48
|
+
|
|
49
|
+
Returns the values for front and back petal tests.
|
|
50
|
+
|
|
51
|
+
The results are a dictionary with the file label as key and the requested
|
|
52
|
+
value, which can be a number of an array.
|
|
53
|
+
|
|
54
|
+
the file labels are also returned.
|
|
55
|
+
|
|
56
|
+
"""
|
|
23
57
|
labels = []
|
|
24
58
|
front = {}
|
|
25
59
|
back = {}
|
|
26
|
-
|
|
60
|
+
|
|
27
61
|
for fnam in options.files:
|
|
28
62
|
ifile = Path(fnam).expanduser().resolve()
|
|
29
63
|
print(ifile.name)
|
|
@@ -43,16 +77,119 @@ def main(options):
|
|
|
43
77
|
label = tmp[0]
|
|
44
78
|
if not label in labels:
|
|
45
79
|
labels.append(label)
|
|
46
|
-
|
|
47
|
-
is_front = False
|
|
48
|
-
if "front" in tmp[1].lower():
|
|
49
|
-
is_front = True
|
|
50
|
-
|
|
80
|
+
|
|
51
81
|
val = get_value(data, options.value)
|
|
52
|
-
if
|
|
82
|
+
if "front" in tmp[1].lower():
|
|
53
83
|
front[label] = val
|
|
54
84
|
else:
|
|
55
85
|
back[label] = val
|
|
86
|
+
|
|
87
|
+
labels.sort()
|
|
88
|
+
|
|
89
|
+
return front, back, labels
|
|
90
|
+
|
|
91
|
+
def draw_deltas(data, keys, fnam=None, title="Front"):
|
|
92
|
+
"""Plot the position deltas."""
|
|
93
|
+
key_table = {"Bot.": "PL01", "Slot": "PL02", "Top": "PL03",
|
|
94
|
+
"Bot-FD01": "PL01-FD01", "Bot-FD02": "PL01-FD02", "FD01-FD02": "FD01-FD02" }
|
|
95
|
+
nfiles = len(data)
|
|
96
|
+
|
|
97
|
+
P = [np.zeros([nfiles, 2]),
|
|
98
|
+
np.zeros([nfiles, 2]),
|
|
99
|
+
np.zeros([nfiles, 2])]
|
|
100
|
+
|
|
101
|
+
fig_width = 12.0
|
|
102
|
+
fig_height = 1.2*fig_width/3.0
|
|
103
|
+
fig, ax = plt.subplots(nrows=1, ncols=3, tight_layout=True, figsize=(fig_width, fig_height))
|
|
104
|
+
fig.suptitle(title)
|
|
105
|
+
for i in range(3):
|
|
106
|
+
ax[i].set_title(keys[i])
|
|
107
|
+
ax[i].set_aspect('equal', adjustable='box')
|
|
108
|
+
ax[i].set_xlim(-100, 100)
|
|
109
|
+
ax[i].set_ylim(-100, 100)
|
|
110
|
+
circle = plt.Circle((0,0), 50, color="red", alpha=0.25)
|
|
111
|
+
ax[i].add_patch(circle)
|
|
112
|
+
circle = plt.Circle((0,0), 25, color="green", alpha=0.25)
|
|
113
|
+
ax[i].add_patch(circle)
|
|
114
|
+
|
|
115
|
+
ax[i].set_xlabel("X (µm)")
|
|
116
|
+
ax[i].set_ylabel("Y (µm)")
|
|
117
|
+
ax[i].grid()
|
|
118
|
+
|
|
119
|
+
for j, v in enumerate(data.items()):
|
|
120
|
+
label, values = v
|
|
121
|
+
for k in range(3):
|
|
122
|
+
ky = key_table[keys[k]]
|
|
123
|
+
P[k][j, :] = 1000*np.array(values[ky])
|
|
124
|
+
|
|
125
|
+
ax[i].scatter(P[i][:,0], P[i][:,1])
|
|
126
|
+
|
|
127
|
+
save_figure(fig, fnam, prefix=title)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def show_positions(options):
|
|
131
|
+
"""Make position plots."""
|
|
132
|
+
|
|
133
|
+
if "LOCATION" in options.value:
|
|
134
|
+
keys = ["Bot.", "Slot", "Top"]
|
|
135
|
+
elif "REL_POS" in options.value:
|
|
136
|
+
keys = ["Bot-FD01", "Bot-FD02", "FD01-FD02"]
|
|
137
|
+
else:
|
|
138
|
+
print("Invalid value")
|
|
139
|
+
return
|
|
140
|
+
|
|
141
|
+
front, back, labels = read_data_files(options)
|
|
142
|
+
val_name = options.value.split('/')[-1]
|
|
143
|
+
draw_deltas(front, keys, fnam=options.out, title="{} - Front".format(val_name))
|
|
144
|
+
draw_deltas(back, keys, fnam=options.out, title="{} - Back".format(val_name))
|
|
145
|
+
|
|
146
|
+
plt.show()
|
|
147
|
+
|
|
148
|
+
def show_flatness(options):
|
|
149
|
+
"""Show flatness plots."""
|
|
150
|
+
tick_labels = ["R0", "R1", "R2", "R3S0", "R3S1", "R4S0", "R4S1", "R5S0", "R5S1"]
|
|
151
|
+
cindx = ["Front", "Back"]
|
|
152
|
+
|
|
153
|
+
front, back, labels = read_data_files(options)
|
|
154
|
+
nfiles = len(labels)
|
|
155
|
+
npts = len(tick_labels)
|
|
156
|
+
X = np.array([float(x) for x in range(npts)])
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
fig, ax = plt.subplots(nrows=1, ncols=2, tight_layout=True, figsize=(9., 5.))
|
|
160
|
+
fig.suptitle(options.value)
|
|
161
|
+
|
|
162
|
+
P = [ np.zeros([nfiles, npts]), np.zeros([nfiles, npts]) ]
|
|
163
|
+
y_lim = []
|
|
164
|
+
for i, V in enumerate([front, back]):
|
|
165
|
+
ax[i].set_title(cindx[i])
|
|
166
|
+
ax[i].set_xticks(range(npts), labels=tick_labels)
|
|
167
|
+
ax[i].grid()
|
|
168
|
+
|
|
169
|
+
for lbl in labels:
|
|
170
|
+
ax[i].plot(X, V[lbl], '-', label=lbl)
|
|
171
|
+
|
|
172
|
+
y_lim.append(ax[i].get_ylim())
|
|
173
|
+
|
|
174
|
+
for a in ax:
|
|
175
|
+
a.set_ylim(0, 1.2*max(y_lim[0][1], y_lim[1][1]))
|
|
176
|
+
a.legend(ncol=3, fontsize="x-small")
|
|
177
|
+
|
|
178
|
+
save_figure(fig, options.out, prefix="zzz-")
|
|
179
|
+
|
|
180
|
+
def main(options):
|
|
181
|
+
"""Main entry."""
|
|
182
|
+
|
|
183
|
+
if "LOCATION" in options.value or "REL_POS" in options.value:
|
|
184
|
+
show_positions(options)
|
|
185
|
+
return
|
|
186
|
+
|
|
187
|
+
if "FLATNESS_LOCAL" in options.value:
|
|
188
|
+
show_flatness(options)
|
|
189
|
+
return
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
front, back, labels = read_data_files(options)
|
|
56
193
|
|
|
57
194
|
labels.sort()
|
|
58
195
|
X = np.arange(0, len(labels))
|
|
@@ -60,18 +197,17 @@ def main(options):
|
|
|
60
197
|
fig.suptitle(options.value)
|
|
61
198
|
ax.set_xticks(range(len(labels)), labels=labels)
|
|
62
199
|
ax.grid()
|
|
63
|
-
|
|
200
|
+
|
|
64
201
|
vfront = [front[x] for x in labels]
|
|
65
202
|
vback = [back[x] for x in labels]
|
|
66
203
|
ax.plot(X, vfront, '*', label="Front")
|
|
67
204
|
ax.plot(X, vback, 'o', label="Back")
|
|
68
205
|
ax.legend()
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
fig.savefig(options.out, dpi=300)
|
|
206
|
+
|
|
207
|
+
save_figure(fig, options.out)
|
|
72
208
|
|
|
73
209
|
plt.show()
|
|
74
|
-
|
|
210
|
+
|
|
75
211
|
|
|
76
212
|
if __name__ == "__main__":
|
|
77
213
|
# Argument parser
|
|
@@ -80,17 +216,17 @@ if __name__ == "__main__":
|
|
|
80
216
|
parser.add_argument("--value", default=None, help="Value to plot")
|
|
81
217
|
parser.add_argument("--out", default=None, help="File to store the figure.")
|
|
82
218
|
|
|
83
|
-
|
|
84
|
-
if len(
|
|
219
|
+
opts = parser.parse_args()
|
|
220
|
+
if len(opts.files) == 0:
|
|
85
221
|
print("I need at least one input file")
|
|
86
222
|
sys.exit()
|
|
87
223
|
|
|
88
|
-
if len(
|
|
89
|
-
xxx = any(elem in
|
|
224
|
+
if len(opts.files) == 1:
|
|
225
|
+
xxx = any(elem in opts.files[0] for elem in r"*?")
|
|
90
226
|
if xxx:
|
|
91
|
-
|
|
227
|
+
opts.files = glob.glob(opts.files[0])
|
|
92
228
|
|
|
93
|
-
if
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
main(
|
|
229
|
+
if opts.value[0] == '/':
|
|
230
|
+
opts.value = opts.value[1:]
|
|
231
|
+
opts.value = "results/METROLOGY/" + opts.value
|
|
232
|
+
main(opts)
|
|
@@ -162,7 +162,12 @@ def petal_flatness(orig_data, options, document=None):
|
|
|
162
162
|
flatness_func = flatness_LSPL
|
|
163
163
|
F = {}
|
|
164
164
|
for key, val in sensors.items():
|
|
165
|
-
|
|
165
|
+
try:
|
|
166
|
+
F[key] = flatness_func(val)
|
|
167
|
+
except ValueError as E:
|
|
168
|
+
print("*** Error: Petal flatnes: key {}\n{}".format(key, E))
|
|
169
|
+
print(val)
|
|
170
|
+
return TM, avg, Zmean, [-9999, -9999]
|
|
166
171
|
|
|
167
172
|
flatness_all_sensor_area = flatness_func(all_data)
|
|
168
173
|
|
|
@@ -182,7 +187,7 @@ def petal_flatness(orig_data, options, document=None):
|
|
|
182
187
|
outF.extend(values)
|
|
183
188
|
print("{}: {:.3f} {}: {:.3f}".format(lbls[0], values[0], lbls[1], values[1]))
|
|
184
189
|
|
|
185
|
-
print("All sensor area: {:.3f}".format(flatness_all_sensor_area))
|
|
190
|
+
print("All sensor area: {:.3f}".format(1000*flatness_all_sensor_area))
|
|
186
191
|
|
|
187
192
|
# Add table in document
|
|
188
193
|
if document:
|
petal_qc/thermal/IRDataGetter.py
CHANGED
|
@@ -133,7 +133,8 @@ class IRDataIFIC(IRDataGetter):
|
|
|
133
133
|
super().__init__()
|
|
134
134
|
self.analysis_frame = None
|
|
135
135
|
if HAS_GRAPHANA:
|
|
136
|
-
self.DB = ReadGraphana("localhost")
|
|
136
|
+
#self.DB = ReadGraphana("localhost")
|
|
137
|
+
self.DB = ReadGraphana()
|
|
137
138
|
else:
|
|
138
139
|
self.DB = None
|
|
139
140
|
|
|
@@ -156,9 +157,10 @@ class IRDataIFIC(IRDataGetter):
|
|
|
156
157
|
"""
|
|
157
158
|
irbf.set_concatenate(True)
|
|
158
159
|
frame = self.get_analysis_frame(irbf)
|
|
159
|
-
i_min = self.indx
|
|
160
|
+
i_min = self.indx[-1]
|
|
160
161
|
min_T = np.min(frame[0].image)
|
|
161
|
-
|
|
162
|
+
values = self.get_IR_data(frame[0])
|
|
163
|
+
return min_T, i_min, [values, ]
|
|
162
164
|
|
|
163
165
|
# if len(args) == 0:
|
|
164
166
|
# T_min = -22.0
|
petal_qc/thermal/IRPetal.py
CHANGED
|
@@ -551,7 +551,7 @@ def get_T_profile(data, A, B, npts=10, do_fit=False, npdim=7, debug=False):
|
|
|
551
551
|
fmin.success = True
|
|
552
552
|
break
|
|
553
553
|
|
|
554
|
-
# If
|
|
554
|
+
# If there is a clear minimum within the segment
|
|
555
555
|
if fmin.success and fmin.x[0] > 0 and fmin.x[0] < mx_dist:
|
|
556
556
|
# This should no happen. if minimize returns we should have found
|
|
557
557
|
# at least a valid root.
|
petal_qc/thermal/coreThermal.py
CHANGED
|
@@ -167,7 +167,8 @@ class CoreThermal(itkdb_gtk.dbGtkUtils.ITkDBWindow):
|
|
|
167
167
|
self.irbfile = PSF
|
|
168
168
|
self.param.files =[PSF,]
|
|
169
169
|
|
|
170
|
-
DB = ReadGraphana("localhost")
|
|
170
|
+
#DB = ReadGraphana("localhost")
|
|
171
|
+
DB = ReadGraphana()
|
|
171
172
|
irbf = IRBFile.open_file(self.irbfile)
|
|
172
173
|
getter = IRDataGetter.factory(self.param.institute, self.param)
|
|
173
174
|
frames = getter.get_analysis_frame(irbf)
|
|
@@ -75,9 +75,11 @@ def clean_figures():
|
|
|
75
75
|
def get_inlet_temp(irbf, param):
|
|
76
76
|
"""Gets the value of the inlet temperature from Graphana."""
|
|
77
77
|
|
|
78
|
+
print("# Getting the Inlet temperature. Contacting Graphana...")
|
|
78
79
|
out = -9999
|
|
79
80
|
getter = IRDataGetter.factory(param.institute, param)
|
|
80
|
-
DB = ReadGraphana("localhost")
|
|
81
|
+
#DB = ReadGraphana("localhost")
|
|
82
|
+
DB = ReadGraphana()
|
|
81
83
|
frames = getter.get_analysis_frame(irbf)
|
|
82
84
|
the_time = frames[0].timestamp
|
|
83
85
|
try:
|
|
@@ -113,14 +115,14 @@ def create_IR_core(options):
|
|
|
113
115
|
if irbf is None:
|
|
114
116
|
print("Could not fine input file: {}".format(options.files))
|
|
115
117
|
return
|
|
116
|
-
|
|
118
|
+
|
|
117
119
|
if options.tco2 <= -999:
|
|
118
120
|
out = get_inlet_temp(irbf, options)
|
|
119
121
|
if out <= -999:
|
|
120
122
|
print("### Cannot get Tcos. Setting to default.")
|
|
121
123
|
P = IRPetalParam()
|
|
122
124
|
out = P.tco2
|
|
123
|
-
|
|
125
|
+
|
|
124
126
|
options.tco2 = out
|
|
125
127
|
|
|
126
128
|
# Set parameters from command line
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: petal_qc
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.4
|
|
4
4
|
Summary: A collection of scripts for Petal CORE QC.
|
|
5
5
|
Author-email: Carlos Lacasta <carlos.lacasta@cern.ch>
|
|
6
6
|
Project-URL: Homepage, https://gitlab.cern.ch/atlas-itk/sw/db/itk-pdb-gtk-gui-utils
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
petal_qc/__init__.py,sha256=
|
|
1
|
+
petal_qc/__init__.py,sha256=VpC-IsQnxbgzAmtAY_kKTvTlAtU1gruWo2LAL5oOFY0,472
|
|
2
2
|
petal_qc/dashBoard.py,sha256=aPugRYhCcAzEBPrCyh8A8QKYaB4Q-_T1q3r5A3J2eog,553
|
|
3
3
|
petal_qc/BTreport/CheckBTtests.py,sha256=4hNP1V-zcFBN5UvWVbx9nAmittF8Jmb5J17L33t68Eg,9086
|
|
4
4
|
petal_qc/BTreport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
petal_qc/BTreport/bustapeReport.py,sha256=c5VERxPm6BOgW_yN9O_bEPmCYpuwZ_Yt_I2sMVAp0-I,6895
|
|
6
6
|
petal_qc/metrology/Cluster.py,sha256=UtZ5q1EFb8f3qC0hEYBbhRg2pPbW_28aJX2EEMu00Ho,2105
|
|
7
7
|
petal_qc/metrology/DataFile.py,sha256=PbFqy3-WSj69epV5EjhHc1GKhA8I74FmJYOXUjN0V20,1367
|
|
8
|
-
petal_qc/metrology/PetalMetrology.py,sha256=
|
|
8
|
+
petal_qc/metrology/PetalMetrology.py,sha256=dzy--gvmF-xzTFI_MGn2oJWNaVMsBLBSwoZ1dLnAHfc,11888
|
|
9
9
|
petal_qc/metrology/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
10
|
petal_qc/metrology/all2csv.py,sha256=KTgEGaediylwkGN7gyWyQqUjU0f9FOa3xF4z1W38EcU,1569
|
|
11
11
|
petal_qc/metrology/analyze_locking_points.py,sha256=FjLte9VgxVMfR-b1DlViWDsa2vl3ZKfCCptyibEjBUY,20519
|
|
12
12
|
petal_qc/metrology/cold_noise.py,sha256=PuTaQ73WrQCJdE9ezS4UFmA3atwCuvM0ZsUOYu1ZIBw,3106
|
|
13
|
-
petal_qc/metrology/compare_Cores.py,sha256=
|
|
13
|
+
petal_qc/metrology/compare_Cores.py,sha256=A3_Zqd7K5G93bShWFA7NK0Xob3Zin9WSwfGUMpCitNY,6485
|
|
14
14
|
petal_qc/metrology/comparisonTable.py,sha256=6Zmh-x0ahs28ZJQuHMrIiRcblUmTN1_-1otFSRNMPds,1743
|
|
15
15
|
petal_qc/metrology/convert_mitutoyo.py,sha256=HdXQzFL5y7r8qXDzti91VItDQ-y6D9rEAYknn4yHwBs,5449
|
|
16
16
|
petal_qc/metrology/convert_smartscope.py,sha256=es3PoUd5d5rpHebgwsS9nrc3uuy9uFKOQ00ZdU5XHQ0,3836
|
|
@@ -19,16 +19,18 @@ petal_qc/metrology/data2csv.py,sha256=2ttMSmfGLPIaOqZGima2dH6sdnSRAFTHlEbSOfW5eb
|
|
|
19
19
|
petal_qc/metrology/do_Metrology.py,sha256=zPryMgu46fmCyuAGtRGs2yqh0OSxnkSo9bsJMxQ80PU,4107
|
|
20
20
|
petal_qc/metrology/flatness4nigel.py,sha256=SUHwn6pCEUWQV_62-_9-VKrmUdL4gVQcSA3aTtYq958,4071
|
|
21
21
|
petal_qc/metrology/gtkutils.py,sha256=1pOTxiE2EZR9zNNNT5cOetga_4NG9DzLaqQPI4c1EzE,3372
|
|
22
|
-
petal_qc/metrology/petal_flatness.py,sha256
|
|
22
|
+
petal_qc/metrology/petal_flatness.py,sha256=-TuCndiCTwvIKaSb9oIMmtyy2qVv_WCY3Arq5qRxegk,11390
|
|
23
23
|
petal_qc/metrology/show_data_file.py,sha256=yZPcmMy-1EWWySiBBx0hNB3tPVh19bTr0PDaXSyIF4c,4057
|
|
24
24
|
petal_qc/metrology/testSummary.py,sha256=0BhcEd1BPz2Mbonzi8nyZOzNSzpUqowBFNl5cVutqsk,994
|
|
25
25
|
petal_qc/metrology/test_paralelism.py,sha256=_j__OdUwdXWM494_9HpGPuPHixMwwVphCcvHEfzWi_k,1981
|
|
26
|
+
petal_qc/test/test_Graphana.py,sha256=fXcqHzgrfZGjSF-WoMLl96G97XjXVnynHYC-5rKw_-c,1032
|
|
27
|
+
petal_qc/test/test_coreThermal.py,sha256=YRPK3DGG7Tz66K4Kka3euXgUDzW_JlIqSYicMBhb96E,1516
|
|
26
28
|
petal_qc/thermal/CSVImage.py,sha256=Vt2kYmUsZWkQvxcF8fDda3HO1Rb29kPQHnEoHFCqWYo,2038
|
|
27
29
|
petal_qc/thermal/DebugPlot.py,sha256=OmREFwNDAKgoObDmcgHrB4d8m3bf2znfsKVGsb5rBGQ,2119
|
|
28
30
|
petal_qc/thermal/IRBFile.py,sha256=yScjQrAeB9dnNNO-6_8S34vzrtme0F6y3kwYahMKDxc,22271
|
|
29
31
|
petal_qc/thermal/IRCore.py,sha256=y79YEQrq4q2hSdmYbOF7jjEA-wy50Qun0g_AmrRUmls,3056
|
|
30
|
-
petal_qc/thermal/IRDataGetter.py,sha256=
|
|
31
|
-
petal_qc/thermal/IRPetal.py,sha256=
|
|
32
|
+
petal_qc/thermal/IRDataGetter.py,sha256=5z9kUo5is-D6Cc2B7w8e588RzhUaRsDRRBRvz9ggqh4,10925
|
|
33
|
+
petal_qc/thermal/IRPetal.py,sha256=5QGGnfxt7QTqEmtqF6o8Kgvtu_FB4wGNH3CVSU4TlIk,38334
|
|
32
34
|
petal_qc/thermal/IRPetalParam.py,sha256=hrQ9FevzWctvBVHeQ71G0WzllVEa5rYkJom2ezfFYHc,3674
|
|
33
35
|
petal_qc/thermal/PetalColorMaps.py,sha256=6CvJHzRdojLHu3BROYSekHw8g_BJ1lJ_edyhovTIydU,3831
|
|
34
36
|
petal_qc/thermal/Petal_IR_Analysis.py,sha256=8Deh_bJ5B7DdaUV18saboF7fXZ_8Bt1vkUlsk5RqVeo,3910
|
|
@@ -36,15 +38,13 @@ petal_qc/thermal/PipeFit.py,sha256=bipXxJGxrwlgbrFv8WJA1Ds7Kj4oUwEyqTIswpgni9o,1
|
|
|
36
38
|
petal_qc/thermal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
39
|
petal_qc/thermal/analyze_IRCore.py,sha256=lJsADO4ZisESpJLA97MR9oIbdMKzwlZj9vD6WWj64pg,19577
|
|
38
40
|
petal_qc/thermal/contours.py,sha256=ampCKm4byZYKb_4eJFjIkdFIl2bqVXD2mV13d2XUWlw,8244
|
|
39
|
-
petal_qc/thermal/coreThermal.py,sha256=
|
|
40
|
-
petal_qc/thermal/create_IRCore.py,sha256=
|
|
41
|
+
petal_qc/thermal/coreThermal.py,sha256=e7LLuRU5hhPWMTowNlID7A2JmB7hszclX4POlfCND9s,12794
|
|
42
|
+
petal_qc/thermal/create_IRCore.py,sha256=mnAmDTF_t3AMOA7Wv19yXT1IX4oFCgfHwHpdnamZvmI,7311
|
|
41
43
|
petal_qc/thermal/create_core_report.py,sha256=zCZtTR6ouHRVZQAen_PutCvvDwHE5aSwq95sIv-8htM,4325
|
|
42
44
|
petal_qc/thermal/pipe_back.npz,sha256=yooZuVYtHU541HcV6Gh_5B0BqdYAVEvYAuVvMMSY7Jc,3632
|
|
43
45
|
petal_qc/thermal/pipe_front.npz,sha256=DuwruG9C2Z1rLigqWMApY4Orsf1SGUQGKy0Yan8Bk8A,3697
|
|
44
46
|
petal_qc/thermal/pipe_read.py,sha256=HrAtEbf8pMhJDETzkevodiTbuprIOh4yHv6PzpRoz7Q,5040
|
|
45
47
|
petal_qc/thermal/show_IR_petal.py,sha256=vKb8wm9Y7erAdCb93ODREv2qfSexNMfJpV-67wfOhBw,13159
|
|
46
|
-
petal_qc/thermal/test_Graphana.py,sha256=fXcqHzgrfZGjSF-WoMLl96G97XjXVnynHYC-5rKw_-c,1032
|
|
47
|
-
petal_qc/thermal/test_coreThermal.py,sha256=YRPK3DGG7Tz66K4Kka3euXgUDzW_JlIqSYicMBhb96E,1516
|
|
48
48
|
petal_qc/utils/Geometry.py,sha256=XwA_aojk880N-jC1_bnMYFK0bcD-L96JPS81NUerJf0,19765
|
|
49
49
|
petal_qc/utils/Progress.py,sha256=gCti4n2xfCcOTlAff5GchabGE5BCwavvDZYYKdbEsXU,4064
|
|
50
50
|
petal_qc/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -53,8 +53,8 @@ petal_qc/utils/docx_utils.py,sha256=Eye16PF8W0mPBVdQvgFKWxPYV7-hzBgANPDZtUEjzf8,
|
|
|
53
53
|
petal_qc/utils/fit_utils.py,sha256=3KUGWpBMV-bVDkQHWBigXot8chOpjAVBJ5H5b5dbdjk,5349
|
|
54
54
|
petal_qc/utils/readGraphana.py,sha256=Ljr3PSkkTw-A8SRfMa77n7RO7ogLewwDy9dkflzKh2M,1869
|
|
55
55
|
petal_qc/utils/utils.py,sha256=CqCsNIcEg6FQb3DN70tmqeLVLlQqsRfDzhfGevlnfBc,4035
|
|
56
|
-
petal_qc-0.0.
|
|
57
|
-
petal_qc-0.0.
|
|
58
|
-
petal_qc-0.0.
|
|
59
|
-
petal_qc-0.0.
|
|
60
|
-
petal_qc-0.0.
|
|
56
|
+
petal_qc-0.0.4.dist-info/METADATA,sha256=j4X7tTTdxbyK1rzZIo9GMcHCjFSm08Ec8wH3rnvVe7I,943
|
|
57
|
+
petal_qc-0.0.4.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
|
|
58
|
+
petal_qc-0.0.4.dist-info/entry_points.txt,sha256=tkGC458t1_yVr9OHFE1KtJmGQ2wqsbK8WkPWxru4jFk,127
|
|
59
|
+
petal_qc-0.0.4.dist-info/top_level.txt,sha256=CCo1Xe6kLS79PruhsB6bk2CuL9VFtNdNpgJjYUs4jk4,9
|
|
60
|
+
petal_qc-0.0.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|