33 #ifndef CXIMAGESTREAMERSONIX_H_
34 #define CXIMAGESTREAMERSONIX_H_
38 #include "cxGrabberExport.h"
40 #include "boost/shared_ptr.hpp"
42 #include <QStringList>
45 #include <vtkSmartPointer.h>
46 #include "cxImageSenderFactory.h"
55 typedef vtkSmartPointer<class vtkSonixVideoSource> vtkSonixVideoSourcePtr;
71 class cxGrabber_EXPORT ImageStreamerSonix :
public CommandLineStreamer
77 ~ImageStreamerSonix();
79 virtual void initialize(
StringMap arguments);
80 virtual bool startStreaming(
SenderPtr sender);
81 virtual void stopStreaming();
83 virtual QString getType();
84 virtual QStringList getArgumentDescription();
87 void sendOpenIGTLinkImageSlot(
int sendNumberOfMessages);
88 void sendOpenIGTLinkStatusSlot(
int sendNumberOfMessages);
91 void imageOnQueue(
int);
92 void queueInfo(
int size,
int dropped);
93 void statusOnQueue(
int);
96 void initializeSonixGrabber();
99 void receiveFrameSlot(
Frame& frame);
100 void initializeSonixSlot();
103 IGTLinkImageMessage::Pointer convertFrame(
Frame& frame);
106 void addImageToQueue(IGTLinkImageMessage::Pointer msg);
107 IGTLinkImageMessage::Pointer getLastImageMessageFromQueue();
112 std::string createDeviceName();
116 std::list<IGTLinkImageMessage::Pointer> mMutexedImageMessageQueue;
120 std::list<IGTLinkUSStatusMessage::Pointer> mMutexedStatusMessageQueue;
122 bool mEmitStatusMessage;
123 double mLastFrameTimestamp;
124 double mCurrentFrameTimestamp;
126 vtkSonixVideoSourcePtr mSonixGrabber;
Support Qt support for vtkSonixVideoSource.
std::map< QString, QString > StringMap
igtl::SmartPointer< Self > Pointer
boost::shared_ptr< Sender > SenderPtr