jAER project on SourceForge

ch.unizh.ini.jaer.projects.gesture
Class XYCenterOutFilter

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

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

An AE filter that filters for a range of x,y,type address. These values are persistent and can be used to filter out borders of the input or particular types of input events.

Author:
tobi

Field Summary
 byte type
           
 short x
           
 short y
           
 
Fields inherited from class net.sf.jaer.eventprocessing.EventFilter2D
enclosedFilter, out
 
Fields inherited from class net.sf.jaer.eventprocessing.EventFilter
annotationEnabled, chip, enclosedFilterChain, filterEnabled, log, perf, propertyTooltipMap, support
 
Constructor Summary
XYCenterOutFilter(AEChip chip)
           
 
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.
 EventPacket filterPacket(EventPacket in)
          filters in to out.
 int getEndType()
           
 int getEndX()
           
 int getEndY()
           
 java.lang.Object getFilterState()
          should return the filter state in some useful form
 int getStartType()
           
 int getStartX()
           
 int getStartY()
           
 void initFilter()
          this should allocate and initialize memory: it may be called when the chip e.g.
 boolean isGeneratingFilter()
           
 boolean isTypeEnabled()
           
 boolean isXEnabled()
           
 boolean isYEnabled()
           
 void resetFilter()
          should reset the filter to initial state
 void setEndType(int endType)
           
 void setEndX(int endX)
           
 void setEndY(int endY)
           
 void setStartType(int startType)
           
 void setStartX(int startX)
           
 void setStartY(int startY)
           
 void setTypeEnabled(boolean typeEnabled)
           
 void setXEnabled(boolean xEnabled)
           
 void setYEnabled(boolean yEnabled)
           
 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, toString, wait, wait, wait
 
Methods inherited from interface net.sf.jaer.graphics.FrameAnnotater
isAnnotationEnabled, setAnnotationEnabled
 

Field Detail

x

public short x

y

public short y

type

public byte type
Constructor Detail

XYCenterOutFilter

public XYCenterOutFilter(AEChip chip)
Method Detail

isGeneratingFilter

public boolean isGeneratingFilter()

filterPacket

public EventPacket filterPacket(EventPacket in)
filters in to out. if filtering is enabled, the number of out may be less than the number put in

Specified by:
filterPacket in class EventFilter2D
Parameters:
in - input events can be null or empty.
Returns:
the processed events, may be fewer in number. filtering may occur in place in the in packet.

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

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

getStartX

public int getStartX()

setStartX

public void setStartX(int startX)

getEndX

public int getEndX()

setEndX

public void setEndX(int endX)

isXEnabled

public boolean isXEnabled()

setXEnabled

public void setXEnabled(boolean xEnabled)

getStartY

public int getStartY()

setStartY

public void setStartY(int startY)

getEndY

public int getEndY()

setEndY

public void setEndY(int endY)

isYEnabled

public boolean isYEnabled()

setYEnabled

public void setYEnabled(boolean yEnabled)

getStartType

public int getStartType()

setStartType

public void setStartType(int startType)

getEndType

public int getEndType()

setEndType

public void setEndType(int endType)

isTypeEnabled

public boolean isTypeEnabled()

setTypeEnabled

public void setTypeEnabled(boolean typeEnabled)

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

update

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

jAER project on SourceForge