This commit is contained in:
@@ -60,6 +60,7 @@ public class Eiger extends Panel {
|
||||
|
||||
final Component[] parameterControls;
|
||||
final ArrayList<Rect> rois = new ArrayList<>();
|
||||
final DefaultTableModel modelRegions;
|
||||
|
||||
public Eiger() {
|
||||
initComponents();
|
||||
@@ -121,6 +122,7 @@ public class Eiger extends Panel {
|
||||
}
|
||||
}
|
||||
});
|
||||
modelRegions = (DefaultTableModel) tableRegions.getModel();
|
||||
}
|
||||
|
||||
//Overridable callbacks
|
||||
@@ -167,6 +169,9 @@ public class Eiger extends Panel {
|
||||
|
||||
buttonImgStart.setEnabled(getState() == State.Ready);
|
||||
buttonImgAbort.setEnabled(getState().isProcessing());
|
||||
|
||||
buttonSpecStart.setEnabled(getState() == State.Ready);
|
||||
buttonSpecAbort.setEnabled(getState().isProcessing());
|
||||
}
|
||||
|
||||
void updateRoiList() {
|
||||
@@ -274,6 +279,15 @@ public class Eiger extends Panel {
|
||||
}
|
||||
|
||||
void runAbsSpectrum() throws Context.ContextStateException {
|
||||
List ranges = new ArrayList();
|
||||
for (int i=0; i<modelRegions.getRowCount();i++ ){
|
||||
List row = new ArrayList();
|
||||
row.add(modelRegions.getValueAt(i, 0));
|
||||
row.add(modelRegions.getValueAt(i, 1));
|
||||
row.add(modelRegions.getValueAt(i, 2));
|
||||
ranges.add(row);
|
||||
}
|
||||
|
||||
HashMap args = new HashMap();
|
||||
args.put("SAVE_SPECTRUM", checkSpecSaveSpectrum.isSelected());
|
||||
args.put("SAVE_IMAGES", checkSpecSaveImages.isSelected());
|
||||
@@ -282,6 +296,7 @@ public class Eiger extends Panel {
|
||||
args.put("EXPOSURE", spinnerSpecExp.getValue());
|
||||
args.put("AVERAGE", spinnerSpecAvg.getValue());
|
||||
args.put("NUMBER_SCANS", spinnerSpecScans.getValue());
|
||||
args.put("RANGES", ranges);
|
||||
setBeamlineArgs(args);
|
||||
|
||||
runAsync("templates/EigerAbsSpec", args).handle((ret, t) -> {
|
||||
@@ -381,6 +396,11 @@ public class Eiger extends Panel {
|
||||
spinnerSpecExp = new javax.swing.JSpinner();
|
||||
checkSpecWithI0 = new javax.swing.JCheckBox();
|
||||
checkSpecSaveSpectrum = new javax.swing.JCheckBox();
|
||||
jPanel4 = new javax.swing.JPanel();
|
||||
jScrollPane2 = new javax.swing.JScrollPane();
|
||||
tableRegions = new javax.swing.JTable();
|
||||
buttonAdd = new javax.swing.JButton();
|
||||
buttonRemove = new javax.swing.JButton();
|
||||
buttonSpecStart = new javax.swing.JButton();
|
||||
buttonSpecAbort = new javax.swing.JButton();
|
||||
|
||||
@@ -1066,6 +1086,69 @@ public class Eiger extends Panel {
|
||||
checkSpecSaveSpectrum.setSelected(true);
|
||||
checkSpecSaveSpectrum.setText("Save spectrum");
|
||||
|
||||
jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Ranges"));
|
||||
|
||||
tableRegions.setModel(new javax.swing.table.DefaultTableModel(
|
||||
new Object [][] {
|
||||
|
||||
},
|
||||
new String [] {
|
||||
"Start", "End", "Step"
|
||||
}
|
||||
) {
|
||||
Class[] types = new Class [] {
|
||||
java.lang.Double.class, java.lang.Double.class, java.lang.Double.class
|
||||
};
|
||||
|
||||
public Class getColumnClass(int columnIndex) {
|
||||
return types [columnIndex];
|
||||
}
|
||||
});
|
||||
jScrollPane2.setViewportView(tableRegions);
|
||||
|
||||
buttonAdd.setText("Add");
|
||||
buttonAdd.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
buttonAddActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonRemove.setText("Remove");
|
||||
buttonRemove.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
buttonRemoveActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
|
||||
jPanel4.setLayout(jPanel4Layout);
|
||||
jPanel4Layout.setHorizontalGroup(
|
||||
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel4Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
|
||||
.addGroup(jPanel4Layout.createSequentialGroup()
|
||||
.addComponent(buttonAdd)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 88, Short.MAX_VALUE)
|
||||
.addComponent(buttonRemove)))
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
jPanel4Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonAdd, buttonRemove});
|
||||
|
||||
jPanel4Layout.setVerticalGroup(
|
||||
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel4Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(buttonAdd)
|
||||
.addComponent(buttonRemove))
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
javax.swing.GroupLayout panelSpectrumLayout = new javax.swing.GroupLayout(panelSpectrum);
|
||||
panelSpectrum.setLayout(panelSpectrumLayout);
|
||||
panelSpectrumLayout.setHorizontalGroup(
|
||||
@@ -1078,41 +1161,47 @@ public class Eiger extends Panel {
|
||||
.addComponent(jLabel25))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(panelSpectrumLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(checkSpecSwitchPol)
|
||||
.addComponent(checkSpecWithI0)
|
||||
.addComponent(checkSpecSaveImages)
|
||||
.addComponent(checkSpecSwitchPol)
|
||||
.addComponent(checkSpecSaveSpectrum)
|
||||
.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))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
panelSpectrumLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerSpecAvg, spinnerSpecExp, spinnerSpecScans});
|
||||
|
||||
panelSpectrumLayout.setVerticalGroup(
|
||||
panelSpectrumLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelSpectrumLayout.createSequentialGroup()
|
||||
.addGroup(panelSpectrumLayout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(checkSpecSaveSpectrum)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(checkSpecSaveImages)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(checkSpecWithI0)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(panelSpectrumLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel23)
|
||||
.addComponent(spinnerSpecExp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(panelSpectrumLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel24)
|
||||
.addComponent(spinnerSpecAvg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(panelSpectrumLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel25)
|
||||
.addComponent(spinnerSpecScans, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(checkSpecSwitchPol)
|
||||
.addGroup(panelSpectrumLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(panelSpectrumLayout.createSequentialGroup()
|
||||
.addComponent(checkSpecSaveSpectrum)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(checkSpecSaveImages)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(checkSpecWithI0)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(panelSpectrumLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel23)
|
||||
.addComponent(spinnerSpecExp, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(panelSpectrumLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel24)
|
||||
.addComponent(spinnerSpecAvg, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addGroup(panelSpectrumLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel25)
|
||||
.addComponent(spinnerSpecScans, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, 19, Short.MAX_VALUE)
|
||||
.addComponent(checkSpecSwitchPol)
|
||||
.addGap(0, 11, Short.MAX_VALUE))
|
||||
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
@@ -1135,15 +1224,16 @@ public class Eiger extends Panel {
|
||||
jPanel3Layout.setHorizontalGroup(
|
||||
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel3Layout.createSequentialGroup()
|
||||
.addGap(211, 211, 211)
|
||||
.addComponent(panelSpectrum, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap(215, 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))
|
||||
.addContainerGap()
|
||||
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
|
||||
.addGap(0, 224, Short.MAX_VALUE)
|
||||
.addComponent(buttonSpecStart)
|
||||
.addGap(76, 76, 76)
|
||||
.addComponent(buttonSpecAbort)
|
||||
.addGap(0, 224, Short.MAX_VALUE))
|
||||
.addComponent(panelSpectrum, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
jPanel3Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonSpecAbort, buttonSpecStart});
|
||||
@@ -1152,8 +1242,8 @@ public class Eiger extends Panel {
|
||||
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel3Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(panelSpectrum, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 30, Short.MAX_VALUE)
|
||||
.addComponent(panelSpectrum, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGap(33, 33, 33)
|
||||
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(buttonSpecStart)
|
||||
.addComponent(buttonSpecAbort))
|
||||
@@ -1290,10 +1380,23 @@ public class Eiger extends Panel {
|
||||
}
|
||||
}//GEN-LAST:event_buttonTriggerDetectorActionPerformed
|
||||
|
||||
private void buttonAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonAddActionPerformed
|
||||
modelRegions.addRow(new Object[]{Double.NaN, Double.NaN, Double.NaN});
|
||||
}//GEN-LAST:event_buttonAddActionPerformed
|
||||
|
||||
private void buttonRemoveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonRemoveActionPerformed
|
||||
int row = tableRegions.getSelectedRow();
|
||||
if (row>=0){
|
||||
modelRegions.removeRow(row);
|
||||
}
|
||||
}//GEN-LAST:event_buttonRemoveActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JButton buttonAdd;
|
||||
private javax.swing.JButton buttonDefaultPath;
|
||||
private javax.swing.JButton buttonImgAbort;
|
||||
private javax.swing.JButton buttonImgStart;
|
||||
private javax.swing.JButton buttonRemove;
|
||||
private javax.swing.JButton buttonRoiAdd;
|
||||
private javax.swing.JButton buttonRoiRemove;
|
||||
private javax.swing.JButton buttonSetPath;
|
||||
@@ -1346,10 +1449,12 @@ public class Eiger extends Panel {
|
||||
private javax.swing.JPanel jPanel10;
|
||||
private javax.swing.JPanel jPanel2;
|
||||
private javax.swing.JPanel jPanel3;
|
||||
private javax.swing.JPanel jPanel4;
|
||||
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 labelSwitching;
|
||||
private javax.swing.JPanel panelBeamline;
|
||||
@@ -1376,6 +1481,7 @@ public class Eiger extends Panel {
|
||||
private javax.swing.JSpinner spinnerSpecAvg;
|
||||
private javax.swing.JSpinner spinnerSpecExp;
|
||||
private javax.swing.JSpinner spinnerSpecScans;
|
||||
private javax.swing.JTable tableRegions;
|
||||
private javax.swing.JTable tableRoi;
|
||||
private javax.swing.JTextField textDataPath;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
Reference in New Issue
Block a user