This commit is contained in:
gac-x11ma
2020-02-04 12:08:13 +01:00
parent a0b61220e9
commit 27152efce8
9 changed files with 243 additions and 233 deletions

View File

@@ -231,8 +231,7 @@ public class Eiger extends Panel {
}
void setBeamlineArgs(HashMap args) {
args.put("ID", comboID.getSelectedItem());
args.put("SWITCHING", comboSwitch.getSelectedItem());
args.put("ID", comboID.getSelectedItem());
args.put("POL_ID_1", comboPol1.getSelectedItem());
args.put("ALPHA_ID_1", spinnerAlp1.getValue());
args.put("HARMONIC_ID_1", spinnerHar1.getValue());
@@ -240,26 +239,16 @@ public class Eiger extends Panel {
args.put("POL_ID_2", comboPol2.getSelectedItem());
args.put("ALPHA_ID_2", spinnerAlp2.getValue());
args.put("HARMONIC_ID_2", spinnerHar2.getValue());
args.put("OFFSET_ID_2", spinnerOff2.getValue());
Map<String, List<Integer>> roi = new HashMap<>();
for (int i=0; i<rois.size(); i++){
roi.put("Region" + (i+1), Arrays.asList(new Integer[] { rois.get(i).getPosition().x,
rois.get(i).getPosition().y,
rois.get(i).getSize().width,
rois.get(i).getSize().height}));
}
args.put("ROI", roi);
args.put("OFFSET_ID_2", spinnerOff2.getValue());
}
void run2Images() throws Context.ContextStateException {
HashMap args = new HashMap();
args.put("METHOD", comboImgMethod.getSelectedItem());
args.put("SWITCHING", comboSwitch.getSelectedItem());
args.put("MEASUREMENTS", spinnerImgMeasurements.getValue());
args.put("CONTRAST", spinnerImgContrast.getValue());
args.put("AUTO_SAVE", checkImgAutosave.isSelected());
args.put("AS_SEQUENCE", checImgAsSeq.isSelected());
args.put("EXPOSURE_1", spinnerImgExp1.getValue());
args.put("AVERAGE_1", spinnerImgAvg1.getValue());
args.put("ENERGY_1", spinnerImgEng1.getValue());
@@ -267,8 +256,7 @@ public class Eiger extends Panel {
args.put("EXPOSURE_2", spinnerImgExp2.getValue());
args.put("AVERAGE_2", spinnerImgAvg2.getValue());
args.put("ENERGY_2", spinnerImgEng2.getValue());
args.put("POLARIZATION_2", comboImgPol2.getSelectedItem());
setBeamlineArgs(args);
args.put("POLARIZATION_2", comboImgPol2.getSelectedItem());
runAsync("templates/Eiger2Img", args).handle((ret, t) -> {
if ((t != null) && (!getContext().isAborted())) {
@@ -297,7 +285,15 @@ public class Eiger extends Panel {
args.put("AVERAGE", spinnerSpecAvg.getValue());
args.put("NUMBER_SCANS", spinnerSpecScans.getValue());
args.put("RANGES", ranges);
setBeamlineArgs(args);
Map<String, List<Integer>> roi = new HashMap<>();
for (int i=0; i<rois.size(); i++){
roi.put("Region" + (i+1), Arrays.asList(new Integer[] { rois.get(i).getPosition().x,
rois.get(i).getPosition().y,
rois.get(i).getSize().width,
rois.get(i).getSize().height}));
}
args.put("ROI", roi);
runAsync("templates/EigerAbsSpec", args).handle((ret, t) -> {
if ((t != null) && (!getContext().isAborted())) {
@@ -306,6 +302,20 @@ public class Eiger extends Panel {
return t;
});
}
void applyBeamline() throws Context.ContextStateException {
HashMap args = new HashMap();
setBeamlineArgs(args);
runAsync("templates/SetupBeamline", args).handle((ret, t) -> {
if ((t != null) && (!getContext().isAborted())) {
showException((Exception) t);
}
return t;
});
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
@@ -325,9 +335,7 @@ public class Eiger extends Panel {
jLabel1 = new javax.swing.JLabel();
panelBeamline = new javax.swing.JPanel();
jLabel3 = new javax.swing.JLabel();
labelSwitching = new javax.swing.JLabel();
comboID = new javax.swing.JComboBox<String>();
comboSwitch = new javax.swing.JComboBox<String>();
jPanel7 = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();
comboPol1 = new javax.swing.JComboBox<String>();
@@ -346,6 +354,7 @@ public class Eiger extends Panel {
spinnerHar2 = new javax.swing.JSpinner();
jLabel16 = new javax.swing.JLabel();
spinnerOff2 = new javax.swing.JSpinner();
buttonApply = new javax.swing.JButton();
panelRoi = new javax.swing.JPanel();
rendererRoi = new ch.psi.pshell.imaging.Renderer();
jLabel26 = new javax.swing.JLabel();
@@ -380,10 +389,9 @@ public class Eiger extends Panel {
spinnerImgMeasurements = new javax.swing.JSpinner();
comboImgMethod = new javax.swing.JComboBox<String>();
jLabel20 = new javax.swing.JLabel();
checImgAsSeq = new javax.swing.JCheckBox();
checkImgAutosave = new javax.swing.JCheckBox();
jLabel22 = new javax.swing.JLabel();
spinnerImgContrast = new javax.swing.JSpinner();
labelSwitching = new javax.swing.JLabel();
comboSwitch = new javax.swing.JComboBox<String>();
jPanel3 = new javax.swing.JPanel();
panelSpectrum = new javax.swing.JPanel();
jLabel23 = new javax.swing.JLabel();
@@ -523,12 +531,8 @@ public class Eiger extends Panel {
jLabel3.setText("ID:");
labelSwitching.setText("Switching:");
comboID.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
comboSwitch.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("ID1"));
jLabel5.setText("Polarization:");
@@ -653,45 +657,47 @@ public class Eiger extends Panel {
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
buttonApply.setText("Apply");
buttonApply.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
buttonApplyActionPerformed(evt);
}
});
javax.swing.GroupLayout panelBeamlineLayout = new javax.swing.GroupLayout(panelBeamline);
panelBeamline.setLayout(panelBeamlineLayout);
panelBeamlineLayout.setHorizontalGroup(
panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelBeamlineLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(labelSwitching)
.addComponent(jLabel3))
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(comboID, 0, 121, Short.MAX_VALUE)
.addComponent(comboSwitch, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(18, 18, Short.MAX_VALUE)
.addComponent(comboID, 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)
.addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addComponent(jPanel9, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
.addGroup(panelBeamlineLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonApply, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelBeamlineLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboID, comboSwitch});
panelBeamlineLayout.setVerticalGroup(
panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelBeamlineLayout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap()
.addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel9, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(panelBeamlineLayout.createSequentialGroup()
.addGap(30, 30, 30)
.addGroup(panelBeamlineLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(comboID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))
.addGap(18, 18, 18)
.addGroup(panelBeamlineLayout.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))))
.addContainerGap())
.addComponent(comboID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(buttonApply)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
@@ -776,7 +782,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, 439, Short.MAX_VALUE)
.addComponent(rendererRoi, javax.swing.GroupLayout.DEFAULT_SIZE, 443, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addGroup(panelRoiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jLabel26)
@@ -966,15 +972,12 @@ public class Eiger extends Panel {
jLabel20.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel20.setText("Measurements:");
checImgAsSeq.setText("As Sequence");
checkImgAutosave.setSelected(true);
checkImgAutosave.setText("Autosave");
jLabel22.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
jLabel22.setText("Contrast:");
labelSwitching.setText("Switching:");
spinnerImgContrast.setModel(new javax.swing.SpinnerNumberModel(0.0d, 0.0d, 1000.0d, 1.0d));
comboSwitch.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
javax.swing.GroupLayout panelImgControlsLayout = new javax.swing.GroupLayout(panelImgControls);
panelImgControls.setLayout(panelImgControlsLayout);
@@ -983,16 +986,15 @@ public class Eiger extends Panel {
.addGroup(panelImgControlsLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelImgControlsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(labelSwitching)
.addComponent(jLabel21)
.addComponent(jLabel20)
.addComponent(jLabel22))
.addComponent(jLabel20))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelImgControlsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spinnerImgMeasurements, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(comboImgMethod, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(checkImgAutosave)
.addComponent(checImgAsSeq)
.addComponent(spinnerImgContrast, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(panelImgControlsLayout.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))
.addGap(18, 18, Short.MAX_VALUE)
.addComponent(jPanel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(18, 18, Short.MAX_VALUE)
@@ -1000,7 +1002,7 @@ public class Eiger extends Panel {
.addContainerGap())
);
panelImgControlsLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {checImgAsSeq, checkImgAutosave, comboImgMethod, spinnerImgContrast, spinnerImgMeasurements});
panelImgControlsLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {checkImgAutosave, comboImgMethod, comboSwitch, spinnerImgMeasurements});
panelImgControlsLayout.setVerticalGroup(
panelImgControlsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1017,14 +1019,12 @@ public class Eiger extends Panel {
.addGroup(panelImgControlsLayout.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))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGap(6, 6, 6)
.addGroup(panelImgControlsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel22)
.addComponent(spinnerImgContrast, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.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)
.addGap(11, 11, 11)
.addComponent(checImgAsSeq)))
.addComponent(checkImgAutosave)))
.addContainerGap())
);
@@ -1052,7 +1052,7 @@ public class Eiger extends Panel {
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(18, 18, 18)
.addComponent(panelImgControls, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 82, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 87, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buttonImgStart)
.addComponent(buttonImgAbort))
@@ -1227,11 +1227,11 @@ public class Eiger extends Panel {
.addContainerGap()
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
.addGap(0, 224, Short.MAX_VALUE)
.addGap(0, 226, Short.MAX_VALUE)
.addComponent(buttonSpecStart)
.addGap(76, 76, 76)
.addComponent(buttonSpecAbort)
.addGap(0, 224, Short.MAX_VALUE))
.addGap(0, 226, Short.MAX_VALUE))
.addComponent(panelSpectrum, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
@@ -1256,7 +1256,7 @@ public class Eiger extends Panel {
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 691, Short.MAX_VALUE)
.addComponent(jTabbedPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 691, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1391,8 +1391,17 @@ public class Eiger extends Panel {
}
}//GEN-LAST:event_buttonRemoveActionPerformed
private void buttonApplyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonApplyActionPerformed
try {
applyBeamline();
} catch (Exception ex) {
showException(ex);
}
}//GEN-LAST:event_buttonApplyActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton buttonAdd;
private javax.swing.JButton buttonApply;
private javax.swing.JButton buttonDefaultPath;
private javax.swing.JButton buttonImgAbort;
private javax.swing.JButton buttonImgStart;
@@ -1406,7 +1415,6 @@ public class Eiger extends Panel {
private javax.swing.JButton buttonTriggerDetector;
private javax.swing.JButton buttonUndoPath;
private javax.swing.JButton buttonUndoSeq;
private javax.swing.JCheckBox checImgAsSeq;
private javax.swing.JCheckBox checkImgAutosave;
private javax.swing.JCheckBox checkSpecSaveImages;
private javax.swing.JCheckBox checkSpecSaveSpectrum;
@@ -1433,7 +1441,6 @@ public class Eiger extends Panel {
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
private javax.swing.JLabel jLabel23;
private javax.swing.JLabel jLabel24;
private javax.swing.JLabel jLabel25;
@@ -1469,7 +1476,6 @@ public class Eiger extends Panel {
private javax.swing.JSpinner spinnerHar2;
private javax.swing.JSpinner spinnerImgAvg1;
private javax.swing.JSpinner spinnerImgAvg2;
private javax.swing.JSpinner spinnerImgContrast;
private javax.swing.JSpinner spinnerImgEng1;
private javax.swing.JSpinner spinnerImgEng2;
private javax.swing.JSpinner spinnerImgExp1;