QVGUI Class Reference
[Graphical User Interface classes.]

Main window for QVision applications. More...

#include <qvgui/qvgui.h>

List of all members.

Signals

void closed ()

Public Member Functions

 QVGUI (QWidget *parent=0)
 Constructs a QVGUI object, given the QVision object which work (properties, result images, etc...) will be inspected.
 ~QVGUI ()
void closeEvent (QCloseEvent *event)


Detailed Description

Main window for QVision applications.

This is a class that should be used to create an unique GUI object for any QVision application. Creating this object in a QVision application is optional. If done so, the application will provide a window to the user with different sliders, checkboxes and buttons to control worker input properties (see Dynamic properties ) of integer, double and boolean type, and video input flow for the program:

qvgui_rotoscoper.png

This object should be created after the QVApplication object of the program, and before the call to exec(), generally in the main() function. For a general usage of this class in a real QVision application, see QVision's basic programming model. section.

Todo:
Can be created before workers and cameras?

QVGUI widgets.

The buttons and sliders are grouped in different widgets in the QVision interface:

Camera widget.

For every camera object registered in the system there is a widget in the interface, known as the camera widget, that contains buttons to control its input flow. An example of it is depicted below:

qvgui_rotoscoper_camera.png

Follows a description of the buttons and their functionallity:

Pause button
qvgui_pause.png
This button freezes the image that the camera offers to the workers registered in it. If the camera was open in real time mode, the video will continue in the background, but the workers will not read fresh frames. Otherwise the camera will continue exactly at the frame following the one where it was paused, when resuming.

Resume button
qvgui_play.png
This button resumes actualizations of the images that the registered workers read from the cameras.

Step button
qvgui_step.png
When the camera is paused, this button makes it read the next frame in the video input, but keeps the camera paused.

Stop button
qvgui_stop.png
This button stops the camera from reading frames from the input source.
Camera extended controls button
qvgui_cameramaximize.png
This button opens a new window, with extended control functionallity for the camera object, like reproduction speed, and information about the video source, like fps, size of the images, and so:

qvgui_cameraextended.png

Worker widget.

As for the cameras, every worker object registered in the system has its own widget in the interface. It contains several buttons that control its execution. An example of it is depicted below:

qvgui_rotoscoper_cannyworker.png

You can see a preview plot of cpu usage, and some buttons. Execution for the workers can be paused, resumed, stepped, and stopped with them, as if workers were cameras.

Note:
CPU stat plot depends on execution time between time flags, so when two or more workers compete for one CPU, times can differ than the used when each worker is run in its own CPU.
Follows a list with the detailed description of the buttons and their functionallity:

Pause button
qvgui_pause.png
When a worker is paused, calls to QVWorker::iterate function are suspended, until the user pushes resume button. Any worker with an input property connected to an output property of a paused worker is also paused, until the latter resumes the execution.

Resume button
qvgui_play.png
If the worker is paused, its execution can be resumed by the user pushing this button.

Step button
qvgui_step.png
If this button is pushed when a worker is paused, function iterate() will be called one single time, and then worker status will return to paused.

Stop button
qvgui_stop.png
This button stops the worker. No more calls to iterate() function will be done, the properties will be unlinked from any other property holder, and freezed, allowing any other worker connected synchrounously to this to continue with those values.

Cpu statistics button
qvgui_cpustats.png
This button opens a detailed cpu usage plot. It shows a window with the cpu time stadistical plot of the timeflags defined in the iterate() function of the worker. You can see an example of this plot in the following figure:

qvgui_cpustat_canny.png

CPU usage stadistics.

Todo:
Here will be explaineda time flags and console and gui stats
Todo:
explicar funcionamiento de los timeflags y referenciar desde aqui.

Param inspector widget.

Todo:
explicar aqui la inspeccion de parametros en tiempo real.

Definition at line 113 of file qvgui.h.


Constructor & Destructor Documentation

QVGUI::QVGUI ( QWidget *  parent = 0  ) 

Constructs a QVGUI object, given the QVision object which work (properties, result images, etc...) will be inspected.

Parameters:
name identifier for the object to be created.

Definition at line 27 of file qvgui.cpp.

References closed(), QVPropertyContainer::getName(), and qvApp.


Member Function Documentation

void QVGUI::closed (  )  [signal]

Emited when the image canvas window closes.

Referenced by closeEvent(), and QVGUI().


The documentation for this class was generated from the following files:
Generated on Fri Feb 22 18:26:57 2008 for QVision by  doxygen 1.5.3