Medical Imaging Interaction Toolkit
2023.04.00
Medical Imaging Interaction Toolkit
|
This class can be pointed to a video file or a videodevice and delivers USImages. More...
#include <mitkUSImageVideoSource.h>
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::Pointer > | GetNextImage () |
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 |
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.
|
protected |
|
overrideprotected |
Pointer mitk::USImageVideoSource::Clone | ( | ) | const |
USImageCropping mitk::USImageVideoSource::GetCropping | ( | ) |
int mitk::USImageVideoSource::GetImageHeight | ( | ) |
int mitk::USImageVideoSource::GetImageWidth | ( | ) |
|
virtual |
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.
|
virtual |
|
overrideprotectedvirtual |
Next image is gathered from the image source.
[out] | image | an OpenCV-Matrix containing this image |
Reimplemented from mitk::USImageSource.
|
overrideprotectedvirtual |
Next image is gathered from the image source.
[out] | image | an mitk::Image containing this image |
Implements mitk::USImageSource.
USImageRoi mitk::USImageVideoSource::GetRegionOfInterest | ( | ) |
|
virtual |
|
virtual |
|
virtual |
mitk::USImageVideoSource::mitkClassMacroItkParent | ( | USImageVideoSource | , |
itk::ProcessObject | |||
) |
|
static |
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().
void mitk::USImageVideoSource::ReleaseInput | ( | ) |
void mitk::USImageVideoSource::RemoveRegionOfInterest | ( | ) |
/brief Removes the region of interest. Produced images will be uncropped after call of this method.
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.
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.
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.
cropping | struct defining distances to the four image borders |
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.
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.
regionOfInterest | struct defining x and y coordinates of top left and bottom right corner |
|
virtual |
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.
|
protected |
Definition at line 214 of file mitkUSImageVideoSource.h.
|
protected |
Definition at line 213 of file mitkUSImageVideoSource.h.
|
protected |
If true, image will be cropped according to settings of crop filter.
Definition at line 204 of file mitkUSImageVideoSource.h.
|
protected |
If true, image output will be greyscale.
Definition at line 199 of file mitkUSImageVideoSource.h.
|
protected |
If true, a frame can be grabbed anytime.
Definition at line 194 of file mitkUSImageVideoSource.h.
|
protected |
Definition at line 211 of file mitkUSImageVideoSource.h.
|
protected |
Definition at line 210 of file mitkUSImageVideoSource.h.
|
protected |
These Variables determined whether Resolution Override is on, what dimensions to use.
Definition at line 209 of file mitkUSImageVideoSource.h.
|
protected |
The source of the video, managed internally.
Definition at line 189 of file mitkUSImageVideoSource.h.