jAER project on SourceForge

ch.unizh.ini.jaer.hardware.pantilt
Class PanTiltCalibrator

java.lang.Object
  extended by ch.unizh.ini.jaer.hardware.pantilt.PanTiltCalibrator
All Implemented Interfaces:
java.beans.PropertyChangeListener, java.util.EventListener, FrameAnnotater

public class PanTiltCalibrator
extends java.lang.Object
implements java.beans.PropertyChangeListener, FrameAnnotater

The calibrator for the PanTilt. It maintains the calibration from retinal to pan tilt values and in conjunction with PanTiltGUI allows manual calibration of the transform from retinal to pan-tilt space.

Author:
tobi

Constructor Summary
PanTiltCalibrator(CalibratedPanTilt panTilt)
           
 
Method Summary
 void annotate(float[][][] frame)
          annotate the RGB frame somehow by color pixels in the rendered pixel frame data.
 void annotate(javax.media.opengl.GLAutoDrawable drawable)
          Each annotator enters annotate with graphics context current, in coordinates with pixel 0,0 in LL corner (note opposite from Java2D) and pixel spacing 1 unit after the scaling transform (which is already active).
 void annotate(java.awt.Graphics2D g)
          each annotator is called by the relevant class (e.g.
 float[] getTransformedPanTiltFromXY(float[] xy1)
           
 boolean isAnnotationEnabled()
           
 boolean isCalibrating()
           
 void propertyChange(java.beans.PropertyChangeEvent evt)
           
 void resetToDefaultCalibration()
          Resets to a default calibration
 void setAnnotationEnabled(boolean yes)
           
 void setCalibrating(boolean calibrating)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PanTiltCalibrator

public PanTiltCalibrator(CalibratedPanTilt panTilt)
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

getTransformedPanTiltFromXY

public float[] getTransformedPanTiltFromXY(float[] xy1)

resetToDefaultCalibration

public void resetToDefaultCalibration()
Resets to a default calibration


isCalibrating

public boolean isCalibrating()

setCalibrating

public void setCalibrating(boolean calibrating)

setAnnotationEnabled

public void setAnnotationEnabled(boolean yes)
Specified by:
setAnnotationEnabled in interface FrameAnnotater

isAnnotationEnabled

public boolean isAnnotationEnabled()
Specified by:
isAnnotationEnabled in interface FrameAnnotater

annotate

public void annotate(float[][][] frame)
Description copied from interface: FrameAnnotater
annotate the RGB frame somehow by color pixels in the rendered pixel frame data.

Specified by:
annotate in interface FrameAnnotater
Parameters:
frame - the RGB pixel information. First dimension is Y, second is X, third is RGB

annotate

public void annotate(java.awt.Graphics2D g)
Description copied from interface: FrameAnnotater
each annotator is called by the relevant class (e.g. EyeTracker) and enters annotate with graphics context current, in coordinates with pixel 0,0 in UL corner and pixel spacing 1 unit before scaling transform (which is already active).

Specified by:
annotate in interface FrameAnnotater
Parameters:
g - the Graphics2D context

annotate

public void annotate(javax.media.opengl.GLAutoDrawable drawable)
Description copied from interface: FrameAnnotater
Each annotator enters annotate with graphics context current, in coordinates with pixel 0,0 in LL corner (note opposite from Java2D) and pixel spacing 1 unit after the scaling transform (which is already active). The FrameAnnotater then can use JOGL calls to render to the screen by getting the GL context, e.g. the following code, used in the context of an AEChip object, draws a golden lines from LL to UR of the pixel array.
        GL gl = drawable.getGL();
        gl.glBegin(GL.GL_LINES);
        gl.glColor3f(.5f, .5f, 0);
        gl.glVertex2f(0, 0);
        gl.glVertex2f(getSizeX() - 1, getSizeY() - 1);
        gl.glEnd();
 

Specified by:
annotate in interface FrameAnnotater
Parameters:
drawable - the OpenGL drawable components, e.g., GLCanvas

jAER project on SourceForge