7 #ifndef __vtkPlusWinProbeVideoSource_h 8 #define __vtkPlusWinProbeVideoSource_h 12 #include "vtkPlusDataCollectionExport.h" 139 float GetTransmitFrequencyMHz();
145 uint8_t GetVoltage();
151 float GetScanDepthMm();
157 uint8_t GetSSDecimation();
160 float GetTransducerWidthMm();
163 const double* GetCurrentPixelSpacingMm();
166 double GetTimeGainCompensation(
int index);
172 double GetFirstGainValue();
178 double GetOverallTimeGainCompensation();
184 float GetFocalPointDepth(
int index);
187 PlusStatus SetFocalPointDepth(
int index,
float depth);
194 float GetARFIFocalPointDepth(
int index);
202 PlusStatus SetARFIFocalPointDepth(
int index,
float depth);
205 int32_t GetBMultiFocalZoneCount();
211 bool GetARFIIsX8BFEnabled();
214 PlusStatus SetARFITxTxCycleCount(uint16_t propertyValue);
217 uint16_t GetARFITxTxCycleCount();
220 PlusStatus SetARFITxTxCycleWidth(uint8_t propertyValue);
223 uint8_t GetARFITxTxCycleWidth();
226 PlusStatus SetARFITxCycleCount(uint16_t propertyValue);
229 uint16_t GetARFITxCycleCount();
232 PlusStatus SetARFITxCycleWidth(uint8_t propertyValue);
235 uint8_t GetARFITxCycleWidth();
255 std::string GetFPGARevDateString();
261 std::string GetTransducerID();
264 void SetMinValue(
const uint16_t minValue) { m_MinValue = minValue; }
270 void SetMaxValue(
const uint16_t maxValue) { m_MaxValue = maxValue; }
282 void SetLogMax(
const uint8_t threshold) { m_OutputKnee = threshold; }
287 void SetSpatialCompoundEnabled(
bool value);
288 bool GetSpatialCompoundEnabled();
299 void SetSpatialCompoundCount(int32_t
value);
300 int32_t GetSpatialCompoundCount();
308 float GetSpatialCompoundAngle();
310 void SetBHarmonicEnabled(
bool value);
311 bool GetBHarmonicEnabled();
313 void SetBBubbleContrastEnabled(
bool value);
314 bool GetBBubbleContrastEnabled();
316 void SetBAmplitudeModulationEnabled(
bool value);
317 bool GetBAmplitudeModulationEnabled();
319 void SetBTransmitLocked(
bool value);
320 bool GetBTransmitLocked();
322 void SetBTransmitCurrent(
int value);
323 int GetBTransmitCurrent();
325 void SetBTransmitCycleCount(uint16_t
value);
326 uint16_t GetBTransmitCycleCount();
328 void SetBTransmitFNumber(
double value);
329 double GetBTransmitFNumber();
331 void SetBApodizationFNumber(
double value);
332 double GetBApodizationFNumber();
334 void SetBFilterCoefficientSet(uint8_t
value);
335 uint8_t GetBFilterCoefficientSet();
337 void SetBRFEnabled(
bool value);
338 bool GetBRFEnabled();
340 void SetMModeEnabled(
bool value);
341 bool GetMModeEnabled();
343 void SetMRevolvingEnabled(
bool value);
344 bool GetMRevolvingEnabled();
346 void SetMPRFrequency(int32_t
value);
347 int32_t GetMPRFrequency();
349 void SetMLineIndex(int32_t
value);
350 int32_t GetMLineIndex();
352 void SetMWidth(
int value);
355 void SetMWidthLines(int32_t
value);
356 int32_t GetMWidthLines();
358 void SetMAcousticLineCount(int32_t
value);
359 int32_t GetMAcousticLineCount();
361 void SetMDepth(int32_t
value);
364 void SetBFrameRateLimit(int32_t
value);
365 int32_t GetBFrameRateLimit();
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();
374 void SetARFIStopSample(int32_t
value);
375 int32_t GetARFIStopSample();
378 PlusStatus SetARFILineTimer(uint16_t propertyValue);
381 uint16_t GetARFILineTimer();
384 PlusStatus SetARFIPrePushLineRepeatCount(int32_t propertyValue);
387 int32_t GetARFIPrePushLineRepeatCount();
390 PlusStatus SetARFIPostPushLineRepeatCount(int32_t propertyValue);
393 int32_t GetARFIPostPushLineRepeatCount();
403 PlusStatus SetARFIInterSetDelay(int32_t propertyValue);
406 int32_t GetARFIInterSetDelay();
413 PlusStatus SetARFIInterPushDelay(int32_t propertyValue);
416 int32_t GetARFIInterPushDelay();
418 int GetTransducerInternalID();
444 void SetARFIPushConfigurationString(std::string pushConfiguration);
445 std::string GetARFIPushConfigurationString();
472 Mode StringToMode(std::string modeString);
473 std::string ModeToString(Mode
mode);
475 int32_t MWidthFromSeconds(
int value);
476 int MSecondsFromWidth(int32_t
value);
478 std::vector<double> GetPrimarySourceSpacing();
479 std::vector<double> GetExtraSourceSpacing();
506 void AdjustSpacing(
bool value);
509 void AdjustBufferSizes();
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);
516 float m_ScanDepth = 26.0;
517 float m_TransducerWidth = 38.1;
518 float m_Frequency = 10.9;
519 uint8_t m_Voltage = 40;
520 std::
string m_TransducerID;
521 std::
string m_FPGAVersion;
522 double m_ADCfrequency = 60.0e6;
523 double m_TimestampOffset = 0;
524 double m_RenderedTimestampOffset = 0;
525 double first_timestamp = 0;
526 FrameSizeType m_PrimaryFrameSize = { 128, 256, 1 };
527 FrameSizeType m_ExtraFrameSize = { 256, 128, 1 };
530 bool m_UseDeviceFrameReconstruction =
true;
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;
537 uint16_t m_MaxValue = 16384;
538 uint16_t m_Knee = 4096;
539 uint8_t m_OutputKnee = 64;
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;
static const char * GET_B_FILTER_COEFFICIENT_SET
static const char * SET_SPATIAL_COMPOUND_COUNT
uint8_t GetLogMax() const
static const char * SET_M_LINE_COUNT
void SetLogMax(const uint8_t threshold)
static const char * GET_B_TRANSMIT_CURRENT
static const char * GET_RF_MODE_ENABLED
PhidgetRCServo_Voltage voltage
static const char * SET_B_TRANSMIT_LOCKED
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.
static const char * SET_ARFI_ENABLED
static const char * GET_SPATIAL_COMPOUND_ANGLE
static const char * SET_ARFI_PUSH_CONFIG
uint16_t GetMinValue() const
static const char * GET_SPATIAL_COMPOUND_COUNT
static const char * GET_B_FRAME_RATE_LIMIT
static const char * GET_B_TRANSMIT_LOCKED
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 * GET_FOCAL_DEPTH
static const char * GET_M_WIDTH
static const char * SET_ARFI_TX_TX_CYCLE_COUNT
static const char * GET_B_MULTIFOCAL_ZONE_COUNT
static const char * SET_SPATIAL_COMPOUND_ENABLED
bool GetUseDeviceFrameReconstruction()
void SetMaxValue(const uint16_t maxValue)
static const char * GET_M_LINE_COUNT
uint16_t GetMaxValue() const
static const char * GET_MPR_FREQUENCY
static const char * SET_B_TRANSMIT_CURRENT
static const char * GET_B_APODIZATION_FNUMBER
static const char * GET_ARFI_TX_TX_CYCLE_WIDTH
static const char * GET_ARFI_TX_CYCLE_COUNT
static const char * SET_ARFI_TX_CYCLE_WIDTH
static const char * UV_SEND_COMMAND
static const char * SET_FREEZE
std::vector< uint8_t > m_PrimaryBuffer
igsioFieldMapType m_CustomFields
static const char * GET_SPATIAL_COMPOUND_ENABLED
static const char * SET_ALL_FOCAL_DEPTHS
std::vector< uint8_t > m_ExtraBuffer
static const char * SET_ARFI_PRE_PUSH_LINE_REPEAT_COUNT
static const char * SET_B_BUBBLE_CONTRAST_ENABLED
virtual PlusStatus WriteConfiguration(vtkXMLDataElement *)
static const char * SET_M_WIDTH
Class for acquiring ultrasound images from WinProbe ultrasound systems.
virtual bool IsTracker() const
static const char * GET_ARFI_INTER_PUSH_DELAY
static const char * SET_M_LINE_INDEX
static const char * SET_ARFI_START_SAMPLE
static const char * SET_TGC_OVERALL_GAIN
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
static const char * GET_M_LINE_INDEX
static const char * GET_M_DEPTH
static const char * GET_TGC_OVERALL_GAIN
static const char * GET_FPGA_REV_DATE_STRING
static const char * SET_B_FILTER_COEFFICIENT_SET
static const char * SET_ARFI_FOCAL_DEPTH
static const char * SET_MMODE_ENABLED
static vtkPlusUsDevice * New()
static const char * GET_B_TRANSMIT_CYCLE_COUNT
uint16_t GetLogLinearKnee() const
virtual PlusStatus ReadConfiguration(vtkXMLDataElement *)
static const char * GET_FIRST_GAIN_VALUE
static const char * IS_SCANNING
static const char * SET_FIRST_GAIN_VALUE
std::vector< vtkPlusDataSource * > m_ExtraSources
static const char * GET_ARFI_TX_CYCLE_WIDTH
static const char * SET_MPR_FREQUENCY
static const char * GET_DECIMATION
const char const char * value
Phidget_ChannelClass uint32_t * count
static const char * GET_FREEZE
static const char * GET_ARFI_PUSH_CONFIG
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_M_DEPTH
static const char * SET_RF_MODE_ENABLED
static const char * SET_B_TRANSMIT_CYCLE_COUNT
static const char * SET_ARFI_TX_CYCLE_COUNT
void SetUseDeviceFrameReconstruction(bool value)
static const char * GET_X8BF_ENABLED
virtual PlusStatus InternalApplyImagingParameterChange()
static const char * SET_ARFI_LINE_TIMER
static const char * GET_ARFI_LINE_TIMER
static const char * GET_TGC
static const char * SET_FOCAL_DEPTH
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 * GET_ARFI_STOP_SAMPLE
static const char * SET_B_HARMONIC_ENABLED
static const char * SET_B_FRAME_RATE_LIMIT
static const char * GET_MMODE_ENABLED
static const char * SET_ARFI_STOP_SAMPLE
static const char * GET_ARFI_START_SAMPLE
static const char * SET_TGC
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_DECIMATION
static const char * GET_ARFI_ENABLED
static const char * GET_ARFI_FOCAL_DEPTH
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