From 8df4c9c2153e137152c67ac76dc63a9c67b6613e Mon Sep 17 00:00:00 2001 From: x03daop Date: Tue, 14 Jun 2016 14:24:03 +0200 Subject: [PATCH] Closedown --- config/plugins.properties | 2 +- plugins/XPSSpectrum.form | 10 +++++++++- plugins/XPSSpectrum.java | 15 ++++++++++++--- script/XPSSpectrum.py | 38 +++++++++++++++++++++++++++++++++----- 4 files changed, 55 insertions(+), 10 deletions(-) diff --git a/config/plugins.properties b/config/plugins.properties index db9c78b1..0c7436ff 100644 --- a/config/plugins.properties +++ b/config/plugins.properties @@ -1,4 +1,4 @@ -DataFile.java=enabled +DataFile.java=disabled XPSSpectrum.java=enabled HoloScan.java=enabled PhotonEnergy.java=enabled diff --git a/plugins/XPSSpectrum.form b/plugins/XPSSpectrum.form index b3ffb4ab..baf1fc62 100644 --- a/plugins/XPSSpectrum.form +++ b/plugins/XPSSpectrum.form @@ -86,6 +86,7 @@ + @@ -126,6 +127,8 @@ + + @@ -245,6 +248,11 @@ + + + + + @@ -295,7 +303,7 @@ - + diff --git a/plugins/XPSSpectrum.java b/plugins/XPSSpectrum.java index df5b2e77..c576fa5a 100644 --- a/plugins/XPSSpectrum.java +++ b/plugins/XPSSpectrum.java @@ -128,6 +128,7 @@ public class XPSSpectrum extends Panel { valueIterations.setEnabled(value); comboPass.setEnabled(value); checkEndScan.setEnabled(value); + checkSaveImage.setEnabled(value); updateButtons(); } @@ -191,7 +192,8 @@ public class XPSSpectrum extends Panel { void start() throws Controller.ControllerStateException{ HashMap args = new HashMap<>(); args.put("ranges", scanRanges); - args.put("pass_energy", Integer.valueOf(comboPass.getSelectedItem().toString())); + args.put("pass_energy", Integer.valueOf(comboPass.getSelectedItem().toString())); + args.put("save_scienta_image", checkSaveImage.isSelected()); args.put("ENDSCAN", checkEndScan.isSelected()); currentScanIndex = -1; @@ -220,6 +222,7 @@ public class XPSSpectrum extends Panel { jLabel17 = new javax.swing.JLabel(); buttonScientaSetup = new javax.swing.JButton(); checkEndScan = new javax.swing.JCheckBox(); + checkSaveImage = new javax.swing.JCheckBox(); jPanel2 = new javax.swing.JPanel(); btLoad = new javax.swing.JButton(); btSave = new javax.swing.JButton(); @@ -300,6 +303,8 @@ public class XPSSpectrum extends Panel { checkEndScan.setText("Turn off beam at end"); + checkSaveImage.setText("Save Scienta image"); + javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( @@ -332,7 +337,8 @@ public class XPSSpectrum extends Panel { .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(valueIterations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(buttonScientaSetup, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(checkEndScan)) + .addComponent(checkEndScan) + .addComponent(checkSaveImage)) .addContainerGap()) ); @@ -369,6 +375,8 @@ public class XPSSpectrum extends Panel { .addComponent(comboPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, Short.MAX_VALUE) .addComponent(checkEndScan) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(checkSaveImage) .addGap(18, 18, 18) .addComponent(buttonScientaSetup) .addGap(26, 26, 26)) @@ -457,7 +465,7 @@ public class XPSSpectrum extends Panel { .addComponent(buttonAbort) .addComponent(buttonSkip)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(rangeSelectionPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE) + .addComponent(rangeSelectionPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(btLoad, javax.swing.GroupLayout.Alignment.TRAILING) @@ -609,6 +617,7 @@ public class XPSSpectrum extends Panel { private javax.swing.JButton buttonScientaSetup; private javax.swing.JButton buttonSkip; private javax.swing.JCheckBox checkEndScan; + private javax.swing.JCheckBox checkSaveImage; private javax.swing.JComboBox comboPass; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel11; diff --git a/script/XPSSpectrum.py b/script/XPSSpectrum.py index b10c718b..4a6bfe0a 100644 --- a/script/XPSSpectrum.py +++ b/script/XPSSpectrum.py @@ -1,6 +1,7 @@ #Parameters (global variables): # ranges: list of RangeSelection havinf args = (step_size, step_time, iterations) # pass_energy +# save_scienta_image # # skip_iteration: if set to 1 then skips after end of current iteration from ch.psi.pshell.data.LayoutDefault import ATTR_WRITABLE_DIMENSION as ATTR_WRITABLE_DIMENSION @@ -52,14 +53,16 @@ try: #iterations done in script xdata = None ydata = None + image_data = None task = fork(plot_cur_spectrum) - + + path="scan" + str(cur_range+1) + "/" for cur_iteration in range(vars[2]): plots[cur_range+1].setTitle(str(ranges[cur_range]) + " - iteration " + str(cur_iteration+1)) while True: wait_beam() trig_scienta() - spectrum_array = Scienta.spectrum.read() + spectrum_array = Scienta.spectrum.read() if beam_ok: break if ydata is None: @@ -70,16 +73,41 @@ try: if xdata is None: xdata = Scienta.spectrumX plots[cur_range+1].getSeries(0).setData(xdata, ydata) + if save_scienta_image: + image_array = Scienta.dataMatrix.read() + if image_data is None: + image_data = image_array + else: + for k in range (len(image_data)): + for j in range (len(image_data[0])): + image_data[k][j] = image_data[k][j] + image_array[k][j] if skip_iteration: break + save_dataset(path + "ScientaSpectrum", ydata) + set_attribute(path, "Iterations",cur_iteration+1) + if save_scienta_image: + save_dataset(path + "ScientaImage", image_data) + if cur_iteration==0: + save_dataset(path + "ScientaChannels", xdata) + set_attribute(path + "ScientaChannels", ATTR_WRITABLE_DIMENSION, 1) + set_attribute(path, "Range Low", ranges[cur_range].min) + set_attribute(path, "Range High", ranges[cur_range].max) + set_attribute(path, "Step Time",vars[0]) + set_attribute(path, "Step Size",vars[1]) + set_attribute(path, "Pass Energy",pass_energy) + set_attribute(path, "Readables", ["ScientaSpectrum","ScientaImage"] if save_scienta_image else ["ScientaSpectrum",]) + set_attribute(path, "Writables", ["ScientaChannels",]) + create_diag_datasets(path) + append_diag_datasets(path) plots[cur_range+1].setTitle(str(ranges[cur_range])) ret.append((xdata, ydata)) - data1d = [1,2,3,4,5] - path="scan" + str(cur_range+1) + "/" + """ save_dataset(path + "ScientaSpectrum", ydata) save_dataset(path + "ScientaChannels", xdata) + if save_scienta_image: + save_dataset(path + "ScientaImage", image_data) set_attribute(path + "ScientaChannels", ATTR_WRITABLE_DIMENSION, 1) set_attribute(path, "Range Low", ranges[cur_range].min) set_attribute(path, "Range High", ranges[cur_range].max) @@ -89,9 +117,9 @@ try: set_attribute(path, "Iterations",cur_iteration+1) set_attribute(path, "Readables", ["ScientaSpectrum",]) set_attribute(path, "Writables", ["ScientaChannels",]) - create_diag_datasets(path) append_diag_datasets(path) + """ finally: