jAER project on SourceForge

net.sf.jaer.eventprocessing.filter
Class CircularConvolutionFilter

java.lang.Object
  extended by net.sf.jaer.eventprocessing.EventFilter
      extended by net.sf.jaer.eventprocessing.EventFilter2D
          extended by net.sf.jaer.eventprocessing.filter.CircularConvolutionFilter
All Implemented Interfaces:
java.util.Observer

public class CircularConvolutionFilter
extends EventFilter2D
implements java.util.Observer

Computes circular convolutions by splatting out events and checking receiving pixels to see if they exceed a threshold. A behavioral model of Raphael/Bernabe convolution chip, but limited in that it presently only allows positive binary kernel weights, thus the output events an be triggered by lots of input activity.

Author:
tobi

Field Summary
 int NUM_OUTPUT_TYPES
          the number of cell output types
 
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
CircularConvolutionFilter(AEChip chip)
          Creates a new instance of TypeCoincidenceFilter
 
Method Summary
 EventPacket filterPacket(EventPacket in)
          Subclasses implement this method to define custom processing.
static java.lang.String getDescription()
           
 java.lang.Object getFilterState()
          should return the filter state in some useful form
 int getRadius()
           
 float getTauMs()
           
 float getThreshold()
           
 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 setRadius(int radius)
           
 void setTauMs(float tauMs)
           
 void setThreshold(float threshold)
           
 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

NUM_OUTPUT_TYPES

public final int NUM_OUTPUT_TYPES
the number of cell output types

See Also:
Constant Field Values
Constructor Detail

CircularConvolutionFilter

public CircularConvolutionFilter(AEChip chip)
Creates a new instance of TypeCoincidenceFilter

Method Detail

getDescription

public static java.lang.String getDescription()

isGeneratingFilter

public boolean isGeneratingFilter()

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

update

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

getRadius

public int getRadius()

setRadius

public void setRadius(int radius)

getTauMs

public float getTauMs()

setTauMs

public void setTauMs(float tauMs)

getThreshold

public float getThreshold()

setThreshold

public void setThreshold(float threshold)

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

jAER project on SourceForge