Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitk::USImageVideoSource Class Reference

This class can be pointed to a video file or a videodevice and delivers USImages. More...

#include <mitkUSImageVideoSource.h>

Inheritance diagram for mitk::USImageVideoSource:
Collaboration diagram for mitk::USImageVideoSource:

Classes

struct  USImageCropping
 Defines a region of interest by distances to the four image borders. More...
 
struct  USImageRoi
 Defines a region of interest by top left and bottom right corner. More...
 

Public Member Functions

 mitkClassMacroItkParent (USImageVideoSource, itk::ProcessObject)
 
Pointer Clone () const
 
void SetVideoFileInput (std::string path)
 Opens a video file for streaming. If nothing goes wrong, the VideoSource is ready to deliver images after calling this function. More...
 
void SetCameraInput (int deviceID)
 Opens a video device for streaming. Takes the Device id. Try -1 for "grab the first you can get" which works quite well if only one device is available. If nothing goes wrong, the VideoSource is ready to deliver images after calling this function. More...
 
void ReleaseInput ()
 
void SetColorOutput (bool isColor)
 Sets the output image to rgb or grayscale. Output is color by default and can be set to color by passing true, or to grayscale again by passing false. More...
 
void SetRegionOfInterest (int topLeftX, int topLeftY, int bottomRightX, int bottomRightY)
 Defines the cropping area. The rectangle will be justified to the image borders if the given rectangle is larger than the video source. If a correct rectangle is given, the dimensions of the output image will be equal to those of the rectangle. More...
 
void SetRegionOfInterest (USImageRoi regionOfInterest)
 Defines the cropping area. The rectangle will be justified to the image borders if the given rectangle is larger than the video source. If a correct rectangle is given, the dimensions of the output image will be equal to those of the rectangle. More...
 
void SetCropping (USImageCropping cropping)
 Defines the cropping area. The rectangle will be justified to the image borders if the given rectangle is larger than the video source. If a correct rectangle is given, the dimensions of the output image will be equal to those of the rectangle. More...
 
void RemoveRegionOfInterest ()
 
void OverrideResolution (int width, int height)
 This is a workaround for a problem that happens with some video device drivers. More...
 
virtual bool GetIsVideoReady ()
 
virtual bool GetResolutionOverride ()
 
virtual void SetResolutionOverride (bool _arg)
 
virtual bool GetIsGreyscale ()
 
virtual int GetResolutionOverrideWidth ()
 
virtual int GetResolutionOverrideHeight ()
 
int GetImageHeight ()
 
int GetImageWidth ()
 
USImageCropping GetCropping ()
 
USImageRoi GetRegionOfInterest ()
 
bool GetIsReady ()
 Returns true if images can be delivered. More...
 
- Public Member Functions inherited from mitk::USImageSource
 mitkClassMacroItkParent (USImageSource, itk::Object)
 
virtual mitk::BasicCombinationOpenCVImageFilter::Pointer GetImageFilter ()
 
void PushFilter (AbstractOpenCVImageFilter::Pointer filter)
 
bool RemoveFilter (AbstractOpenCVImageFilter::Pointer filter)
 
bool GetIsFilterInThePipeline (AbstractOpenCVImageFilter::Pointer filter)
 
std::vector< mitk::Image::PointerGetNextImage ()
 Retrieves the next frame. This will typically be the next frame in a file or the last cached file in a device. The image is filtered if a filter was set by mitk::USImageSource::SetImageFilter(). More...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 USImageVideoSource ()
 
 ~USImageVideoSource () override
 
void GetNextRawImage (std::vector< cv::Mat > &image) override
 Next image is gathered from the image source. More...
 
void GetNextRawImage (std::vector< mitk::Image::Pointer > &image) override
 Next image is gathered from the image source. More...
 
- Protected Member Functions inherited from mitk::USImageSource
 USImageSource ()
 
 ~USImageSource () override
 

Protected Attributes

cv::VideoCapture * m_VideoCapture
 The source of the video, managed internally. More...
 
bool m_IsVideoReady
 If true, a frame can be grabbed anytime. More...
 
bool m_IsGreyscale
 If true, image output will be greyscale. More...
 
bool m_IsCropped
 If true, image will be cropped according to settings of crop filter. More...
 
int m_ResolutionOverrideWidth
 
int m_ResolutionOverrideHeight
 
bool m_ResolutionOverride
 
ConvertGrayscaleOpenCVImageFilter::Pointer m_GrayscaleFilter
 
CropOpenCVImageFilter::Pointer m_CropFilter
 
- Protected Attributes inherited from mitk::USImageSource
mitk::OpenCVToMitkImageFilter::Pointer m_OpenCVToMitkFilter
 Used to convert from OpenCV Images to MITK Images. More...
 
mitk::ImageToOpenCVImageFilter::Pointer m_MitkToOpenCVFilter
 Used to convert from MITK Images to OpenCV Images. More...
 

Additional Inherited Members

- Static Public Attributes inherited from mitk::USImageSource
static const char * IMAGE_PROPERTY_IDENTIFIER
 

Detailed Description

This class can be pointed to a video file or a videodevice and delivers USImages.

Images are in color by default, but can be set to greyscale via SetColorOutput(false), which significantly improves performance.

Images can also be cropped to a region of interest, further increasing performance.

Definition at line 39 of file mitkUSImageVideoSource.h.

Constructor & Destructor Documentation

◆ USImageVideoSource()

mitk::USImageVideoSource::USImageVideoSource ( )
protected

◆ ~USImageVideoSource()

mitk::USImageVideoSource::~USImageVideoSource ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer mitk::USImageVideoSource::Clone ( ) const

◆ GetCropping()

USImageCropping mitk::USImageVideoSource::GetCropping ( )

◆ GetImageHeight()

int mitk::USImageVideoSource::GetImageHeight ( )

◆ GetImageWidth()

int mitk::USImageVideoSource::GetImageWidth ( )

◆ GetIsGreyscale()

virtual bool mitk::USImageVideoSource::GetIsGreyscale ( )
virtual

◆ GetIsReady()

bool mitk::USImageVideoSource::GetIsReady ( )

Returns true if images can be delivered.

Only if true is returned one can retrieve images via mitk::USImageVideoSource::GetNextImage(). If false is returned, behaviour is undefined.

◆ GetIsVideoReady()

virtual bool mitk::USImageVideoSource::GetIsVideoReady ( )
virtual

◆ GetNextRawImage() [1/2]

void mitk::USImageVideoSource::GetNextRawImage ( std::vector< cv::Mat > &  image)
overrideprotectedvirtual

Next image is gathered from the image source.

Parameters
[out]imagean OpenCV-Matrix containing this image

Reimplemented from mitk::USImageSource.

◆ GetNextRawImage() [2/2]

void mitk::USImageVideoSource::GetNextRawImage ( std::vector< mitk::Image::Pointer > &  image)
overrideprotectedvirtual

Next image is gathered from the image source.

Parameters
[out]imagean mitk::Image containing this image

Implements mitk::USImageSource.

◆ GetRegionOfInterest()

USImageRoi mitk::USImageVideoSource::GetRegionOfInterest ( )

◆ GetResolutionOverride()

virtual bool mitk::USImageVideoSource::GetResolutionOverride ( )
virtual

◆ GetResolutionOverrideHeight()

virtual int mitk::USImageVideoSource::GetResolutionOverrideHeight ( )
virtual

◆ GetResolutionOverrideWidth()

virtual int mitk::USImageVideoSource::GetResolutionOverrideWidth ( )
virtual

◆ mitkClassMacroItkParent()

mitk::USImageVideoSource::mitkClassMacroItkParent ( USImageVideoSource  ,
itk::ProcessObject   
)

◆ New()

static Pointer mitk::USImageVideoSource::New ( )
static

◆ OverrideResolution()

void mitk::USImageVideoSource::OverrideResolution ( int  width,
int  height 
)

This is a workaround for a problem that happens with some video device drivers.

If you encounter OpenCV Warnings that buffer sizes do not match while calling getNextFrame, then do the following: Using the drivers control panel to force a certain resolution, then call this method with the same Dimensions after opening the device. Before retrieving images one should call mitk::USImageVideoSource::isReady().

◆ ReleaseInput()

void mitk::USImageVideoSource::ReleaseInput ( )

◆ RemoveRegionOfInterest()

void mitk::USImageVideoSource::RemoveRegionOfInterest ( )

/brief Removes the region of interest. Produced images will be uncropped after call of this method.

◆ SetCameraInput()

void mitk::USImageVideoSource::SetCameraInput ( int  deviceID)

Opens a video device for streaming. Takes the Device id. Try -1 for "grab the first you can get" which works quite well if only one device is available. If nothing goes wrong, the VideoSource is ready to deliver images after calling this function.

◆ SetColorOutput()

void mitk::USImageVideoSource::SetColorOutput ( bool  isColor)

Sets the output image to rgb or grayscale. Output is color by default and can be set to color by passing true, or to grayscale again by passing false.

◆ SetCropping()

void mitk::USImageVideoSource::SetCropping ( USImageCropping  cropping)

Defines the cropping area. The rectangle will be justified to the image borders if the given rectangle is larger than the video source. If a correct rectangle is given, the dimensions of the output image will be equal to those of the rectangle.

Parameters
croppingstruct defining distances to the four image borders

◆ SetRegionOfInterest() [1/2]

void mitk::USImageVideoSource::SetRegionOfInterest ( int  topLeftX,
int  topLeftY,
int  bottomRightX,
int  bottomRightY 
)

Defines the cropping area. The rectangle will be justified to the image borders if the given rectangle is larger than the video source. If a correct rectangle is given, the dimensions of the output image will be equal to those of the rectangle.

◆ SetRegionOfInterest() [2/2]

void mitk::USImageVideoSource::SetRegionOfInterest ( USImageRoi  regionOfInterest)

Defines the cropping area. The rectangle will be justified to the image borders if the given rectangle is larger than the video source. If a correct rectangle is given, the dimensions of the output image will be equal to those of the rectangle.

Parameters
regionOfIntereststruct defining x and y coordinates of top left and bottom right corner

◆ SetResolutionOverride()

virtual void mitk::USImageVideoSource::SetResolutionOverride ( bool  _arg)
virtual

◆ SetVideoFileInput()

void mitk::USImageVideoSource::SetVideoFileInput ( std::string  path)

Opens a video file for streaming. If nothing goes wrong, the VideoSource is ready to deliver images after calling this function.

Member Data Documentation

◆ m_CropFilter

CropOpenCVImageFilter::Pointer mitk::USImageVideoSource::m_CropFilter
protected

Definition at line 214 of file mitkUSImageVideoSource.h.

◆ m_GrayscaleFilter

ConvertGrayscaleOpenCVImageFilter::Pointer mitk::USImageVideoSource::m_GrayscaleFilter
protected

Definition at line 213 of file mitkUSImageVideoSource.h.

◆ m_IsCropped

bool mitk::USImageVideoSource::m_IsCropped
protected

If true, image will be cropped according to settings of crop filter.

Definition at line 204 of file mitkUSImageVideoSource.h.

◆ m_IsGreyscale

bool mitk::USImageVideoSource::m_IsGreyscale
protected

If true, image output will be greyscale.

Definition at line 199 of file mitkUSImageVideoSource.h.

◆ m_IsVideoReady

bool mitk::USImageVideoSource::m_IsVideoReady
protected

If true, a frame can be grabbed anytime.

Definition at line 194 of file mitkUSImageVideoSource.h.

◆ m_ResolutionOverride

bool mitk::USImageVideoSource::m_ResolutionOverride
protected

Definition at line 211 of file mitkUSImageVideoSource.h.

◆ m_ResolutionOverrideHeight

int mitk::USImageVideoSource::m_ResolutionOverrideHeight
protected

Definition at line 210 of file mitkUSImageVideoSource.h.

◆ m_ResolutionOverrideWidth

int mitk::USImageVideoSource::m_ResolutionOverrideWidth
protected

These Variables determined whether Resolution Override is on, what dimensions to use.

Definition at line 209 of file mitkUSImageVideoSource.h.

◆ m_VideoCapture

cv::VideoCapture* mitk::USImageVideoSource::m_VideoCapture
protected

The source of the video, managed internally.

Definition at line 189 of file mitkUSImageVideoSource.h.


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