jAER project on SourceForge

org.ine.telluride.jaer.cochlea
Class MSO

java.lang.Object
  extended by net.sf.jaer.eventprocessing.EventFilter
      extended by net.sf.jaer.eventprocessing.EventFilter2D
          extended by org.ine.telluride.jaer.cochlea.MSO
All Implemented Interfaces:
FrameAnnotater

public class MSO
extends EventFilter2D
implements FrameAnnotater

Calculates ITD from binaural cochlea input

Author:
ahs (Andrew Schwartz, MIT)

Field Summary
 
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
MSO(AEChip chip)
           
 
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.
 void computeITD()
           
 EventPacket<?> filterPacket(EventPacket<?> in)
          Subclasses implement this method to define custom processing.
 int getBinWidth()
           
 float getChannelWeight(int chan)
           
static java.lang.String getDescription()
           
 float getDisplayScale()
           
 boolean getDrawOutput()
           
 java.lang.Object getFilterState()
          should return the filter state in some useful form
 float[] getITD()
           
 int[] getITDBins()
           
 float[] getITDState()
           
 int getNumBins()
           
 int getSmoothBins()
           
 int getToggleChannel()
           
 boolean getToggleChannelOn()
           
 void initFilter()
          this should allocate and initialize memory: it may be called when the chip e.g.
 boolean isChannelIncluded(int chan)
           
 void resetFilter()
          should reset the filter to initial state
 void setBinWidth(int binWidth)
           
 void setChannelWeight(int chan, float weight)
           
 void setDisplayScale(float displayScale)
           
 void setDrawOutput(boolean drawOutput)
           
 void setIncludeChannel(int chan, boolean include)
           
 void setNumBins(int numBins)
           
 void setSmoothBins(int smoothBins)
           
 void setToggleChannel(int toggleChannel)
           
 void setToggleChannelOn(boolean toggleChannelOn)
           
 
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
 
Methods inherited from interface net.sf.jaer.graphics.FrameAnnotater
isAnnotationEnabled, setAnnotationEnabled
 

Constructor Detail

MSO

public MSO(AEChip chip)
Method Detail

getDescription

public static java.lang.String getDescription()

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

computeITD

public void computeITD()

getITD

public float[] getITD()

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

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

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

getBinWidth

public int getBinWidth()

setBinWidth

public void setBinWidth(int binWidth)

getNumBins

public int getNumBins()

setNumBins

public void setNumBins(int numBins)

getSmoothBins

public int getSmoothBins()

setSmoothBins

public void setSmoothBins(int smoothBins)

getToggleChannel

public int getToggleChannel()

setToggleChannel

public void setToggleChannel(int toggleChannel)

getToggleChannelOn

public boolean getToggleChannelOn()

setToggleChannelOn

public void setToggleChannelOn(boolean toggleChannelOn)

isChannelIncluded

public boolean isChannelIncluded(int chan)

setIncludeChannel

public void setIncludeChannel(int chan,
                              boolean include)

getChannelWeight

public float getChannelWeight(int chan)

setChannelWeight

public void setChannelWeight(int chan,
                             float weight)

getDrawOutput

public boolean getDrawOutput()

setDrawOutput

public void setDrawOutput(boolean drawOutput)

getDisplayScale

public float getDisplayScale()

setDisplayScale

public void setDisplayScale(float displayScale)

getITDState

public float[] getITDState()

getITDBins

public int[] getITDBins()

jAER project on SourceForge