From 573db41ab23f42fe2b82ef52825448cc30e3017a Mon Sep 17 00:00:00 2001 From: sfop Date: Mon, 27 Jun 2016 15:55:49 +0200 Subject: [PATCH] Closedown --- config/plugins.properties | 2 +- plugins/GunSolenoidAlignment.form | 62 +++++++++++---- plugins/GunSolenoidAlignment.java | 88 +++++++++++++++++++--- script/Alignment/Gun_solenoid_alignment.py | 18 +++-- 4 files changed, 139 insertions(+), 31 deletions(-) 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" + +