PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusIntersonSDKCxxVideoSource.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 __vtkPlusIntersonSDKCxxVideoSource_h
8 #define __vtkPlusIntersonSDKCxxVideoSource_h
9 
10 #include "vtkPlusDataCollectionExport.h"
11 
12 #include "vtkPlusDevice.h"
13 #include "vtkPlusUSImagingParameters.h"
14 
15 class vtkPlusDataCollectionExport vtkPlusIntersonSDKCxxVideoSource;
16 
36 class vtkPlusDataCollectionExport vtkPlusIntersonSDKCxxVideoSource : public vtkPlusDevice
37 {
38 public:
41  virtual void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
42 
43  virtual bool IsTracker() const { return false; }
44 
46  virtual PlusStatus ReadConfiguration(vtkXMLDataElement* config);
48  virtual PlusStatus WriteConfiguration(vtkXMLDataElement* config);
49 
51  virtual PlusStatus NotifyConfigured();
52 
53  virtual std::string GetSdkVersion();
54 
55  /* Set the desired probe frequency in MHz. */
56  PlusStatus SetProbeFrequencyMhz(double aFreq);
57 
58  /* Set the gain in percent. Used for on board B-mode generation. */
59  PlusStatus SetDynRangeDb(double dynRangeDb);
60 
61  /* Set the excitation pulse voltage in volts. */
62  PlusStatus SetPulseVoltage(unsigned char voltage);
63  vtkGetMacro(PulseVoltage, unsigned char);
64 
65  /* Set whether the RF decimator is used. If enabled, the sampling rate is
66  * halved, but the imaged depth is doubled. */
67  PlusStatus SetRfDecimation(int enableDecimation);
68 
69  typedef unsigned char BmodePixelType;
70  typedef short RfPixelType;
71 
72 protected:
77 
79  virtual PlusStatus InternalConnect();
80 
83 
86 
89 
91  virtual PlusStatus InternalUpdate();
92 
93  // For internal storage of additional variables (to minimize the number of included headers)
94  class vtkInternal;
95  vtkInternal* Internal;
96 
98 
99  unsigned char PulseVoltage;
100 
102 
103 private:
105  void operator=(const vtkPlusIntersonSDKCxxVideoSource&); // Not implemented.
106 
107  static void __stdcall vtkPlusIntersonSDKCxxVideoSource::NewBmodeImageCallback( BmodePixelType * buffer, void * clientData );
108  static void __stdcall vtkPlusIntersonSDKCxxVideoSource::NewRfImageCallback( RfPixelType * buffer, void * clientData );
109  PlusStatus AddBmodeFrameToBuffer( BmodePixelType * buffer, void * clientData );
110  PlusStatus AddRfFrameToBuffer( RfPixelType * buffer, void * clientData );
111 };
112 
113 #endif
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual PlusStatus InternalStopRecording()
PhidgetRCServo_Voltage voltage
Definition: phidget22.h:3331
Abstract interface for tracker and video devices.
Definition: vtkPlusDevice.h:60
This class is used to store a configuration of the imaging parameters of an ultrasound video device....
virtual PlusStatus InternalConnect()
igsioStatus PlusStatus
Definition: PlusCommon.h:40
virtual std::string GetSdkVersion()
Class for acquiring ultrasound images from Interson USB ultrasound systems with C++ Wrapped SDK.
#define VTK_OVERRIDE
Definition: PlusCommon.h:49
virtual PlusStatus ReadConfiguration(vtkXMLDataElement *)
virtual PlusStatus WriteConfiguration(vtkXMLDataElement *)
virtual PlusStatus InternalStartRecording()
class vtkPlusDataCollectionExport vtkPlusIntersonSDKCxxVideoSource
virtual PlusStatus NotifyConfigured()
virtual PlusStatus InternalDisconnect()
virtual PlusStatus InternalUpdate()
static vtkPlusDevice * New()