petal-qc 0.0.10__py3-none-any.whl → 0.0.11__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.

@@ -2,6 +2,7 @@
2
2
  """GUI for thermal QC of petal cores."""
3
3
  import sys
4
4
  import os
5
+ import copy
5
6
  from pathlib import Path
6
7
  from argparse import ArgumentParser
7
8
  import json
@@ -25,15 +26,16 @@ except ImportError:
25
26
  from petal_qc.thermal.IRPetalParam import IRPetalParam
26
27
  from petal_qc.thermal import IRBFile
27
28
  from petal_qc.thermal.IRDataGetter import IRDataGetter
29
+ from petal_qc.thermal.DESYdata import DesyData
28
30
 
29
31
  from petal_qc.thermal.analyze_IRCore import golden_from_json
32
+ from petal_qc.thermal.create_core_report import create_report
30
33
  from petal_qc.utils.readGraphana import ReadGraphana
31
34
 
32
35
  import gi
33
36
  gi.require_version("Gtk", "3.0")
34
- from gi.repository import Gtk, GObject, Gio, GLib
37
+ from gi.repository import Gtk, Gio
35
38
 
36
- from petal_qc.thermal.create_core_report import create_report
37
39
 
38
40
  class CoreThermal(itkdb_gtk.dbGtkUtils.ITkDBWindow):
39
41
  """Application window."""
@@ -53,12 +55,27 @@ class CoreThermal(itkdb_gtk.dbGtkUtils.ITkDBWindow):
53
55
  self.param = params if params else IRPetalParam()
54
56
  self.param.add_attachments = True
55
57
  self.param.create_golden = False
56
- self.irbfile = None
58
+ self.irbfile = self.param.files if len(self.param.files)>0 else None
57
59
  self.folder = None
58
60
  self.golden = None
59
61
  self.results = None
60
62
  self.alternativeID = None
61
63
  self.outDB = None
64
+ self.desy_opts = None
65
+ self.ific_opts = None
66
+ if self.param.institute is None:
67
+ is_desy = False
68
+ for site in self.pdb_user["institutions"]:
69
+ if "DESY" in site["code"]:
70
+ is_desy = True
71
+ break
72
+
73
+ self.param.institute = "DESY" if is_desy else "IFIC"
74
+
75
+ if self.param.institute == "IFIC":
76
+ self.ific_opts = copy.deepcopy(self.param)
77
+ else:
78
+ self.desy_opts = copy.deepcopy(self.param)
62
79
 
63
80
  # Active button in header
64
81
  button = Gtk.Button()
@@ -79,20 +96,36 @@ class CoreThermal(itkdb_gtk.dbGtkUtils.ITkDBWindow):
79
96
  self.hb.pack_end(button)
80
97
 
81
98
  # The file chooser
99
+ self.dataBox = Gtk.Box()
82
100
  self.btnData = Gtk.FileChooserButton()
83
101
  self.btnData.connect("file-set", self.on_file_set)
84
102
 
103
+ self.desyData = Gtk.Button(label="Chose Files")
104
+ self.desyData.connect("clicked", self.on_desy_data)
105
+
106
+ if self.param.institute == "IFIC":
107
+ self.dataBox.pack_start(self.btnData, False, False, 0)
108
+ else:
109
+ self.dataBox.pack_start(self.desyData, False, False, 0)
110
+
85
111
 
86
112
  # The file chooser
87
113
  self.goldenData = Gtk.FileChooserButton()
88
114
  self.goldenData.connect("file-set", self.on_golden_set)
115
+ if self.param.golden and len(self.param.golden)>0:
116
+ self.goldenData.set_file(Gio.File.new_for_path(self.param.golden))
117
+ self.on_golden_set(self.goldenData)
118
+
89
119
 
90
120
  # The Serial number
91
121
  self.SN = itkdb_gtk.dbGtkUtils.TextEntry()
92
- self.SN.connect("text-changed", self.on_SN_changed)
122
+ if len(self.param.SN)>0:
123
+ self.SN.set_text(self.param.SN)
124
+ elif self.param.alias and len(self.param.alias)>0:
125
+ self.SN.set_text(self.param.alias)
126
+ self.on_SN_changed(self.SN.entry, self.param.alias)
93
127
 
94
- self.run = Gtk.Button(label="Run")
95
- self.run.connect("clicked", self.create_report)
128
+ self.SN.connect("text-changed", self.on_SN_changed)
96
129
 
97
130
  self.btn_state = Gtk.Button(label="Undef")
98
131
  self.btn_state.set_name("btnState")
@@ -110,7 +143,7 @@ class CoreThermal(itkdb_gtk.dbGtkUtils.ITkDBWindow):
110
143
 
111
144
  irow += 1
112
145
  grid.attach(Gtk.Label(label="IRB File"), 0, irow, 1, 1)
113
- grid.attach(self.btnData, 1, irow, 1, 1)
146
+ grid.attach(self.dataBox, 1, irow, 1, 1)
114
147
 
115
148
  self.entryTemp = Gtk.Entry()
116
149
  self.entryTemp.set_text("{:.1f}".format(self.param.tco2))
@@ -153,11 +186,35 @@ class CoreThermal(itkdb_gtk.dbGtkUtils.ITkDBWindow):
153
186
  grid.attach(lbl, 2, irow, 1, 1)
154
187
  grid.attach(self.entryDist, 3, irow, 1, 1)
155
188
 
189
+ irow += 1
190
+ self.desy = Gtk.Switch()
191
+ self.desy.props.halign = Gtk.Align.START
192
+ self.desy.connect("state_set", self.change_institute)
193
+ if params.desy or self.param.institute == "DESY":
194
+ self.desy.set_active(True)
195
+ grid.attach(Gtk.Label(label="DESY"), 0, irow, 1, 1)
196
+ grid.attach(self.desy, 1, irow, 1, 1)
197
+
198
+ irow += 1
199
+ self.run = Gtk.Button(label="Run")
200
+ self.run.connect("clicked", self.create_report)
156
201
 
157
- grid.attach(self.run, 0, 4, 5, 1)
202
+ grid.attach(self.run, 0, irow, 5, 1)
158
203
 
159
204
  self.mainBox.pack_start(self.message_panel.frame, True, True, 0)
160
205
 
206
+ def on_desy_data(self, *args):
207
+ """DESY data button clicked."""
208
+ dlg = DesyData(self.irbfile)
209
+ dlg.show_all()
210
+ if dlg.run() == Gtk.ResponseType.OK:
211
+ self.irbfile = [dlg.front, dlg.back]
212
+ self.param.files = self.irbfile
213
+ self.on_open_file()
214
+
215
+ dlg.hide()
216
+ dlg.destroy()
217
+
161
218
 
162
219
  def on_file_set(self, *args):
163
220
  """File chosen from FileChooser."""
@@ -166,26 +223,59 @@ class CoreThermal(itkdb_gtk.dbGtkUtils.ITkDBWindow):
166
223
  itkdb_gtk.dbGtkUtils.complain("Could not find Data File", PSF, parent=self)
167
224
  return
168
225
 
169
- self.irbfile = PSF
170
- self.param.files =[PSF,]
171
-
226
+ self.irbfile = [PSF, ]
227
+ self.param.files = self.irbfile
228
+ self.on_open_file()
229
+
230
+ def on_open_file(self):
231
+ """Open the files given in the GUI."""
172
232
  #DB = ReadGraphana("localhost")
173
- server = os.getenv("GRAFANA_SERVER")
174
- if server is None:
175
- DB = ReadGraphana()
176
- else:
177
- DB = ReadGraphana(server)
178
-
179
233
  irbf = IRBFile.open_file(self.irbfile)
180
234
  getter = IRDataGetter.factory(self.param.institute, self.param)
181
235
  frames = getter.get_analysis_frame(irbf)
182
- try:
183
- X, val = DB.get_temperature(frames[0].timestamp, 3)
184
- inlet = np.min(val)
185
- self.entryTemp.set_text("{:.1f}".format(inlet))
236
+
237
+ if self.param.institute == "IFIC":
238
+ server = os.getenv("GRAFANA_SERVER")
239
+ if server is None:
240
+ DB = ReadGraphana()
241
+ else:
242
+ DB = ReadGraphana(server)
243
+
244
+ try:
245
+ X, val = DB.get_temperature(frames[0].timestamp, 3)
246
+ inlet = np.min(val)
247
+ self.entryTemp.set_text("{:.1f}".format(inlet))
248
+
249
+ except Exception as E:
250
+ print(E)
251
+ self.entryTemp.set_text("-30")
252
+
253
+
254
+ def change_institute(self, *args):
255
+ """Switch clicked."""
256
+ if self.desy.get_active():
257
+ self.param.institute = "DESY"
258
+ upper = self.btnData.get_parent()
259
+ if upper:
260
+ self.dataBox.remove(self.btnData)
261
+ self.dataBox.add(self.desyData)
186
262
 
187
- except ValueError:
188
- pass
263
+ self.param.distance = 16
264
+ self.param.width = 16
265
+
266
+ else:
267
+ self.param.institute = "IFIC"
268
+ upper = self.desyData.get_parent()
269
+ if upper:
270
+ self.dataBox.remove(self.desyData)
271
+ self.dataBox.add(self.btnData)
272
+
273
+ self.param.distance = 5
274
+ self.param.width = 2
275
+
276
+
277
+ self.entryDist.set_text("{}".format(self.param.distance))
278
+ self.dataBox.show_all()
189
279
 
190
280
  def on_golden_set(self, *args):
191
281
  """File chosen from FileChooser."""
@@ -312,12 +402,14 @@ class CoreThermal(itkdb_gtk.dbGtkUtils.ITkDBWindow):
312
402
  self.param.out = "{}.json".format(self.alternativeID)
313
403
  self.param.alias = self.alternativeID
314
404
  self.param.SN = self.SN.get_text()
405
+ self.param.desy = self.desy.get_active()
315
406
 
316
407
  self.param.tco2 = float(self.entryTemp.get_text())
317
408
  self.param.distance = int(self.entryDist.get_text())
318
409
  self.param.thrs = float(self.entryTHrs.get_text())
319
410
  self.param.debug = False
320
411
  self.param.report = True
412
+ self.param.files = self.irbfile
321
413
 
322
414
  self.outDB = create_report(self.param)
323
415
  if self.outDB:
@@ -335,13 +427,17 @@ def main():
335
427
  """Entry point."""
336
428
  # Argument parser
337
429
  parser = ArgumentParser()
338
- #parser.add_argument('files', nargs='*', help="Input files")
430
+ parser.add_argument('files', nargs='*', help="Input files")
339
431
  parser.add_argument("--nframe", type=int, default=-1, help="Number of frames. (negative means all.")
340
432
  parser.add_argument('--frame', type=int, default=-1, help="First frame to start.")
341
433
  parser.add_argument("--out", default="core.json", help="Output file name")
434
+ parser.add_argument("--desy", dest='desy', action="store_true", default=False)
435
+
342
436
  parser.add_argument("--alias", default="", help="Alias")
343
437
  parser.add_argument("--SN", default="", help="serial number")
344
438
  parser.add_argument("--folder", default=None, help="Folder to store output files. Superseeds folder in --out")
439
+ parser.add_argument("--golden", default=None, help="The golden to compare width")
440
+
345
441
 
346
442
  IRPetalParam.add_parameters(parser)
347
443
 
@@ -360,13 +456,7 @@ def main():
360
456
 
361
457
  except Exception:
362
458
  # Login with "standard" if the above fails.
363
- import itkdb
364
- import getpass
365
- client = itkdb.Client()
366
- client.user._access_code1 = getpass.getpass("Access 1: ")
367
- client.user._access_code2 = getpass.getpass("Access 2: ")
368
- client.user.authenticate()
369
- print("Hello {} !".format(client.user.name))
459
+ client = itkdb_gtk.ITkDButils.create_client()
370
460
 
371
461
  CT = CoreThermal(options, session=client, title="Petal Thermal analysis.")
372
462
  CT.show_all()
@@ -65,11 +65,13 @@ def get_IRcore_plots():
65
65
  return __figures__
66
66
 
67
67
  def clean_figures():
68
+ """Clean existingfigures."""
68
69
  global __figures__
69
- for key, fig in __figures__:
70
- fig.clean()
70
+ for key, fig in __figures__.items():
71
+ fig.clear()
71
72
  plt.close(fig)
72
73
 
74
+ plt.close("all")
73
75
  __figures__ = {}
74
76
 
75
77
  def get_inlet_temp(irbf, param):
@@ -192,7 +194,7 @@ def create_IR_core(options):
192
194
  # the U-shape pipe minimum.
193
195
  pipes[i] = IRPetal.reorder_pipe_points(pipes[i], pipe_type, R)
194
196
  if ordered_pipes[pipe_type] is not None:
195
- print("### Expect probles. 2 pipes of sme type")
197
+ print("### Expect problems. 2 pipes of same type")
196
198
 
197
199
  ordered_pipes[pipe_type] = pipes[i]
198
200
 
@@ -246,7 +248,8 @@ def create_IR_core(options):
246
248
  return core
247
249
 
248
250
 
249
- if __name__ == "__main__":
251
+ def main():
252
+ """Main entry."""
250
253
  from argparse import ArgumentParser
251
254
 
252
255
  # Argument parser
@@ -267,3 +270,6 @@ if __name__ == "__main__":
267
270
  sys.exit()
268
271
 
269
272
  create_IR_core(options)
273
+
274
+ if __name__ == "__main__":
275
+ main()
@@ -36,9 +36,15 @@ def create_report(options):
36
36
  print("input file {} does not exist.".format(ifile))
37
37
  return
38
38
 
39
+
40
+ print("\n## {} - {}".format(options.SN, options.alias))
41
+
39
42
  goldenFile = Path(options.golden).expanduser().resolve()
40
43
  if not goldenFile.exists():
41
- print("I need a golden file.")
44
+ goldenFile = utils.output_folder(options.folder, options.golden)
45
+ goldenFile = Path(goldenFile).expanduser().resolve()
46
+ if not goldenFile.exists():
47
+ print("I need a golden file.")
42
48
 
43
49
  with open(goldenFile, "r", encoding='utf-8') as fp:
44
50
  golden = golden_from_json(json.load(fp))
@@ -50,6 +56,9 @@ def create_report(options):
50
56
  document.styles['Normal'].font.name = "Calibri"
51
57
  document.add_heading(options.SN, 0)
52
58
 
59
+ P = document.add_paragraph(options.alias, "Subtitle")
60
+ P.alignment = docx_utils.paragraph_align_center()
61
+
53
62
  P = document.add_paragraph(ifile.name, "Subtitle")
54
63
  P.alignment = docx_utils.paragraph_align_center()
55
64
 
@@ -74,8 +83,9 @@ def create_report(options):
74
83
  options.add_attachments = True
75
84
  options.create_golden = False
76
85
 
77
- options.files[0] = utils.output_folder(options.folder, options.out)
86
+ options.files = [utils.output_folder(options.folder, options.out)]
78
87
  options.out = None
88
+ options.no_golden_doc = True
79
89
  out = analyze_IRCore(options, show=False)
80
90
  outDB = out[0] if len(out) else None
81
91
  options.files = []
@@ -124,7 +134,8 @@ def create_report(options):
124
134
 
125
135
  return outDB
126
136
 
127
- if __name__ == "__main__":
137
+ def main():
138
+ """Main entry."""
128
139
  P = IRPetalParam()
129
140
  parser = ArgumentParser()
130
141
  parser.add_argument('files', nargs='*', help="Input files")
@@ -150,4 +161,7 @@ if __name__ == "__main__":
150
161
 
151
162
  options.debug = False
152
163
  options.report = True
153
- create_report(options)
164
+ create_report(options)
165
+
166
+ if __name__ == "__main__":
167
+ main()
@@ -19,7 +19,8 @@ class ReadGraphana(object):
19
19
  """
20
20
  self.client = influxdb.InfluxDBClient(host=host, port=port,
21
21
  username="matlab", password="matlab",
22
- database="clean_room")
22
+ database="clean_room",
23
+ timeout=2)
23
24
 
24
25
  def get_temperature(self, the_time, window=10):
25
26
  """REturns the temperature
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: petal_qc
3
- Version: 0.0.10
3
+ Version: 0.0.11
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
@@ -10,7 +10,7 @@ Classifier: Operating System :: OS Independent
10
10
  Requires-Python: >=3.7
11
11
  Description-Content-Type: text/markdown
12
12
  Requires-Dist: itkdb
13
- Requires-Dist: itkdb-gtk
13
+ Requires-Dist: itkdb-gtk >=0.10.10
14
14
  Requires-Dist: numpy
15
15
  Requires-Dist: matplotlib
16
16
  Requires-Dist: lmfit
@@ -1,11 +1,11 @@
1
- petal_qc/__init__.py,sha256=EwHq4w3cI2Kl91MU7Pqp07jkJwnauAd6fXb0caYM11A,939
1
+ petal_qc/__init__.py,sha256=toTs5ifp9kAtN2X0JHsd6eRdbF1JwwXMRGpN_chgCI4,1202
2
2
  petal_qc/dashBoard.py,sha256=D2f1rB_saQYiv9mqJT9Sit44jsXviYBvc-b04CjWCa8,3389
3
- petal_qc/BTreport/CheckBTtests.py,sha256=W8KktZUya5qIkcOc4fNHgrtVnQfI_hPxZvbLCINDnqw,8378
3
+ petal_qc/BTreport/CheckBTtests.py,sha256=CxR8lcawwhdzkBs8jZCXI6TSGPOsOEigpAND0D1O0cs,8178
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=vgtfg0yJDdSyMKN0vlfz1uGfx6WXOj7b2x6zZu35dQc,13099
8
+ petal_qc/metrology/PetalMetrology.py,sha256=ckegNsijvGq0HhM0ssBr789FHp1dVcGQnc0ASZ4jMLk,12755
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=isIWUsZrBpXgQbmXN4Gl5Zbv5R91UC8jQAU113_gRD8,20531
@@ -14,39 +14,43 @@ petal_qc/metrology/compare_Cores.py,sha256=ysfDs0QIqIH0BBgy5RUXZNSzCgjqLfjN2XH7M
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=0vAEYn7ec4qTnLfjphj1QA6tK3vZsXyF6nYYj3jE5Yc,6174
17
- petal_qc/metrology/coreMetrology.py,sha256=XowWTej50USTY48WeizQ2SYHCLDh7KNZOpHSd9MNFN4,13688
17
+ petal_qc/metrology/coreMetrology.py,sha256=mkqrD03vVziV1go8qtIlXi3A0j7cWaWL9ANNE0JawdU,13839
18
18
  petal_qc/metrology/data2csv.py,sha256=2ttMSmfGLPIaOqZGima2dH6sdnSRAFTHlEbSOfW5ebA,1809
19
- petal_qc/metrology/do_Metrology.py,sha256=rp_CfBXBSL30mr6nZdN5UwLqljFcsFzmMLEm0YJLmkg,4293
19
+ petal_qc/metrology/do_Metrology.py,sha256=eS8SeEn7oRiEceO3ybhSr2dv_Ki1NoKj9QAySSHmEB8,3949
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=4fajnx0mhABDn89VFZvzICD6055A2l6BSgaXgb2rTHI,11395
23
- petal_qc/metrology/readAVSdata.py,sha256=B8oBPKY-B0Fi-wWY5sdxARxksFzz_rfOpPBV35Qaee8,23692
22
+ petal_qc/metrology/petal_flatness.py,sha256=JpgWlaxeLFsCZHquSUD3axCNvwtB5LOZ1wQHPUVUwc0,11052
23
+ petal_qc/metrology/readAVSdata.py,sha256=m5RAY3g3l6bKpaSD_HtpPEipbiHqjGQD-dDOmC9wlE8,25503
24
24
  petal_qc/metrology/show_data_file.py,sha256=yZPcmMy-1EWWySiBBx0hNB3tPVh19bTr0PDaXSyIF4c,4057
25
25
  petal_qc/metrology/testSummary.py,sha256=0BhcEd1BPz2Mbonzi8nyZOzNSzpUqowBFNl5cVutqsk,994
26
26
  petal_qc/metrology/test_paralelism.py,sha256=_j__OdUwdXWM494_9HpGPuPHixMwwVphCcvHEfzWi_k,1981
27
- petal_qc/metrology/uploadPetalInformation.py,sha256=pQdi9x3wC1irMn8xMaMssNVZGzimsyvdsQ_2KeJx3_Y,26117
27
+ petal_qc/metrology/uploadPetalInformation.py,sha256=7JXTNRaThXlWLKwPAC6v9N2jFK1nmG5AkGJqEryMyRE,26769
28
+ petal_qc/test/checkAVStests.py,sha256=TQ6EscfqL65sNC6QX5FElakYShnuMvqvKYhroXjZD0Q,4815
29
+ petal_qc/test/compare_golden.py,sha256=lG1rtYLw_PwKWrLk0VVdbnRhi7Ytu78q7PGWcYptM_8,1171
28
30
  petal_qc/test/getAVSjson.py,sha256=o8AYtyr7Vnp-enznmQ-NNiivZipmxtoVrmsfnRCl0X4,977
29
- petal_qc/test/getAVStests.py,sha256=LU4-iedng0i0PPogPwTpUmDlKY0aBxQizC7by4d-W98,4520
30
- petal_qc/test/getPetalCoreTestSummary.py,sha256=iutD_tylwA46VtCd1b3L6Cd4Fv1pIELKjIMgKufRofk,2590
31
+ petal_qc/test/getAVStests.py,sha256=NbbuniNj2MjwaUoLHdHPFyEuKZbTulAaOsf3r2ZVeSE,7665
32
+ petal_qc/test/getPetalCoreTestSummary.py,sha256=5MGr0G0Lvk6ruiUxK5EmJOWv9iz-mIhxRn3WfQzjhoM,2597
33
+ petal_qc/test/listPetalCoreComponents.py,sha256=7U9wokRkgeZdYZKeZdAadA32BlhVK6okInuh94hmj24,2502
31
34
  petal_qc/test/prepareDESYfiles.py,sha256=mJyu1UXSe_VnCv0vHogjhSxl5PCvjmiySNPsDCWoCt0,3582
32
35
  petal_qc/test/test_Graphana.py,sha256=fXcqHzgrfZGjSF-WoMLl96G97XjXVnynHYC-5rKw_-c,1032
33
36
  petal_qc/test/test_coreThermal.py,sha256=YRPK3DGG7Tz66K4Kka3euXgUDzW_JlIqSYicMBhb96E,1516
34
37
  petal_qc/thermal/CSVImage.py,sha256=Vt2kYmUsZWkQvxcF8fDda3HO1Rb29kPQHnEoHFCqWYo,2038
38
+ petal_qc/thermal/DESYdata.py,sha256=YAwxhnmA89uH1vZ_BjDo0VLATTGRngoBSFzYfLSJbZU,1904
35
39
  petal_qc/thermal/DebugPlot.py,sha256=OmREFwNDAKgoObDmcgHrB4d8m3bf2znfsKVGsb5rBGQ,2119
36
- petal_qc/thermal/IRBFile.py,sha256=yScjQrAeB9dnNNO-6_8S34vzrtme0F6y3kwYahMKDxc,22271
40
+ petal_qc/thermal/IRBFile.py,sha256=_no8iUyuSQ41j34o3LVzUCjMYoviwjz02tsWvFsTUzA,23462
37
41
  petal_qc/thermal/IRCore.py,sha256=sidf7HtrzEUcllv0E_o1Hks-2_2dl4Og_LWcwgPNRcE,3062
38
- petal_qc/thermal/IRDataGetter.py,sha256=kRcMbQfNf63VRTVu-ueoRNJma8RzR5pK4MmrXNKemy0,10913
39
- petal_qc/thermal/IRPetal.py,sha256=7PX0MlrsTEYlhvdlRMTrmoc7OvSq6bayUveB6bfu9SU,40749
40
- petal_qc/thermal/IRPetalParam.py,sha256=hrQ9FevzWctvBVHeQ71G0WzllVEa5rYkJom2ezfFYHc,3674
42
+ petal_qc/thermal/IRDataGetter.py,sha256=S-Xaizrop_xQ2pgkvuw_HdKbrsDD84KThwgTfjRg0bQ,11579
43
+ petal_qc/thermal/IRPetal.py,sha256=hVOD0VAKTA2xvNXbZ-TXAYHNlihNWsUkI2i9IEwQhZk,40887
44
+ petal_qc/thermal/IRPetalParam.py,sha256=E4uZvk7Ne5TqoY8UHIbMmgB87vIxmYhTgISvs9ZgCt8,3674
41
45
  petal_qc/thermal/PetalColorMaps.py,sha256=6CvJHzRdojLHu3BROYSekHw8g_BJ1lJ_edyhovTIydU,3831
42
46
  petal_qc/thermal/Petal_IR_Analysis.py,sha256=ALIER9fLn2R26IMhPVzEDL6tlK7XNbCtRtH0y6kTaEU,3950
43
- petal_qc/thermal/PipeFit.py,sha256=vczVMN6EI02rkLzfZdU7mwIaQXoKhF2m5svPnTn7Tl8,17258
47
+ petal_qc/thermal/PipeFit.py,sha256=MNQYk9NivBsDze6CVwE1cFdJjrqqbn8FK19436nFMVY,17575
44
48
  petal_qc/thermal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- petal_qc/thermal/analyze_IRCore.py,sha256=fn1Y0_Iv149m4avRtXK4wSyCiYa1naTRmnT9sFoC4QA,20234
49
+ petal_qc/thermal/analyze_IRCore.py,sha256=HahnXkBRdeLlPt1BKSrj3UP6aDSHqDNbao_wxU-DlTg,20485
46
50
  petal_qc/thermal/contours.py,sha256=ampCKm4byZYKb_4eJFjIkdFIl2bqVXD2mV13d2XUWlw,8244
47
- petal_qc/thermal/coreThermal.py,sha256=VMsK9ErHTBhDNPKY4f2QVT_6eD7xXZ_qLqOLX-0E8sQ,13024
48
- petal_qc/thermal/create_IRCore.py,sha256=T2YpBfbsVUvGuyFqZwcPMmYD2VJo5bE5yL72nskqcb0,8109
49
- petal_qc/thermal/create_core_report.py,sha256=iVjRb-EJ6og-l0_KcAciELX39WWe5JHyt3swyW8xmbc,5484
51
+ petal_qc/thermal/coreThermal.py,sha256=ZTnqDWm7OJWV85OUiSuOUsYDMZK542k1-iBbMDP8O7o,16198
52
+ petal_qc/thermal/create_IRCore.py,sha256=b1ja1VBELqadyWnugYlMp7eNfaLC_zhL8Q6slwOK0Y8,8219
53
+ petal_qc/thermal/create_core_report.py,sha256=NABi_YmGJ5FUQU9YDpq2mHNr13GUTOfbzUpQ36JlH78,5912
50
54
  petal_qc/thermal/pipe_back.npz,sha256=yooZuVYtHU541HcV6Gh_5B0BqdYAVEvYAuVvMMSY7Jc,3632
51
55
  petal_qc/thermal/pipe_front.npz,sha256=DuwruG9C2Z1rLigqWMApY4Orsf1SGUQGKy0Yan8Bk8A,3697
52
56
  petal_qc/thermal/pipe_read.py,sha256=HrAtEbf8pMhJDETzkevodiTbuprIOh4yHv6PzpRoz7Q,5040
@@ -57,10 +61,10 @@ petal_qc/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
61
  petal_qc/utils/all_files.py,sha256=4ja_DkbTYPY3gUPBAZq0p7KB9lnXZx-OCnpTHg9tm4I,1044
58
62
  petal_qc/utils/docx_utils.py,sha256=Eye16PF8W0mPBVdQvgFKWxPYV7-hzBgANPDZtUEjzf8,5805
59
63
  petal_qc/utils/fit_utils.py,sha256=3KUGWpBMV-bVDkQHWBigXot8chOpjAVBJ5H5b5dbdjk,5349
60
- petal_qc/utils/readGraphana.py,sha256=7EqcjtIWdtV6nyVmlKDHC74Id4a-E3M7j7XSpCyBlSQ,1874
64
+ petal_qc/utils/readGraphana.py,sha256=YVOztJC3q3P7F0I9Ggeiu6Mv9rZLKgj3clkLCU7k4i4,1918
61
65
  petal_qc/utils/utils.py,sha256=CqCsNIcEg6FQb3DN70tmqeLVLlQqsRfDzhfGevlnfBc,4035
62
- petal_qc-0.0.10.dist-info/METADATA,sha256=Y5z3NUlXytejzKx7jvOazGcoYkQylARDiH7uXmkc8AY,944
63
- petal_qc-0.0.10.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
64
- petal_qc-0.0.10.dist-info/entry_points.txt,sha256=wXWEWQdgG2x1x4MeTdwBUwsYbXaC7o2Ky5QXWDbsyiw,258
65
- petal_qc-0.0.10.dist-info/top_level.txt,sha256=CCo1Xe6kLS79PruhsB6bk2CuL9VFtNdNpgJjYUs4jk4,9
66
- petal_qc-0.0.10.dist-info/RECORD,,
66
+ petal_qc-0.0.11.dist-info/METADATA,sha256=Stv2JHzQshHZZnHv0Vz5lgmaZDAV-nUXPXSwi_HEcz0,954
67
+ petal_qc-0.0.11.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
68
+ petal_qc-0.0.11.dist-info/entry_points.txt,sha256=LeeZ2NX3oJxd_Ovj8Y1LiK381y8tCeoY_-mdt7fswfs,356
69
+ petal_qc-0.0.11.dist-info/top_level.txt,sha256=CCo1Xe6kLS79PruhsB6bk2CuL9VFtNdNpgJjYUs4jk4,9
70
+ petal_qc-0.0.11.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,7 +1,9 @@
1
1
  [gui_scripts]
2
+ analyzeIRCore = petal_qc:analyzeIRCore
2
3
  bustapeReport = petal_qc:bustapeReport
3
4
  coreMetrology = petal_qc:coreMetrology
4
5
  coreThermal = petal_qc:coreThermal
6
+ createCoreThermalReport = petal_qc:createCoreThermalReport
5
7
  doMetrology = petal_qc:doMetrology
6
8
  petalqc_dashBoard = petal_qc:dashBoard
7
9
  uploadPetalInformation = petal_qc:uploadPetalInformation