|
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.filter.RepetitiousFilter
public class RepetitiousFilter
An AE filter that filters out boring repetitive events.
It does this by maintaining an internal map of boring cells (x,y,type). These are boring because they are repetitive. An event is
passed through if its interspike interval (the time since the last event for this cell) is different by a factor of more than ratioShorter
to the
previous interspike interval. This average dt has a smoothing 'time constant' averagingSamples.
The switch passRepetitiousEvents passes only repetitious events in case those are the interesting ones.
Fires PropertyChangeEvent for the following
Field Summary | |
---|---|
protected int |
averagingSamples
the number of packets processed to average over |
protected int |
minDtToStore
the minimum dt to record, to help reject multiple events from much slower stimulus variation (e.g. |
protected int |
ratioLonger
factor different than previous dt for this cell to pass through filter |
protected int |
ratioShorter
factor different than previous dt for this cell to pass through filter |
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 | |
---|---|
RepetitiousFilter(AEChip chip)
|
Method Summary | |
---|---|
EventPacket |
filterPacket(EventPacket in)
Subclasses implement this method to define custom processing. |
int |
getAveragingSamples()
|
static java.lang.String |
getDescription()
|
int[][][][] |
getFilterState()
returns array of last event times, x,y,type,[t0,t1], where t0/t1 are the last two event times, t0 first. |
int |
getMinDtToStore()
|
boolean |
getPassRepetitiousEvents()
|
int |
getRatioLonger()
|
int |
getRatioShorter()
|
void |
initFilter()
this should allocate and initialize memory: it may be called when the chip e.g. |
boolean |
isGeneratingFilter()
|
void |
resetFilter()
should reset the filter to initial state |
void |
setAveragingSamples(int averagingSamples)
sets the number of packets to smooth dt for a pixel over |
void |
setMinDtToStore(int minDtToStore)
|
void |
setPassRepetitiousEvents(boolean passRepetitiousEvents)
|
void |
setRatioLonger(int ratioLonger)
|
void |
setRatioShorter(int ratioShorter)
|
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, 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 |
Field Detail |
---|
protected int ratioShorter
protected int ratioLonger
protected int minDtToStore
protected int averagingSamples
Constructor Detail |
---|
public RepetitiousFilter(AEChip chip)
Method Detail |
---|
public static java.lang.String getDescription()
public boolean isGeneratingFilter()
public int[][][][] getFilterState()
getFilterState
in class EventFilter
public void resetFilter()
EventFilter
resetFilter
in class EventFilter
public int getAveragingSamples()
public void setAveragingSamples(int averagingSamples)
public int getMinDtToStore()
public void setMinDtToStore(int minDtToStore)
public int getRatioShorter()
public void setRatioShorter(int ratioShorter)
public int getRatioLonger()
public void setRatioLonger(int ratioLonger)
public void update(java.util.Observable o, java.lang.Object arg)
update
in interface java.util.Observer
public void initFilter()
EventFilter
initFilter
in class EventFilter
public EventPacket filterPacket(EventPacket in)
EventFilter2D
filterPacket
in class EventFilter2D
in
- the input packet
public boolean getPassRepetitiousEvents()
public void setPassRepetitiousEvents(boolean passRepetitiousEvents)
|
jAER project on SourceForge | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |