|
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 EventFilterpublic void resetFilter()
EventFilter
resetFilter in class EventFilterpublic 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.Observerpublic void initFilter()
EventFilter
initFilter in class EventFilterpublic EventPacket filterPacket(EventPacket in)
EventFilter2D
filterPacket in class EventFilter2Din - 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 | |||||||||