Sep.2025
This commit is contained in:
@@ -1,9 +1,17 @@
|
||||
|
||||
import ch.psi.pshell.bs.Stream;
|
||||
import ch.psi.pshell.bs.StreamValue;
|
||||
import ch.psi.pshell.imaging.RendererMode;
|
||||
import ch.psi.pshell.plot.Plot;
|
||||
import ch.psi.pshell.plot.TimePlotSeries;
|
||||
import ch.psi.pshell.ui.CamServerViewer;
|
||||
import ch.psi.pshell.ui.Panel;
|
||||
import ch.psi.utils.State;
|
||||
import ch.psi.utils.Str;
|
||||
import java.io.IOException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@@ -12,6 +20,11 @@ import java.util.logging.Logger;
|
||||
*/
|
||||
public class Pointing extends Panel {
|
||||
|
||||
TimePlotSeries offx = new TimePlotSeries("offx",1);
|
||||
TimePlotSeries offy = new TimePlotSeries("offy",2);
|
||||
TimePlotSeries slopex = new TimePlotSeries("slopex",1);
|
||||
TimePlotSeries slopey = new TimePlotSeries("slopey",2);
|
||||
|
||||
public Pointing() {
|
||||
initComponents();
|
||||
try {
|
||||
@@ -20,17 +33,43 @@ public class Pointing extends Panel {
|
||||
viewer.setPipelineServerUrl("sf-daqsync-01:8889");
|
||||
viewer.setStartupStream(TOOL_TIP_TEXT_KEY);
|
||||
viewer.setToolbarVisible(false);
|
||||
viewer.setZoom(2.0);
|
||||
//viewer.setZoom(2.0);
|
||||
viewer.getRenderer().setMode(RendererMode.Fit);
|
||||
timePlotOffset.setDurationMillis(1000*60);
|
||||
timePlotOffset.addSeries(offx);
|
||||
timePlotOffset.addSeries(offy);
|
||||
timePlotOffset.setLegendVisible(true);
|
||||
timePlotOffset.getAxis(Plot.AxisId.X).setLabel(null);
|
||||
timePlotOffset.getAxis(Plot.AxisId.Y).setLabel("Offset x [mm]");
|
||||
timePlotOffset.getAxis(Plot.AxisId.Y2).setLabel("Offset y [mm]");
|
||||
|
||||
timePlotSlope.setDurationMillis(1000*60);
|
||||
timePlotSlope.addSeries(slopex);
|
||||
timePlotSlope.addSeries(slopey);
|
||||
timePlotSlope.setLegendVisible(true);
|
||||
timePlotSlope.getAxis(Plot.AxisId.X).setLabel(null);
|
||||
timePlotSlope.getAxis(Plot.AxisId.Y).setLabel("Slope x [mm]");
|
||||
timePlotSlope.getAxis(Plot.AxisId.Y2).setLabel("Slope y [mm]");
|
||||
|
||||
} catch (Exception ex) {
|
||||
showException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Overridable callbacks
|
||||
@Override
|
||||
public void onInitialize(int runCount) {
|
||||
try {
|
||||
viewer.setStream("SAROP21-PPRM094_sp");
|
||||
viewer.setStream("SAROP21-PPRM094_pointing");
|
||||
} catch (Exception ex) {
|
||||
showException(ex);
|
||||
}
|
||||
try {
|
||||
offx.clear();
|
||||
offy.clear();
|
||||
slopex.clear();
|
||||
slopey.clear();
|
||||
} catch (Exception ex) {
|
||||
showException(ex);
|
||||
}
|
||||
@@ -49,10 +88,22 @@ public class Pointing extends Panel {
|
||||
@Override
|
||||
protected void onTimer() {
|
||||
try{
|
||||
Object img = viewer.getStreamDevice().take().getValue("image");
|
||||
this.setGlobalVar("plugin_img", img);
|
||||
Object ret = eval("get_saturated_pixels(plugin_img)", true);
|
||||
textSaturated.setText((ret==null) ? "" : ret.toString());
|
||||
StreamValue value = viewer.getStreamDevice().take();
|
||||
if (value==null){
|
||||
textSaturated.setText("");
|
||||
} else {
|
||||
Object img = value.getValue("image");
|
||||
//Setting a global to be used as a paramemeter in the followinf funciton call
|
||||
this.setGlobalVar("plugin_img", img);
|
||||
//Running a function in the interpreter IN THE BACKGROUND
|
||||
//It is synchronous - should not block!
|
||||
Object ret = eval("get_saturated_pixels(plugin_img)", true);
|
||||
textSaturated.setText((ret==null) ? "" : ret.toString());
|
||||
|
||||
//Example reading any variable from the interpreter
|
||||
//Object obj = this.getGlobalVar("xxx");
|
||||
//System.out.println(Str.toString(obj));
|
||||
}
|
||||
} catch (Exception ex){
|
||||
textSaturated.setText("");
|
||||
this.getLogger().severe(ex.getMessage());
|
||||
@@ -64,11 +115,22 @@ public class Pointing extends Panel {
|
||||
List offset = (List) ret;
|
||||
Double offX = (Double) offset.get(0);
|
||||
Double offY = (Double) offset.get(1);
|
||||
Double slopeX = (Double) offset.get(2);
|
||||
Double slopeY = (Double) offset.get(3);
|
||||
textOffX.setText(String.format("%1.3f",offX));
|
||||
textOffY.setText(String.format("%1.3f",offY));
|
||||
textSlopeX.setText(String.format("%1.3f",slopeX));
|
||||
textSlopeY.setText(String.format("%1.3f",slopeY));
|
||||
|
||||
offx.appendData(offX);
|
||||
offy.appendData(offY);
|
||||
slopex.appendData(slopeX);
|
||||
slopey.appendData(slopeY);
|
||||
} catch (Exception ex){
|
||||
textOffX.setText("");
|
||||
textOffY.setText("");
|
||||
textOffY.setText("");
|
||||
textSlopeX.setText("");
|
||||
textSlopeY.setText("");
|
||||
//showException(ex);
|
||||
}
|
||||
}
|
||||
@@ -106,6 +168,28 @@ public class Pointing extends Panel {
|
||||
jLabel3 = new javax.swing.JLabel();
|
||||
textOffY = new javax.swing.JTextField();
|
||||
ckOffsetCheck = new javax.swing.JCheckBox();
|
||||
jLabel4 = new javax.swing.JLabel();
|
||||
jLabel5 = new javax.swing.JLabel();
|
||||
jLabel6 = new javax.swing.JLabel();
|
||||
jLabel7 = new javax.swing.JLabel();
|
||||
jLabel8 = new javax.swing.JLabel();
|
||||
jLabel9 = new javax.swing.JLabel();
|
||||
jLabel10 = new javax.swing.JLabel();
|
||||
jLabel11 = new javax.swing.JLabel();
|
||||
jLabel12 = new javax.swing.JLabel();
|
||||
jLabel13 = new javax.swing.JLabel();
|
||||
buttonRefSlopeAp = new javax.swing.JButton();
|
||||
jLabel14 = new javax.swing.JLabel();
|
||||
timePlotOffset = new ch.psi.pshell.plot.TimePlotJFree();
|
||||
jLabel15 = new javax.swing.JLabel();
|
||||
textSlopeX = new javax.swing.JTextField();
|
||||
jLabel16 = new javax.swing.JLabel();
|
||||
textSlopeY = new javax.swing.JTextField();
|
||||
timePlotSlope = new ch.psi.pshell.plot.TimePlotJFree();
|
||||
jLabel17 = new javax.swing.JLabel();
|
||||
jLabel18 = new javax.swing.JLabel();
|
||||
jLabel19 = new javax.swing.JLabel();
|
||||
jLabel20 = new javax.swing.JLabel();
|
||||
|
||||
processVariablePanel1.setDeviceName("attenuator");
|
||||
processVariablePanel1.setShowLimitButtons(false);
|
||||
@@ -114,7 +198,7 @@ public class Pointing extends Panel {
|
||||
processVariablePanel1.setStepIncrement(0.01);
|
||||
processVariablePanel1.setStepSize(0.01);
|
||||
|
||||
jLabel1.setText("Saturated Pixels:");
|
||||
jLabel1.setText("1.");
|
||||
|
||||
textSaturated.setEditable(false);
|
||||
textSaturated.setHorizontalAlignment(javax.swing.JTextField.CENTER);
|
||||
@@ -151,49 +235,152 @@ public class Pointing extends Panel {
|
||||
textOffY.setHorizontalAlignment(javax.swing.JTextField.CENTER);
|
||||
|
||||
ckOffsetCheck.setText("Enable Offset Check");
|
||||
ckOffsetCheck.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
ckOffsetCheckActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLabel4.setText("Saturated Pixels:");
|
||||
|
||||
jLabel5.setText("2.");
|
||||
|
||||
jLabel6.setText("3.");
|
||||
|
||||
jLabel7.setText("5.");
|
||||
|
||||
jLabel8.setText("7.");
|
||||
|
||||
jLabel9.setText("Reference the position of the offset apeature (takes around 10 seconds):");
|
||||
|
||||
jLabel10.setFont(new java.awt.Font("Cantarell", 1, 18)); // NOI18N
|
||||
jLabel10.setText("To check the pointing of Aramis, follow the steps:");
|
||||
|
||||
jLabel11.setText("Measure beam position relative to target position of aperature:");
|
||||
|
||||
jLabel12.setText("If pixels are saturated, tweak attenuation:");
|
||||
|
||||
jLabel13.setText("Reference the position of the slope aperture (takes around 10 seconds):");
|
||||
|
||||
buttonRefSlopeAp.setText("Reference Slope Aperture");
|
||||
buttonRefSlopeAp.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
buttonRefSlopeApActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLabel14.setText("4.");
|
||||
|
||||
jLabel15.setText("Slope X:");
|
||||
|
||||
textSlopeX.setEditable(false);
|
||||
textSlopeX.setHorizontalAlignment(javax.swing.JTextField.CENTER);
|
||||
|
||||
jLabel16.setText("Slope Y:");
|
||||
|
||||
textSlopeY.setEditable(false);
|
||||
textSlopeY.setHorizontalAlignment(javax.swing.JTextField.CENTER);
|
||||
|
||||
jLabel17.setText("Current beam position from slope reference (mm):");
|
||||
|
||||
jLabel18.setText("Current beam position from offset reference (mm):");
|
||||
|
||||
jLabel19.setText("6.");
|
||||
|
||||
jLabel20.setText("Align undulators - iterate steps 3 and 4 as beam is aligned - this may take several rounds");
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||
this.setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(viewer, javax.swing.GroupLayout.PREFERRED_SIZE, 469, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(viewer, javax.swing.GroupLayout.PREFERRED_SIZE, 471, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(99, 99, 99)
|
||||
.addComponent(jLabel10))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(processVariablePanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(75, 75, 75)
|
||||
.addComponent(jLabel1)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(textSaturated, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(0, 181, Short.MAX_VALUE))))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(130, 130, 130)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(buttonRefOffAp, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(buttonEnd, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(ckOffsetCheck)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
||||
.addGap(9, 9, 9)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLabel3)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(textOffY))
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(jLabel5)
|
||||
.addComponent(jLabel1))
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLabel4)
|
||||
.addGap(35, 35, 35)
|
||||
.addComponent(textSaturated, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(buttonStart)))
|
||||
.addComponent(jLabel12)))
|
||||
.addComponent(jLabel9)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLabel11)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLabel2)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(textOffX, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)))))
|
||||
.addGap(0, 0, Short.MAX_VALUE)))
|
||||
.addContainerGap())
|
||||
.addComponent(jLabel6)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(buttonRefOffAp, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLabel14)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(buttonRefSlopeAp))))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(processVariablePanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 330, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(jLabel13)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 2, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLabel7)
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(ckOffsetCheck)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLabel3)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(textOffY))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLabel2)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(textOffX, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLabel16)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(textSlopeY))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(jLabel15)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(textSlopeX, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE))))))
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLabel8, javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(jLabel19))
|
||||
.addGap(23, 23, 23)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLabel20)
|
||||
.addComponent(buttonEnd, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))))))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(165, 165, 165)
|
||||
.addComponent(buttonStart)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
|
||||
.addGap(57, 57, 57)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(timePlotOffset, javax.swing.GroupLayout.PREFERRED_SIZE, 989, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(timePlotSlope, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 989, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(jLabel17)
|
||||
.addComponent(jLabel18))))
|
||||
.addContainerGap(19, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonEnd, buttonRefOffAp, buttonStart});
|
||||
@@ -206,31 +393,76 @@ public class Pointing extends Panel {
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(viewer, javax.swing.GroupLayout.PREFERRED_SIZE, 716, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(viewer, javax.swing.GroupLayout.PREFERRED_SIZE, 441, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(150, 150, 150)
|
||||
.addComponent(jLabel17))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGap(86, 86, 86)
|
||||
.addComponent(buttonStart)
|
||||
.addGap(73, 73, 73)
|
||||
.addGap(17, 17, 17)
|
||||
.addComponent(jLabel10)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel1)
|
||||
.addComponent(textSaturated, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(buttonStart)
|
||||
.addComponent(jLabel1))
|
||||
.addGap(18, 18, 18)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(textSaturated, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(jLabel5)
|
||||
.addComponent(jLabel4))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(jLabel12)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(processVariablePanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(97, 97, 97)
|
||||
.addComponent(buttonRefOffAp)
|
||||
.addGap(74, 74, 74)
|
||||
.addComponent(ckOffsetCheck)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(jLabel9)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel2)
|
||||
.addComponent(textOffX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(3, 3, 3)
|
||||
.addComponent(jLabel6)
|
||||
.addComponent(buttonRefOffAp))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(jLabel13)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel3)
|
||||
.addComponent(textOffY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(buttonEnd)))
|
||||
.addContainerGap(106, Short.MAX_VALUE))
|
||||
.addComponent(jLabel14)
|
||||
.addComponent(buttonRefSlopeAp))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(jLabel11)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jLabel7)
|
||||
.addComponent(ckOffsetCheck))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel2)
|
||||
.addComponent(textOffX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(3, 3, 3)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel3)
|
||||
.addComponent(textOffY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel15)
|
||||
.addComponent(textSlopeX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(3, 3, 3)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel16)
|
||||
.addComponent(textSlopeY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel19)
|
||||
.addComponent(jLabel20))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel8)
|
||||
.addComponent(buttonEnd))))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(timePlotSlope, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(jLabel18)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(timePlotOffset, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap(20, Short.MAX_VALUE))
|
||||
);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
@@ -246,7 +478,12 @@ public class Pointing extends Panel {
|
||||
|
||||
private void buttonRefOffApActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonRefOffApActionPerformed
|
||||
try{
|
||||
runAsync("pointing/reference_offset").handle((ret,ex)->{
|
||||
runAsync("pointing/reference_offset").handle((ret,ex)->{
|
||||
if (ex!=null){
|
||||
showException((Exception)ex);
|
||||
} else {
|
||||
showMessage("Reference offset aperture", Str.toString(ret));
|
||||
}
|
||||
return ret;
|
||||
});
|
||||
} catch (Exception ex){
|
||||
@@ -264,18 +501,59 @@ public class Pointing extends Panel {
|
||||
}
|
||||
}//GEN-LAST:event_buttonEndActionPerformed
|
||||
|
||||
private void buttonRefSlopeApActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonRefSlopeApActionPerformed
|
||||
try{
|
||||
runAsync("pointing/reference_slope").handle((ret,ex)->{
|
||||
if (ex!=null){
|
||||
showException((Exception)ex);
|
||||
} else {
|
||||
showMessage("Reference slope aperture", Str.toString(ret));
|
||||
}
|
||||
return ret;
|
||||
});
|
||||
} catch (Exception ex){
|
||||
showException(ex);
|
||||
}
|
||||
}//GEN-LAST:event_buttonRefSlopeApActionPerformed
|
||||
|
||||
private void ckOffsetCheckActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ckOffsetCheckActionPerformed
|
||||
// TODO add your handling code here:
|
||||
}//GEN-LAST:event_ckOffsetCheckActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton buttonEnd;
|
||||
private javax.swing.JButton buttonRefOffAp;
|
||||
private javax.swing.JButton buttonRefSlopeAp;
|
||||
private javax.swing.JButton buttonStart;
|
||||
private javax.swing.JCheckBox ckOffsetCheck;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel10;
|
||||
private javax.swing.JLabel jLabel11;
|
||||
private javax.swing.JLabel jLabel12;
|
||||
private javax.swing.JLabel jLabel13;
|
||||
private javax.swing.JLabel jLabel14;
|
||||
private javax.swing.JLabel jLabel15;
|
||||
private javax.swing.JLabel jLabel16;
|
||||
private javax.swing.JLabel jLabel17;
|
||||
private javax.swing.JLabel jLabel18;
|
||||
private javax.swing.JLabel jLabel19;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
private javax.swing.JLabel jLabel20;
|
||||
private javax.swing.JLabel jLabel3;
|
||||
private javax.swing.JLabel jLabel4;
|
||||
private javax.swing.JLabel jLabel5;
|
||||
private javax.swing.JLabel jLabel6;
|
||||
private javax.swing.JLabel jLabel7;
|
||||
private javax.swing.JLabel jLabel8;
|
||||
private javax.swing.JLabel jLabel9;
|
||||
private ch.psi.pshell.swing.ProcessVariablePanel processVariablePanel1;
|
||||
private javax.swing.JTextField textOffX;
|
||||
private javax.swing.JTextField textOffY;
|
||||
private javax.swing.JTextField textSaturated;
|
||||
private javax.swing.JTextField textSlopeX;
|
||||
private javax.swing.JTextField textSlopeY;
|
||||
private ch.psi.pshell.plot.TimePlotJFree timePlotOffset;
|
||||
private ch.psi.pshell.plot.TimePlotJFree timePlotSlope;
|
||||
private ch.psi.pshell.ui.CamServerViewer viewer;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user