Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
#include <QmitkVideoBackground.h>
Classes | |
struct | VideoBackgroundVectorInfo |
Public Slots | |
void | UpdateVideo () |
Signals | |
void | NewFrameAvailable (mitk::VideoSource *) |
void | EndOfVideoSourceReached (mitk::VideoSource *) |
Public Member Functions | |
QmitkVideoBackground (QObject *parent=nullptr) | |
QmitkVideoBackground (mitk::VideoSource *v, int TimerDelay=25) | |
~QmitkVideoBackground () override | |
void | AddRenderWindow (vtkRenderWindow *renderWindow) |
add a RenderWindow in which the video is displayed. -> must be initialized before enabling the background. if the renderwindow was previously inserted it will get re-inserted (restarted videobackground) ATTENTION: to size the renderwindow correctly GetImageWidth() of the video source will be called and if no size is returned: FetchFrame() on the video source will be called to get the first frame and the corresponding size More... | |
void | RemoveRenderWindow (vtkRenderWindow *renderWindow) |
removes a renderwindow = disables video background there More... | |
bool | IsRenderWindowIncluded (vtkRenderWindow *renderWindow) |
void | SetTimerDelay (int ms) |
sets the update rate of the video in milli seconds, by default 25. More... | |
void | Enable () |
void | Disable () |
disables visualization of the video. More... | |
bool | IsEnabled () |
Checks, if the Video background is currently enabled (visible). More... | |
mitk::VideoSource * | GetVideoSource () |
int | GetTimerDelay () |
void | Pause () |
void | Resume () |
void | SetVideoSource (mitk::VideoSource *videoSource) |
void | OnVideoSourceDelete (const itk::Object *caller, const itk::EventObject &event) |
Static Public Member Functions | |
static void | OnRenderWindowDelete (vtkObject *, unsigned long eid, void *clientdata, void *) |
Protected Types | |
typedef std::vector< VideoBackgroundVectorInfo > | RenderWindowVectorInfoType |
Protected Member Functions | |
void | RemoveRenderWindow (vtkRenderWindow *renderWindow, bool removeObserver) |
void | ResetVideoBackground () |
void | Modified () |
Protected Attributes | |
RenderWindowVectorInfoType | m_renderWindowVectorInfo |
QTimer * | m_QTimer |
mitk::VideoSource * | m_VideoSource |
unsigned long | m_VideoSourceObserverTag |
Displays a 3-channel (!) video data in the background of one or more vtkRenderWindow(s). The video is provided by a mitkVideoSource / GetVideoTexture(). Caution: As the texture data is not being copied, the user is responsible for a valid pointer to the data. Also the image dimensions needs to be set correctly before enabling the background.
Definition at line 41 of file QmitkVideoBackground.h.
|
protected |
the class has to store a list of renderwindows
Definition at line 179 of file QmitkVideoBackground.h.
|
explicit |
default ctor, TimerDelay is 40 by default you must SetVideoSource() and AddRenderWindow() afterwards
Definition at line 39 of file QmitkVideoBackground.cpp.
References ResetVideoBackground().
|
explicit |
constructs a video background with the given video source no parent is set here, dont forget to delete the object or call setParent() TimerDelay = refresh rate of video in ms (25 ms = 40 Hz). you must call AddRenderWindow() afterwards
Definition at line 45 of file QmitkVideoBackground.cpp.
References ResetVideoBackground(), and SetVideoSource().
|
override |
disables all video backgrounds
Definition at line 59 of file QmitkVideoBackground.cpp.
References Disable().
void QmitkVideoBackground::AddRenderWindow | ( | vtkRenderWindow * | renderWindow | ) |
add a RenderWindow in which the video is displayed. -> must be initialized before enabling the background. if the renderwindow was previously inserted it will get re-inserted (restarted videobackground) ATTENTION: to size the renderwindow correctly GetImageWidth() of the video source will be called and if no size is returned: FetchFrame() on the video source will be called to get the first frame and the corresponding size
Definition at line 64 of file QmitkVideoBackground.cpp.
References mitk::VideoSource::FetchFrame(), mitk::VideoSource::GetImageHeight(), mitk::VideoSource::GetImageWidth(), m_renderWindowVectorInfo, m_VideoSource, MITK_WARN, Modified(), OnRenderWindowDelete(), RemoveRenderWindow(), QmitkVideoBackground::VideoBackgroundVectorInfo::renderWindowObserverTag, QmitkVideoBackground::VideoBackgroundVectorInfo::renWin, QmitkVideoBackground::VideoBackgroundVectorInfo::videoActor, QmitkVideoBackground::VideoBackgroundVectorInfo::videoImport, and QmitkVideoBackground::VideoBackgroundVectorInfo::videoRenderer.
Referenced by QmitkOpenCVVideoControls::Play().
void QmitkVideoBackground::Disable | ( | ) |
disables visualization of the video.
Disables drawing of the color Video background. If you want to enable it, call the Enable() function.
Definition at line 171 of file QmitkVideoBackground.cpp.
References mitk::VtkLayerController::GetInstance(), IsEnabled(), m_QTimer, m_renderWindowVectorInfo, and mitk::VtkLayerController::RemoveRenderer().
Referenced by OnVideoSourceDelete(), QmitkOpenCVVideoControls::Stop(), and ~QmitkVideoBackground().
void QmitkVideoBackground::Enable | ( | ) |
visualizes the video. Requires image dimensions and an active videosource to be set.
Enables drawing of the color Video background. If you want to disable it, call the Disable() function.
Definition at line 159 of file QmitkVideoBackground.cpp.
References m_QTimer, Modified(), and UpdateVideo().
Referenced by QmitkOpenCVVideoControls::Play().
|
signal |
Referenced by UpdateVideo().
int QmitkVideoBackground::GetTimerDelay | ( | ) |
Returns the timer delay
Definition at line 273 of file QmitkVideoBackground.cpp.
References m_QTimer.
Referenced by QmitkOpenCVVideoControls::SetVideoBackground().
mitk::VideoSource * QmitkVideoBackground::GetVideoSource | ( | ) |
Returns the videosource attached to this background
Definition at line 268 of file QmitkVideoBackground.cpp.
References m_VideoSource.
Referenced by QmitkOpenCVVideoControls::SetVideoBackground().
bool QmitkVideoBackground::IsEnabled | ( | ) |
Checks, if the Video background is currently enabled (visible).
Definition at line 186 of file QmitkVideoBackground.cpp.
References m_QTimer.
Referenced by Disable().
bool QmitkVideoBackground::IsRenderWindowIncluded | ( | vtkRenderWindow * | renderWindow | ) |
Definition at line 135 of file QmitkVideoBackground.cpp.
References m_renderWindowVectorInfo.
|
protected |
inits all renderwindows with default values, called before video rendering is started
Definition at line 224 of file QmitkVideoBackground.cpp.
References mitk::VideoSource::GetImageHeight(), mitk::VtkLayerController::GetInstance(), mitk::VtkLayerController::InsertBackgroundRenderer(), mitk::VtkLayerController::IsRendererInserted(), m_renderWindowVectorInfo, and m_VideoSource.
Referenced by AddRenderWindow(), and Enable().
|
signal |
emitted after all video backgrounds are filled with the new video frame
Referenced by UpdateVideo().
|
static |
receive renderwindow delete events
Definition at line 284 of file QmitkVideoBackground.cpp.
References RemoveRenderWindow().
Referenced by AddRenderWindow().
void QmitkVideoBackground::OnVideoSourceDelete | ( | const itk::Object * | caller, |
const itk::EventObject & | event | ||
) |
receive VideoSource delete event
Definition at line 278 of file QmitkVideoBackground.cpp.
References Disable(), and m_VideoSource.
Referenced by SetVideoSource().
void QmitkVideoBackground::Pause | ( | ) |
pauses the playback (stops the update timer)
Definition at line 145 of file QmitkVideoBackground.cpp.
References m_QTimer.
void QmitkVideoBackground::RemoveRenderWindow | ( | vtkRenderWindow * | renderWindow | ) |
removes a renderwindow = disables video background there
Definition at line 106 of file QmitkVideoBackground.cpp.
Referenced by AddRenderWindow(), OnRenderWindowDelete(), and QmitkOpenCVVideoControls::Stop().
|
protected |
removes the renderwindow and also removes the observer if the flag is set
Definition at line 111 of file QmitkVideoBackground.cpp.
References mitk::VtkLayerController::GetInstance(), m_renderWindowVectorInfo, and mitk::VtkLayerController::RemoveRenderer().
|
protected |
reset all video backgrounds
Definition at line 52 of file QmitkVideoBackground.cpp.
References m_QTimer, m_renderWindowVectorInfo, and UpdateVideo().
Referenced by QmitkVideoBackground().
void QmitkVideoBackground::Resume | ( | ) |
resumes the playback (restarts the update timer)
Definition at line 150 of file QmitkVideoBackground.cpp.
References m_QTimer.
void QmitkVideoBackground::SetTimerDelay | ( | int | ms | ) |
sets the update rate of the video in milli seconds, by default 25.
Definition at line 263 of file QmitkVideoBackground.cpp.
References m_QTimer.
Referenced by QmitkOpenCVVideoControls::Play().
void QmitkVideoBackground::SetVideoSource | ( | mitk::VideoSource * | videoSource | ) |
sets a new video source (if previously enabled, this will stop the video background if it was previously enabled
Definition at line 244 of file QmitkVideoBackground.cpp.
References m_VideoSource, m_VideoSourceObserverTag, and OnVideoSourceDelete().
Referenced by QmitkVideoBackground().
|
slot |
update all video backgrounds. (called by the timer or manually by the user)
Definition at line 191 of file QmitkVideoBackground.cpp.
References EndOfVideoSourceReached(), mitk::RenderingManager::GetInstance(), mitk::VideoSource::GetVideoTexture(), m_renderWindowVectorInfo, m_VideoSource, MITK_DEBUG, MITK_WARN, NewFrameAvailable(), and mitk::RenderingManager::RequestUpdate().
Referenced by Enable(), and ResetVideoBackground().
|
protected |
calls updatevideo repeateadly for framegrabbing
Definition at line 190 of file QmitkVideoBackground.h.
Referenced by Disable(), Enable(), GetTimerDelay(), IsEnabled(), Pause(), ResetVideoBackground(), Resume(), and SetTimerDelay().
|
protected |
a list of renderwindows and associated renderers and actors and imageimporters
Definition at line 185 of file QmitkVideoBackground.h.
Referenced by AddRenderWindow(), Disable(), IsRenderWindowIncluded(), Modified(), RemoveRenderWindow(), ResetVideoBackground(), and UpdateVideo().
|
protected |
must implement GetVideoTexture() correctly (must return an OpenGL texture)
Definition at line 195 of file QmitkVideoBackground.h.
Referenced by AddRenderWindow(), GetVideoSource(), Modified(), OnVideoSourceDelete(), SetVideoSource(), and UpdateVideo().
|
protected |
the observer tag for the video source
Definition at line 200 of file QmitkVideoBackground.h.
Referenced by SetVideoSource().