From 0b6becd66ebd9d13f5be7a9b5d0131a29c962873 Mon Sep 17 00:00:00 2001 From: sfop Date: Mon, 12 Sep 2016 10:53:27 +0200 Subject: [PATCH] Startup --- devices/CurrentCamera.properties | 12 ++-- plugins/Cameras.form | 24 ++++---- plugins/Cameras.java | 96 +++++++++++++++++--------------- 3 files changed, 68 insertions(+), 64 deletions(-) diff --git a/devices/CurrentCamera.properties b/devices/CurrentCamera.properties index de4ab36..2454a8e 100644 --- a/devices/CurrentCamera.properties +++ b/devices/CurrentCamera.properties @@ -1,8 +1,8 @@ -#Fri Sep 09 17:59:58 CEST 2016 +#Mon Sep 12 10:50:08 CEST 2016 colormap=Temperature colormapAutomatic=true -colormapMax=0.0 -colormapMin=255.0 +colormapMax=NaN +colormapMin=NaN flipHorizontally=true flipVertically=true grayscale=false @@ -19,8 +19,8 @@ rotation=0.0 rotationCrop=true scale=1.0 spatialCalOffsetX=-685.0 -spatialCalOffsetY=-498.0 -spatialCalScaleX=16.0 -spatialCalScaleY=16.0 +spatialCalOffsetY=-874.0 +spatialCalScaleX=14.146772767462423 +spatialCalScaleY=12.708498808578236 spatialCalUnits=mm transpose=false diff --git a/plugins/Cameras.form b/plugins/Cameras.form index 24ea7fb..28ac2d5 100644 --- a/plugins/Cameras.form +++ b/plugins/Cameras.form @@ -43,10 +43,10 @@ - - + + - + @@ -74,8 +74,8 @@ - + @@ -168,14 +168,6 @@ - - - - - - - - @@ -185,5 +177,13 @@ + + + + + + + + diff --git a/plugins/Cameras.java b/plugins/Cameras.java index 651d1b2..f1c9a7b 100644 --- a/plugins/Cameras.java +++ b/plugins/Cameras.java @@ -38,6 +38,7 @@ import ch.psi.pshell.scripting.ScriptManager; import ch.psi.utils.Arr; import ch.psi.utils.ArrayProperties; import ch.psi.utils.Convert; +import ch.psi.utils.Str; import ch.psi.utils.swing.Editor.EditorDialog; import java.awt.Color; import java.awt.Component; @@ -100,6 +101,7 @@ public class Cameras extends Panel { String cameraConfigJson; CameraConfig config; int polling = 1000; + Overlay marker = null; //Overridable callbacks @Override @@ -183,20 +185,27 @@ public class Cameras extends Panel { public double getCalOffsetX(){ ArrayList calibration = getCalibration(); - return - (calibration.get(0) + calibration.get(2))/2; + double ret = - (calibration.get(0) + calibration.get(2))/2; + return ret; } public double getCalOffsetY(){ ArrayList calibration = getCalibration(); - return - (calibration.get(1) + calibration.get(2))/3; + double ret = - (calibration.get(1) + calibration.get(3))/2; + return ret; } public double getScaleX(){ - return getCalibrationHeight()/1000; + ArrayList calibration = getCalibration(); + double width = Math.abs( calibration.get(2) - calibration.get(0)); + return getCalibrationWidth()/width; + //return getCalibrationWidth()/1000; } public double getScaleY(){ - return getCalibrationHeight()/1000; + ArrayList calibration = getCalibration(); + double height = Math.abs( calibration.get(3) - calibration.get(1)); + return getCalibrationHeight()/height; } @@ -261,7 +270,7 @@ public class Cameras extends Panel { camera = null; renderer.setDevice(null); renderer.setShowReticle(false); - renderer.clearOverlays(); + renderer.removeOverlays(fitOv); renderer.clear(); renderer.resetZoom(); } @@ -330,7 +339,7 @@ public class Cameras extends Panel { */ } buttonReticle.setEnabled(camera.getConfig().isCalibrated()); - buttonBackground.setEnabled(camera instanceof Camtool); + buttonGrabBackground.setEnabled(camera instanceof Camtool); camera.getConfig().save(); if (polling<=0){ @@ -340,17 +349,16 @@ public class Cameras extends Panel { } renderer.setDevice(camera); renderer.setAutoScroll(true); + renderer.setMarker(marker); camera.addListener(new ImageListener() { @Override public void onImage(Object o, BufferedImage bi, Data data) { - if (bi!=null){ - System.out.println(bi.getWidth() + " - " + bi.getHeight()); - } if (bi == null) { renderer.removeOverlays(fitOv); fitOv = null; } else { + //System.out.println(bi.getWidth() + " - " + bi.getHeight()); if (!renderer.isPaused() && buttonFit.isSelected()){ Overlay[] profile = renderer.getProfileOverlays(); profile = ((profile != null) && (profile.length==4)) ? getFitOverlays(bi) : null; @@ -371,7 +379,7 @@ public class Cameras extends Panel { } } finally { checkReticle(); - onTimer(); + onTimer(); } } @@ -644,16 +652,12 @@ public class Camtool extends ArraySource { if (roiEnabled.read()>0){ int[] s = roiShape.read(); - for (int x : s){ - System.out.println(x); - } + //for (int x : s) System.out.println(x); getConfig().imageHeight = s[3]; getConfig().imageWidth = s[2]; } else { int[] s = shape.read(); - for (int x : s){ - System.out.println(x); - } + //for (int x : s){ System.out.println(x);} getConfig().imageHeight = s[0]; getConfig().imageWidth = s[1]; } @@ -661,7 +665,7 @@ public class Camtool extends ArraySource { getConfig().save(); getDevice().setSize(getConfig().imageHeight * getConfig().imageWidth); super.doInitialize(); - System.out.println(((int[])(getDevice().read())).length); + //System.out.println(((int[])(getDevice().read())).length); } catch (InterruptedException ex) { throw ex; } catch (Exception ex) { @@ -769,8 +773,8 @@ public class Camtool extends ArraySource { buttonPause = new javax.swing.JToggleButton(); buttonMarker = new javax.swing.JToggleButton(); buttonSave = new javax.swing.JToggleButton(); - buttonBackground = new javax.swing.JToggleButton(); buttonReticle = new javax.swing.JToggleButton(); + buttonGrabBackground = new javax.swing.JButton(); jLabel1.setText("Camera:"); @@ -834,13 +838,6 @@ public class Camtool extends ArraySource { } }); - buttonBackground.setText("Grab Background"); - buttonBackground.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - buttonBackgroundActionPerformed(evt); - } - }); - buttonReticle.setSelected(true); buttonReticle.setText("Reticle"); buttonReticle.addActionListener(new java.awt.event.ActionListener() { @@ -849,6 +846,13 @@ public class Camtool extends ArraySource { } }); + buttonGrabBackground.setText("Grab Background"); + buttonGrabBackground.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + buttonGrabBackgroundActionPerformed(evt); + } + }); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( @@ -879,8 +883,8 @@ public class Camtool extends ArraySource { .addComponent(buttonFit) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonReticle) - .addGap(18, 18, Short.MAX_VALUE) - .addComponent(buttonBackground) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(buttonGrabBackground) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(buttonSave))) .addContainerGap()) @@ -888,10 +892,10 @@ public class Camtool extends ArraySource { layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonConfig, buttonSetup}); - layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonBackground, buttonSave}); - layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonFit, buttonMarker, buttonPause, buttonReticle}); + layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonGrabBackground, buttonSave}); + layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() @@ -912,8 +916,8 @@ public class Camtool extends ArraySource { .addComponent(buttonFit) .addComponent(buttonMarker) .addComponent(buttonSave) - .addComponent(buttonBackground) - .addComponent(buttonReticle)) + .addComponent(buttonReticle) + .addComponent(buttonGrabBackground)) .addContainerGap()) ); @@ -989,12 +993,12 @@ public class Camtool extends ArraySource { Dimension d = renderer.getImageSize(); Point p = (d == null) ? new Point(renderer.getWidth() / 2, renderer.getHeight() / 2) : new Point(d.width / 2, d.height / 2); Overlay ov = null; - ov = new Overlays.Crosshairs(PEN_MARKER, p, new Dimension(100, 100)); - ov.setMovable(true); - renderer.setMarker(ov); + marker = new Overlays.Crosshairs(PEN_MARKER, p, new Dimension(100, 100)); + marker.setMovable(true); } else { - renderer.setMarker(null); + marker = null; } + renderer.setMarker(marker); } } catch (Exception ex) { showException(ex); @@ -1021,16 +1025,6 @@ public class Camtool extends ArraySource { } }//GEN-LAST:event_buttonReticleActionPerformed - private void buttonBackgroundActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonBackgroundActionPerformed - try { - if (camera instanceof Camtool){ - ((Camtool)camera).captureBackground(5); - } - } catch (Exception ex) { - showException(ex); - } - }//GEN-LAST:event_buttonBackgroundActionPerformed - private void buttonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSaveActionPerformed try { renderer.setSnapshotDialogVisible(buttonSave.isSelected()); @@ -1039,10 +1033,20 @@ public class Camtool extends ArraySource { } }//GEN-LAST:event_buttonSaveActionPerformed + private void buttonGrabBackgroundActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonGrabBackgroundActionPerformed + try { + if (camera instanceof Camtool){ + ((Camtool)camera).captureBackground(5); + } + } catch (Exception ex) { + showException(ex); + } + }//GEN-LAST:event_buttonGrabBackgroundActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JToggleButton buttonBackground; private javax.swing.JButton buttonConfig; private javax.swing.JToggleButton buttonFit; + private javax.swing.JButton buttonGrabBackground; private javax.swing.JToggleButton buttonMarker; private javax.swing.JToggleButton buttonPause; private javax.swing.JToggleButton buttonReticle;