Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
USTelemedScanConverterPlugin Class Reference

Telemed API plugin for getting images from scan lines. Implements a COM interface whereat only the function InterimOutBufferCB is used for copying given image buffer into a mitk::Image. More...

#include <mitkUSTelemedScanConverterPlugin.h>

Inheritance diagram for USTelemedScanConverterPlugin:
Collaboration diagram for USTelemedScanConverterPlugin:

Public Member Functions

 USTelemedScanConverterPlugin ()
 
 ~USTelemedScanConverterPlugin ()
 
virtual HRESULT __stdcall QueryInterface (const IID &iid, void **ppv)
 
virtual ULONG __stdcall AddRef ()
 
virtual ULONG __stdcall Release ()
 
void SetOutputImage (mitk::Image::Pointer outputImage, itk::FastMutexLock::Pointer outputImageMutex=0)
 
STDMETHOD() SampleCB (IMediaSample *pSampleIn, IMediaSample *pSampleOut, int nOutX1, int nOutY1, int nOutX2, int nOutY2)
 
STDMETHOD() BufferCB (PBYTE pBufferIn, int nInBufferLen, PBYTE pBufferOut, int nOutBufferLen, int nOutX1, int nOutY1, int nOutX2, int nOutY2)
 
STDMETHOD() InInterimBufferCB (PBYTE pBufferIn, int nInBufferLen, PBYTE pBufferInterim, int nInterimBufferLen, int nOutX1, int nOutY1, int nOutX2, int nOutY2)
 
STDMETHOD() InInterimSampleCB (IMediaSample *pSampleIn, PBYTE pBufferInterim, int nInterimBufferLen, int nOutX1, int nOutY1, int nOutX2, int nOutY2)
 
STDMETHOD() InterimOutBufferCB (PBYTE pBufferInterim, int nInterimBufferLen, PBYTE pBufferOut, int nOutBufferLen, int nOutX1, int nOutY1, int nOutX2, int nOutY2)
 
STDMETHOD() InterimOutSampleCB (PBYTE pBufferInterim, int nInterimBufferLen, IMediaSample *pSampleIn, int nOutX1, int nOutY1, int nOutX2, int nOutY2)
 
STDMETHOD() ParameterCB (int nPin)
 
STDMETHOD() SetScanConverterPlugin (IDispatch *plugin)
 

Protected Member Functions

void ReleasePlugin ()
 

Protected Attributes

IUsgfwScanConverterPlugin * m_Plugin
 
mitk::Image::Pointer m_OutputImage
 
itk::FastMutexLock::Pointer m_OutputImageMutex
 

Detailed Description

Telemed API plugin for getting images from scan lines. Implements a COM interface whereat only the function InterimOutBufferCB is used for copying given image buffer into a mitk::Image.

A pointer to this mitk::Image must be set by calling mitk::USTelemedScanConverterPlugin::SetOutputImage() first. The image content is then updated every time the Telemed API calls the implemented callback function of this class.

For more infomration about the implemented COM interface refer to the Telemed API documentation.

Definition at line 40 of file mitkUSTelemedScanConverterPlugin.h.

Constructor & Destructor Documentation

◆ USTelemedScanConverterPlugin()

USTelemedScanConverterPlugin::USTelemedScanConverterPlugin ( )

Definition at line 16 of file mitkUSTelemedScanConverterPlugin.cpp.

◆ ~USTelemedScanConverterPlugin()

USTelemedScanConverterPlugin::~USTelemedScanConverterPlugin ( )

Definition at line 21 of file mitkUSTelemedScanConverterPlugin.cpp.

References ReleasePlugin().

Member Function Documentation

◆ AddRef()

ULONG __stdcall USTelemedScanConverterPlugin::AddRef ( )
virtual

Definition at line 34 of file mitkUSTelemedScanConverterPlugin.cpp.

◆ BufferCB()

STDMETHOD() USTelemedScanConverterPlugin::BufferCB ( PBYTE  pBufferIn,
int  nInBufferLen,
PBYTE  pBufferOut,
int  nOutBufferLen,
int  nOutX1,
int  nOutY1,
int  nOutX2,
int  nOutY2 
)
inline

Definition at line 73 of file mitkUSTelemedScanConverterPlugin.h.

◆ InInterimBufferCB()

STDMETHOD() USTelemedScanConverterPlugin::InInterimBufferCB ( PBYTE  pBufferIn,
int  nInBufferLen,
PBYTE  pBufferInterim,
int  nInterimBufferLen,
int  nOutX1,
int  nOutY1,
int  nOutX2,
int  nOutY2 
)
inline

Definition at line 85 of file mitkUSTelemedScanConverterPlugin.h.

◆ InInterimSampleCB()

STDMETHOD() USTelemedScanConverterPlugin::InInterimSampleCB ( IMediaSample *  pSampleIn,
PBYTE  pBufferInterim,
int  nInterimBufferLen,
int  nOutX1,
int  nOutY1,
int  nOutX2,
int  nOutY2 
)
inline

Definition at line 97 of file mitkUSTelemedScanConverterPlugin.h.

References InterimOutBufferCB().

◆ InterimOutBufferCB()

STDMETHODIMP USTelemedScanConverterPlugin::InterimOutBufferCB ( PBYTE  pBufferInterim,
int  nInterimBufferLen,
PBYTE  pBufferOut,
int  nOutBufferLen,
int  nOutX1,
int  nOutY1,
int  nOutX2,
int  nOutY2 
)

Definition at line 50 of file mitkUSTelemedScanConverterPlugin.cpp.

References m_OutputImage, and m_OutputImageMutex.

Referenced by InInterimSampleCB().

◆ InterimOutSampleCB()

STDMETHOD() USTelemedScanConverterPlugin::InterimOutSampleCB ( PBYTE  pBufferInterim,
int  nInterimBufferLen,
IMediaSample *  pSampleIn,
int  nOutX1,
int  nOutY1,
int  nOutX2,
int  nOutY2 
)
inline

Definition at line 120 of file mitkUSTelemedScanConverterPlugin.h.

◆ ParameterCB()

STDMETHOD() USTelemedScanConverterPlugin::ParameterCB ( int  nPin)
inline

◆ QueryInterface()

HRESULT __stdcall USTelemedScanConverterPlugin::QueryInterface ( const IID &  iid,
void **  ppv 
)
virtual

Definition at line 27 of file mitkUSTelemedScanConverterPlugin.cpp.

◆ Release()

ULONG __stdcall USTelemedScanConverterPlugin::Release ( )
virtual

Definition at line 40 of file mitkUSTelemedScanConverterPlugin.cpp.

◆ ReleasePlugin()

void USTelemedScanConverterPlugin::ReleasePlugin ( )
protected

Remove Telemed API callback and release and delete m_Plugin attribute.

Definition at line 81 of file mitkUSTelemedScanConverterPlugin.cpp.

References m_Plugin.

Referenced by ParameterCB(), SetScanConverterPlugin(), and ~USTelemedScanConverterPlugin().

◆ SampleCB()

STDMETHOD() USTelemedScanConverterPlugin::SampleCB ( IMediaSample *  pSampleIn,
IMediaSample *  pSampleOut,
int  nOutX1,
int  nOutY1,
int  nOutX2,
int  nOutY2 
)
inline

Definition at line 63 of file mitkUSTelemedScanConverterPlugin.h.

◆ SetOutputImage()

void USTelemedScanConverterPlugin::SetOutputImage ( mitk::Image::Pointer  outputImage,
itk::FastMutexLock::Pointer  outputImageMutex = 0 
)

Setter for a pointer to a mitk::Image in which the current image buffer from the Telemed API will be stored at every API callback. This function must be called before image data can be got from this class. A pointer to a mutex can be set in addition. This mutex will be locked on every writing to the given image.

Definition at line 90 of file mitkUSTelemedScanConverterPlugin.cpp.

References m_OutputImage, and m_OutputImageMutex.

Referenced by mitk::USTelemedImageSource::CreateAndConnectConverterPlugin().

◆ SetScanConverterPlugin()

STDMETHODIMP USTelemedScanConverterPlugin::SetScanConverterPlugin ( IDispatch *  plugin)

Member Data Documentation

◆ m_OutputImage

mitk::Image::Pointer USTelemedScanConverterPlugin::m_OutputImage
protected

Pointer to mitk::Image in which the current image buffer from the Telemed API will be stored at every API callback.

Definition at line 154 of file mitkUSTelemedScanConverterPlugin.h.

Referenced by InterimOutBufferCB(), and SetOutputImage().

◆ m_OutputImageMutex

itk::FastMutexLock::Pointer USTelemedScanConverterPlugin::m_OutputImageMutex
protected

Mutex for the output image. Has to be set together with the output image via SetOutputImage().

Definition at line 160 of file mitkUSTelemedScanConverterPlugin.h.

Referenced by InterimOutBufferCB(), and SetOutputImage().

◆ m_Plugin

IUsgfwScanConverterPlugin* USTelemedScanConverterPlugin::m_Plugin
protected

Telemed API object for handling callbacks on new image data.

Definition at line 148 of file mitkUSTelemedScanConverterPlugin.h.

Referenced by ReleasePlugin(), and SetScanConverterPlugin().


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