|
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
ch.unizh.ini.jaer.hardware.pantilt.CalibratedPanTilt
public class CalibratedPanTilt
This filter enables calibrated control of a pan tilt laser pointer. CalibratedPanTilt has a method to set the pan tilt to aim at an x,y point in the retinal view. CalibratedPanTilt only processes incoming events during calibration, when it uses its own RectangularClusterTracker to track the jittering laser point spot for aiming calibration.
| 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 | |
|---|---|
CalibratedPanTilt(AEChip chip)
Constructs instance of the new 'filter' CalibratedPanTilt. |
|
| Method Summary | |
|---|---|
void |
acquire()
A method can set this flag to tell other objects that the servo is "owned" |
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 |
doCalibrate()
Invokes the calibration GUI. |
EventPacket<?> |
filterPacket(EventPacket<?> in)
Subclasses implement this method to define custom processing. |
PanTiltCalibrator |
getCalibrator()
|
static java.lang.String |
getDescription()
|
java.lang.Object |
getFilterState()
should return the filter state in some useful form |
float |
getJitterAmplitude()
Returns the jitter amplitude |
float |
getJitterFreqHz()
Returns the jitter frequency in Hz |
PanTilt |
getPanTiltHardware()
|
float[] |
getPanTiltValues()
Returns the last value set, even if the servo interface is not functional. |
ServoInterface |
getServoInterface()
|
void |
initFilter()
this should allocate and initialize memory: it may be called when the chip e.g. |
boolean |
isLockOwned()
A method can check this to see if it can use the servo |
void |
release()
Releases the "acquired" flag |
void |
resetFilter()
should reset the filter to initial state |
void |
setJitterAmplitude(float jitterAmplitude)
Sets the amplitude (1/2 of peak to peak) of circular jitter of pan tilt during jittering |
void |
setJitterFreqHz(float jitterFreqHz)
The frequency of the jitter |
void |
setLaserEnabled(boolean yes)
|
void |
setPanTiltHardware(PanTilt panTilt)
|
void |
setPanTiltValues(float pan,
float tilt)
Sets the pan and tilt servo values |
void |
setPanTiltVisualAim(float x,
float y)
Sets the pan and tilt to aim at a particular calibrated x,y visual direction |
void |
setServoInterface(ServoInterface servo)
Sets the ServoInterface |
void |
startJitter()
Starts the servo jittering around its set position at a frequency of 50 Hz with an amplitude of 0.02f |
void |
stopJitter()
Stops the jittering |
| 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 |
|---|
public CalibratedPanTilt(AEChip chip)
chip - | Method Detail |
|---|
public void setPanTiltVisualAim(float x,
float y)
throws HardwareInterfaceException
x - the x pixely - the y pixel
HardwareInterfaceExceptionpublic static java.lang.String getDescription()
public EventPacket<?> filterPacket(EventPacket<?> in)
EventFilter2D
filterPacket in class EventFilter2Din - the input packet
public java.lang.Object getFilterState()
EventFilter
getFilterState in class EventFilterpublic void resetFilter()
EventFilter
resetFilter in class EventFilterpublic void initFilter()
EventFilter
initFilter in class EventFilterpublic void annotate(float[][][] frame)
FrameAnnotater
annotate in interface FrameAnnotaterframe - the RGB pixel information. First dimension is Y, second is X, third is RGBpublic void annotate(java.awt.Graphics2D g)
FrameAnnotater
annotate in interface FrameAnnotaterg - the Graphics2D contextpublic 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 FrameAnnotaterdrawable - the OpenGL drawable components, e.g., GLCanvaspublic void doCalibrate()
public PanTilt getPanTiltHardware()
public void setPanTiltHardware(PanTilt panTilt)
public float getJitterAmplitude()
PanTiltInterface
getJitterAmplitude in interface PanTiltInterfacepublic void setJitterAmplitude(float jitterAmplitude)
setJitterAmplitude in interface PanTiltInterfacejitterAmplitude - the amplitudepublic float getJitterFreqHz()
PanTiltInterface
getJitterFreqHz in interface PanTiltInterfacepublic void setJitterFreqHz(float jitterFreqHz)
setJitterFreqHz in interface PanTiltInterfacejitterFreqHz - in Hzpublic void acquire()
PanTiltInterface
acquire in interface PanTiltInterfacepublic float[] getPanTiltValues()
PanTiltInterface
getPanTiltValues in interface PanTiltInterfacepublic boolean isLockOwned()
PanTiltInterface
isLockOwned in interface PanTiltInterfacepublic void release()
PanTiltInterface
release in interface PanTiltInterfacepublic void startJitter()
PanTiltInterface
startJitter in interface PanTiltInterfacePanTiltInterface.setJitterAmplitude(float)public void stopJitter()
PanTiltInterface
stopJitter in interface PanTiltInterface
public void setPanTiltValues(float pan,
float tilt)
throws HardwareInterfaceException
setPanTiltValues in interface PanTiltInterfacepan - 0 to 1 valuetilt - 0 to 1 value
HardwareInterfaceExceptionpublic void setServoInterface(ServoInterface servo)
PanTiltInterface
setServoInterface in interface PanTiltInterfaceservo - the interfacepublic ServoInterface getServoInterface()
getServoInterface in interface PanTiltInterfacepublic void setLaserEnabled(boolean yes)
setLaserEnabled in interface LaserOnOffControlpublic PanTiltCalibrator getCalibrator()
|
jAER project on SourceForge | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||