18 #ifndef __igstkVideoImagerTool_h
19 #define __igstkVideoImagerTool_h
35 igstkEventMacro( VideoImagerToolConfigurationEvent,VideoImagerToolEvent);
37 VideoImagerToolErrorEvent);
39 VideoImagerToolErrorEvent);
41 VideoImagerToolErrorEvent);
43 VideoImagerToolEvent);
45 VideoImagerToolErrorEvent);
47 VideoImagerToolEvent);
49 VideoImagerToolErrorEvent);
51 VideoImagerToolEvent);
52 igstkEventMacro( VideoImagerToolNotAvailableEvent,VideoImagerToolEvent);
132 virtual
void PrintSelf( std::ostream& os, itk::Indent indent ) const;
140 void operator=(const Self&);
143 virtual
void RequestReportImagingStarted( );
146 virtual
void RequestReportImagingStopped( );
149 virtual
void RequestReportImagingToolNotAvailable( );
152 virtual
void RequestReportImagingToolStreaming( );
155 void RequestReportSuccessfulVideoImagerToolAttachment();
158 void RequestReportFailedVideoImagerToolAttachment();
165 virtual
bool CheckIfVideoImagerToolIsConfigured( ) const = 0;
168 igstkDeclareInputMacro( ConfigureTool );
169 igstkDeclareInputMacro( ToolConfigurationSuccess );
170 igstkDeclareInputMacro( ToolConfigurationFailure );
171 igstkDeclareInputMacro( AttachToolToVideoImager );
172 igstkDeclareInputMacro( ImagingStarted );
173 igstkDeclareInputMacro( ImagingStopped );
174 igstkDeclareInputMacro( VideoImagerToolNotAvailable );
175 igstkDeclareInputMacro( VideoImagerToolStreaming );
176 igstkDeclareInputMacro( DetachVideoImagerToolFromVideoImager );
177 igstkDeclareInputMacro( AttachmentToVideoImagerSuccess );
178 igstkDeclareInputMacro( AttachmentToVideoImagerFailure );
179 igstkDeclareInputMacro( DetachmentFromVideoImagerSuccess );
180 igstkDeclareInputMacro( DetachmentFromVideoImagerFailure );
181 igstkDeclareInputMacro( GetFrame );
184 igstkDeclareStateMacro( Idle );
185 igstkDeclareStateMacro( AttemptingToConfigureVideoImagerTool );
186 igstkDeclareStateMacro( Configured );
187 igstkDeclareStateMacro( AttemptingToAttachVideoImagerToolToVideoImager );
188 igstkDeclareStateMacro( Attached );
189 igstkDeclareStateMacro( AttemptingToDetachVideoImagerToolFromVideoImager );
190 igstkDeclareStateMacro( NotAvailable );
191 igstkDeclareStateMacro( Streaming );
194 void AttemptToConfigureProcessing(
void );
197 void AttemptToAttachVideoImagerToolToVideoImagerProcessing(
void );
200 void VideoImagerToolConfigurationSuccessProcessing(
void );
203 void VideoImagerToolConfigurationFailureProcessing(
void );
207 void VideoImagerToolAttachmentToVideoImagerSuccessProcessing(
void );
210 void VideoImagerToolAttachmentToVideoImagerFailureProcessing(
void );
213 void AttemptToDetachVideoImagerToolFromVideoImagerProcessing(
void );
217 void VideoImagerToolDetachmentFromVideoImagerSuccessProcessing(
void );
220 void VideoImagerToolDetachmentFromVideoImagerFailureProcessing(
void );
223 void GetFrameProcessing(
void );
226 void ReportVideoImagerToolStreamingStateProcessing(
void );
229 void ReportVideoImagerToolNotAvailableProcessing(
void );
232 void ReportImagingStartedProcessing(
void );
235 void ReportImagingStoppedProcessing(
void );
238 void ReportInvalidRequestProcessing(
void );
241 void ReportInvalidRequestToAttachVideoImagerToolProcessing(
void );
244 void ReportInvalidRequestToDetachVideoImagerToolProcessing(
void );
247 void NoProcessing(
void );
250 void AddFrameToBuffer( igstk::
Frame* frame);
253 std::vector< igstk::
Frame* > *m_FrameRingBuffer;
257 unsigned int m_NumberOfFramesInBuffer;
258 unsigned int m_MaxBufferSize;
259 unsigned int m_Delay;
260 unsigned int m_FrameDimensions[3];
261 unsigned int m_PixelDepth;
267 std::
string m_VideoImagerToolIdentifier;
270 VideoImager * m_VideoImagerToAttachTo;
273 igstkCoordinateSystemClassInterfaceMacro();
284 #endif //__igstk_VideoImagerTool_h_