|
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
HardwareInterfaceException
public static java.lang.String getDescription()
public EventPacket<?> filterPacket(EventPacket<?> in)
EventFilter2D
filterPacket
in class EventFilter2D
in
- the input packet
public java.lang.Object getFilterState()
EventFilter
getFilterState
in class EventFilter
public void resetFilter()
EventFilter
resetFilter
in class EventFilter
public void initFilter()
EventFilter
initFilter
in class EventFilter
public void annotate(float[][][] frame)
FrameAnnotater
annotate
in interface FrameAnnotater
frame
- the RGB pixel information. First dimension is Y, second is X, third is RGBpublic void annotate(java.awt.Graphics2D g)
FrameAnnotater
annotate
in interface FrameAnnotater
g
- 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 FrameAnnotater
drawable
- the OpenGL drawable components, e.g., GLCanvaspublic void doCalibrate()
public PanTilt getPanTiltHardware()
public void setPanTiltHardware(PanTilt panTilt)
public float getJitterAmplitude()
PanTiltInterface
getJitterAmplitude
in interface PanTiltInterface
public void setJitterAmplitude(float jitterAmplitude)
setJitterAmplitude
in interface PanTiltInterface
jitterAmplitude
- the amplitudepublic float getJitterFreqHz()
PanTiltInterface
getJitterFreqHz
in interface PanTiltInterface
public void setJitterFreqHz(float jitterFreqHz)
setJitterFreqHz
in interface PanTiltInterface
jitterFreqHz
- in Hzpublic void acquire()
PanTiltInterface
acquire
in interface PanTiltInterface
public float[] getPanTiltValues()
PanTiltInterface
getPanTiltValues
in interface PanTiltInterface
public boolean isLockOwned()
PanTiltInterface
isLockOwned
in interface PanTiltInterface
public void release()
PanTiltInterface
release
in interface PanTiltInterface
public void startJitter()
PanTiltInterface
startJitter
in interface PanTiltInterface
PanTiltInterface.setJitterAmplitude(float)
public void stopJitter()
PanTiltInterface
stopJitter
in interface PanTiltInterface
public void setPanTiltValues(float pan, float tilt) throws HardwareInterfaceException
setPanTiltValues
in interface PanTiltInterface
pan
- 0 to 1 valuetilt
- 0 to 1 value
HardwareInterfaceException
public void setServoInterface(ServoInterface servo)
PanTiltInterface
setServoInterface
in interface PanTiltInterface
servo
- the interfacepublic ServoInterface getServoInterface()
getServoInterface
in interface PanTiltInterface
public void setLaserEnabled(boolean yes)
setLaserEnabled
in interface LaserOnOffControl
public PanTiltCalibrator getCalibrator()
|
jAER project on SourceForge | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |