|
ICLIO_API | DCGrabber (const DCDevice &dev=DCDevice::null, int isoMBits=0) |
| Constructor creates a new DCGrabber instance from a given DCDevice. More...
|
|
ICLIO_API | ~DCGrabber () |
| Destructor. More...
|
|
virtual ICLIO_API const core::ImgBase * | acquireImage () |
| grab function grabs an image (destination image is adapted on demand) More...
|
|
virtual ICLIO_API std::vector< std::string > | get_io_property_list () |
| filters out the size property, as it is set by the core::format property More...
|
|
| Grabber () |
|
virtual | ~Grabber () |
| Destructor. More...
|
|
const core::ImgBase * | grab (core::ImgBase **dst=0) |
| grab function calls the Grabber-specific acquireImage-method and applies distortion if necessary More...
|
|
template<class T > |
bool | desiredUsed () const |
| returns whether the desired parameter for the given type is used More...
|
|
template<class T > |
void | useDesired (const T &t) |
| sets desired parameters (only available for core::depth,utils::Size and core::format) More...
|
|
void | useDesired (core::depth d, const utils::Size &size, core::format fmt) |
| sets up the grabber to use all given desired parameters More...
|
|
template<class T > |
void | ignoreDesired () |
| set the grabber to ignore the desired param of type T More...
|
|
void | ignoreDesired () |
| sets up the grabber to ignore all desired parameters More...
|
|
template<class T > |
T | getDesired () const |
| returns the desired value for the given type T More...
|
|
virtual void | registerCallback (callback cb) |
| registers a callback that is called each time, a new image is available More...
|
|
virtual void | removeAllCallbacks () |
| removes all registered image callbacks More...
|
|
virtual void | notifyNewImageAvailable (const core::ImgBase *image) |
| this function can be implemented by subclasses in order to notify, that a new image is available More...
|
|
void | enableUndistortion (const std::string &filename) |
| enables the undistorion More...
|
|
void | enableUndistortion (const ImageUndistortion &udist) |
| enables the undistortion plugin for the grabber using radial and tangential distortion parameters More...
|
|
void | enableUndistortion (const utils::ProgArg &pa) |
| enables undistortion from given programm argument. More...
|
|
void | enableUndistortion (const core::Img32f &warpMap) |
| enables undistortion for given warp map More...
|
|
void | setUndistortionInterpolationMode (core::scalemode mode) |
| sets how undistortion is interpolated (supported modes are interpolateNN and interpolateLIN) More...
|
|
void | disableUndistortion () |
| disables distortion More...
|
|
bool | isUndistortionEnabled () const |
| returns whether distortion is currently enabled More...
|
|
const core::Img32f * | getUndistortionWarpMap () const |
| returns the internal warp map or NULL if undistortion is not enabled More...
|
|
virtual | ~Configurable () |
| virtual destructor More...
|
|
| Configurable (const Configurable &other) |
| Copy constructor. More...
|
|
Configurable & | operator= (const Configurable &other) |
| Assignment operator. More...
|
|
void | setConfigurableID (const std::string &ID) |
| sets the ID of this configurable More...
|
|
const std::string & | getConfigurableID () const |
| returns the configurables static ID More...
|
|
bool | isOrderedFlagSet () const |
| returns whether the ordered flag is set More...
|
|
void | deactivateProperty (const std::string &pattern) |
| adds an additional deativation pattern More...
|
|
void | deleteDeactivationPattern (const std::string &pattern) |
| removed a formerly added deactivation pattern More...
|
|
std::vector< std::string > | getPropertyListWithoutDeactivated () const |
| this returns a filtered list of properties (using all filters added by deactivateProperty) More...
|
|
virtual void | adaptProperty (const std::string &name, const std::string &newType, const std::string &newInfo, const std::string &newToolTip) |
| this function can be used to adapt a specific property afterwards More...
|
|
void | registerCallback (const Callback &cb) |
| add a callback for changed properties More...
|
|
void | removedCallback (const Callback &cb) |
| removes a callback that was registered before More...
|
|
void | syncChangesTo (Configurable *others, int num=1) |
| this can be used to let this instance also apply property changes to others More...
|
|
virtual void | setPropertyValue (const std::string &propertyName, const Any &value) |
| sets a property value More...
|
|
virtual std::vector< std::string > | getPropertyList () const |
| returns a list of All properties, that can be set using setProperty More...
|
|
virtual bool | supportsProperty (const std::string &propertyName) const |
| base implementation for property check (seaches in the property list) More...
|
|
virtual void | saveProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC) const |
| writes all available properties into a file More...
|
|
virtual void | loadProperties (const std::string &filename, const std::vector< std::string > &propertiesToSkip=EMPTY_VEC) |
| reads a camera config file from disc More...
|
|
virtual std::string | getPropertyType (const std::string &propertyName) const |
| get type of property More...
|
|
virtual std::string | getPropertyInfo (const std::string &propertyName) const |
| get information of a properties valid values More...
|
|
virtual Any | getPropertyValue (const std::string &propertyName) const |
| returns the current value of a property or a parameter More...
|
|
virtual std::string | getPropertyToolTip (const std::string &propertyName) const |
| returns the tooltip description for a given property More...
|
|
virtual int | getPropertyVolatileness (const std::string &propertyName) const |
| Returns whether this property may be changed internally. More...
|
|
|
typedef utils::Function< void, const core::ImgBase * > | callback |
| new image callback type More...
|
|
typedef Function< void, const Property & > | Callback |
| Function type for changed properties. More...
|
|
static const std::vector< std::string > | EMPTY_VEC |
| used as shortcut – just an empty vector of std::strings More...
|
|
virtual void | setDesiredFormatInternal (core::format fmt) |
| internally set a desired format More...
|
|
virtual void | setDesiredSizeInternal (const utils::Size &size) |
| internally set a desired format More...
|
|
virtual void | setDesiredDepthInternal (core::depth d) |
| internally set a desired format More...
|
|
virtual core::format | getDesiredFormatInternal () const |
| returns the desired format More...
|
|
virtual core::depth | getDesiredDepthInternal () const |
| returns the desired format More...
|
|
virtual utils::Size | getDesiredSizeInternal () const |
| returns the desired format More...
|
|
const core::ImgBase * | adaptGrabResult (const core::ImgBase *src, core::ImgBase **dst) |
| Utility function that allows for much easier implementation of grabUD. More...
|
|
| Uncopyable () |
| Empty base constructor. More...
|
|
void | addProperty (const std::string &name, const std::string &type, const std::string &info, const Any &value=Any(), const int volatileness=0, const std::string &tooltip=std::string()) |
| This can be used by derived classes to store supported properties in the internal list. More...
|
|
void | addChildConfigurable (Configurable *configurable, const std::string &childPrefix="") |
| This adds another configurable as child. More...
|
|
void | removeChildConfigurable (Configurable *configurable) |
| removes the given child configurable More...
|
|
Property & | prop (const std::string &propertyName) |
| this CAN be used e.g. to store a property value in internal property-list More...
|
|
const Property & | prop (const std::string &propertyName) const |
| this CAN be used e.g. to store a property value in internal property-list More...
|
|
| Configurable (const std::string &ID="", bool ordered=true) |
| create this configurable with given ID More...
|
|
void | call_callbacks (const std::string &propertyName, const Configurable *caller) const |
| calls all registered callbacks More...
|
|
std::vector< Callback > | callbacks |
| internally managed list of callbacks More...
|
|
Grabber implementation for handling DC-Devices using libdc1394 (Version >= 2.0.rc9) .
The DCGrabber class implements the ICL's Grabber interface for providing libdc1395.so.2 based camera device access. Internally it wraps some additional classes with name prefix "DC".
The first time the "grab(..)"-function of the DCGrabber is invoked, it internally creates a so called DCGrabberThread. This thread then will create a so called DCFrameQueue internally. This queue is used to handle dma-image-frames, owned by the libdc which have been temporarily de-queued from the dma ring buffer queue into the user space. Here, the user has read-only access to these frames. The DCGrabberThread runs as fast as the current camera-settings allow and de-queues dma-frames from the system space into the user space DCFrameQueue and it en-queues old user space frames from this DCFrameQueue back into the dma ring buffer. At each time, the newest frame is available at the back of the DCFrameQueue whereas the oldest frame is located at the front of this queue. When the DCGrabbers grab-function is called, it will internally lock the current DCFrameQueue and convert the current frame into another buffer before the DCFrameQueue is unlocked again.
Internally the DCGrabber wraps an instance of type DCDeviceOptions, which is a container for all currently implemented options. The wrapped classes DCGrabberThread and DCFrameQueue get a pointer to this option-struct at construction time, so these objects are able to work with the options currently set inside the parent DCGrabber instance.
In addition, another class called DCDevice is used internally as a high-level wrapper for the libdc1394's camera struct. This DCDevice class provides some additional information to the low level information of the dc1394camera_t struct, e.g. some very camera-model specific information about the bayer-filter layout and so on. Note: New cameras, which should be supported must be included here!.
As in other Grabber implementations, a static function "getDeviceList()" can be used to detect currently supported cameras.
- See also
- DCDevice, DCDeviceOptions, DCGrabberThread, DCFrameQueue