|
jAER project on SourceForge | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.jaer.eventprocessing.EventFilter
net.sf.jaer.eventprocessing.EventFilter2D
net.sf.jaer.eventprocessing.tracking.ParticleTracker
public class ParticleTracker
Nested Class Summary | |
---|---|
class |
ParticleTracker.Cluster
|
class |
ParticleTracker.DiffusedCluster
|
Field Summary | |
---|---|
protected AEChip |
chip
|
protected java.util.Random |
random
|
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 | |
---|---|
ParticleTracker(AEChip chip)
Creates a new instance of ParticleTracker |
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)
each annotator is called by the relevant class (e.g. |
ParticleTracker.DiffusedCluster |
diffuseCluster(int x,
int y,
int id,
int time_limit,
int lowest_id,
ParticleTracker.DiffusedCluster c)
|
protected void |
drawBox(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. |
float |
getClusterMinMass4Display()
|
java.util.List<ParticleTracker.Cluster> |
getClusters()
|
int |
getClusterUnsupportedLifetime()
|
static java.lang.String |
getDescription()
|
float |
getDisplayVelocityScaling()
|
java.lang.Object |
getFilterState()
should return the filter state in some useful form |
int |
getLogFrameLength()
|
boolean |
getOnPolarityOnly()
|
void |
initFilter()
this should allocate and initialize memory: it may be called when the chip e.g. |
int |
mergeClusters(ParticleTracker.Cluster thisCluster,
int[] cluster_ids,
int n_ids,
int now)
|
void |
resetFilter()
should reset the filter to initial state |
void |
setClusterMinMass4Display(float x)
|
void |
setClusterUnsupportedLifetime(int x)
|
void |
setDisplayVelocityScaling(float x)
|
void |
setFilterEnabled(boolean enabled)
Resets the filter |
void |
setLogFrameLength(int x)
|
void |
setOnPolarityOnly(boolean b)
|
int |
splitClusters()
|
void |
update(java.util.Observable o,
java.lang.Object arg)
|
float |
weighEvent(float t_ev,
float now)
|
Methods inherited from class net.sf.jaer.eventprocessing.EventFilter2D |
---|
checkOutputPacketEventType, checkOutputPacketEventType, getEnclosedFilter, resetOut, setEnclosedFilter |
Methods inherited from class net.sf.jaer.eventprocessing.EventFilter |
---|
getChip, 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 |
---|
protected AEChip chip
protected java.util.Random random
Constructor Detail |
---|
public ParticleTracker(AEChip chip)
Method Detail |
---|
public static java.lang.String getDescription()
public void setDisplayVelocityScaling(float x)
public final float getDisplayVelocityScaling()
public void setLogFrameLength(int x)
public final int getLogFrameLength()
public void setClusterUnsupportedLifetime(int x)
public final int getClusterUnsupportedLifetime()
public void setOnPolarityOnly(boolean b)
public final boolean getOnPolarityOnly()
public void setClusterMinMass4Display(float x)
public final float getClusterMinMass4Display()
public void setFilterEnabled(boolean enabled)
EventFilter2D
setFilterEnabled
in class EventFilter2D
enabled
- true to resetEventFilter.setPreferredEnabledState()
public float weighEvent(float t_ev, float now)
public int mergeClusters(ParticleTracker.Cluster thisCluster, int[] cluster_ids, int n_ids, int now)
public ParticleTracker.DiffusedCluster diffuseCluster(int x, int y, int id, int time_limit, int lowest_id, ParticleTracker.DiffusedCluster c)
public int splitClusters()
public java.util.List<ParticleTracker.Cluster> getClusters()
public void initFilter()
EventFilter
initFilter
in class EventFilter
public void resetFilter()
EventFilter
resetFilter
in class EventFilter
public java.lang.Object getFilterState()
EventFilter
getFilterState
in class EventFilter
public EventPacket filterPacket(EventPacket in)
EventFilter2D
filterPacket
in class EventFilter2D
in
- the input packet
public void update(java.util.Observable o, java.lang.Object arg)
update
in interface java.util.Observer
public void annotate(java.awt.Graphics2D g)
FrameAnnotater
annotate
in interface FrameAnnotater
g
- the Graphics2D contextprotected void drawBox(javax.media.opengl.GL gl, int x, int y, int sx, int sy)
public void annotate(javax.media.opengl.GLAutoDrawable drawable)
FrameAnnotater
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();
annotate
in interface FrameAnnotater
drawable
- the OpenGL drawable components, e.g., GLCanvaspublic void annotate(float[][][] frame)
annotate
in interface FrameAnnotater
frame
- the RGB pixel information. First dimension is Y, second is X, third is RGB
|
jAER project on SourceForge | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |