jAER project on SourceForge

ch.unizh.ini.jaer.projects.stereo3D
Class StereoEventTimingMonitor

java.lang.Object
  extended by net.sf.jaer.eventprocessing.EventFilter
      extended by net.sf.jaer.eventprocessing.EventFilter2D
          extended by ch.unizh.ini.jaer.projects.stereo3D.StereoEventTimingMonitor
All Implemented Interfaces:
java.util.Observer, FrameAnnotater

public class StereoEventTimingMonitor
extends EventFilter2D
implements FrameAnnotater, java.util.Observer

StereoEventTimingMonitor: Monitor synchro of left and right stereo retina, in defined pixel area, output mean time of packet and min/max recorded time Apply to Binocular events, from left and fight retina

Author:
rogister

Field Summary
protected  AEChip chip
           
protected  int LEFT
           
protected  int OFF
           
protected  int ON
           
protected  int RIGHT
           
 
Fields inherited from class net.sf.jaer.eventprocessing.EventFilter2D
enclosedFilter, out
 
Fields inherited from class net.sf.jaer.eventprocessing.EventFilter
annotationEnabled, enclosedFilterChain, filterEnabled, log, perf, propertyTooltipMap, support
 
Constructor Summary
StereoEventTimingMonitor(AEChip chip)
          Creates a new instance of GravityCentersImageDumper
 
Method Summary
 void annotate(float[][][] frame)
          annotate the rendered retina frame to show locations of clusters
 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)
          // drawing on player window
protected  void drawBox(javax.media.opengl.GL gl, int x, int x2, int y, int y2)
           
protected  void drawBoxCentered(javax.media.opengl.GL gl, int x, int y, int sx, int sy)
           
 EventPacket filterPacket(EventPacket in)
          Subclasses implement this method to define custom processing.
 java.lang.Object getFilterState()
          should return the filter state in some useful form
 int getLeft_x_max()
           
 int getleft_x_min()
           
 int getLeft_y_max()
           
 int getLeft_y_min()
           
 int getMinEvents()
           
 int getRight_x_max()
           
 int getRight_x_min()
           
 int getRight_y_max()
           
 int getRight_y_min()
           
 int getTimeWindowLength()
           
 void initFilter()
          this should allocate and initialize memory: it may be called when the chip e.g.
 boolean isLogDataEnabled()
           
 boolean isShowZone()
           
protected  void processEvent(TypedEvent e)
           
 void resetFilter()
          should reset the filter to initial state
 void setLeft_x_max(int x_max)
           
 void setleft_x_min(int x_min)
           
 void setLeft_y_max(int y_max)
           
 void setLeft_y_min(int y_min)
           
 void setLogDataEnabled(boolean logDataEnabled)
           
 void setMinEvents(int minEvents)
           
 void setRight_x_max(int x_max)
           
 void setRight_x_min(int x_min)
           
 void setRight_y_max(int y_max)
           
 void setRight_y_min(int y_min)
           
 void setShowZone(boolean showZone)
           
 void setTimeWindowLength(int timeWindowLength)
           
 java.lang.String toString()
           
 void update(java.util.Observable o, java.lang.Object arg)
           
 
Methods inherited from class net.sf.jaer.eventprocessing.EventFilter2D
checkOutputPacketEventType, checkOutputPacketEventType, getEnclosedFilter, resetOut, setEnclosedFilter, setFilterEnabled
 
Methods inherited from class net.sf.jaer.eventprocessing.EventFilter
getChip, getDescription, getEnclosedFilterChain, getEnclosingFilter, getPrefs, getPropertyChangeSupport, getPropertyTooltip, isAnnotationEnabled, isEnclosed, isFilterEnabled, prefsEnabledKey, setAnnotationEnabled, setChip, setEnclosed, setEnclosedFilter, setEnclosedFilterChain, setEnclosingFilter, setPreferredEnabledState, setPrefs, setPropertyTooltip
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sf.jaer.graphics.FrameAnnotater
isAnnotationEnabled, setAnnotationEnabled
 

Field Detail

RIGHT

protected final int RIGHT
See Also:
Constant Field Values

LEFT

protected final int LEFT
See Also:
Constant Field Values

ON

protected final int ON
See Also:
Constant Field Values

OFF

protected final int OFF
See Also:
Constant Field Values

chip

protected AEChip chip
Constructor Detail

StereoEventTimingMonitor

public StereoEventTimingMonitor(AEChip chip)
Creates a new instance of GravityCentersImageDumper

Method Detail

initFilter

public void initFilter()
Description copied from class: EventFilter
this should allocate and initialize memory: it may be called when the chip e.g. size parameters are changed after creation of the filter

Specified by:
initFilter in class EventFilter

processEvent

protected void processEvent(TypedEvent e)

toString

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

getFilterState

public java.lang.Object getFilterState()
Description copied from class: EventFilter
should return the filter state in some useful form

Specified by:
getFilterState in class EventFilter

resetFilter

public void resetFilter()
Description copied from class: EventFilter
should reset the filter to initial state

Specified by:
resetFilter in class EventFilter

filterPacket

public EventPacket filterPacket(EventPacket in)
Description copied from class: EventFilter2D
Subclasses implement this method to define custom processing.

Specified by:
filterPacket in class EventFilter2D
Parameters:
in - the input packet
Returns:
the output packet

update

public void update(java.util.Observable o,
                   java.lang.Object arg)
Specified by:
update in interface java.util.Observer

annotate

public void annotate(java.awt.Graphics2D g)
// drawing on player window

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

drawBoxCentered

protected void drawBoxCentered(javax.media.opengl.GL gl,
                               int x,
                               int y,
                               int sx,
                               int sy)

drawBox

protected void drawBox(javax.media.opengl.GL gl,
                       int x,
                       int x2,
                       int y,
                       int y2)

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

annotate

public void annotate(float[][][] frame)
annotate the rendered retina frame to show locations of clusters

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

isLogDataEnabled

public boolean isLogDataEnabled()

setLogDataEnabled

public void setLogDataEnabled(boolean logDataEnabled)

setShowZone

public void setShowZone(boolean showZone)

isShowZone

public boolean isShowZone()

setleft_x_min

public void setleft_x_min(int x_min)

getleft_x_min

public int getleft_x_min()

setLeft_x_max

public void setLeft_x_max(int x_max)

getLeft_x_max

public int getLeft_x_max()

setLeft_y_min

public void setLeft_y_min(int y_min)

getLeft_y_min

public int getLeft_y_min()

setLeft_y_max

public void setLeft_y_max(int y_max)

getLeft_y_max

public int getLeft_y_max()

setRight_x_min

public void setRight_x_min(int x_min)

getRight_x_min

public int getRight_x_min()

setRight_x_max

public void setRight_x_max(int x_max)

getRight_x_max

public int getRight_x_max()

setRight_y_min

public void setRight_y_min(int y_min)

getRight_y_min

public int getRight_y_min()

setRight_y_max

public void setRight_y_max(int y_max)

getRight_y_max

public int getRight_y_max()

setTimeWindowLength

public void setTimeWindowLength(int timeWindowLength)

getTimeWindowLength

public int getTimeWindowLength()

setMinEvents

public void setMinEvents(int minEvents)

getMinEvents

public int getMinEvents()

jAER project on SourceForge