NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Classes | Public Types | Signals | Public Member Functions | Protected Slots | Protected Member Functions | List of all members
niftk::NVidiaSDIDataSourceImpl Class Reference
Inheritance diagram for niftk::NVidiaSDIDataSourceImpl:
Inheritance graph
[legend]
Collaboration diagram for niftk::NVidiaSDIDataSourceImpl:
Collaboration graph
[legend]

Public Types

enum  CaptureState {
  PRE_INIT, HW_ENUM, FAILED, RUNNING,
  DEAD, PLAYBACK
}
 

Signals

void SignalBump ()
 
void SignalCompress (unsigned int sequencenumber, unsigned int *frameindex)
 
void SignalStopCompression ()
 
void SignalGetRGBAImage (unsigned int sequencenumber, IplImage **img, unsigned int *streamcount)
 
void SignalTryPlayback (const char *filename, bool *ok, const char **errormsg)
 
void SignalFatalError (QString msg)
 

Public Member Functions

 NVidiaSDIDataSourceImpl ()
 
 ~NVidiaSDIDataSourceImpl ()
 
int GetTextureId (unsigned int stream) const
 
QGLWidget * GetCaptureContext ()
 
video::StreamFormat GetFormat () const
 
std::pair< int, intGetCaptureFormat () const
 
int GetStreamCount () const
 
CaptureState GetCaptureState () const
 
std::string GetStateMessage () const
 
void Reset ()
 
video::SDIInput::InterlacedBehaviour GetFieldMode () const
 
void SetFieldMode (video::SDIInput::InterlacedBehaviour mode)
 
int GetRGBAImage (unsigned int sequencenumber, IplImage *targetbuffer)
 
video::FrameInfo GetNextSequenceNumber (unsigned int ihavealready) const
 
const char * GetWireFormatString () const
 
unsigned int GetCookie () const
 
bool IsRunning () const
 
std::string GetCompressionOutputFilename () const
 
void setCompressionOutputFilename (const std::string &name)
 
unsigned int CompressFrame (unsigned int sequencenumber)
 
void StopCompression ()
 
void TryPlayback (const std::string &filename)
 
void SetPlayback (bool on, int expectedstreamcount=0)
 
- Public Member Functions inherited from niftk::IGITimerBasedThread
 IGITimerBasedThread (QObject *parent)
 
 ~IGITimerBasedThread ()
 
void SetInterval (unsigned int milliseconds)
 Set the interval on the timer, and this can be changed as the thread is running. More...
 
virtual void ForciblyStop ()
 Make sure everything is stopped and cleaned up. More...
 

Protected Slots

void DoWakeUp ()
 
void DoCompressFrame (unsigned int sequencenumber, unsigned int *frameindex)
 
void DoStopCompression ()
 
void DoGetRGBAImage (unsigned int sequencenumber, IplImage **img, unsigned int *streamcount)
 
void DoTryPlayback (const char *filename, bool *ok, const char **errormsg)
 

Protected Member Functions

virtual void OnTimeoutImpl ()
 Derived classes implement this. More...
 
bool HasHardware () const
 
bool HasInput () const
 
virtual void run ()
 Override the QThread run method to start the thread. More...
 
bool DumpNALIndex () const
 

Member Enumeration Documentation

Enumerator
PRE_INIT 
HW_ENUM 
FAILED 
RUNNING 
DEAD 
PLAYBACK 

Constructor & Destructor Documentation

niftk::NVidiaSDIDataSourceImpl::NVidiaSDIDataSourceImpl ( )
niftk::NVidiaSDIDataSourceImpl::~NVidiaSDIDataSourceImpl ( )

Member Function Documentation

unsigned int niftk::NVidiaSDIDataSourceImpl::CompressFrame ( unsigned int  sequencenumber)
void niftk::NVidiaSDIDataSourceImpl::DoCompressFrame ( unsigned int  sequencenumber,
unsigned int frameindex 
)
protectedslot
void niftk::NVidiaSDIDataSourceImpl::DoGetRGBAImage ( unsigned int  sequencenumber,
IplImage **  img,
unsigned int streamcount 
)
protectedslot
void niftk::NVidiaSDIDataSourceImpl::DoStopCompression ( )
protectedslot
void niftk::NVidiaSDIDataSourceImpl::DoTryPlayback ( const char *  filename,
bool *  ok,
const char **  errormsg 
)
protectedslot
void niftk::NVidiaSDIDataSourceImpl::DoWakeUp ( )
protectedslot
bool niftk::NVidiaSDIDataSourceImpl::DumpNALIndex ( ) const
protected
QGLWidget * niftk::NVidiaSDIDataSourceImpl::GetCaptureContext ( )
std::pair< int, int > niftk::NVidiaSDIDataSourceImpl::GetCaptureFormat ( ) const

Returns the pixel dimensions of the video data that is being captured. Can be different from the SDI format.

NVidiaSDIDataSourceImpl::CaptureState niftk::NVidiaSDIDataSourceImpl::GetCaptureState ( ) const
std::string niftk::NVidiaSDIDataSourceImpl::GetCompressionOutputFilename ( ) const
unsigned int niftk::NVidiaSDIDataSourceImpl::GetCookie ( ) const
video::SDIInput::InterlacedBehaviour niftk::NVidiaSDIDataSourceImpl::GetFieldMode ( ) const
video::StreamFormat niftk::NVidiaSDIDataSourceImpl::GetFormat ( ) const

Returns the SDI format. Might be different from capture image format.

video::FrameInfo niftk::NVidiaSDIDataSourceImpl::GetNextSequenceNumber ( unsigned int  ihavealready) const
int niftk::NVidiaSDIDataSourceImpl::GetRGBAImage ( unsigned int  sequencenumber,
IplImage *  targetbuffer 
)

targetbuffer needs to have the correct(!) size to fit all channels stacked together. Try something like cvCreateImage(cvSize(GetCaptureFormat().first, GetCaptureFormat().second * numstreams), IPL_DEPTH_8U, 4).

Returns
number of channels, or zero in case of some error.
Exceptions
nothing
std::string niftk::NVidiaSDIDataSourceImpl::GetStateMessage ( ) const
int niftk::NVidiaSDIDataSourceImpl::GetStreamCount ( ) const
int niftk::NVidiaSDIDataSourceImpl::GetTextureId ( unsigned int  stream) const
const char * niftk::NVidiaSDIDataSourceImpl::GetWireFormatString ( ) const
bool niftk::NVidiaSDIDataSourceImpl::HasHardware ( ) const
protected
bool niftk::NVidiaSDIDataSourceImpl::HasInput ( ) const
protected
bool niftk::NVidiaSDIDataSourceImpl::IsRunning ( ) const
void niftk::NVidiaSDIDataSourceImpl::OnTimeoutImpl ( )
protectedvirtual

Derived classes implement this.

Implements niftk::IGITimerBasedThread.

void niftk::NVidiaSDIDataSourceImpl::Reset ( void  )
void niftk::NVidiaSDIDataSourceImpl::run ( )
protectedvirtual

Override the QThread run method to start the thread.

See also
QThread::run()

Reimplemented from niftk::IGITimerBasedThread.

void niftk::NVidiaSDIDataSourceImpl::setCompressionOutputFilename ( const std::string name)
void niftk::NVidiaSDIDataSourceImpl::SetFieldMode ( video::SDIInput::InterlacedBehaviour  mode)
void niftk::NVidiaSDIDataSourceImpl::SetPlayback ( bool  on,
int  expectedstreamcount = 0 
)
void niftk::NVidiaSDIDataSourceImpl::SignalBump ( )
signal
void niftk::NVidiaSDIDataSourceImpl::SignalCompress ( unsigned int  sequencenumber,
unsigned int frameindex 
)
signal
void niftk::NVidiaSDIDataSourceImpl::SignalFatalError ( QString  msg)
signal
void niftk::NVidiaSDIDataSourceImpl::SignalGetRGBAImage ( unsigned int  sequencenumber,
IplImage **  img,
unsigned int streamcount 
)
signal
void niftk::NVidiaSDIDataSourceImpl::SignalStopCompression ( )
signal
void niftk::NVidiaSDIDataSourceImpl::SignalTryPlayback ( const char *  filename,
bool *  ok,
const char **  errormsg 
)
signal
void niftk::NVidiaSDIDataSourceImpl::StopCompression ( )
void niftk::NVidiaSDIDataSourceImpl::TryPlayback ( const std::string filename)
Exceptions
std::runtime_errorif something goes wrong.

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