Closedown
This commit is contained in:
+269
-161
@@ -27,6 +27,7 @@ import ch.psi.pshell.imaging.ColormapSource;
|
||||
import ch.psi.pshell.imaging.ColormapSource.ColormapSourceConfig;
|
||||
import ch.psi.pshell.ui.App;
|
||||
import ch.psi.pshell.imaging.Data;
|
||||
import ch.psi.pshell.imaging.Histogram;
|
||||
import ch.psi.pshell.imaging.Overlay;
|
||||
import ch.psi.pshell.imaging.Overlays;
|
||||
import ch.psi.pshell.imaging.Overlays.Text;
|
||||
@@ -58,6 +59,7 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import javax.swing.JDialog;
|
||||
import org.apache.commons.math3.analysis.function.Gaussian;
|
||||
import org.apache.commons.math3.fitting.GaussianCurveFitter;
|
||||
import org.apache.commons.math3.fitting.WeightedObservedPoint;
|
||||
@@ -71,7 +73,7 @@ public class Cameras extends Panel {
|
||||
initComponents();
|
||||
renderer.setPersistenceFile(Paths.get(getController().getSetup().getContextPath(), "Renderer_Cameras.bin"));
|
||||
renderer.setProfileFactor(4);
|
||||
setPersistedComponents(new Component[]{checkCamtool});
|
||||
//setPersistedComponents(new Component[]{buttonCamtool, buttonDirect});
|
||||
comboCameras.setEnabled(false);
|
||||
if (App.hasArgument("poll")) {
|
||||
try{
|
||||
@@ -94,7 +96,8 @@ public class Cameras extends Panel {
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
if (App.hasArgument("ct")) {
|
||||
checkCamtool.setSelected(!App.getArgumentValue("ct").equals("0") && !App.getArgumentValue("ct").equalsIgnoreCase("false"));
|
||||
buttonCamtool.setSelected(!App.getArgumentValue("ct").equals("0") && !App.getArgumentValue("ct").equalsIgnoreCase("false"));
|
||||
buttonDirect.setSelected(!buttonCamtool.isSelected());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,6 +109,7 @@ public class Cameras extends Panel {
|
||||
CameraConfig config;
|
||||
int polling = 1000;
|
||||
Overlay marker = null;
|
||||
JDialog histogramDialog;
|
||||
|
||||
//Overridable callbacks
|
||||
@Override
|
||||
@@ -268,7 +272,7 @@ public class Cameras extends Panel {
|
||||
Overlay[] fitOv;
|
||||
|
||||
void setCamera(String cameraName) throws IOException, InterruptedException {
|
||||
System.out.println("Setting camera: " + cameraName);
|
||||
System.out.println("Setting camera: " + cameraName + " [" + (buttonCamtool.isSelected() ? "camtool" : "direct") + "]");
|
||||
if (camera != null) {
|
||||
camera.close();
|
||||
camera = null;
|
||||
@@ -284,7 +288,7 @@ public class Cameras extends Panel {
|
||||
this.cameraName = cameraName;
|
||||
//SwingUtils.showMessage(null, "", json);
|
||||
try {
|
||||
if (checkCamtool.isSelected()) {
|
||||
if (buttonCamtool.isSelected()) {
|
||||
camera = new Camtool("CurrentCamera", cameraName, false);
|
||||
camera.getConfig().flipHorizontally = false;
|
||||
camera.getConfig().flipVertically = false;
|
||||
@@ -420,7 +424,7 @@ public class Cameras extends Panel {
|
||||
|
||||
buttonFullRange.setSelected(config.isDefaultColormap());
|
||||
buttonAutomatic.setSelected(config.colormapAutomatic);
|
||||
buttonManual.setSelected((!buttonFullRange.isSelected()) && (!buttonAutomatic.isSelected()));
|
||||
buttonManual.setSelected((!config.colormapAutomatic) && (!config.isDefaultColormap()));
|
||||
spinnerMin.setEnabled(buttonManual.isSelected());
|
||||
spinnerMax.setEnabled(buttonManual.isSelected());
|
||||
spinnerMin.setValue(Double.isNaN(config.colormapMin) ? 0 : Math.min(Math.max((int)config.colormapMin, 0), 65535));
|
||||
@@ -446,6 +450,8 @@ public class Cameras extends Panel {
|
||||
}
|
||||
updateZoom();
|
||||
updateColormap();
|
||||
buttonSave.setSelected(renderer.isSnapshotDialogVisible());
|
||||
buttonHistogram.setSelected((histogramDialog!=null)&&(histogramDialog.isShowing()));
|
||||
}
|
||||
|
||||
Pen fitPen = new Pen(new Color(192, 105, 0), 1);
|
||||
@@ -803,6 +809,7 @@ public class Camtool extends ArraySource {
|
||||
buttonGroup1 = new javax.swing.ButtonGroup();
|
||||
buttonGroup2 = new javax.swing.ButtonGroup();
|
||||
buttonGroup3 = new javax.swing.ButtonGroup();
|
||||
buttonGroup4 = new javax.swing.ButtonGroup();
|
||||
jPanel1 = new javax.swing.JPanel();
|
||||
buttonGrabBackground = new javax.swing.JButton();
|
||||
renderer = new ch.psi.pshell.imaging.Renderer();
|
||||
@@ -817,6 +824,13 @@ public class Camtool extends ArraySource {
|
||||
jLabel1 = new javax.swing.JLabel();
|
||||
buttonConfig = new javax.swing.JButton();
|
||||
buttonReticle = new javax.swing.JToggleButton();
|
||||
jPanel4 = new javax.swing.JPanel();
|
||||
jPanel3 = new javax.swing.JPanel();
|
||||
buttonZoomFit = new javax.swing.JRadioButton();
|
||||
buttonZoomStretch = new javax.swing.JRadioButton();
|
||||
buttonZoomNormal = new javax.swing.JRadioButton();
|
||||
buttonZoom025 = new javax.swing.JRadioButton();
|
||||
buttonZoom05 = new javax.swing.JRadioButton();
|
||||
jPanel2 = new javax.swing.JPanel();
|
||||
buttonGrayscale = new javax.swing.JRadioButton();
|
||||
buttonRainbow = new javax.swing.JRadioButton();
|
||||
@@ -828,13 +842,10 @@ public class Camtool extends ArraySource {
|
||||
spinnerMin = new javax.swing.JSpinner();
|
||||
spinnerMax = new javax.swing.JSpinner();
|
||||
buttonAutomatic = new javax.swing.JRadioButton();
|
||||
jPanel3 = new javax.swing.JPanel();
|
||||
buttonZoomFit = new javax.swing.JRadioButton();
|
||||
buttonZoomStretch = new javax.swing.JRadioButton();
|
||||
buttonZoomNormal = new javax.swing.JRadioButton();
|
||||
buttonZoom025 = new javax.swing.JRadioButton();
|
||||
buttonZoom05 = new javax.swing.JRadioButton();
|
||||
checkCamtool = new javax.swing.JCheckBox();
|
||||
buttonHistogram = new javax.swing.JToggleButton();
|
||||
jPanel5 = new javax.swing.JPanel();
|
||||
buttonCamtool = new javax.swing.JRadioButton();
|
||||
buttonDirect = new javax.swing.JRadioButton();
|
||||
|
||||
buttonGrabBackground.setText("Grab Background");
|
||||
buttonGrabBackground.addActionListener(new java.awt.event.ActionListener() {
|
||||
@@ -915,7 +926,7 @@ public class Camtool extends ArraySource {
|
||||
jPanel1Layout.setHorizontalGroup(
|
||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGap(0, 0, 0)
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(renderer, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
|
||||
@@ -963,7 +974,7 @@ public class Camtool extends ArraySource {
|
||||
.addComponent(buttonConfig)
|
||||
.addComponent(buttonSetup))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(renderer, javax.swing.GroupLayout.DEFAULT_SIZE, 498, Short.MAX_VALUE)
|
||||
.addComponent(renderer, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGap(12, 12, 12)
|
||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(buttonPause)
|
||||
@@ -977,131 +988,6 @@ public class Camtool extends ArraySource {
|
||||
|
||||
jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {comboCameras, textState});
|
||||
|
||||
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Colormap"));
|
||||
|
||||
buttonGroup2.add(buttonGrayscale);
|
||||
buttonGrayscale.setText("Grayscale");
|
||||
buttonGrayscale.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup2.add(buttonRainbow);
|
||||
buttonRainbow.setText("Rainbow");
|
||||
buttonRainbow.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup2.add(buttonTemperature);
|
||||
buttonTemperature.setText("Temperature");
|
||||
buttonTemperature.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup3.add(buttonFullRange);
|
||||
buttonFullRange.setText("Full range");
|
||||
buttonFullRange.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup3.add(buttonManual);
|
||||
buttonManual.setText("Manual");
|
||||
buttonManual.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLabel3.setText("min:");
|
||||
|
||||
jLabel4.setText("max:");
|
||||
|
||||
spinnerMin.setModel(new javax.swing.SpinnerNumberModel(0, 0, 65535, 1));
|
||||
spinnerMin.setEnabled(false);
|
||||
spinnerMin.setPreferredSize(new java.awt.Dimension(60, 20));
|
||||
spinnerMin.addChangeListener(new javax.swing.event.ChangeListener() {
|
||||
public void stateChanged(javax.swing.event.ChangeEvent evt) {
|
||||
onChangeColormapRange(evt);
|
||||
}
|
||||
});
|
||||
|
||||
spinnerMax.setModel(new javax.swing.SpinnerNumberModel(255, 0, 65535, 1));
|
||||
spinnerMax.setEnabled(false);
|
||||
spinnerMax.setPreferredSize(new java.awt.Dimension(60, 20));
|
||||
spinnerMax.addChangeListener(new javax.swing.event.ChangeListener() {
|
||||
public void stateChanged(javax.swing.event.ChangeEvent evt) {
|
||||
onChangeColormapRange(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup3.add(buttonAutomatic);
|
||||
buttonAutomatic.setText("Automatic");
|
||||
buttonAutomatic.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
|
||||
jPanel2.setLayout(jPanel2Layout);
|
||||
jPanel2Layout.setHorizontalGroup(
|
||||
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(buttonFullRange)
|
||||
.addComponent(buttonManual))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(jLabel4)
|
||||
.addComponent(jLabel3))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(spinnerMax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(spinnerMin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addContainerGap())
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(buttonGrayscale)
|
||||
.addComponent(buttonRainbow)
|
||||
.addComponent(buttonTemperature)
|
||||
.addComponent(buttonAutomatic))
|
||||
.addGap(0, 0, Short.MAX_VALUE))))
|
||||
);
|
||||
jPanel2Layout.setVerticalGroup(
|
||||
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addComponent(buttonGrayscale)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(buttonRainbow)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(buttonTemperature)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(buttonAutomatic)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(buttonFullRange)
|
||||
.addComponent(jLabel3)
|
||||
.addComponent(spinnerMin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(buttonManual))
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel4)
|
||||
.addComponent(spinnerMax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Zoom"));
|
||||
|
||||
buttonGroup1.add(buttonZoomFit);
|
||||
@@ -1174,37 +1060,226 @@ public class Camtool extends ArraySource {
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
checkCamtool.setSelected(true);
|
||||
checkCamtool.setText("Use Camtool");
|
||||
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Colormap"));
|
||||
|
||||
buttonGroup2.add(buttonGrayscale);
|
||||
buttonGrayscale.setText("Grayscale");
|
||||
buttonGrayscale.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup2.add(buttonRainbow);
|
||||
buttonRainbow.setText("Rainbow");
|
||||
buttonRainbow.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup2.add(buttonTemperature);
|
||||
buttonTemperature.setText("Temperature");
|
||||
buttonTemperature.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup3.add(buttonFullRange);
|
||||
buttonFullRange.setText("Full range");
|
||||
buttonFullRange.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup3.add(buttonManual);
|
||||
buttonManual.setText("Manual");
|
||||
buttonManual.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
jLabel3.setText("min:");
|
||||
|
||||
jLabel4.setText("max:");
|
||||
|
||||
spinnerMin.setModel(new javax.swing.SpinnerNumberModel(0, 0, 65535, 1));
|
||||
spinnerMin.setEnabled(false);
|
||||
spinnerMin.setPreferredSize(new java.awt.Dimension(60, 20));
|
||||
spinnerMin.addChangeListener(new javax.swing.event.ChangeListener() {
|
||||
public void stateChanged(javax.swing.event.ChangeEvent evt) {
|
||||
onChangeColormapRange(evt);
|
||||
}
|
||||
});
|
||||
|
||||
spinnerMax.setModel(new javax.swing.SpinnerNumberModel(255, 0, 65535, 1));
|
||||
spinnerMax.setEnabled(false);
|
||||
spinnerMax.setPreferredSize(new java.awt.Dimension(60, 20));
|
||||
spinnerMax.addChangeListener(new javax.swing.event.ChangeListener() {
|
||||
public void stateChanged(javax.swing.event.ChangeEvent evt) {
|
||||
onChangeColormapRange(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup3.add(buttonAutomatic);
|
||||
buttonAutomatic.setText("Automatic");
|
||||
buttonAutomatic.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
onChangeColormap(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonHistogram.setText("Histogram");
|
||||
buttonHistogram.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
buttonHistogramActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
|
||||
jPanel2.setLayout(jPanel2Layout);
|
||||
jPanel2Layout.setHorizontalGroup(
|
||||
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(buttonFullRange)
|
||||
.addComponent(buttonManual))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 24, Short.MAX_VALUE)
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addComponent(jLabel4)
|
||||
.addComponent(jLabel3))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(spinnerMax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(spinnerMin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addContainerGap())
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addComponent(buttonGrayscale)
|
||||
.addComponent(buttonRainbow)
|
||||
.addComponent(buttonTemperature)
|
||||
.addComponent(buttonAutomatic))
|
||||
.addGap(0, 0, Short.MAX_VALUE))))
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(buttonHistogram)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
jPanel2Layout.setVerticalGroup(
|
||||
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(buttonGrayscale)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(buttonRainbow)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(buttonTemperature)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(buttonAutomatic)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||
.addGroup(jPanel2Layout.createSequentialGroup()
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(buttonFullRange)
|
||||
.addComponent(jLabel3)
|
||||
.addComponent(spinnerMin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(buttonManual))
|
||||
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||
.addComponent(jLabel4)
|
||||
.addComponent(spinnerMax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE)
|
||||
.addComponent(buttonHistogram)
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Source"));
|
||||
|
||||
buttonGroup4.add(buttonCamtool);
|
||||
buttonCamtool.setSelected(true);
|
||||
buttonCamtool.setText("Camtool");
|
||||
buttonCamtool.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
buttonCamtoolActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
buttonGroup4.add(buttonDirect);
|
||||
buttonDirect.setText("Direct");
|
||||
buttonDirect.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
buttonDirectActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
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.LEADING)
|
||||
.addComponent(buttonCamtool)
|
||||
.addComponent(buttonDirect))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
jPanel5Layout.setVerticalGroup(
|
||||
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel5Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(buttonCamtool)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(buttonDirect)
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
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(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addContainerGap())
|
||||
);
|
||||
jPanel4Layout.setVerticalGroup(
|
||||
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(jPanel4Layout.createSequentialGroup()
|
||||
.addGap(10, 10, 10)
|
||||
.addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(18, 18, 18)
|
||||
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap())
|
||||
);
|
||||
|
||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||
this.setLayout(layout);
|
||||
layout.setHorizontalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||
.addComponent(checkCamtool)
|
||||
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addGap(0, 0, 0)
|
||||
.addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addGap(0, 0, 0))
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
layout.setVerticalGroup(
|
||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGap(0, 0, 0)
|
||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(checkCamtool)
|
||||
.addGap(61, 61, 61)
|
||||
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(0, 0, Short.MAX_VALUE))
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
.addGap(0, 0, 0))
|
||||
.addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
|
||||
);
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
@@ -1362,7 +1437,7 @@ public class Camtool extends ArraySource {
|
||||
source.getConfig().colormapMax = buttonFullRange.isSelected() ? Double.NaN : (Integer)spinnerMax.getValue();
|
||||
source.getConfig().save();
|
||||
source.refresh();
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
showException(ex);
|
||||
}
|
||||
@@ -1379,12 +1454,42 @@ public class Camtool extends ArraySource {
|
||||
|
||||
private void buttonZoom05ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonZoom05ActionPerformed
|
||||
renderer.setZoom(0.5);
|
||||
renderer.setMode(RendererMode.Zoom);
|
||||
renderer.setMode(RendererMode.Zoom);
|
||||
}//GEN-LAST:event_buttonZoom05ActionPerformed
|
||||
|
||||
private void buttonHistogramActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonHistogramActionPerformed
|
||||
try {
|
||||
if (buttonHistogram.isSelected()){
|
||||
if ((histogramDialog==null)||(!histogramDialog.isShowing())){
|
||||
Histogram histogram = new Histogram();
|
||||
histogram.setRenderer(renderer);
|
||||
histogramDialog = SwingUtils.showDialog(SwingUtils.getWindow(renderer), "Histogram", null, histogram);
|
||||
renderer.refresh();
|
||||
}
|
||||
} else{
|
||||
if (histogramDialog!=null){
|
||||
histogramDialog.setVisible(false);
|
||||
histogramDialog=null;
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
showException(ex);
|
||||
}
|
||||
}//GEN-LAST:event_buttonHistogramActionPerformed
|
||||
|
||||
private void buttonCamtoolActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonCamtoolActionPerformed
|
||||
comboCamerasActionPerformed(null);
|
||||
}//GEN-LAST:event_buttonCamtoolActionPerformed
|
||||
|
||||
private void buttonDirectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonDirectActionPerformed
|
||||
comboCamerasActionPerformed(null);
|
||||
}//GEN-LAST:event_buttonDirectActionPerformed
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JRadioButton buttonAutomatic;
|
||||
private javax.swing.JRadioButton buttonCamtool;
|
||||
private javax.swing.JButton buttonConfig;
|
||||
private javax.swing.JRadioButton buttonDirect;
|
||||
private javax.swing.JToggleButton buttonFit;
|
||||
private javax.swing.JRadioButton buttonFullRange;
|
||||
private javax.swing.JButton buttonGrabBackground;
|
||||
@@ -1392,6 +1497,8 @@ public class Camtool extends ArraySource {
|
||||
private javax.swing.ButtonGroup buttonGroup1;
|
||||
private javax.swing.ButtonGroup buttonGroup2;
|
||||
private javax.swing.ButtonGroup buttonGroup3;
|
||||
private javax.swing.ButtonGroup buttonGroup4;
|
||||
private javax.swing.JToggleButton buttonHistogram;
|
||||
private javax.swing.JRadioButton buttonManual;
|
||||
private javax.swing.JToggleButton buttonMarker;
|
||||
private javax.swing.JToggleButton buttonPause;
|
||||
@@ -1405,7 +1512,6 @@ public class Camtool extends ArraySource {
|
||||
private javax.swing.JRadioButton buttonZoomFit;
|
||||
private javax.swing.JRadioButton buttonZoomNormal;
|
||||
private javax.swing.JRadioButton buttonZoomStretch;
|
||||
private javax.swing.JCheckBox checkCamtool;
|
||||
private javax.swing.JComboBox comboCameras;
|
||||
private javax.swing.JLabel jLabel1;
|
||||
private javax.swing.JLabel jLabel2;
|
||||
@@ -1414,6 +1520,8 @@ public class Camtool extends ArraySource {
|
||||
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 ch.psi.pshell.imaging.Renderer renderer;
|
||||
private javax.swing.JSpinner spinnerMax;
|
||||
private javax.swing.JSpinner spinnerMin;
|
||||
|
||||
Reference in New Issue
Block a user