diff --git a/config/plugins.properties b/config/plugins.properties
index 47eb514..f69c74a 100644
--- a/config/plugins.properties
+++ b/config/plugins.properties
@@ -1,3 +1,3 @@
-test2.java=enabled
+test2.java=disabled
GunSolenoidAlignment.java=enabled
test.java=disabled
diff --git a/plugins/GunSolenoidAlignment.form b/plugins/GunSolenoidAlignment.form
index 37d9730..3015939 100644
--- a/plugins/GunSolenoidAlignment.form
+++ b/plugins/GunSolenoidAlignment.form
@@ -21,14 +21,31 @@
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -37,15 +54,20 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -189,7 +211,7 @@
-
+
@@ -292,5 +314,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/GunSolenoidAlignment.java b/plugins/GunSolenoidAlignment.java
index c9713e0..0a8fb66 100644
--- a/plugins/GunSolenoidAlignment.java
+++ b/plugins/GunSolenoidAlignment.java
@@ -2,10 +2,16 @@
* Copyright (c) 2014 Paul Scherrer Institute. All rights reserved.
*/
+import ch.psi.pshell.plot.LinePlotSeries;
+import ch.psi.pshell.scan.ScanResult;
import ch.psi.pshell.ui.Panel;
import ch.psi.pshell.ui.Plugin;
+import ch.psi.utils.Convert;
import ch.psi.utils.State;
+import java.awt.Color;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.function.Consumer;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -41,6 +47,23 @@ public class GunSolenoidAlignment extends Panel {
protected void doUpdate() {
}
+
+ int index=1;
+ void onEndScan(ScanResult sr){
+
+ ArrayList x = sr.getReadable(0);
+ ArrayList y = sr.getReadable(1);
+
+ LinePlotSeries s = new LinePlotSeries(String.valueOf(index++));
+ centroidPlot.addSeries(s);
+
+
+ System.out.println("END!");
+ s.setData((double[])Convert.toDouble(x), (double[])Convert.toDouble(y));
+ System.out.println("OK!");
+
+ }
+
@SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
@@ -65,6 +88,8 @@ public class GunSolenoidAlignment extends Panel {
radioBackMultiple = new javax.swing.JRadioButton();
jLabel6 = new javax.swing.JLabel();
spinnerNumImages = new javax.swing.JSpinner();
+ centroidPlot = new ch.psi.pshell.plot.LinePlotJFree();
+ buttonClear = new javax.swing.JButton();
buttonRun.setText("Run");
buttonRun.addActionListener(new java.awt.event.ActionListener() {
@@ -85,7 +110,7 @@ public class GunSolenoidAlignment extends Panel {
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel1.setText("I1:");
- spinnerI1.setModel(new javax.swing.SpinnerNumberModel(100.0d, 50.0d, 150.0d, 1.0d));
+ spinnerI1.setModel(new javax.swing.SpinnerNumberModel(95.0d, 50.0d, 150.0d, 1.0d));
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jLabel2.setText("I2:");
@@ -216,6 +241,16 @@ public class GunSolenoidAlignment extends Panel {
.addContainerGap(75, Short.MAX_VALUE))
);
+ centroidPlot.setLegendVisible(true);
+ centroidPlot.setTitle("Centroid");
+
+ buttonClear.setText("Clear");
+ buttonClear.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ buttonClearActionPerformed(evt);
+ }
+ });
+
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
@@ -223,24 +258,40 @@ public class GunSolenoidAlignment extends Panel {
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 167, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(buttonRun, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(buttonAbort, javax.swing.GroupLayout.DEFAULT_SIZE, 92, Short.MAX_VALUE))
- .addGap(100, 100, 100))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(centroidPlot, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
+ .addContainerGap())
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+ .addGap(0, 155, Short.MAX_VALUE)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addComponent(buttonRun, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(buttonAbort, javax.swing.GroupLayout.DEFAULT_SIZE, 92, Short.MAX_VALUE))
+ .addGap(100, 100, 100))
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
+ .addComponent(buttonClear)
+ .addContainerGap())))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addContainerGap()
+ .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(41, 41, 41)
.addComponent(buttonRun)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(buttonAbort))
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
+ .addComponent(buttonAbort)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(centroidPlot, javax.swing.GroupLayout.PREFERRED_SIZE, 289, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(18, 18, 18)
+ .addComponent(buttonClear)
+ .addGap(9, 9, 9)))
.addContainerGap())
);
}// //GEN-END:initComponents
@@ -267,8 +318,12 @@ public class GunSolenoidAlignment extends Panel {
args.put("number_backgrounds", spinnerNumBackgrounds.getValue());
args.put("use_background", checkBackground.isSelected());
args.put("multiple_background", radioBackMultiple.isSelected());
- ((Plugin)this).runAsync("Alignment/Gun_solenoid_alignment",args);
+ ((Plugin)this).runAsync("Alignment/Gun_solenoid_alignment",args).thenAccept((Object t) -> {
+ System.out.println("Finish");
+ onEndScan((ScanResult) t);
+ });
} catch (Exception ex) {
+ System.out.println("Error " + ex.toString());
showException(ex);
}
}//GEN-LAST:event_buttonRunActionPerformed
@@ -279,10 +334,21 @@ public class GunSolenoidAlignment extends Panel {
spinnerNumBackgrounds.setEnabled(checkBackground.isSelected());
}//GEN-LAST:event_checkBackgroundActionPerformed
+ private void buttonClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonClearActionPerformed
+ try {
+ index=1;
+ centroidPlot.clear();
+ } catch (Exception ex) {
+ showException(ex);
+ }
+ }//GEN-LAST:event_buttonClearActionPerformed
+
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton buttonAbort;
+ private javax.swing.JButton buttonClear;
private javax.swing.ButtonGroup buttonGroupBack;
private javax.swing.JButton buttonRun;
+ private ch.psi.pshell.plot.LinePlotJFree centroidPlot;
private javax.swing.JCheckBox checkBackground;
private javax.swing.JCheckBox checkSaveImages;
private javax.swing.JLabel jLabel1;
diff --git a/script/Alignment/Gun_solenoid_alignment.py b/script/Alignment/Gun_solenoid_alignment.py
index 18d63a9..203416e 100755
--- a/script/Alignment/Gun_solenoid_alignment.py
+++ b/script/Alignment/Gun_solenoid_alignment.py
@@ -101,10 +101,10 @@ mag = [ "SINEG01-MCRX120","SINEG01-MCRY120",
"SINEG01-MCRX220","SINEG01-MCRY220",
"SINEG01-MQUA310",
"SINEG01-MQUA320" ]
-for m in mag:
- caput(m + ":I-SET", 0.0)
-for m in mag:
- ccr(m)
+#for m in mag:
+# caput(m + ":I-SET", 0.0)
+#for m in mag:
+# ccr(m)
# add here gun phase setting see wiki page
@@ -122,10 +122,16 @@ finally:
# take the result of the scan and do the plots
#p = plot(r.getReadable(1), xdata=r.getReadable(0), title = "Centroid excursion")[0]
-add_convex_hull_plot ("Centroid excursion", r.getReadable(0),r.getReadable(1), plot_name, False, (0,cam_img._width), (0,cam_img._height))
+#add_convex_hull_plot ("Centroid excursion", r.getReadable(0),r.getReadable(1), plot_name, False, (0,cam_img._width), (0,cam_img._height))
# save the entry in the logbook
msg = str(r)
msg = msg + "\nFile: " + get_context().path
msg = msg + "\n\n" + r.print()
-elog("Gun solenoid current scan", msg , get_plot_snapshots())
+#elog("Gun solenoid current scan", msg , get_plot_snapshots())
+
+print "DONE"
+set_return(r)
+print "QUIT"
+
+