diff --git a/correlation/scripts/app_editor b/correlation/scripts/app_editor
index afc4f3e..c24cb4f 100644
--- a/correlation/scripts/app_editor
+++ b/correlation/scripts/app_editor
@@ -1,7 +1,7 @@
#!/bin/sh
# Run the workbench configured with the package paths, loading the plugin.
-exec pshell-workbench -b -l -g -nbcf \$${app_args_var} \
+exec pshell-workbench -b -l -g \$${app_args_var} \
-plgp ${pkg_folder}/plugins \
-scpt ${pkg_folder}/script \
-devp ${pkg_folder}/devices \
diff --git a/correlation/scripts/app_startup b/correlation/scripts/app_startup
index b8a24ce..3ae5d0a 100644
--- a/correlation/scripts/app_startup
+++ b/correlation/scripts/app_startup
@@ -1,5 +1,5 @@
#!/bin/sh
# Run the package with application specific arguments, and all command-line passed arguments
-exec pshell-workbench -b -d -l -k -g -q -nbcf -statusbar -size=1000x700 -console_log=SEVERE -m ${pkg_folder} \$${app_args_var} "\$@"
+exec pshell-workbench -b -d -l -k -g -q -statusbar -size=1000x700 -console_log=SEVERE -m ${pkg_folder} \$${app_args_var} "\$@"
diff --git a/psss-panel/assembly/bin/psss_panel b/psss-panel/assembly/bin/psss_panel
deleted file mode 100755
index 7cb7643..0000000
--- a/psss-panel/assembly/bin/psss_panel
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-
-MY_PATH=$(dirname "$0")
-export PKG=${MY_PATH}/..
-
-#Check if running as e-account
-for i in "$@"
-do
-case $i in
-
- -pkg=*)
- export PKG="${i#*=}"
- ;;
-
- *) # unknown option
- ;;
-esac
-done
-
-/opt/gfa/pshell/pshell \
- -version=default \
- -py3 \
- -m=${PKG} \
- -z \
- -nbcf=true \
- -laf=dark \
- -d \
- -pini=true \
- -clog=WARNING \
- -sbar \
- $@
diff --git a/psss-panel/assembly/bin/psss_panel_editor b/psss-panel/assembly/bin/psss_panel_editor
deleted file mode 100755
index ca5c5d9..0000000
--- a/psss-panel/assembly/bin/psss_panel_editor
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-
-MY_PATH=$(dirname "$0")
-export PKG=${MY_PATH}/..
-
-#Check if running as e-account
-for i in "$@"
-do
-case $i in
-
- -pkg=*)
- export PKG="${i#*=}"
- ;;
-
- *) # unknown option
- ;;
-esac
-done
-
-
-/opt/gfa/pshell/pshell \
- -version=default \
- -z \
- -py3 \
- -nbcf=true \
- -laf=dark \
- -pini=true \
- -plgp=${PKG}/plugins \
- -scpt=${PKG}/script \
- -devp=${PKG}/devices \
- -pool=${PKG}/config/devices.properties \
- -p=Correlation.java \
- $@
diff --git a/psss-panel/assembly/config/devices.properties b/psss-panel/assembly/config/devices.properties
deleted file mode 100755
index 1a9eafc..0000000
--- a/psss-panel/assembly/config/devices.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-psss_fwhm_avg=ch.psi.pshell.epics.ChannelDouble|SARFE10-PSSS059:REL-E-SPREAD|||true
-dispatcher=ch.psi.pshell.bs.Dispatcher|https://dispatcher-api.psi.ch/sf|||
-cam_server=ch.psi.pshell.bs.PipelineServer|sf-daqsync-01:8889|||
-energy_machine=ch.psi.pshell.epics.ChannelDouble|SARFE10-PBPG050:ENERGY|||true
-psss_energy=ch.psi.pshell.epics.ChannelDouble|SARFE10-PSSS059:ENERGY|||true
-psss_spectrum_x=ch.psi.pshell.epics.ChannelDoubleArray|SARFE10-PSSS059:SPECTRUM_X -1 -3|||true
-psss_spectrum_y=ch.psi.pshell.epics.ChannelDoubleArray|SARFE10-PSSS059:SPECTRUM_Y -1 -3|||true
-psss_center=ch.psi.pshell.epics.ChannelDouble|SARFE10-PSSS059:SPECTRUM_CENTER|||true
-psss_fwhm=ch.psi.pshell.epics.ChannelDouble|SARFE10-PSSS059:SPECTRUM_FWHM|||true
-psss_roi_min=ch.psi.pshell.epics.ChannelInteger|SARFE10-PSSS059:SPC_ROI_YMIN|||true
-psss_roi_max=ch.psi.pshell.epics.ChannelInteger|SARFE10-PSSS059:SPC_ROI_YMAX|||true
-histo_center=ch.psi.pshell.device.HistogramGenerator|psss_center|||true
-histo_fwhm=ch.psi.pshell.device.HistogramGenerator|psss_fwhm|||true
-psss_spectrum_y_average=ch.psi.pshell.device.ArrayAverager|psss_spectrum_y|||true
-psss_center_average=ch.psi.pshell.device.Averager|psss_center|||true
-psss_fwhm_average=ch.psi.pshell.device.Averager|psss_fwhm|||true
diff --git a/psss-panel/assembly/config/jcae.properties b/psss-panel/assembly/config/jcae.properties
deleted file mode 100755
index 0e02d88..0000000
--- a/psss-panel/assembly/config/jcae.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-#Mon Feb 22 20:35:07 CET 2021
-ch.psi.jcae.ContextFactory.addressList=
-ch.psi.jcae.ContextFactory.serverPort=
-ch.psi.jcae.ContextFactory.maxArrayBytes=50000000
-ch.psi.jcae.ChannelFactory.retries=1
-ch.psi.jcae.ChannelFactory.timeout=1250
-ch.psi.jcae.impl.DefaultChannelService.retries=4
-ch.psi.jcae.impl.DefaultChannelService.timeout=1000
-ch.psi.jcae.ContextFactory.autoAddressList=true
-ch.psi.jcae.ContextFactory.useShellVariables=true
-ch.psi.jcae.ContextFactory.addLocalBroadcastInterfaces=false
-ch.psi.jcae.ContextFactory.maxSendArrayBytes=1000000
diff --git a/psss-panel/assembly/devices/cam_server.properties b/psss-panel/assembly/devices/cam_server.properties
deleted file mode 100755
index 7f7cedb..0000000
--- a/psss-panel/assembly/devices/cam_server.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#Mon Jan 17 16:00:40 CET 2022
-spatialCalOffsetY=-50.02549719530852
-spatialCalOffsetX=-50.01953888237593
-colormapLogarithmic=false
-scale=1.0
-grayscale=false
-spatialCalScaleX=-1.0
-spatialCalScaleY=-1.0
-colormapMax=255.0
-rescaleOffset=0.0
-roiWidth=-1
-colormap=Temperature
-invert=false
-colormapMin=0.0
-rotationCrop=false
-rotation=0.0
-rescaleFactor=1.0
-spatialCalUnits=mm
-flipVertically=false
-roiHeight=-1
-flipHorizontally=false
-colormapAutomatic=true
-roiY=0
-roiX=0
-transpose=false
diff --git a/psss-panel/assembly/devices/dispatcher.properties b/psss-panel/assembly/devices/dispatcher.properties
deleted file mode 100755
index 9891517..0000000
--- a/psss-panel/assembly/devices/dispatcher.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-#Wed Jun 03 18:45:57 CEST 2020
-sendStrategy=complete_all
-dropIncomplete=false
-keepListeningOnStop=false
-disableCompression=false
-parallelHandlerProcessing=true
-sendBuildChannelConfig=at_startup
-sendAwaitFirstMessage=false
-socketType=DEFAULT
-validationInconsistency=keep_as_is
-byteBufferAllocator=false
-mappingIncomplete=fill_null
-sendSyncTimeout=0
diff --git a/psss-panel/assembly/devices/histo_center.properties b/psss-panel/assembly/devices/histo_center.properties
deleted file mode 100755
index dfccc99..0000000
--- a/psss-panel/assembly/devices/histo_center.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Tue Jun 15 11:03:15 CEST 2021
-bins=1000
-min=11400.0
-max=11200.0
-precision=-1
-numberOfSamples=10000
diff --git a/psss-panel/assembly/devices/histo_fwhm.properties b/psss-panel/assembly/devices/histo_fwhm.properties
deleted file mode 100755
index da35091..0000000
--- a/psss-panel/assembly/devices/histo_fwhm.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Fri Apr 30 07:45:13 CEST 2021
-bins=1000
-min=0.0
-max=40.0
-precision=-1
-numberOfSamples=10000
diff --git a/psss-panel/assembly/devices/psss_center_average.properties b/psss-panel/assembly/devices/psss_center_average.properties
deleted file mode 100755
index 6a20991..0000000
--- a/psss-panel/assembly/devices/psss_center_average.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Mon May 03 09:21:35 CEST 2021
-measures=10
-precision=-1
-interval=-1
diff --git a/psss-panel/assembly/devices/psss_fwhm_average.properties b/psss-panel/assembly/devices/psss_fwhm_average.properties
deleted file mode 100755
index 6aeec64..0000000
--- a/psss-panel/assembly/devices/psss_fwhm_average.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Mon May 03 09:21:52 CEST 2021
-measures=10
-precision=-1
-interval=-1
diff --git a/psss-panel/assembly/devices/psss_spectrum_y_average.properties b/psss-panel/assembly/devices/psss_spectrum_y_average.properties
deleted file mode 100755
index 2c2e72a..0000000
--- a/psss-panel/assembly/devices/psss_spectrum_y_average.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-#Mon May 03 09:15:04 CEST 2021
-measures=10
-precision=-1
-interval=-1
-integrate=false
diff --git a/psss-panel/assembly/plugins/PSSS.form b/psss-panel/assembly/plugins/PSSS.form
deleted file mode 100755
index cab1b86..0000000
--- a/psss-panel/assembly/plugins/PSSS.form
+++ /dev/null
@@ -1,715 +0,0 @@
-
-
-
diff --git a/psss-panel/assembly/plugins/PSSS.java b/psss-panel/assembly/plugins/PSSS.java
deleted file mode 100755
index e652bf2..0000000
--- a/psss-panel/assembly/plugins/PSSS.java
+++ /dev/null
@@ -1,760 +0,0 @@
-import ch.psi.pshell.bs.PipelineServer;
-import ch.psi.pshell.core.Context;
-import ch.psi.pshell.epics.ChannelDouble;
-import ch.psi.pshell.imaging.RendererMode;
-import ch.psi.pshell.plot.Plot;
-import ch.psi.pshell.plot.LinePlotJFree;
-import ch.psi.pshell.ui.Panel;
-import ch.psi.utils.Convert;
-import ch.psi.utils.State;
-import ch.psi.utils.Str;
-import java.awt.CardLayout;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-
-
-/**
- *
- */
-public class PSSS extends Panel {
-
- final String CAMERA_NAME = "SARFE10-PSSS059";
- PipelineServer pipelineServer;
- volatile boolean updatingPlot;
- volatile boolean updatingImage;
-
- public PSSS() {
- initComponents();
- plot.getAxis(Plot.AxisId.X).setLabel(null);
- plot.getAxis(Plot.AxisId.Y).setLabel(null);
- renderer.setMode(RendererMode.Stretch);
- }
-
- //Overridable callbacks
- @Override
- public void onInitialize(int runCount) {
- startTimer(1000);
-
- try {
- setGlobalVar("PSSS_PLOT", plot);
- setGlobalVar("HISTORY_PLOT", history);
- setGlobalVar("PSSS_RENDERER", renderer);
-
- pipelineServer = (PipelineServer) getDevice("cam_server");
- ((LinePlotJFree)histogramGeneratorPanelCenter.getPlot()).setLegendVisible(true);
- ((LinePlotJFree)histogramGeneratorFwhm.getPlot()).setLegendVisible(true);
- histogramGeneratorPanelCenter.getPlot().getAxis(Plot.AxisId.Y).setRange(0, 100);
- histogramGeneratorFwhm.getPlot().getAxis(Plot.AxisId.Y).setRange(0, 100);
- //setImageEnabled(true);
- tabStateChanged(null);
-
- spinnerAverage.setValue(( (Number) eval("get_psss_averaging()", true)).intValue());
-
- try{
- Double energy = (((ChannelDouble)getDevice("energy_machine")).take(-1));
- energy=Convert.roundDouble(energy, 0);
- spFromEn.setValue(energy-150);
- spToEn.setValue(energy+150);
- } catch (Exception ex) {
- getLogger().warning("Error reading energy_machine");
- }
-
-
- } catch (Exception ex) {
- getLogger().log(Level.WARNING, null, ex);
- }
- }
-
- @Override
- public void onStateChange(State state, State former) {
- this.btStartCr.setEnabled(state == State.Ready);
- this.btStartEn.setEnabled(state == State.Ready);
- this.btStartCam.setEnabled(state == State.Ready);
- radioEnergyScan.setEnabled(state == State.Ready);
- radioCrystalScan.setEnabled(state == State.Ready);
- radioCameraScan.setEnabled(state == State.Ready);
- this.btAbort.setEnabled(state.isRunning());
- }
-
- @Override
- public void onExecutedFile(String fileName, Object result) {
- }
-
- @Override
- public void onTimer() {
- try {
- if (!updatingPlot){
- updatingPlot = true;
- //evalAsync("plot_psss(PSSS_PLOT, HISTORY_PLOT, " + spinnerAverage.getValue() + ")", true).handle((ret,ex)->{
- evalAsync("plot_psss(PSSS_PLOT, HISTORY_PLOT)", true).handle((ret,ex)->{
- updatingPlot = false;
- return ret;
- });
- }
- if (isImageEnabled()){
- if (!updatingImage){
- updatingImage = true;
- evalAsync("update_psss_image(PSSS_RENDERER)", true).handle((ret,ex)->{
- updatingImage = false;
- return ret;
- });
- }
- }
- } catch (Exception ex) {
- getLogger().log(Level.WARNING, null, ex);
- }
- }
-
- //Callback to perform update - in event thread
- @Override
- protected void doUpdate() {
- }
-
- void setImageEnabled(boolean enabled){
- try{
- imageEnabled = enabled;
- evalAsync("enable_psss_image(" + Str.capitalizeFirst(String.valueOf(enabled)) + ", PSSS_RENDERER)", true);
- } catch (Exception ex) {
- getLogger().log(Level.WARNING, null, ex);
- }
- }
- volatile boolean imageEnabled;
-
- boolean isImageEnabled(){
- return imageEnabled;
- }
-
-
- void runScan(String name, Map args){
- try {
- args.put("PLOT", plotScan);
- this.runAsync(name, args).handle((ret,ex)->{
- if (ex!=null){
- if (!getContext().isAborted()){
- showException((Exception)ex);
- }
- }
- return ret;
- });
- } catch (Context.ContextStateException ex) {
- showException(ex);
- }
- }
-
- @SuppressWarnings("unchecked")
- // //GEN-BEGIN:initComponents
- private void initComponents() {
-
- buttonGroup1 = new javax.swing.ButtonGroup();
- tab = new javax.swing.JTabbedPane();
- jPanel1 = new javax.swing.JPanel();
- plot = new ch.psi.pshell.plot.LinePlotJFree();
- history = new ch.psi.pshell.plot.TimePlotJFree();
- jLabel1 = new javax.swing.JLabel();
- spinnerAverage = new javax.swing.JSpinner();
- histogramGeneratorPanelCenter = new ch.psi.pshell.swing.HistogramGeneratorPanel();
- histogramGeneratorFwhm = new ch.psi.pshell.swing.HistogramGeneratorPanel();
- jPanel4 = new javax.swing.JPanel();
- renderer = new ch.psi.pshell.imaging.Renderer();
- jPanel3 = new javax.swing.JPanel();
- jPanel2 = new javax.swing.JPanel();
- btAbort = new javax.swing.JButton();
- radioEnergyScan = new javax.swing.JRadioButton();
- radioCameraScan = new javax.swing.JRadioButton();
- radioCrystalScan = new javax.swing.JRadioButton();
- jPanel5 = new javax.swing.JPanel();
- panelScan = new javax.swing.JPanel();
- panelEnergyScan = new javax.swing.JPanel();
- spFromEn = new javax.swing.JSpinner();
- jLabel6 = new javax.swing.JLabel();
- jLabel7 = new javax.swing.JLabel();
- spToEn = new javax.swing.JSpinner();
- spStepsEn = new javax.swing.JSpinner();
- jLabel8 = new javax.swing.JLabel();
- jLabel9 = new javax.swing.JLabel();
- spShotsEn = new javax.swing.JSpinner();
- btStartEn = new javax.swing.JButton();
- panelCameraScan = new javax.swing.JPanel();
- jLabel10 = new javax.swing.JLabel();
- spFromCam = new javax.swing.JSpinner();
- jLabel11 = new javax.swing.JLabel();
- spToCam = new javax.swing.JSpinner();
- jLabel12 = new javax.swing.JLabel();
- spStepsCam = new javax.swing.JSpinner();
- jLabel13 = new javax.swing.JLabel();
- spShotsCam = new javax.swing.JSpinner();
- btStartCam = new javax.swing.JButton();
- panelCrystalScan = new javax.swing.JPanel();
- jLabel2 = new javax.swing.JLabel();
- spFromCr = new javax.swing.JSpinner();
- jLabel3 = new javax.swing.JLabel();
- spToCr = new javax.swing.JSpinner();
- jLabel4 = new javax.swing.JLabel();
- spStepsCr = new javax.swing.JSpinner();
- jLabel5 = new javax.swing.JLabel();
- spShotsCr = new javax.swing.JSpinner();
- btStartCr = new javax.swing.JButton();
- plotScan = new ch.psi.pshell.plot.LinePlotJFree();
-
- tab.addChangeListener(new javax.swing.event.ChangeListener() {
- public void stateChanged(javax.swing.event.ChangeEvent evt) {
- tabStateChanged(evt);
- }
- });
-
- plot.setTitle("");
-
- jLabel1.setText("Average:");
-
- spinnerAverage.setModel(new javax.swing.SpinnerNumberModel(1, 1, 100, 1));
- spinnerAverage.addChangeListener(new javax.swing.event.ChangeListener() {
- public void stateChanged(javax.swing.event.ChangeEvent evt) {
- spinnerAverageStateChanged(evt);
- }
- });
-
- histogramGeneratorPanelCenter.setDeviceName("histo_center");
-
- histogramGeneratorFwhm.setDeviceName("histo_fwhm");
-
- javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
- jPanel1.setLayout(jPanel1Layout);
- jPanel1Layout.setHorizontalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jLabel1)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spinnerAverage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addComponent(history, javax.swing.GroupLayout.DEFAULT_SIZE, 453, Short.MAX_VALUE)
- .addComponent(plot, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addGap(12, 12, 12)
- .addComponent(histogramGeneratorFwhm, javax.swing.GroupLayout.PREFERRED_SIZE, 372, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addComponent(histogramGeneratorPanelCenter, javax.swing.GroupLayout.PREFERRED_SIZE, 372, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(0, 0, 0))
- );
- jPanel1Layout.setVerticalGroup(
- jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel1Layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel1)
- .addComponent(spinnerAverage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(6, 6, 6)
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(histogramGeneratorPanelCenter, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)
- .addComponent(plot, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(history, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE)
- .addComponent(histogramGeneratorFwhm, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)))
- );
-
- tab.addTab("Spectrum", jPanel1);
-
- javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
- jPanel4.setLayout(jPanel4Layout);
- jPanel4Layout.setHorizontalGroup(
- jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 843, Short.MAX_VALUE)
- .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(renderer, javax.swing.GroupLayout.DEFAULT_SIZE, 843, Short.MAX_VALUE))
- );
- jPanel4Layout.setVerticalGroup(
- jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 432, Short.MAX_VALUE)
- .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(renderer, javax.swing.GroupLayout.DEFAULT_SIZE, 432, Short.MAX_VALUE))
- );
-
- tab.addTab("Camera", jPanel4);
-
- btAbort.setText("Abort");
- btAbort.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btAbortActionPerformed(evt);
- }
- });
-
- buttonGroup1.add(radioEnergyScan);
- radioEnergyScan.setSelected(true);
- radioEnergyScan.setText("Energy Scan");
- radioEnergyScan.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- radioEnergyScanActionPerformed(evt);
- }
- });
-
- buttonGroup1.add(radioCameraScan);
- radioCameraScan.setText("Camera Scan");
- radioCameraScan.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- radioCameraScanActionPerformed(evt);
- }
- });
-
- buttonGroup1.add(radioCrystalScan);
- radioCrystalScan.setText("Crystal Height Scan");
- radioCrystalScan.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- radioCrystalScanActionPerformed(evt);
- }
- });
-
- panelScan.setLayout(new java.awt.CardLayout());
-
- spFromEn.setModel(new javax.swing.SpinnerNumberModel(7200.0d, 1.0d, 20000.0d, 10.0d));
-
- jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel6.setText("Range From:");
-
- jLabel7.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel7.setText("Range To:");
-
- spToEn.setModel(new javax.swing.SpinnerNumberModel(7340.0d, 1.0d, 20000.0d, 10.0d));
-
- spStepsEn.setModel(new javax.swing.SpinnerNumberModel(20, 1, 1000, 1));
-
- jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel8.setText("Steps:");
-
- jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel9.setText("Num Shots:");
-
- spShotsEn.setModel(new javax.swing.SpinnerNumberModel(100, 1, 1000, 1));
-
- btStartEn.setText("Start Energy Scan");
- btStartEn.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btStartEnActionPerformed(evt);
- }
- });
-
- javax.swing.GroupLayout panelEnergyScanLayout = new javax.swing.GroupLayout(panelEnergyScan);
- panelEnergyScan.setLayout(panelEnergyScanLayout);
- panelEnergyScanLayout.setHorizontalGroup(
- panelEnergyScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelEnergyScanLayout.createSequentialGroup()
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGroup(panelEnergyScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelEnergyScanLayout.createSequentialGroup()
- .addComponent(jLabel7)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spToEn, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(panelEnergyScanLayout.createSequentialGroup()
- .addComponent(jLabel6)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spFromEn, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(panelEnergyScanLayout.createSequentialGroup()
- .addComponent(jLabel8)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spStepsEn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(panelEnergyScanLayout.createSequentialGroup()
- .addComponent(jLabel9)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spShotsEn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap())
- .addComponent(btStartEn, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- );
-
- panelEnergyScanLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel6, jLabel7, jLabel8, jLabel9});
-
- panelEnergyScanLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spFromEn, spShotsEn, spStepsEn, spToEn});
-
- panelEnergyScanLayout.setVerticalGroup(
- panelEnergyScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelEnergyScanLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(panelEnergyScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel6)
- .addComponent(spFromEn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelEnergyScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel7)
- .addComponent(spToEn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelEnergyScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel8)
- .addComponent(spStepsEn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelEnergyScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel9)
- .addComponent(spShotsEn, 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(btStartEn)
- .addContainerGap())
- );
-
- panelScan.add(panelEnergyScan, "energy");
-
- jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel10.setText("Range From:");
-
- spFromCam.setModel(new javax.swing.SpinnerNumberModel(-17.0d, -30.0d, 30.0d, 1.0d));
-
- jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel11.setText("Range To:");
-
- spToCam.setModel(new javax.swing.SpinnerNumberModel(-11.0d, -30.0d, 30.0d, 1.0d));
-
- jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel12.setText("Steps:");
-
- spStepsCam.setModel(new javax.swing.SpinnerNumberModel(20, 1, 1000, 1));
-
- jLabel13.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel13.setText("Num Shots:");
-
- spShotsCam.setModel(new javax.swing.SpinnerNumberModel(100, 1, 1000, 1));
-
- btStartCam.setText("Start Camera Scan");
- btStartCam.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btStartCamActionPerformed(evt);
- }
- });
-
- javax.swing.GroupLayout panelCameraScanLayout = new javax.swing.GroupLayout(panelCameraScan);
- panelCameraScan.setLayout(panelCameraScanLayout);
- panelCameraScanLayout.setHorizontalGroup(
- panelCameraScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelCameraScanLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(panelCameraScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelCameraScanLayout.createSequentialGroup()
- .addComponent(jLabel11)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spToCam, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(panelCameraScanLayout.createSequentialGroup()
- .addComponent(jLabel10)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spFromCam, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(panelCameraScanLayout.createSequentialGroup()
- .addComponent(jLabel12)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spStepsCam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(panelCameraScanLayout.createSequentialGroup()
- .addComponent(jLabel13)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spShotsCam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addComponent(btStartCam, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- );
-
- panelCameraScanLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel10, jLabel11, jLabel12, jLabel13});
-
- panelCameraScanLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spFromCam, spShotsCam, spStepsCam, spToCam});
-
- panelCameraScanLayout.setVerticalGroup(
- panelCameraScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelCameraScanLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(panelCameraScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel10)
- .addComponent(spFromCam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelCameraScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel11)
- .addComponent(spToCam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelCameraScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel12)
- .addComponent(spStepsCam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelCameraScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel13)
- .addComponent(spShotsCam, 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(btStartCam)
- .addContainerGap())
- );
-
- panelScan.add(panelCameraScan, "camera");
-
- jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel2.setText("Range From:");
-
- spFromCr.setModel(new javax.swing.SpinnerNumberModel(-0.8d, -10.0d, 10.0d, 0.1d));
-
- jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel3.setText("Range To:");
-
- spToCr.setModel(new javax.swing.SpinnerNumberModel(-1.7d, -10.0d, 10.0d, 0.1d));
-
- jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel4.setText("Steps:");
-
- spStepsCr.setModel(new javax.swing.SpinnerNumberModel(20, 1, 1000, 1));
-
- jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
- jLabel5.setText("Num Shots:");
-
- spShotsCr.setModel(new javax.swing.SpinnerNumberModel(100, 1, 1000, 1));
-
- btStartCr.setText("Start Crystal Height Scan");
- btStartCr.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btStartCrActionPerformed(evt);
- }
- });
-
- javax.swing.GroupLayout panelCrystalScanLayout = new javax.swing.GroupLayout(panelCrystalScan);
- panelCrystalScan.setLayout(panelCrystalScanLayout);
- panelCrystalScanLayout.setHorizontalGroup(
- panelCrystalScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelCrystalScanLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(panelCrystalScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelCrystalScanLayout.createSequentialGroup()
- .addComponent(jLabel3)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spToCr, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(panelCrystalScanLayout.createSequentialGroup()
- .addComponent(jLabel2)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spFromCr, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(panelCrystalScanLayout.createSequentialGroup()
- .addComponent(jLabel4)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spStepsCr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(panelCrystalScanLayout.createSequentialGroup()
- .addComponent(jLabel5)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(spShotsCr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addComponent(btStartCr, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- );
-
- panelCrystalScanLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel2, jLabel3, jLabel4, jLabel5});
-
- panelCrystalScanLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spFromCr, spShotsCr, spStepsCr, spToCr});
-
- panelCrystalScanLayout.setVerticalGroup(
- panelCrystalScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(panelCrystalScanLayout.createSequentialGroup()
- .addContainerGap()
- .addGroup(panelCrystalScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel2)
- .addComponent(spFromCr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelCrystalScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel3)
- .addComponent(spToCr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelCrystalScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel4)
- .addComponent(spStepsCr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(panelCrystalScanLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel5)
- .addComponent(spShotsCr, 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(btStartCr)
- .addContainerGap())
- );
-
- panelScan.add(panelCrystalScan, "crystal");
-
- javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
- jPanel5.setLayout(jPanel5Layout);
- jPanel5Layout.setHorizontalGroup(
- jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 0, Short.MAX_VALUE)
- .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel5Layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addComponent(panelScan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(0, 0, 0)))
- );
- jPanel5Layout.setVerticalGroup(
- jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 0, Short.MAX_VALUE)
- .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel5Layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addComponent(panelScan, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGap(0, 0, 0)))
- );
-
- javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
- jPanel2.setLayout(jPanel2Layout);
- jPanel2Layout.setHorizontalGroup(
- jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel2Layout.createSequentialGroup()
- .addGap(12, 12, 12)
- .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(radioCrystalScan)
- .addComponent(radioCameraScan)
- .addComponent(radioEnergyScan)
- .addComponent(btAbort, javax.swing.GroupLayout.DEFAULT_SIZE, 213, Short.MAX_VALUE))
- .addContainerGap())
- );
- jPanel2Layout.setVerticalGroup(
- jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
- .addGap(20, 20, 20)
- .addComponent(radioEnergyScan)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(radioCameraScan)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(radioCrystalScan)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(btAbort)
- .addContainerGap())
- );
-
- plotScan.setTitle("");
-
- javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
- jPanel3.setLayout(jPanel3Layout);
- jPanel3Layout.setHorizontalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(jPanel3Layout.createSequentialGroup()
- .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(0, 0, 0)
- .addComponent(plotScan, javax.swing.GroupLayout.DEFAULT_SIZE, 614, Short.MAX_VALUE))
- );
- jPanel3Layout.setVerticalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(plotScan, javax.swing.GroupLayout.DEFAULT_SIZE, 432, Short.MAX_VALUE)
- );
-
- tab.addTab("Alignment", jPanel3);
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
- this.setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(tab)
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(tab, javax.swing.GroupLayout.Alignment.TRAILING)
- );
- }// //GEN-END:initComponents
-
- private void tabStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_tabStateChanged
- setImageEnabled(tab.getSelectedIndex()==1);
- }//GEN-LAST:event_tabStateChanged
-
- private void btAbortActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btAbortActionPerformed
- try {
- abort();
- } catch (Exception ex) {
- showException(ex);
- }
- }//GEN-LAST:event_btAbortActionPerformed
-
- private void btStartCrActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btStartCrActionPerformed
- Map args = new HashMap();
- args.put("RANGE_FROM", spFromCr.getValue());
- args.put("RANGE_TO", spToCr.getValue());
- args.put("STEPS", spStepsCr.getValue());
- args.put("NUM_SHOTS", spShotsCr.getValue());
- runScan("psss/CrystalHeightScan",args);
- }//GEN-LAST:event_btStartCrActionPerformed
-
- private void btStartCamActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btStartCamActionPerformed
- Map args = new HashMap();
- args.put("RANGE_FROM", spFromCam.getValue());
- args.put("RANGE_TO", spToCam.getValue());
- args.put("STEPS", spStepsCam.getValue());
- args.put("NUM_SHOTS", spShotsCam.getValue());
- runScan("psss/CameraScan",args);
- }//GEN-LAST:event_btStartCamActionPerformed
-
- private void btStartEnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btStartEnActionPerformed
- Map args = new HashMap();
- args.put("RANGE_OFF", null);
- args.put("RANGE_FROM", spFromEn.getValue());
- args.put("RANGE_TO", spToEn.getValue());
- args.put("STEPS", spStepsEn.getValue());
- args.put("NUM_SHOTS", spShotsEn.getValue());
- runScan("psss/EnergyScan",args);
- }//GEN-LAST:event_btStartEnActionPerformed
-
- private void radioEnergyScanActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioEnergyScanActionPerformed
- ((CardLayout)panelScan.getLayout()).show(panelScan, "energy");
- }//GEN-LAST:event_radioEnergyScanActionPerformed
-
- private void radioCameraScanActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioCameraScanActionPerformed
- ((CardLayout)panelScan.getLayout()).show(panelScan, "camera");
- }//GEN-LAST:event_radioCameraScanActionPerformed
-
- private void radioCrystalScanActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioCrystalScanActionPerformed
- ((CardLayout)panelScan.getLayout()).show(panelScan, "crystal");
- }//GEN-LAST:event_radioCrystalScanActionPerformed
-
- private void spinnerAverageStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spinnerAverageStateChanged
- try {
- eval("set_psss_averaging(" + spinnerAverage.getValue() + ")", true);
- } catch (Exception ex) {
- showException(ex);
- }
- }//GEN-LAST:event_spinnerAverageStateChanged
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JButton btAbort;
- private javax.swing.JButton btStartCam;
- private javax.swing.JButton btStartCr;
- private javax.swing.JButton btStartEn;
- private javax.swing.ButtonGroup buttonGroup1;
- private ch.psi.pshell.swing.HistogramGeneratorPanel histogramGeneratorFwhm;
- private ch.psi.pshell.swing.HistogramGeneratorPanel histogramGeneratorPanelCenter;
- private ch.psi.pshell.plot.TimePlotJFree history;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel10;
- private javax.swing.JLabel jLabel11;
- private javax.swing.JLabel jLabel12;
- private javax.swing.JLabel jLabel13;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JLabel jLabel5;
- private javax.swing.JLabel jLabel6;
- private javax.swing.JLabel jLabel7;
- private javax.swing.JLabel jLabel8;
- private javax.swing.JLabel jLabel9;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JPanel jPanel2;
- private javax.swing.JPanel jPanel3;
- private javax.swing.JPanel jPanel4;
- private javax.swing.JPanel jPanel5;
- private javax.swing.JPanel panelCameraScan;
- private javax.swing.JPanel panelCrystalScan;
- private javax.swing.JPanel panelEnergyScan;
- private javax.swing.JPanel panelScan;
- private ch.psi.pshell.plot.LinePlotJFree plot;
- private ch.psi.pshell.plot.LinePlotJFree plotScan;
- private javax.swing.JRadioButton radioCameraScan;
- private javax.swing.JRadioButton radioCrystalScan;
- private javax.swing.JRadioButton radioEnergyScan;
- private ch.psi.pshell.imaging.Renderer renderer;
- private javax.swing.JSpinner spFromCam;
- private javax.swing.JSpinner spFromCr;
- private javax.swing.JSpinner spFromEn;
- private javax.swing.JSpinner spShotsCam;
- private javax.swing.JSpinner spShotsCr;
- private javax.swing.JSpinner spShotsEn;
- private javax.swing.JSpinner spStepsCam;
- private javax.swing.JSpinner spStepsCr;
- private javax.swing.JSpinner spStepsEn;
- private javax.swing.JSpinner spToCam;
- private javax.swing.JSpinner spToCr;
- private javax.swing.JSpinner spToEn;
- private javax.swing.JSpinner spinnerAverage;
- private javax.swing.JTabbedPane tab;
- // End of variables declaration//GEN-END:variables
-}
diff --git a/psss-panel/assembly/script/cpython/psss.py b/psss-panel/assembly/script/cpython/psss.py
deleted file mode 100755
index e5ce177..0000000
--- a/psss-panel/assembly/script/cpython/psss.py
+++ /dev/null
@@ -1,45 +0,0 @@
-import numpy as np
-from scipy.optimize import curve_fit
-import sys
-
-
-def gaus(x, a, x0, sigma, offset):
- return offset + a * np.exp(-(x - x0) ** 2 / (2 * sigma ** 2))
-
-#Return [amp, mean_val, sigma, offset]
-def fit_energy(e_from, e_to, steps, num_shots, data):
- energy_range = np.linspace(e_from, e_to, steps)
- energy_range_fit = np.linspace(energy_range[0], energy_range[-1], len(energy_range)*10)
- centre_line_out = data[:,:,int(data.shape[2]/2)].mean(axis=1)
- try:
- popt,pcov = curve_fit(gaus,energy_range,centre_line_out,p0=[1,energy_range[np.argmax(centre_line_out)],energy_range.mean()*1e-3,1e3*num_shots])
- except:
- raise Exception('Fit failed: spectrum might not be near scan range center \n' + str(sys.exc_info()[1]))
- #print('Fit failed: spectrum might not be near scan range center')
- #return None
- max_ind = np.argmax(centre_line_out)
- max_photon_energy=energy_range[max_ind]
- print(max_photon_energy)
- return popt, centre_line_out
-
-
-#Return [amp, mean_val, sigma, offset]
-def fit_crystal_height(xstal_from, xstal_to, steps, data):
- xstal_range = np.linspace(xstal_from, xstal_to, steps)
- projection = data.mean(axis=1).mean(axis=1)
- offset = np.mean(projection[0:100])
- signal_centre = xstal_range[np.argmax(projection)]
- xstal_range_fit = np.linspace(xstal_range[0], xstal_range[-1], len(xstal_range)*10)
- try:
- popt,pcov = curve_fit(gaus,xstal_range,projection,p0=[100,signal_centre,-0.2,offset])
- except:
- raise Exception('Fit failed: spectrum might not be near scan range center \n' + str(sys.exc_info()[1]))
- #print('Fit failed: spectrum might not be near scan range center')
- #return None
- return popt, projection
-
-
-def get_signal_centre(data, data_range):
- projection = data.mean(axis=1).mean(axis=1)
- signal_centre = data_range[np.argmax(projection)]
- return signal_centre, projection
diff --git a/psss-panel/assembly/script/cpython/psss_plot.py b/psss-panel/assembly/script/cpython/psss_plot.py
deleted file mode 100755
index 27080e2..0000000
--- a/psss-panel/assembly/script/cpython/psss_plot.py
+++ /dev/null
@@ -1,32 +0,0 @@
-import numpy as np
-import matplotlib.pyplot as plt
-
-
-def gaus(x, a, x0, sigma, offset):
- return offset + a * np.exp(-(x - x0) ** 2 / (2 * sigma ** 2))
-
-def plot_energy(E_from, E_to, steps, Scan_spec, popt, measured_offset):
- Energy_range = np.linspace(E_from, E_to, steps)
- centre_line_out = Scan_spec[:,:,int(Scan_spec.shape[2]/2)].mean(axis=1)
- Energy_range_fit = np.linspace(Energy_range[0], Energy_range[-1], len(Energy_range)*10)
-
-
- plt.figure(figsize=[10,5])
- plt.subplot(121)
- plt.title('PSSS scan of set photon energy')
- plt.pcolormesh(np.arange(0,Scan_spec.shape[2]), Energy_range, Scan_spec.mean(axis=1),cmap='CMRmap')
- plt.vlines(int(Scan_spec.shape[2]/2), Energy_range[0], Energy_range[-1],linestyles='--', colors='orange')
- plt.xlim([0,Scan_spec.shape[2]])
- plt.xlabel('Camera pixel')
- plt.ylabel('Set PSSS energy [eV] \n SARFE10-PSSS059:ENERGY')
-
- plt.subplot(122)
- plt.title('At camera centre pixel %1i \nCalibrated energy = %.1f [eV]\n Offset from machine = %.1f [eV]'%(int(Scan_spec.shape[2]/2),popt[1],measured_offset))
- plt.plot(centre_line_out,Energy_range,linewidth = 2, color = 'orange',label ='measured')
- try:
- plt.plot(gaus(Energy_range_fit,*popt),Energy_range_fit,'r:',label='fit')
- except:
- pass
- plt.xticks([])
- plt.legend()
- plt.grid(True)
\ No newline at end of file
diff --git a/psss-panel/assembly/script/cpython/wrapper.py b/psss-panel/assembly/script/cpython/wrapper.py
deleted file mode 100755
index 5aa4031..0000000
--- a/psss-panel/assembly/script/cpython/wrapper.py
+++ /dev/null
@@ -1,36 +0,0 @@
-from jeputils import *
-
-RELOAD_CPYTHON = not App.isDetached()
-
-def fit_energy(e_from, e_to, steps, num_shots, data):
- data = to_array(data, 'd')
- dims = [len(data), len(data[0]), len(data[0][0])]
- data = Convert.flatten(data)
- arr = to_npa(data, dims)
- popt, centre_line_out = call_jep("cpython/psss", "fit_energy", [e_from, e_to, steps, num_shots, arr], reload=RELOAD_CPYTHON)
- return popt.getData(), centre_line_out.getData()
-
-def fit_crystal_height(xstal_from, xstal_to, steps, data):
- data = to_array(data, 'd')
- dims = [len(data), len(data[0]), len(data[0][0])]
- data = Convert.flatten(data)
- arr = to_npa(data, dims)
- popt, projection = call_jep("cpython/psss", "fit_crystal_height", [xstal_from, xstal_to, steps, arr], reload=RELOAD_CPYTHON)
- return popt.getData(), projection.getData()
-
-def get_signal_centre(data, data_range):
- data = to_array(data, 'd')
- dims = [len(data), len(data[0]), len(data[0][0])]
- data = Convert.flatten(data)
- arr = to_npa(data, dims)
- data_range = to_npa(to_array(data_range, 'd'))
- signal_centre, projection = call_jep("cpython/psss", "get_signal_centre", [arr, data_range], reload=RELOAD_CPYTHON)
- return signal_centre, projection.getData()
-
-def plot_energy(e_from, e_to, steps, data, popt, measured_offset):
- data = to_array(data, 'd')
- dims = [len(data), len(data[0]), len(data[0][0])]
- data = Convert.flatten(data)
- arr = to_npa(data, dims)
- ret = call_jep("cpython/psss_plot", "plot_energy", [e_from, e_to, steps, arr, popt, measured_offset], reload=RELOAD_CPYTHON)
- return ret
diff --git a/psss-panel/assembly/script/local.py b/psss-panel/assembly/script/local.py
deleted file mode 100755
index 6ce8712..0000000
--- a/psss-panel/assembly/script/local.py
+++ /dev/null
@@ -1,184 +0,0 @@
-###################################################################################################
-# Deployment specific global definitions - executed after startup.py
-###################################################################################################
-
-from mathutils import estimate_peak_indexes, fit_gaussians, create_fit_point_list
-from mathutils import fit_polynomial,fit_gaussian, fit_harmonic, calculate_peaks, fit_gaussian_offset
-from mathutils import PolynomialFunction, Gaussian, HarmonicOscillator, GaussianOffset
-from plotutils import plot_function, plot_data
-
-import java.awt.Color as Color
-run("psss/psss")
-
-###################################################################################################
-# DRY RUN
-###################################################################################################
-
-def set_dry_run(value):
- global dry_run
- dry_run = value
-
-def is_dry_run():
- if "dry_run" in globals():
- return True if dry_run else False
- return False
-
-
-###################################################################################################
-# Machine utilities
-###################################################################################################
-
-def is_laser_on():
- return (caget ("SIN-TIMAST-TMA:Beam-Las-Delay-Sel",'d') == 0 )
-
-def is_timing_ok():
- return caget("SIN-TIMAST-TMA:SOS-COUNT-CHECK") == 0
-
-def get_repetition_rate():
- return caget("SIN-TIMAST-TMA:Evt-15-Freq-I")
-
-
-###################################################################################################
-# Shortcut to maths utilities
-###################################################################################################
-
-def gfit(ydata, xdata = None):
- """
- Gaussian fit
- """
- if xdata is None:
- xdata = frange(0, len(ydata), 1)
- #ydata = to_list(ydata)
- #xdata = to_list(xdata)
- max_y= max(ydata)
- index_max = ydata.index(max_y)
- max_x= xdata[index_max]
- print "Max index:" + str(index_max),
- print " x:" + str(max_x),
- print " y:" + str(max_y)
- gaussians = fit_gaussians(ydata, xdata, [index_max,])
- (norm, mean, sigma) = gaussians[0]
- p = plot([ydata],["data"],[xdata], title="Fit" )[0]
- fitted_gaussian_function = Gaussian(norm, mean, sigma)
- scale_x = [float(min(xdata)), float(max(xdata)) ]
- points = max((len(xdata)+1), 100)
- resolution = (scale_x[1]-scale_x[0]) / points
- fit_y = []
- fit_x = frange(scale_x[0],scale_x[1],resolution, True)
- for x in fit_x:
- fit_y.append(fitted_gaussian_function.value(x))
- p.addSeries(LinePlotSeries("fit"))
- p.getSeries(1).setData(fit_x, fit_y)
-
- if abs(mean - xdata[index_max]) < ((scale_x[0] + scale_x[1])/2):
- print "Mean -> " + str(mean)
- p.addMarker(mean, None, "Mean="+str(round(norm,2)), Color.MAGENTA.darker())
- return (norm, mean, sigma)
- else:
- p.addMarker(max_x, None, "Max="+str(round(max_x,2)), Color.GRAY)
- print "Invalid gaussian fit: " + str(mean)
- return (None, None, None)
-
-
-def hfit(ydata, xdata = None):
- """
- Harmonic fit
- """
- if xdata is None:
- xdata = frange(0, len(ydata), 1)
-
- max_y= max(ydata)
- index_max = ydata.index(max_y)
- max_x= xdata[index_max]
-
- start,end = min(xdata), max(xdata)
- (amplitude, angular_frequency, phase) = fit_harmonic(ydata, xdata)
- fitted_harmonic_function = HarmonicOscillator(amplitude, angular_frequency, phase)
-
- print "amplitude = ", amplitude
- print "angular frequency = ", angular_frequency
- print "phase = ", phase
-
- f = angular_frequency/ (2* math.pi)
- print "frequency = ", f
-
- resolution = 4.00 # 1.00
- fit_y = []
- for x in frange(start,end,resolution, True):
- fit_y.append(fitted_harmonic_function.value(x))
- fit_x = frange(start, end+resolution, resolution)
-
- p = plot(ydata,"data", xdata, title="HFit")[0]
- p.addSeries(LinePlotSeries("fit"))
- p.getSeries(1).setData(fit_x, fit_y)
-
- #m = (phase + math.pi)/ angular_frequency
- m = -phase / angular_frequency
- if (m{
if (ex!=null){
- if (!getContext().isAborted()){
+ if (!Context.isAborted()){
showException((Exception)ex);
}
}
return ret;
});
- } catch (Context.ContextStateException ex) {
+ } catch (Exception ex) {
showException(ex);
}
}