PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusWinProbeVideoSource.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 __vtkPlusWinProbeVideoSource_h
8 #define __vtkPlusWinProbeVideoSource_h
9 
10 #include <thread>
11 
12 #include "vtkPlusDataCollectionExport.h"
13 #include "vtkPlusUsDevice.h"
15 
25 class vtkPlusDataCollectionExport vtkPlusWinProbeVideoSource : public vtkPlusUsDevice
26 {
27 public:
31  virtual void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
32  static const char* SET_FREEZE;
33  static const char* GET_FREEZE;
34  static const char* SET_TGC;
35  static const char* GET_TGC;
36  static const char* SET_ALL_FOCAL_DEPTHS;
37  static const char* SET_FOCAL_DEPTH;
38  static const char* GET_FOCAL_DEPTH;
39  static const char* SET_ALL_ARFI_FOCAL_DEPTHS;
40  static const char* SET_ARFI_FOCAL_DEPTH;
41  static const char* GET_ARFI_FOCAL_DEPTH;
42  static const char* SET_B_MULTIFOCAL_ZONE_COUNT;
43  static const char* GET_B_MULTIFOCAL_ZONE_COUNT;
44  static const char* SET_FIRST_GAIN_VALUE;
45  static const char* GET_FIRST_GAIN_VALUE;
46  static const char* SET_TGC_OVERALL_GAIN;
47  static const char* GET_TGC_OVERALL_GAIN;
48  static const char* SET_SPATIAL_COMPOUND_ENABLED;
49  static const char* GET_SPATIAL_COMPOUND_ENABLED;
50  static const char* GET_SPATIAL_COMPOUND_ANGLE;
51  static const char* SET_SPATIAL_COMPOUND_COUNT;
52  static const char* GET_SPATIAL_COMPOUND_COUNT;
53  static const char* SET_MMODE_ENABLED;
54  static const char* GET_MMODE_ENABLED;
55  static const char* SET_M_REVOLVING_ENABLED;
56  static const char* GET_M_REVOLVING_ENABLED;
57  static const char* SET_RF_MODE_ENABLED;
58  static const char* GET_RF_MODE_ENABLED;
59  static const char* SET_MPR_FREQUENCY;
60  static const char* GET_MPR_FREQUENCY;
61  static const char* SET_M_LINE_INDEX;
62  static const char* GET_M_LINE_INDEX;
63  static const char* SET_M_LINE_COUNT;
64  static const char* GET_M_LINE_COUNT;
65  static const char* SET_M_WIDTH;
66  static const char* GET_M_WIDTH;
67  static const char* SET_M_DEPTH;
68  static const char* GET_M_DEPTH;
69  static const char* SET_DECIMATION;
70  static const char* GET_DECIMATION;
71  static const char* SET_B_FRAME_RATE_LIMIT;
72  static const char* GET_B_FRAME_RATE_LIMIT;
73  static const char* SET_B_HARMONIC_ENABLED;
74  static const char* GET_B_HARMONIC_ENABLED;
75  static const char* SET_B_BUBBLE_CONTRAST_ENABLED;
76  static const char* GET_B_BUBBLE_CONTRAST_ENABLED;
79  static const char* SET_B_TRANSMIT_LOCKED;
80  static const char* GET_B_TRANSMIT_LOCKED;
81  static const char* SET_B_TRANSMIT_CURRENT;
82  static const char* GET_B_TRANSMIT_CURRENT;
83  static const char* SET_B_TRANSMIT_CYCLE_COUNT;
84  static const char* GET_B_TRANSMIT_CYCLE_COUNT;
85  static const char* SET_B_TRANSMIT_FNUMBER;
86  static const char* GET_B_TRANSMIT_FNUMBER;
87  static const char* SET_B_APODIZATION_FNUMBER;
88  static const char* GET_B_APODIZATION_FNUMBER;
89  static const char* SET_B_FILTER_COEFFICIENT_SET;
90  static const char* GET_B_FILTER_COEFFICIENT_SET;
91  static const char* GET_TRANSDUCER_INTERNAL_ID;
92  static const char* SET_ARFI_ENABLED;
93  static const char* GET_ARFI_ENABLED;
94  static const char* SET_ARFI_START_SAMPLE;
95  static const char* GET_ARFI_START_SAMPLE;
96  static const char* SET_ARFI_STOP_SAMPLE;
97  static const char* GET_ARFI_STOP_SAMPLE;
102  static const char* SET_ARFI_INTER_SET_DELAY;
103  static const char* GET_ARFI_INTER_SET_DELAY;
104  static const char* SET_ARFI_INTER_PUSH_DELAY;
105  static const char* GET_ARFI_INTER_PUSH_DELAY;
106  static const char* SET_ARFI_LINE_TIMER;
107  static const char* GET_ARFI_LINE_TIMER;
108  static const char* SET_ARFI_TX_CYCLE_COUNT;
109  static const char* GET_ARFI_TX_CYCLE_COUNT;
110  static const char* SET_ARFI_TX_CYCLE_WIDTH;
111  static const char* GET_ARFI_TX_CYCLE_WIDTH;
112  static const char* SET_ARFI_TX_TX_CYCLE_COUNT;
113  static const char* GET_ARFI_TX_TX_CYCLE_COUNT;
114  static const char* SET_ARFI_TX_TX_CYCLE_WIDTH;
115  static const char* GET_ARFI_TX_TX_CYCLE_WIDTH;
116  static const char* SET_ARFI_PUSH_CONFIG;
117  static const char* GET_ARFI_PUSH_CONFIG;
118  static const char* GET_FPGA_REV_DATE_STRING;
119  static const char* GET_X8BF_ENABLED;
120  static const char* UV_SEND_COMMAND;
121  static const char* IS_SCANNING;
122 
124  virtual bool IsTracker() const { return false; }
125 
127  virtual PlusStatus ReadConfiguration(vtkXMLDataElement* config);
128 
130  virtual PlusStatus WriteConfiguration(vtkXMLDataElement* config);
131 
134 
135  /* Set the transmit frequency of US probe (MHz) */
136  PlusStatus SetTransmitFrequencyMHz(float frequency);
137 
138  /* Get the transmit frequency of US probe (MHz) */
139  float GetTransmitFrequencyMHz();
140 
141  /* Set the voltage of US probe (percent?) */
142  PlusStatus SetVoltage(uint8_t voltage);
143 
144  /* Get the voltage of US probe (percent?) */
145  uint8_t GetVoltage();
146 
147  /* Set the scan depth of US probe (mm) */
148  PlusStatus SetScanDepthMm(float depth);
149 
150  /* Get the scan depth of US probe (mm) */
151  float GetScanDepthMm();
152 
153  /* Set the scan depth of US probe (mm) */
154  PlusStatus SetSSDecimation(uint8_t value);
155 
156  /* Get the scan depth of US probe (mm) */
157  uint8_t GetSSDecimation();
158 
159  /* Get the width of current transducer (mm) */
160  float GetTransducerWidthMm();
161 
162  /* Get the pixel spacing for all 3 axes (mm) */
163  const double* GetCurrentPixelSpacingMm();
164 
165  /* Get the TGC value, index 0 to 7, value 0.0 to 40.0 */
166  double GetTimeGainCompensation(int index);
167 
168  /* Set the TGC value, index 0 to 7, value 0.0 to 40.0 */
169  PlusStatus SetTimeGainCompensation(int index, double value);
170 
171  /* Get the TGC First Gain Value near transducer face */
172  double GetFirstGainValue();
173 
174  /* Set the TGC First Gain Value near transducer face */
175  PlusStatus SetFirstGainValue(double value);
176 
177  /* Get the current overall gain value, value 0.0 to 40.0 */
178  double GetOverallTimeGainCompensation();
179 
180  /* Set an overall gain value, value 0.0 to 40.0 */
181  PlusStatus SetOverallTimeGainCompensation(double value);
182 
183  /* Get the B-Mode focal depth at a specific index, index 0 to 3 */
184  float GetFocalPointDepth(int index);
185 
186  /* Set the B-Mode focal depth at a specific index, index 0 to 3 */
187  PlusStatus SetFocalPointDepth(int index, float depth);
188 
189  /* Get the ARFI focal depth at a specific index, index 0 to 5
190 
191  Index 0: Tracking Depth
192  Index 1-5: Push Depth
193  */
194  float GetARFIFocalPointDepth(int index);
195 
196  /*
197  Set the ARFI focal depth at a specific index, index 0 to 5
198 
199  Index 0: Tracking Depth
200  Index 1-5: Push Depth
201  */
202  PlusStatus SetARFIFocalPointDepth(int index, float depth);
203 
204  /* Get the number of active focal zones for B-Mode, count 1 to 4 */
205  int32_t GetBMultiFocalZoneCount();
206 
207  /* Set the number of active focal zones for B-Mode, count 1 to 4 */
208  PlusStatus SetBMultiFocalZoneCount(int32_t count);
209 
210  /* Get if the connected engine has an x8 beamformer. */
211  bool GetARFIIsX8BFEnabled();
212 
213  /* Set the number of states in the transmit pulse. 1-16 */
214  PlusStatus SetARFITxTxCycleCount(uint16_t propertyValue);
215 
216  /* Get the number of states in the transmit pulse. 1-16 */
217  uint16_t GetARFITxTxCycleCount();
218 
219  /* Set the width of the tx cycle. Determines the transmit frequency for non apodized transmits. 1-255 */
220  PlusStatus SetARFITxTxCycleWidth(uint8_t propertyValue);
221 
222  /* Get the width of the tx cycle. Determines the transmit frequency for non apodized transmits. 1-255 */
223  uint8_t GetARFITxTxCycleWidth();
224 
225  /* Set the number of cycles in the ARFI push pulse. */
226  PlusStatus SetARFITxCycleCount(uint16_t propertyValue);
227 
228  /* Get the number of cycles in the ARFI push pulse. */
229  uint16_t GetARFITxCycleCount();
230 
231  /* Set the frequency of the push pulse. */
232  PlusStatus SetARFITxCycleWidth(uint8_t propertyValue);
233 
234  /* Get the frequency of the push pulse. */
235  uint8_t GetARFITxCycleWidth();
236 
237  /* Whether or not to use device's built-in frame reconstruction.
238  * This should not be changed in the middle of acquisition as it
239  * breaks some assumptions about frame size and timestamps. */
240  void SetUseDeviceFrameReconstruction(bool value) { m_UseDeviceFrameReconstruction = value; }
241 
242  /* Whether or not to use device's built-in frame reconstruction */
243  bool GetUseDeviceFrameReconstruction() { return m_UseDeviceFrameReconstruction; }
244 
246  PlusStatus FreezeDevice(bool freeze);
247 
249  bool IsFrozen();
250 
252  bool IsScanning();
253 
255  std::string GetFPGARevDateString();
256 
258  PlusStatus SetTransducerID(std::string guid);
259 
261  std::string GetTransducerID();
262 
264  void SetMinValue(const uint16_t minValue) { m_MinValue = minValue; }
265 
267  uint16_t GetMinValue() const { return m_MinValue; }
268 
270  void SetMaxValue(const uint16_t maxValue) { m_MaxValue = maxValue; }
271 
273  uint16_t GetMaxValue() const { return m_MaxValue; }
274 
276  void SetLogLinearKnee(const uint16_t threshold) { m_Knee = threshold; }
277 
279  uint16_t GetLogLinearKnee() const { return m_Knee; }
280 
282  void SetLogMax(const uint8_t threshold) { m_OutputKnee = threshold; }
283 
285  uint8_t GetLogMax() const { return m_OutputKnee; }
286 
287  void SetSpatialCompoundEnabled(bool value);
288  bool GetSpatialCompoundEnabled();
289 
299  void SetSpatialCompoundCount(int32_t value);
300  int32_t GetSpatialCompoundCount();
301 
308  float GetSpatialCompoundAngle();
309 
310  void SetBHarmonicEnabled(bool value);
311  bool GetBHarmonicEnabled();
312 
313  void SetBBubbleContrastEnabled(bool value);
314  bool GetBBubbleContrastEnabled();
315 
316  void SetBAmplitudeModulationEnabled(bool value);
317  bool GetBAmplitudeModulationEnabled();
318 
319  void SetBTransmitLocked(bool value);
320  bool GetBTransmitLocked();
321 
322  void SetBTransmitCurrent(int value);
323  int GetBTransmitCurrent();
324 
325  void SetBTransmitCycleCount(uint16_t value);
326  uint16_t GetBTransmitCycleCount();
327 
328  void SetBTransmitFNumber(double value);
329  double GetBTransmitFNumber();
330 
331  void SetBApodizationFNumber(double value);
332  double GetBApodizationFNumber();
333 
334  void SetBFilterCoefficientSet(uint8_t value);
335  uint8_t GetBFilterCoefficientSet();
336 
337  void SetBRFEnabled(bool value);
338  bool GetBRFEnabled();
339 
340  void SetMModeEnabled(bool value);
341  bool GetMModeEnabled();
342 
343  void SetMRevolvingEnabled(bool value);
344  bool GetMRevolvingEnabled();
345 
346  void SetMPRFrequency(int32_t value);
347  int32_t GetMPRFrequency();
348 
349  void SetMLineIndex(int32_t value);
350  int32_t GetMLineIndex();
351 
352  void SetMWidth(int value);
353  int GetMWidth();
354 
355  void SetMWidthLines(int32_t value);
356  int32_t GetMWidthLines();
357 
358  void SetMAcousticLineCount(int32_t value);
359  int32_t GetMAcousticLineCount();
360 
361  void SetMDepth(int32_t value);
362  int32_t GetMDepth();
363 
364  void SetBFrameRateLimit(int32_t value);
365  int32_t GetBFrameRateLimit();
366 
367  void SetARFIEnabled(bool value);
368  bool GetARFIEnabled();
370  PlusStatus ARFIPush(uint8_t maximumVoltage = 50);
371  void SetARFIStartSample(int32_t value);
372  int32_t GetARFIStartSample();
373 
374  void SetARFIStopSample(int32_t value);
375  int32_t GetARFIStopSample();
376 
377  /* Set the time value in microseconds between ARFI tracking lines. Timer Values cannot exceed 2000uS. */
378  PlusStatus SetARFILineTimer(uint16_t propertyValue);
379 
380  /* Get the time value in microseconds between ARFI tracking lines. */
381  uint16_t GetARFILineTimer();
382 
383  /* Set the number of repeats for the tracking lines before the push. */
384  PlusStatus SetARFIPrePushLineRepeatCount(int32_t propertyValue);
385 
386  /* Get the number of repeats for the tracking lines before the push. */
387  int32_t GetARFIPrePushLineRepeatCount();
388 
389  /* Set the number of repeats for the tracking lines after the push. */
390  PlusStatus SetARFIPostPushLineRepeatCount(int32_t propertyValue);
391 
392  /* Get the number of repeats for the tracking lines after the push. */
393  int32_t GetARFIPostPushLineRepeatCount();
394 
403  PlusStatus SetARFIInterSetDelay(int32_t propertyValue);
404 
405  /* Get the integer increment (1.05ms per increment) to delay after completion of the ARFIPushConfigurationString before it begins live streaming B-Mode frames again. */
406  int32_t GetARFIInterSetDelay();
407 
413  PlusStatus SetARFIInterPushDelay(int32_t propertyValue);
414 
415  /* Get the integer increment (1.05ms per increment) to delay after each push of the ARFIPushConfigurationString. */
416  int32_t GetARFIInterPushDelay();
417 
418  int GetTransducerInternalID();
419 
444  void SetARFIPushConfigurationString(std::string pushConfiguration);
445  std::string GetARFIPushConfigurationString();
446 
447  enum class Mode
448  {
449  B = 0, // only B mode
450  BRF, // RF mode with reference B mode
451  RF, // RF mode only
452  M, // M mode
453  PW, // Pulsed Wave Doppler
454  ARFI, // Acoustic Radiation Force Impulse
455  CFD // Color-Flow Doppler
456  };
457 
458  PlusStatus SetExtraSourceMode(Mode mode);
459 
462  {
463  m_Mode = mode;
464  }
465 
468  {
469  return m_Mode;
470  }
471 
472  Mode StringToMode(std::string modeString);
473  std::string ModeToString(Mode mode);
474 
475  int32_t MWidthFromSeconds(int value);
476  int MSecondsFromWidth(int32_t value);
477 
478  std::vector<double> GetPrimarySourceSpacing();
479  std::vector<double> GetExtraSourceSpacing();
480 
481  PlusStatus SendCommand(const char * command);
482 
483 protected:
486 
489 
492 
494  virtual PlusStatus InternalDisconnect() VTK_OVERRIDE;
495 
497  virtual PlusStatus InternalStartRecording() VTK_OVERRIDE;
498 
500  virtual PlusStatus InternalStopRecording() VTK_OVERRIDE;
501 
503  PlusStatus InternalUpdate();
504 
506  void AdjustSpacing(bool value);
507 
509  void AdjustBufferSizes();
510 
511  friend int __stdcall frameCallback(int length, char* data, char* hHeader, char* hGeometry, char* hModeFrameHeader);
512  void ReconstructFrame(char* data, std::vector<uint8_t>& buffer, const FrameSizeType& frameSize);
513  void FlipTexture(char* data, const FrameSizeType& frameSize, int rowPitch);
514  void FrameCallback(int length, char* data, char* hHeader, char* hGeometry);
515 
516  float m_ScanDepth = 26.0; //mm
517  float m_TransducerWidth = 38.1; //mm
518  float m_Frequency = 10.9; //MHz
519  uint8_t m_Voltage = 40;
520  std::string m_TransducerID; //GUID
521  std::string m_FPGAVersion;
522  double m_ADCfrequency = 60.0e6; //MHz
523  double m_TimestampOffset = 0; //difference between program start time and latest internal timer restart
524  double m_RenderedTimestampOffset = 0; //difference between program start time and latest internal timer restart
525  double first_timestamp = 0;
526  FrameSizeType m_PrimaryFrameSize = { 128, 256, 1 };
527  FrameSizeType m_ExtraFrameSize = { 256, 128, 1 };
528  std::vector<uint8_t> m_PrimaryBuffer;
529  std::vector<uint8_t> m_ExtraBuffer;
530  bool m_UseDeviceFrameReconstruction = true;
531  igsioFieldMapType m_CustomFields;
532  double m_TimeGainCompensation[8];
533  double m_OverallTimeGainCompensation = 0;
534  float m_FocalPointDepth[4];
535  float m_ARFIFocalPointDepth[6];
536  uint16_t m_MinValue = 16; //noise floor
537  uint16_t m_MaxValue = 16384; //maximum typical value
538  uint16_t m_Knee = 4096; // threshold value for switching from log to linear
539  uint8_t m_OutputKnee = 64; // log-linear knee in output range
540  bool m_SpatialCompoundEnabled = false;
541  float m_SpatialCompoundAngle = 10.0f;
542  int32_t m_SpatialCompoundCount = 0;
543  bool m_MRevolvingEnabled = false;
544  int32_t m_BMultiTxCount = 1;
545  uint16_t m_ARFITxTxCycleCount = 2;
546  uint8_t m_ARFITxTxCycleWidth = 10;
547  uint16_t m_ARFITxCycleCount = 4096;
548  uint8_t m_ARFITxCycleWidth = 15;
549  int32_t m_ARFIStartSample = 0;
550  int32_t m_ARFIStopSample = 1024;
551  uint16_t m_ARFILineTimer = 100;
552  int32_t m_ARFIPrePushLineRepeatCount = 8;
553  int32_t m_ARFIPostPushLineRepeatCount = 56;
554  int32_t m_ARFIInterSetDelay = 100;
555  int32_t m_ARFIInterPushDelay = 100;
556  std::string m_ARFIPushConfigurationString = "1,33,44;1,41,52;1,49,60;1,57,68;1,65,76;1,73,84";
557  int m_ARFIPushConfigurationCount = 6;
558  int32_t m_MPRF = 100;
559  int32_t m_MLineIndex = 60;
560  int32_t m_MWidth = 256;
561  int32_t m_MAcousticLineCount = 0;
562  int32_t m_MDepth = 0;
563  uint8_t m_SSDecimation = 2;
564  double m_FirstGainValue = 15;
565  int32_t m_BFrameRateLimit = 0;
566  bool m_BHarmonicEnabled = false;
567  bool m_BBubbleContrastEnabled = false;
568  bool m_BAmplitudeModulationEnabled = false;
569  bool m_BTransmitLocked = false;
570  int m_BTransmitCurrent = 0;
571  uint16_t m_BTransmitCycleCount = 2;
572  double m_BTransmitFNumber = 3;
573  double m_BApodizationFNumber = 0.5;
574  uint8_t m_BFilterCoefficientSet = 3;
575  std::vector<vtkPlusDataSource*> m_PrimarySources;
576  std::vector<vtkPlusDataSource*> m_ExtraSources;
577 
578  Mode m_Mode = Mode::B;
579 
580 public:
582  void operator=(const vtkPlusWinProbeVideoSource&) = delete;
583 };
584 
585 #endif
static const char * GET_B_FILTER_COEFFICIENT_SET
const uint32_t * data
Definition: phidget22.h:3971
static const char * SET_SPATIAL_COMPOUND_COUNT
void SetLogMax(const uint8_t threshold)
static const char * GET_B_TRANSMIT_CURRENT
PhidgetRCServo_Voltage voltage
Definition: phidget22.h:3331
static const char * GET_B_BUBBLE_CONTRAST_ENABLED
static const char * SET_ARFI_TX_TX_CYCLE_WIDTH
static const char * GET_ARFI_POST_PUSH_LINE_REPEAT_COUNT
static const char * SET_B_AMPLITUDE_MODULATION_ENABLED
Abstract interface for tracker and video devices.
Definition: vtkPlusDevice.h:60
static const char * GET_SPATIAL_COMPOUND_ANGLE
Phidget_MeshMode mode
Definition: phidget22.h:1332
static const char * GET_SPATIAL_COMPOUND_COUNT
static const char * GET_B_FRAME_RATE_LIMIT
virtual PlusStatus InternalConnect()
static const char * GET_B_HARMONIC_ENABLED
int __stdcall frameCallback(int length, char *data, char *hHeader, char *hGeometry, char *hModeFrameHeader)
static const char * SET_ARFI_TX_TX_CYCLE_COUNT
igsioStatus PlusStatus
Definition: PlusCommon.h:40
static const char * GET_B_MULTIFOCAL_ZONE_COUNT
static const char * SET_SPATIAL_COMPOUND_ENABLED
void SetMaxValue(const uint16_t maxValue)
static const char * SET_B_TRANSMIT_CURRENT
static const char * GET_B_APODIZATION_FNUMBER
static const char * GET_ARFI_TX_TX_CYCLE_WIDTH
std::vector< uint8_t > m_PrimaryBuffer
static const char * GET_SPATIAL_COMPOUND_ENABLED
static const char * SET_ARFI_PRE_PUSH_LINE_REPEAT_COUNT
#define VTK_OVERRIDE
Definition: PlusCommon.h:49
static const char * SET_B_BUBBLE_CONTRAST_ENABLED
virtual PlusStatus WriteConfiguration(vtkXMLDataElement *)
Class for acquiring ultrasound images from WinProbe ultrasound systems.
static const char * GET_ARFI_INTER_PUSH_DELAY
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
static const char * GET_FPGA_REV_DATE_STRING
static const char * SET_B_FILTER_COEFFICIENT_SET
static vtkPlusUsDevice * New()
static const char * GET_B_TRANSMIT_CYCLE_COUNT
virtual PlusStatus ReadConfiguration(vtkXMLDataElement *)
std::vector< vtkPlusDataSource * > m_ExtraSources
const char const char * value
Definition: phidget22.h:5111
Phidget_ChannelClass uint32_t * count
Definition: phidget22.h:1321
static const char * SET_B_MULTIFOCAL_ZONE_COUNT
static const char * SET_ALL_ARFI_FOCAL_DEPTHS
std::vector< vtkPlusDataSource * > m_PrimarySources
static const char * GET_B_AMPLITUDE_MODULATION_ENABLED
static const char * GET_B_TRANSMIT_FNUMBER
static const char * SET_ARFI_INTER_SET_DELAY
static const char * GET_M_REVOLVING_ENABLED
static const char * SET_B_TRANSMIT_CYCLE_COUNT
virtual PlusStatus InternalApplyImagingParameterChange()
static const char * SET_ARFI_POST_PUSH_LINE_REPEAT_COUNT
static const char * SET_ARFI_INTER_PUSH_DELAY
void SetMinValue(const uint16_t minValue)
static const char * SET_B_HARMONIC_ENABLED
static const char * SET_B_FRAME_RATE_LIMIT
double frequency
Definition: phidget22.h:3246
Abstract interface for ultrasound video devices.
static const char * SET_B_TRANSMIT_FNUMBER
static const char * GET_ARFI_PRE_PUSH_LINE_REPEAT_COUNT
static const char * SET_M_REVOLVING_ENABLED
void SetLogLinearKnee(const uint16_t threshold)
static const char * GET_ARFI_INTER_SET_DELAY
static const char * GET_ARFI_TX_TX_CYCLE_COUNT
static const char * SET_B_APODIZATION_FNUMBER
static const char * GET_TRANSDUCER_INTERNAL_ID