QVDefaultGUI Class Reference
[Graphical User Interface]

Main user interface widget for QVision applications. More...

#include <qvdefaultgui/qvdefaultgui.h>

Inherits QVGUI.

List of all members.

Signals

void closed ()

Public Member Functions

 QVDefaultGUI (QWidget *parent=0)
 Constructs a QVDefaultGUI object, given the QVision object which work (properties, result images, etc...) will be inspected.
 ~QVDefaultGUI ()
void closeEvent (QCloseEvent *event)
void init ()
 initialice the QVDefaultGUI object, adding all workers and canvas registeres in the QVApplication etc...) will be inspected.
void show ()


Detailed Description

Main user interface widget for QVision applications.

This class can be used to create an interactive widget that will offer to the user the possibility to control the execution of the different workers registered in the application, the flow of the input video camera objects, and modify the scalar input parameters defined and not linked at the workers (see Dynamic properties ).

This is a sample snapshot for a QVDefaultGUI window:

qvisioninterface_rotoscoper.png

To be correctly initialized a sole instance object of the QVDefaultGUI class should be created after the QVApplication object in the main function, and before the call to exec(). For a general usage of this class in a real QVision application, see ProgrammingModel section.

QVDefaultGUI widgets.

There are two widget areas in the QVDefaultGUI window:

Camera widgets.

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:

qvisioninterface_rotoscoper_camera.png

Follows a description of the buttons and their functionality:

Pause button
qvisioninterface_pause.png
This button stops the camera from publishing new frames from the video source. If the camera is on real-time mode it will keep reading frames, but won't send them to the workers connected to it.

Resume button
qvisioninterface_play.png
This button resumes grabbing of the images that the registered workers read from the cameras.

Step button
qvisioninterface_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
qvisioninterface_stop.png
This button stops the camera from reading frames from the input source.

Camera extended controls button
qvisioninterface_cameramaximize.png
This button opens a new window, with extended control functionality for the camera object, including buttons to control the playing speed. Also, it displays the following information: fps, reproduction speed, size of the video images, seconds elapsed (actual/total) and frames grabbed (read from the video source) / read (sent to the workers).
qvisioninterface_cameraextended.png

Worker widgets.

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:

qvisioninterface_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 functionality:

Pause button
qvisioninterface_pause.png
This button suspends the processing of the worker. Every worker synchronized with it will be stopped as well, until the resume button is pushed.

Resume button
qvisioninterface_play.png
If the worker is paused, pushing this button resumes its execution.

Step button
qvisioninterface_step.png
This button can be pushed when a worker is paused to make it process it its inputs one time. The worker will still be paused after that.

Stop button
qvisioninterface_stop.png
This button finish the processing of the worker. Its properties will be unlinked and with a freezed value, so any worker connected to it will read the same values from then on.

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

qvisioninterface_cpustat_canny.png

Function QVWorker::timeFlag() can be used in the body of the QVWorker::iterate() function to configure a time flag in the execution of a worker.

Workers input area.

This side of the graphical user interface contains a tab for each worker created by the application. Each tab shows a set of widgets offering control for the worker's input parameters. The user can modify the values of these input parameters at will in execution time.

Each of these widgets is connected to each input property (see section Dynamic properties) from the set of created workers

Definition at line 129 of file qvdefaultgui.h.


Constructor & Destructor Documentation

QVDefaultGUI::QVDefaultGUI ( QWidget *  parent = 0  ) 

Constructs a QVDefaultGUI 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 33 of file qvdefaultgui.cpp.


Member Function Documentation

void QVDefaultGUI::show (  )  [inline, virtual]

show the QVGUI object.

Implements QVGUI.

Definition at line 147 of file qvdefaultgui.h.

void QVDefaultGUI::closed (  )  [signal]

Emited when the image canvas window closes.

Referenced by closeEvent(), and QVDefaultGUI().


The documentation for this class was generated from the following files: