ch.unizh.ini.jaer.projects.facetracker
Class FaceTrack
java.lang.Object
net.sf.jaer.eventprocessing.EventFilter
net.sf.jaer.eventprocessing.EventFilter2D
ch.unizh.ini.jaer.projects.facetracker.FaceTrack
- All Implemented Interfaces:
- java.util.Observer, FrameAnnotater
public class FaceTrack
- extends EventFilter2D
- implements FrameAnnotater, java.util.Observer
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)
Subclasses implement this method to define custom processing. |
java.lang.Object |
getFilterState()
should return the filter state in some useful form |
int |
getLEDBOX()
|
int |
getNEVENTS()
|
void |
initFilter()
this should allocate and initialize memory: it may be called when the chip e.g. |
void |
resetFilter()
should reset the filter to initial state |
void |
setLEDBOX(int LEDBOX)
|
void |
setNEVENTS(int NEVENTS)
|
void |
standard(float[][] new_hori)
|
void |
update(java.util.Observable o,
java.lang.Object arg)
|
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 |
NEVENTS
protected int NEVENTS
LEDBOX
protected int LEDBOX
FaceTrack
public FaceTrack(AEChip chip)
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
getNEVENTS
public int getNEVENTS()
setNEVENTS
public void setNEVENTS(int NEVENTS)
getLEDBOX
public int getLEDBOX()
setLEDBOX
public void setLEDBOX(int LEDBOX)
update
public void update(java.util.Observable o,
java.lang.Object arg)
- Specified by:
update
in interface java.util.Observer
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
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
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
standard
public void standard(float[][] new_hori)