Sprint Dez/2020

This commit is contained in:
gac-x11ma
2020-12-15 08:47:22 +01:00
parent c05f807efb
commit 5f313a0a2b
12 changed files with 960 additions and 760 deletions

View File

@@ -1,9 +1,9 @@
#Fri Dec 11 14:27:37 CET 2020
#Mon Dec 14 22:10:27 CET 2020
auth=None
port=0
usr=
smsSuffix=@sms.switch.ch
host=smtpint.psi.ch
from=pshell.sim@psi.ch
to=alan.farhan@aalto.fi
to=armin.kleibert@psi.ch
pwd=

View File

@@ -1,13 +1,13 @@
#Sat Dec 12 00:56:20 CET 2020
#Mon Dec 14 22:42:49 CET 2020
HARMONIC_ID_1=1
RSYNC_USER=e18413
RSYNC_USER=
OUTLIERS_THRESHOLD=1000000000
NORM_FILE=/sls/X11MA/data/X11MA/Data1/public/PEEM/2020_09/i1904_1_0.tif
AUTO_SWITCH_VALVE=true
DRY_RUN=false
POL_ID_2=Circ_Minus
POL_ID_2=Lin_Hor
OFFSET_ID_1=-1.5
ID=ID1_ID2
ID=ID2
OFFSET_ID_2=-1.3
proposal=proposal
ENERGY=707.3
@@ -20,6 +20,7 @@ pgroup=pgroup
ALPHA_ID_2=45.0
ALPHA_ID_1=15.0
RSYNC_DEL=true
AVERAGING_DETECTOR=true
HARMONIC_ID_2=1
FdaBrowser=true
authors=author1|author2

View File

@@ -1,4 +1,4 @@
#Sat Dec 12 22:25:59 CET 2020
LastRunDate=201212
FileSequentialNumber=4863
DaySequentialNumber=74
#Mon Dec 14 23:43:57 CET 2020
LastRunDate=201214
FileSequentialNumber=4909
DaySequentialNumber=110

View File

@@ -532,7 +532,7 @@
</Component>
<Component class="javax.swing.JLabel" name="jLabel1">
<Properties>
<Property name="text" type="java.lang.String" value="Dry Mode"/>
<Property name="text" type="java.lang.String" value="Dry Run"/>
</Properties>
</Component>
</SubComponents>

View File

@@ -527,7 +527,7 @@ public class Beamline extends Panel {
}
});
jLabel1.setText("Dry Mode");
jLabel1.setText("Dry Run");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);

File diff suppressed because it is too large Load Diff

View File

@@ -180,7 +180,7 @@ public class Eiger extends Panel {
spinnerImgEng1.setVisible(comboImgMethod.getSelectedItem() == ImgMethod.Two_Energies.toString());
spinnerImgEng2.setVisible(comboImgMethod.getSelectedItem() == ImgMethod.Two_Energies.toString());
panelSecondImage.setVisible(comboImgMethod.getSelectedItem() != ImgMethod.Take_Image.toString());
//panelSecondImage.setVisible(comboImgMethod.getSelectedItem() != ImgMethod.Take_Image.toString());
buttonImgStart.setEnabled(getState() == State.Ready);
buttonImgAbort.setEnabled(getState().isProcessing());
@@ -206,14 +206,32 @@ public class Eiger extends Panel {
labelModeID1a.setVisible(id1);
dvpModeID1b.setVisible(id1);
labelModeID1b.setVisible(id1);
dvpOffID1a.setVisible(id1);
labelOffID1a.setVisible(id1);
dvpOffID1b.setVisible(id1);
labelOffID1b.setVisible(id1);
dvpModeID2a.setVisible(id2);
labelModeID2a.setVisible(id2);
dvpModeID2b.setVisible(id2);
labelModeID2b.setVisible(id2);
dvpOffID2a.setVisible(id2);
labelOffID2a.setVisible(id2);
dvpOffID2b.setVisible(id2);
labelOffID2b.setVisible(id2);
} catch (Exception ex) {
getLogger().log(Level.WARNING, null, ex);
}
try {
String setting = getSetting("AVERAGING_DETECTOR");
boolean det = setting.equalsIgnoreCase("true");
radioAvDetector.setSelected(det);
radioAvPshell.setSelected(!det);
} catch (Exception ex) {
getLogger().log(Level.WARNING, null, ex);
}
}
void updateRoiList() {
@@ -291,11 +309,9 @@ public class Eiger extends Panel {
args.put("SWITCHING", comboSwitch.getSelectedItem());
args.put("MEASUREMENTS", spinnerImgMeasurements.getValue());
args.put("AUTO_SAVE", checkImgAutosave.isSelected());
args.put("EXPOSURE_1", spinnerImgExp1.getValue());
args.put("AVERAGE_1", spinnerImgAvg1.getValue());
args.put("EXPOSURE", spinnerImgExp.getValue());
args.put("AVERAGE", spinnerImgAvg.getValue());
args.put("ENERGY_1", spinnerImgEng1.getValue());
args.put("EXPOSURE_2", spinnerImgExp2.getValue());
args.put("AVERAGE_2", spinnerImgAvg2.getValue());
args.put("ENERGY_2", spinnerImgEng2.getValue());
runAsync("templates/Eiger2Img", args).handle((ret, t) -> {
@@ -386,6 +402,7 @@ public class Eiger extends Panel {
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
buttonGroup1 = new javax.swing.ButtonGroup();
jTabbedPane1 = new javax.swing.JTabbedPane();
jPanel1 = new javax.swing.JPanel();
panelNorm = new javax.swing.JPanel();
@@ -403,6 +420,9 @@ public class Eiger extends Panel {
buttonTriggerDetector = new javax.swing.JButton();
buttonShowDetectorPanel = new javax.swing.JButton();
buttonMeasurements = new javax.swing.JToggleButton();
panelNorm2 = new javax.swing.JPanel();
radioAvDetector = new javax.swing.JRadioButton();
radioAvPshell = new javax.swing.JRadioButton();
panelRoi = new javax.swing.JPanel();
rendererRoi = new ch.psi.pshell.imaging.Renderer();
jLabel26 = new javax.swing.JLabel();
@@ -417,21 +437,6 @@ public class Eiger extends Panel {
buttonImgStart = new javax.swing.JButton();
buttonImgAbort = new javax.swing.JButton();
panelImgControls = new javax.swing.JPanel();
panelFirstImage = new javax.swing.JPanel();
jLabel4 = new javax.swing.JLabel();
spinnerImgExp1 = new javax.swing.JSpinner();
jLabel9 = new javax.swing.JLabel();
spinnerImgAvg1 = new javax.swing.JSpinner();
labelImgEng1 = new javax.swing.JLabel();
spinnerImgEng1 = new javax.swing.JSpinner();
filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 14), new java.awt.Dimension(0, 14), new java.awt.Dimension(32767, 12));
panelSecondImage = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
spinnerImgExp2 = new javax.swing.JSpinner();
jLabel17 = new javax.swing.JLabel();
spinnerImgAvg2 = new javax.swing.JSpinner();
labelImgEng2 = new javax.swing.JLabel();
spinnerImgEng2 = new javax.swing.JSpinner();
jPanel5 = new javax.swing.JPanel();
checkImgAutosave = new javax.swing.JCheckBox();
jLabel20 = new javax.swing.JLabel();
@@ -440,12 +445,25 @@ public class Eiger extends Panel {
comboSwitch = new javax.swing.JComboBox<>();
spinnerImgMeasurements = new javax.swing.JSpinner();
comboImgMethod = new javax.swing.JComboBox<>();
dvpModeID2a = new ch.psi.pshell.swing.DeviceValuePanel();
labelEnergya = new javax.swing.JLabel();
labelModeID2a = new javax.swing.JLabel();
dvpEnergya = new ch.psi.pshell.swing.DeviceValuePanel();
dvpModeID1a = new ch.psi.pshell.swing.DeviceValuePanel();
labelModeID1a = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
spinnerImgExp = new javax.swing.JSpinner();
jLabel9 = new javax.swing.JLabel();
spinnerImgAvg = new javax.swing.JSpinner();
labelImgEng2 = new javax.swing.JLabel();
spinnerImgEng2 = new javax.swing.JSpinner();
spinnerImgEng1 = new javax.swing.JSpinner();
labelImgEng1 = new javax.swing.JLabel();
jPanel9 = new javax.swing.JPanel();
dvpEnergya3 = new ch.psi.pshell.swing.DeviceValuePanel();
dvpOffID1b = new ch.psi.pshell.swing.DeviceValuePanel();
dvpModeID2b = new ch.psi.pshell.swing.DeviceValuePanel();
dvpOffID2b = new ch.psi.pshell.swing.DeviceValuePanel();
labelEnergya3 = new javax.swing.JLabel();
labelOffID2a = new javax.swing.JLabel();
labelOffID1a = new javax.swing.JLabel();
dvpModeID1b = new ch.psi.pshell.swing.DeviceValuePanel();
labelModeID1b = new javax.swing.JLabel();
labelModeID2b = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
panelSpectrum = new javax.swing.JPanel();
jLabel23 = new javax.swing.JLabel();
@@ -468,12 +486,17 @@ public class Eiger extends Panel {
buttonClear = new javax.swing.JButton();
buttonSpecStart = new javax.swing.JButton();
buttonSpecAbort = new javax.swing.JButton();
labelModeID1b = new javax.swing.JLabel();
dvpModeID1b = new ch.psi.pshell.swing.DeviceValuePanel();
dvpModeID2b = new ch.psi.pshell.swing.DeviceValuePanel();
labelModeID2b = new javax.swing.JLabel();
labelEnergyb = new javax.swing.JLabel();
dvpEnergyb = new ch.psi.pshell.swing.DeviceValuePanel();
jPanel6 = new javax.swing.JPanel();
dvpEnergya = new ch.psi.pshell.swing.DeviceValuePanel();
dvpOffID1a = new ch.psi.pshell.swing.DeviceValuePanel();
dvpModeID2a = new ch.psi.pshell.swing.DeviceValuePanel();
dvpOffID2a = new ch.psi.pshell.swing.DeviceValuePanel();
labelEnergya = new javax.swing.JLabel();
labelOffID2b = new javax.swing.JLabel();
labelOffID1b = new javax.swing.JLabel();
dvpModeID1a = new ch.psi.pshell.swing.DeviceValuePanel();
labelModeID1a = new javax.swing.JLabel();
labelModeID2a = new javax.swing.JLabel();
panelNorm.setBorder(javax.swing.BorderFactory.createTitledBorder("Normalization"));
@@ -514,7 +537,7 @@ public class Eiger extends Panel {
.addGap(18, 18, 18)
.addComponent(jLabel29)
.addGap(0, 0, 0)
.addComponent(textNorm)
.addComponent(textNorm, javax.swing.GroupLayout.DEFAULT_SIZE, 447, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(buttonSetNorm)
.addContainerGap())
@@ -589,7 +612,7 @@ public class Eiger extends Panel {
.addComponent(jLabel31)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(spinnerOutliersThreshold, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 315, Short.MAX_VALUE)))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
@@ -632,6 +655,46 @@ public class Eiger extends Panel {
}
});
panelNorm2.setBorder(javax.swing.BorderFactory.createTitledBorder("Averaging"));
buttonGroup1.add(radioAvDetector);
radioAvDetector.setText("Detector");
radioAvDetector.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
radioAvDetectorActionPerformed(evt);
}
});
buttonGroup1.add(radioAvPshell);
radioAvPshell.setSelected(true);
radioAvPshell.setText("PShell");
radioAvPshell.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
radioAvPshellActionPerformed(evt);
}
});
javax.swing.GroupLayout panelNorm2Layout = new javax.swing.GroupLayout(panelNorm2);
panelNorm2.setLayout(panelNorm2Layout);
panelNorm2Layout.setHorizontalGroup(
panelNorm2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelNorm2Layout.createSequentialGroup()
.addContainerGap()
.addGroup(panelNorm2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(radioAvDetector)
.addComponent(radioAvPshell))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelNorm2Layout.setVerticalGroup(
panelNorm2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelNorm2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(radioAvDetector)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(radioAvPshell)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
@@ -647,7 +710,8 @@ public class Eiger extends Panel {
.addComponent(buttonTriggerDetector, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(buttonShowDetectorPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 201, Short.MAX_VALUE)
.addComponent(buttonMeasurements, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(0, 0, Short.MAX_VALUE)))
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(panelNorm2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
@@ -659,8 +723,10 @@ public class Eiger extends Panel {
.addContainerGap()
.addComponent(panelNorm, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(panelNorm2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(panelNorm1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonMeasurements)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(buttonShowDetectorPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
@@ -745,7 +811,7 @@ public class Eiger extends Panel {
panelRoiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelRoiLayout.createSequentialGroup()
.addGap(17, 17, 17)
.addComponent(rendererRoi, javax.swing.GroupLayout.DEFAULT_SIZE, 427, Short.MAX_VALUE)
.addComponent(rendererRoi, javax.swing.GroupLayout.DEFAULT_SIZE, 448, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addGroup(panelRoiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)
@@ -770,7 +836,7 @@ public class Eiger extends Panel {
.addGap(18, 18, 18)
.addComponent(jLabel26)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 223, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 250, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addComponent(buttonRoiClear, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
@@ -796,124 +862,7 @@ public class Eiger extends Panel {
}
});
panelFirstImage.setBorder(javax.swing.BorderFactory.createTitledBorder("First Image"));
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel4.setText("Exposure(s):");
spinnerImgExp1.setModel(new javax.swing.SpinnerNumberModel(1.0d, 0.0d, 3600.0d, 1.0d));
jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel9.setText("Average:");
spinnerImgAvg1.setModel(new javax.swing.SpinnerNumberModel(1, 1, 1000, 1));
labelImgEng1.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelImgEng1.setText("Energy:");
spinnerImgEng1.setModel(new javax.swing.SpinnerNumberModel(1000.0d, 90.0d, 2000.0d, 1.0d));
javax.swing.GroupLayout panelFirstImageLayout = new javax.swing.GroupLayout(panelFirstImage);
panelFirstImage.setLayout(panelFirstImageLayout);
panelFirstImageLayout.setHorizontalGroup(
panelFirstImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelFirstImageLayout.createSequentialGroup()
.addGroup(panelFirstImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(panelFirstImageLayout.createSequentialGroup()
.addGap(14, 14, 14)
.addGroup(panelFirstImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)))
.addGroup(panelFirstImageLayout.createSequentialGroup()
.addContainerGap()
.addComponent(filler1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(labelImgEng1)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelFirstImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spinnerImgExp1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerImgAvg1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerImgEng1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelFirstImageLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerImgAvg1, spinnerImgEng1, spinnerImgExp1});
panelFirstImageLayout.setVerticalGroup(
panelFirstImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelFirstImageLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelFirstImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(spinnerImgExp1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelFirstImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel9)
.addComponent(spinnerImgAvg1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelFirstImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(filler1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(labelImgEng1)
.addComponent(spinnerImgEng1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(25, Short.MAX_VALUE))
);
panelFirstImageLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {filler1, labelImgEng1});
panelSecondImage.setBorder(javax.swing.BorderFactory.createTitledBorder("Second Image"));
jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel12.setText("Exposure(s):");
spinnerImgExp2.setModel(new javax.swing.SpinnerNumberModel(1.0d, 0.0d, 3600.0d, 1.0d));
jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel17.setText("Average:");
spinnerImgAvg2.setModel(new javax.swing.SpinnerNumberModel(1, 1, 1000, 1));
labelImgEng2.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelImgEng2.setText("Energy:");
spinnerImgEng2.setModel(new javax.swing.SpinnerNumberModel(1000.0d, 90.0d, 2000.0d, 1.0d));
javax.swing.GroupLayout panelSecondImageLayout = new javax.swing.GroupLayout(panelSecondImage);
panelSecondImage.setLayout(panelSecondImageLayout);
panelSecondImageLayout.setHorizontalGroup(
panelSecondImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelSecondImageLayout.createSequentialGroup()
.addGap(14, 14, 14)
.addGroup(panelSecondImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(labelImgEng2, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel17, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel12, javax.swing.GroupLayout.Alignment.TRAILING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelSecondImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spinnerImgExp2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerImgAvg2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerImgEng2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelSecondImageLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerImgAvg2, spinnerImgEng2, spinnerImgExp2});
panelSecondImageLayout.setVerticalGroup(
panelSecondImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelSecondImageLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelSecondImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel12)
.addComponent(spinnerImgExp2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelSecondImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel17)
.addComponent(spinnerImgAvg2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelSecondImageLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(labelImgEng2)
.addComponent(spinnerImgEng2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(25, Short.MAX_VALUE))
);
panelImgControls.setBorder(javax.swing.BorderFactory.createTitledBorder("Parameters"));
checkImgAutosave.setSelected(true);
checkImgAutosave.setText("Autosave");
@@ -937,45 +886,101 @@ public class Eiger extends Panel {
}
});
jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel4.setText("Exposure(s):");
spinnerImgExp.setModel(new javax.swing.SpinnerNumberModel(1.0d, 0.0d, 3600.0d, 1.0d));
jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel9.setText("Average:");
spinnerImgAvg.setModel(new javax.swing.SpinnerNumberModel(1, 1, 1000, 1));
labelImgEng2.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelImgEng2.setText("Energy 1:");
spinnerImgEng2.setModel(new javax.swing.SpinnerNumberModel(1000.0d, 90.0d, 2000.0d, 1.0d));
spinnerImgEng1.setModel(new javax.swing.SpinnerNumberModel(1000.0d, 90.0d, 2000.0d, 1.0d));
labelImgEng1.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelImgEng1.setText("Energy 2:");
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(labelSwitching)
.addComponent(jLabel21)
.addComponent(jLabel20))
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel20, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel21, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(labelSwitching, javax.swing.GroupLayout.Alignment.TRAILING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(comboSwitch, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(spinnerImgMeasurements)
.addComponent(comboImgMethod, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGroup(jPanel5Layout.createSequentialGroup()
.addGap(118, 118, 118)
.addComponent(checkImgAutosave, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addGap(18, 62, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(spinnerImgMeasurements)
.addComponent(comboImgMethod, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(checkImgAutosave, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(comboSwitch, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spinnerImgAvg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerImgExp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 62, Short.MAX_VALUE)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(labelImgEng1, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(labelImgEng2, javax.swing.GroupLayout.Alignment.TRAILING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spinnerImgEng2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerImgEng1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
jPanel5Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerImgAvg, spinnerImgEng1, spinnerImgEng2, spinnerImgExp});
jPanel5Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {checkImgAutosave, comboImgMethod, comboSwitch, spinnerImgMeasurements});
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(comboImgMethod, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel21))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel20)
.addComponent(spinnerImgMeasurements, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(labelImgEng2)
.addComponent(spinnerImgEng2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelImgEng1)
.addComponent(spinnerImgEng1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel5Layout.createSequentialGroup()
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(comboImgMethod, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel21)
.addComponent(jLabel4)
.addComponent(spinnerImgExp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel20)
.addComponent(spinnerImgMeasurements, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel9)
.addComponent(spinnerImgAvg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGap(6, 6, 6)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(labelSwitching)
.addComponent(comboSwitch, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(checkImgAutosave)
.addContainerGap())
.addContainerGap(17, Short.MAX_VALUE))
);
javax.swing.GroupLayout panelImgControlsLayout = new javax.swing.GroupLayout(panelImgControls);
@@ -985,106 +990,131 @@ public class Eiger extends Panel {
.addGroup(panelImgControlsLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE)
.addComponent(panelFirstImage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, Short.MAX_VALUE)
.addComponent(panelSecondImage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
panelImgControlsLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {panelFirstImage, panelSecondImage});
panelImgControlsLayout.setVerticalGroup(
panelImgControlsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelImgControlsLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelImgControlsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(panelFirstImage, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(panelSecondImage, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(19, Short.MAX_VALUE))
);
dvpEnergya3.setDeviceName("energy");
dvpOffID1b.setDeviceName("id1_offset");
dvpModeID2b.setDeviceName("id2_pol");
dvpOffID2b.setDeviceName("id2_offset");
labelEnergya3.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelEnergya3.setText("Energy:");
labelOffID2a.setText("Offset ID2:");
labelOffID1a.setText("Offset ID1:");
dvpModeID1b.setDeviceName("id1_pol");
labelModeID1b.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelModeID1b.setText("Mode ID1:");
labelModeID2b.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelModeID2b.setText("Mode ID2:");
javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
jPanel9.setLayout(jPanel9Layout);
jPanel9Layout.setHorizontalGroup(
jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel9Layout.createSequentialGroup()
.addGap(24, 24, 24)
.addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel9Layout.createSequentialGroup()
.addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(labelModeID2b, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(labelModeID1b, javax.swing.GroupLayout.Alignment.LEADING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(dvpModeID1b, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addComponent(dvpModeID2b, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(labelOffID1a)
.addComponent(labelOffID2a))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(dvpOffID2b, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(dvpOffID1b, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel9Layout.createSequentialGroup()
.addComponent(labelEnergya3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(dvpEnergya3, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel9Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {dvpEnergya3, dvpModeID1b, dvpModeID2b, dvpOffID1b, dvpOffID2b});
jPanel9Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {labelEnergya3, labelModeID1b, labelModeID2b, labelOffID1a, labelOffID2a});
jPanel9Layout.setVerticalGroup(
jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel9Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelEnergya3)
.addComponent(dvpEnergya3, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelModeID1b)
.addComponent(dvpModeID1b, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(labelOffID1a)
.addComponent(dvpOffID1b, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelModeID2b)
.addComponent(dvpModeID2b, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(labelOffID2a)
.addComponent(dvpOffID2b, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
panelImgControlsLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jPanel5, panelFirstImage, panelSecondImage});
dvpModeID2a.setDeviceName("id2_pol");
labelEnergya.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelEnergya.setText("Energy:");
labelModeID2a.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelModeID2a.setText("Mode ID2:");
dvpEnergya.setDeviceName("energy");
dvpModeID1a.setDeviceName("id1_pol");
labelModeID1a.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelModeID1a.setText("Mode ID1:");
jPanel9Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {dvpEnergya3, dvpModeID1b, dvpModeID2b, dvpOffID1b, dvpOffID2b});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(panelImgControls, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(35, 35, 35)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(buttonImgStart)
.addGap(76, 76, 76)
.addComponent(buttonImgAbort)
.addGap(0, 0, Short.MAX_VALUE))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(labelEnergya)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(labelModeID2a, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(labelModeID1a, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(dvpModeID1a, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addComponent(dvpModeID2a, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addComponent(dvpEnergya, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 0, Short.MAX_VALUE)))))
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonImgStart)
.addGap(76, 76, 76)
.addComponent(buttonImgAbort)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(panelImgControls, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel9, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonImgAbort, buttonImgStart});
jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {dvpEnergya, dvpModeID1a, dvpModeID2a});
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(18, 18, 18)
.addContainerGap()
.addComponent(panelImgControls, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelModeID1a)
.addComponent(dvpModeID1a, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelModeID2a)
.addComponent(dvpModeID2a, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelEnergya)
.addComponent(dvpEnergya, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGap(18, 41, Short.MAX_VALUE)
.addComponent(jPanel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, 42, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buttonImgStart)
.addComponent(buttonImgAbort))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(65, Short.MAX_VALUE))
);
jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {dvpEnergya, dvpModeID1a, dvpModeID2a});
jTabbedPane1.addTab("2-Images", jPanel2);
panelSpectrum.setBorder(javax.swing.BorderFactory.createTitledBorder("Parameters"));
jLabel23.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel23.setText("Exposure(s):");
@@ -1225,9 +1255,9 @@ public class Eiger extends Panel {
.addComponent(spinnerSpecScans, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerSpecExp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerSpecAvg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 6, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 21, Short.MAX_VALUE)
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(27, Short.MAX_VALUE))
);
panelSpectrumLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerSpecAvg, spinnerSpecExp, spinnerSpecScans});
@@ -1276,81 +1306,119 @@ public class Eiger extends Panel {
}
});
labelModeID1b.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelModeID1b.setText("Mode ID1:");
dvpEnergya.setDeviceName("energy");
dvpModeID1b.setDeviceName("id1_pol");
dvpOffID1a.setDeviceName("id1_offset");
dvpModeID2b.setDeviceName("id2_pol");
dvpModeID2a.setDeviceName("id2_pol");
labelModeID2b.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelModeID2b.setText("Mode ID2:");
dvpOffID2a.setDeviceName("id2_offset");
labelEnergyb.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelEnergyb.setText("Energy:");
labelEnergya.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelEnergya.setText("Energy:");
dvpEnergyb.setDeviceName("energy");
labelOffID2b.setText("Offset ID2:");
labelOffID1b.setText("Offset ID1:");
dvpModeID1a.setDeviceName("id1_pol");
labelModeID1a.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelModeID1a.setText("Mode ID1:");
labelModeID2a.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
labelModeID2a.setText("Mode ID2:");
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addGap(24, 24, 24)
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(labelModeID2a, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(labelModeID1a, javax.swing.GroupLayout.Alignment.LEADING))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(dvpModeID1a, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addComponent(dvpModeID2a, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(labelOffID1b)
.addComponent(labelOffID2b))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(dvpOffID2a, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(dvpOffID1a, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel6Layout.createSequentialGroup()
.addComponent(labelEnergya)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(dvpEnergya, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel6Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {dvpEnergya, dvpModeID1a, dvpModeID2a, dvpOffID1a, dvpOffID2a});
jPanel6Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {labelEnergya, labelModeID1a, labelModeID2a, labelOffID1b, labelOffID2b});
jPanel6Layout.setVerticalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel6Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelEnergya)
.addComponent(dvpEnergya, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelModeID1a)
.addComponent(dvpModeID1a, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(labelOffID1b)
.addComponent(dvpOffID1a, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelModeID2a)
.addComponent(dvpModeID2a, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(labelOffID2b)
.addComponent(dvpOffID2a, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
jPanel6Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {dvpEnergya, dvpModeID1a, dvpModeID2a, dvpOffID1a, dvpOffID2a});
jPanel6Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {labelEnergya, labelModeID1a, labelModeID2a, labelOffID1b, labelOffID2b});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(buttonSpecStart)
.addGap(76, 76, 76)
.addComponent(buttonSpecAbort)
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(panelSpectrum, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
.addGroup(jPanel3Layout.createSequentialGroup()
.addGap(35, 35, 35)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(labelEnergyb)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(labelModeID2b, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(labelModeID1b, javax.swing.GroupLayout.Alignment.LEADING)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(dvpModeID2b, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addComponent(dvpEnergyb, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 92, Short.MAX_VALUE)
.addComponent(dvpModeID1b, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonSpecStart)
.addGap(76, 76, 76)
.addComponent(buttonSpecAbort)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(panelSpectrum, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
jPanel3Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonSpecAbort, buttonSpecStart});
jPanel3Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {dvpEnergyb, dvpModeID1b, dvpModeID2b});
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(panelSpectrum, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelModeID1b)
.addComponent(dvpModeID1b, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelModeID2b)
.addComponent(dvpModeID2b, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(labelEnergyb)
.addComponent(dvpEnergyb, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buttonSpecStart)
.addComponent(buttonSpecAbort))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel3Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {dvpEnergyb, dvpModeID1b, dvpModeID2b});
jTabbedPane1.addTab("Absorption Spectrum", jPanel3);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
@@ -1623,9 +1691,26 @@ public class Eiger extends Panel {
}
}//GEN-LAST:event_buttonRoiOpenActionPerformed
private void radioAvDetectorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioAvDetectorActionPerformed
try {
setSetting("AVERAGING_DETECTOR", true);
} catch (Exception ex) {
showException(ex);
}
}//GEN-LAST:event_radioAvDetectorActionPerformed
private void radioAvPshellActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioAvPshellActionPerformed
try {
setSetting("AVERAGING_DETECTOR", false);
} catch (Exception ex) {
showException(ex);
}
}//GEN-LAST:event_radioAvPshellActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton buttonAdd;
private javax.swing.JButton buttonClear;
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.JButton buttonImgAbort;
private javax.swing.JButton buttonImgStart;
private javax.swing.JToggleButton buttonMeasurements;
@@ -1650,15 +1735,30 @@ public class Eiger extends Panel {
private javax.swing.JCheckBox checkSpecWithI0;
private javax.swing.JComboBox<String> comboImgMethod;
private javax.swing.JComboBox<String> comboSwitch;
private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel10;
private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel11;
private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel6;
private ch.psi.pshell.swing.DeviceValuePanel deviceValuePanel7;
private ch.psi.pshell.swing.DeviceValuePanel dvpEnergya;
private ch.psi.pshell.swing.DeviceValuePanel dvpEnergyb;
private ch.psi.pshell.swing.DeviceValuePanel dvpEnergya1;
private ch.psi.pshell.swing.DeviceValuePanel dvpEnergya2;
private ch.psi.pshell.swing.DeviceValuePanel dvpEnergya3;
private ch.psi.pshell.swing.DeviceValuePanel dvpModeID1a;
private ch.psi.pshell.swing.DeviceValuePanel dvpModeID1a1;
private ch.psi.pshell.swing.DeviceValuePanel dvpModeID1a2;
private ch.psi.pshell.swing.DeviceValuePanel dvpModeID1b;
private ch.psi.pshell.swing.DeviceValuePanel dvpModeID2a;
private ch.psi.pshell.swing.DeviceValuePanel dvpModeID2a1;
private ch.psi.pshell.swing.DeviceValuePanel dvpModeID2a2;
private ch.psi.pshell.swing.DeviceValuePanel dvpModeID2b;
private javax.swing.Box.Filler filler1;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel17;
private ch.psi.pshell.swing.DeviceValuePanel dvpOffID1a;
private ch.psi.pshell.swing.DeviceValuePanel dvpOffID1b;
private ch.psi.pshell.swing.DeviceValuePanel dvpOffID2a;
private ch.psi.pshell.swing.DeviceValuePanel dvpOffID2b;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel23;
@@ -1675,32 +1775,45 @@ public class Eiger extends Panel {
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JPanel jPanel9;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JLabel labelEnergya;
private javax.swing.JLabel labelEnergyb;
private javax.swing.JLabel labelEnergya1;
private javax.swing.JLabel labelEnergya2;
private javax.swing.JLabel labelEnergya3;
private javax.swing.JLabel labelImgEng1;
private javax.swing.JLabel labelImgEng2;
private javax.swing.JLabel labelModeID1a;
private javax.swing.JLabel labelModeID1a1;
private javax.swing.JLabel labelModeID1a2;
private javax.swing.JLabel labelModeID1b;
private javax.swing.JLabel labelModeID2a;
private javax.swing.JLabel labelModeID2a1;
private javax.swing.JLabel labelModeID2a2;
private javax.swing.JLabel labelModeID2b;
private javax.swing.JLabel labelOffID1a;
private javax.swing.JLabel labelOffID1b;
private javax.swing.JLabel labelOffID2a;
private javax.swing.JLabel labelOffID2b;
private javax.swing.JLabel labelSwitching;
private javax.swing.JPanel panelFirstImage;
private javax.swing.JPanel panelImgControls;
private javax.swing.JPanel panelNorm;
private javax.swing.JPanel panelNorm1;
private javax.swing.JPanel panelNorm2;
private javax.swing.JPanel panelRoi;
private javax.swing.JPanel panelSecondImage;
private javax.swing.JPanel panelSpectrum;
private javax.swing.JRadioButton radioAvDetector;
private javax.swing.JRadioButton radioAvPshell;
private ch.psi.pshell.imaging.Renderer rendererRoi;
private javax.swing.JSpinner spinnerImgAvg1;
private javax.swing.JSpinner spinnerImgAvg2;
private javax.swing.JSpinner spinnerImgAvg;
private javax.swing.JSpinner spinnerImgEng1;
private javax.swing.JSpinner spinnerImgEng2;
private javax.swing.JSpinner spinnerImgExp1;
private javax.swing.JSpinner spinnerImgExp2;
private javax.swing.JSpinner spinnerImgExp;
private javax.swing.JSpinner spinnerImgMeasurements;
private javax.swing.JSpinner spinnerOutliersThreshold;
private javax.swing.JSpinner spinnerSpecAvg;

View File

@@ -8,6 +8,7 @@ class LEEM2000(TcpDevice):
self._mnemonics = None
self._names = None
self.high_voltage = Channel("X11MA-ES1-PEEM:UMON", alias = "PEEM high voltage", monitored=True)
self.debug = False
def doInitialize(self):
super(LEEM2000, self).doInitialize()
@@ -37,7 +38,8 @@ class LEEM2000(TcpDevice):
value = float(ret)
return value
except:
self.getLogger().info("Received invalid value for %s: %s" % (name, ret))
if self.debug:
self.getLogger().info("Received invalid value for %s: %s" % (name, ret))
return None
def set_value(self, name, value, timeout = 1000, retries = 1):

View File

@@ -86,7 +86,7 @@ def average_frames(source, samples=1, roi=None, wait_next=False, sleep=0, as_flo
def integrate_frames(source, samples=1, roi=None, wait_next=False, sleep=0, as_float=True):
return integrate_ips(grab_frames(source, samples, roi, wait_next, sleep), as_float)
"""
def grab_frame(source, roi=None, wait_next=False, outliers_threshold=None, outliers_mask=None):
def grab_frame(source, roi=None, wait_next=False, outliers_threshold=None, outliers_mask=None):
if outliers_threshold is None:
outliers_threshold = get_outliers_threshold()
if outliers_mask is None:
@@ -94,6 +94,7 @@ def grab_frame(source, roi=None, wait_next=False, outliers_threshold=None, outli
if wait_next:
if str(eiger.grabMode)=="Single":
eiger.waitReady(5000)
eiger.start()
#eiger.getDataArray().waitCacheChange(2000)
source.waitNext(20000 + int(eiger.exposure * 1000))
@@ -133,6 +134,7 @@ def average_frames(frames):
return ret
def _timestamp(prec=0):
t = time.time()
s = time.strftime("%y/%m/%d %H:%M:%S", time.localtime(t))
@@ -176,6 +178,7 @@ def save_as_tiff(data, filename, check=False, show = False, parallel=True, metad
_save_as_tiff(data, filename, check, show, metadata)
def trigger_eiger(wait=False):
eiger.waitReady(5000)
eiger.start()
if wait:
eiger.waitNewImage(20000)
@@ -183,7 +186,7 @@ def trigger_eiger(wait=False):
def get_eiger_exposure_readback():
return caget("X11MA-ES1-SD1:cam1:AcquireTime_RBV",'f')
def set_exposure_time(value, check = True, retries=3):
def set_exposure_time(value, check = True, retries=5):
if value == eiger.getExposure():
return
started = eiger.isStarted()
@@ -238,9 +241,10 @@ def stop_eiger():
eiger.stop()
eiger.grabMode=eiger.GrabMode.Single
eiger.stop()
time.sleep(0.3)
if eiger.acquire.read() >0:
raise Exception("Error stopping Eiger")
eiger.waitReady(5000)
time.sleep(0.1)
#if eiger.acquire.read() >0:
# raise Exception("Error stopping Eiger")
chrono_eiger = Chrono()
@@ -257,6 +261,7 @@ def init_eiger(exposure=None, check=True, retries=2):
set_eiger_number_of_frames(1)
if exposure:
set_exposure_time(exposure, check)
apply_averaging_detector(is_averaging_detector())
break
except:
if i==(retries-1):
@@ -275,8 +280,9 @@ def restore_eiger(check=True, retries=2):
eiger.setNumImages(1)# Is it relevant?
set_eiger_number_of_frames(1, check)
set_exposure_time(0.2, check)
eiger.grabMode=eiger.GrabMode.Continuous
eiger.start()
apply_averaging_detector(False)
eiger.grabMode=eiger.GrabMode.Continuous
eiger.start()
chrono_eiger = Chrono()
break
except:
@@ -285,6 +291,29 @@ def restore_eiger(check=True, retries=2):
else:
print "Error restoring Eiger, retrying " + str(sys.exc_info()[1])
def is_averaging_detector():
return str(get_setting("AVERAGING_DETECTOR")).lower()=="true"
def apply_averaging_detector(value):
if value:
caput("X11MA-ES1-SD1:Proc1:EnableCallbacks", True)
caput("X11MA-ES1-SD1:Proc1:EnableFilter", True)
else:
caput("X11MA-ES1-SD1:Proc1:EnableFilter", False)
caput("X11MA-ES1-SD1:Proc1:NumFilter", 1)
caput("X11MA-ES1-SD1:cam1:NumCycles", 1)
def average_eiger_frames(samples, roi=None, wait_next=False, sleep=0, outliers_threshold=None, outliers_mask=None):
if is_averaging_detector():
caput("X11MA-ES1-SD1:Proc1:NumFilter", samples)
caput("X11MA-ES1-SD1:cam1:NumCycles", samples)
return grab_frame(image, roi, wait_next, outliers_threshold, outliers_mask)
else:
ret = grab_frames(image, samples, roi, wait_next, sleep, outliers_threshold, outliers_mask)
return average_frames(ret) if samples > 1 else ret[0]
_outliers_mask_timestamp = 0
_outliers_mask = None

View File

@@ -437,6 +437,7 @@ def put_energy(v):
def change_energy(v):
if v<91 or v>2500:
raise Exception ("Invalid energy: " + str(v))
print "Setting energy: " + str(v)
if DRY_RUN:
return
put_energy(v)

View File

@@ -5,14 +5,10 @@ if get_exec_pars().source == CommandSource.ui:
SWITCHING = "Tune_Detune"
MEASUREMENTS = 4
AUTO_SAVE = True
EXPOSURE_1 = 1.0
AVERAGE_1 = 2.0
EXPOSURE = 1.0
AVERAGE = 2.0
ENERGY_1 = 850.0
#POLARIZATION_1 = "Circ_Plus"
EXPOSURE_2 = 1.0
AVERAGE_2 = 2.0
ENERGY_2= 900.0
#POLARIZATION_2 = "Circ_Minus"
@@ -21,8 +17,6 @@ SAVE_DIAGS = True
SAVE_DIAGS = True
ID = get_setting("ID")
EXPOSURE = [EXPOSURE_1, EXPOSURE_2]
ENERGY = [ENERGY_1, ENERGY_2]
#POLARIZATION = [POLARIZATION_1, POLARIZATION_2]
@@ -117,7 +111,7 @@ def save_image_file(frame, cycle=-1, frame_index=0):
log(filename)
print filename
# log("SV:"+Format(startvoltage,"0.000")+" OB:"+Format(objective,"0.00")+" ST:"+Format(LEEMtemp,"0.0"))
init_eiger(exposure=EXPOSURE)
#print "Startup time: " + str(time.time() - start)
try:
@@ -132,13 +126,12 @@ try:
change_energy(ENERGY_1)
for i in range(2):
if (cycle == 1) or (METHOD != "Take_Image"):
assert_status_ok()
set_exposure_time(EXPOSURE[i])
if (cycle == 1) or (METHOD != "Take_Image"):
assert_status_ok()
print "--- Grabing " + str(AVERAGE)+ " frames - cycle: " + str(cycle) + " step: " + str(i)
#s=time.time()
#s=time.time()
av = average_eiger_frames(AVERAGE, roi=None, wait_next=True)
#print "--- Time: " + str(time.time() - s)
#print "--- Time: " + str(time.time() - s)
frames.append(av)
imageinfo("I")
save_image_file(frames[i], cycle, i)
@@ -150,7 +143,6 @@ try:
if METHOD == "Two_Pol":
print "--- Switching polatization..."
switch_pol()
if METHOD == "Two_Energies":
if METHOD == "Two_Energies":
change_energy(ENERGY_2)
#time.sleep(1)

View File

@@ -59,9 +59,9 @@ if WITH_I0:
av=None
def grab_image(position, scan):
global av
frames = grab_frames(image, AVERAGE, roi=None, wait_next=True)
av = average_frames(frames)
global av
av = average_eiger_frames(AVERAGE, roi=None, wait_next=True)
if SAVE_IMAGES:
#Scan_Nr = (scan.recordIndex-1)/NUMBER_SCANS
#filename = get_exec_pars().path + "/" + ("%02d" % Scan_Nr) + "/s" + "{seq}%03d" + "_" + ("%03d.tif" % scan.recordIndex)