PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusBkProFocusCameraLinkVideoSource.h
Go to the documentation of this file.
1 /*=Plus=header=begin======================================================
2  Program: Plus
3  Copyright (c) Laboratory for Percutaneous Surgery. All rights reserved.
4  See License.txt for details.
5 =========================================================Plus=header=end*/
6 
7 #ifndef __vtkPlusBkProFocusCameraLinkVideoSource_h
8 #define __vtkPlusBkProFocusCameraLinkVideoSource_h
9 
10 // PLUS Includes
11 #include "PlusConfigure.h"
12 #include "vtkPlusDataCollectionExport.h"
13 
14 #include "vtkPlusDevice.h"
15 
17 
32 class vtkPlusDataCollectionExport vtkPlusBkProFocusCameraLinkVideoSource : public vtkPlusDevice
33 {
34 public:
36  {
38  RfMode
39  };
40 
42  {
44  Sagittal
45  };
46 
48  virtual void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
49 
51 
52  virtual bool IsTracker() const { return false; }
53 
55  vtkSetStringMacro(IniFileName);
56 
58  vtkSetMacro(ShowSaperaWindow, bool);
59 
61  vtkSetMacro(ShowBModeWindow, bool);
62 
63  PlusStatus GetFullIniFilePath(std::string& fullPath);
64 
65  void SetImagingMode(ImagingModeType imagingMode);
66 
68  virtual PlusStatus NotifyConfigured();
69 
70 protected:
75 
77  virtual PlusStatus InternalConnect();
78 
81 
83  virtual PlusStatus ReadConfiguration(vtkXMLDataElement* config);
85  virtual PlusStatus WriteConfiguration(vtkXMLDataElement* config);
86 
87  void NewFrameCallback(void* pixelDataPtr, const FrameSizeType& frameSizeInPix, igsioCommon::VTKScalarPixelType pixelType, US_IMAGE_TYPE imageType);
89 
91  static void LogInfoMessageCallback(char* msg);
92 
94  static void LogDebugMessageCallback(char* msg);
95 
101 
104 
105  static void EventCallback(void*, char*, size_t);
106 
107  vtkPlusChannel* FindChannelByPlane();
108 
110  char* IniFileName;
111 
114 
116 
117  std::map<vtkPlusChannel*, bool> ChannelConfiguredMap;
118 
119 private:
120  // For internal storage of additional variables (to minimize the number of included headers)
121  class vtkInternal;
122  vtkInternal* Internal;
123 
124  static bool vtkPlusBkProFocusCameraLinkVideoSourceNewFrameCallback(void* data, int type, int sz, bool cine, int frmnum);
126  void operator=(const vtkPlusBkProFocusCameraLinkVideoSource&); // Not implemented.
127 };
128 
129 #endif
const uint32_t * data
Definition: phidget22.h:3971
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual PlusStatus InternalStopRecording()
Abstract interface for tracker and video devices.
Definition: vtkPlusDevice.h:60
virtual PlusStatus InternalConnect()
igsioStatus PlusStatus
Definition: PlusCommon.h:40
#define VTK_OVERRIDE
Definition: PlusCommon.h:49
virtual PlusStatus ReadConfiguration(vtkXMLDataElement *)
virtual PlusStatus WriteConfiguration(vtkXMLDataElement *)
virtual PlusStatus InternalStartRecording()
int VTKScalarPixelType
Definition: PlusCommon.h:55
Class for acquiring ultrasound images from BK ProFocus scanners.
Contains an optional timestamped circular buffer containing the video images and a number of timestam...
virtual PlusStatus NotifyConfigured()
Class for receiving images through the BK ProFocus SDK (Grabbie)
virtual PlusStatus InternalDisconnect()
static vtkPlusDevice * New()