15#include <mitkException.h>
17#define TELEMED_FREQUENCY_FACTOR 1000000
21 m_UsgDataView(0), m_PowerControl(0), m_FrequencyControl(0),
22 m_DepthControl(0), m_GainControl(0), m_RejectionControl(0),
23 m_DynamicRangeControl(0),
24 m_Active(false), m_PowerSteps(new double[3]),
25 m_GainSteps(new double[3]), m_RejectionSteps(new double[3]),
26 m_DynamicRangeSteps(new double[3])
32 this->ReleaseControls();
34 delete[] m_PowerSteps;
36 delete[] m_RejectionSteps;
37 delete[] m_DynamicRangeSteps;
42 m_UsgDataView = usgDataView;
47 this->ReleaseControls();
48 this->CreateControls();
55 HRESULT hr = m_UsgDataView->put_ScanState(Usgfw2Lib::SCAN_STATE_STOP);
56 if (FAILED(hr)) { mitkThrow() <<
"Could not stop scanning (" << hr <<
")."; }
59 hr = m_UsgDataView->put_ScanMode(Usgfw2Lib::SCAN_MODE_B);
60 if (FAILED(hr)) { mitkThrow() <<
"Could not set scan mode b (" << hr <<
")."; }
62 hr = m_UsgDataView->put_ScanState(Usgfw2Lib::SCAN_STATE_RUN);
63 if (FAILED(hr)) { mitkThrow() <<
"Could not start scanning (" << hr <<
")."; }
65 this->CreateControls();
71 this->ReleaseControls();
82 HRESULT hr = m_UsgDataView->get_ScanMode(&scanMode);
83 if (FAILED(hr)) { mitkThrow() <<
"Could not get scan mode (" << hr <<
")."; }
85 return m_Active && scanMode == Usgfw2Lib::SCAN_MODE_B;
120 return m_PowerSteps[0];
125 return m_PowerSteps[1];
130 return m_PowerSteps[2];
160 return m_GainSteps[0];
165 return m_GainSteps[1];
170 return m_GainSteps[2];
185 return m_RejectionSteps[0];
190 return m_RejectionSteps[1];
195 return m_RejectionSteps[2];
210 return m_DynamicRangeSteps[0];
215 return m_DynamicRangeSteps[1];
220 return m_DynamicRangeSteps[2];
226 CREATE_TelemedControl(m_FrequencyControl, m_UsgDataView, Usgfw2Lib::IID_IUsgProbeFrequency2, Usgfw2Lib::IUsgProbeFrequency2, Usgfw2Lib::SCAN_MODE_B);
229 CREATE_TelemedControl(m_PowerControl, m_UsgDataView, Usgfw2Lib::IID_IUsgPower, Usgfw2Lib::IUsgPower, Usgfw2Lib::SCAN_MODE_B);
233 CREATE_TelemedControl(m_DepthControl, m_UsgDataView, Usgfw2Lib::IID_IUsgDepth, Usgfw2Lib::IUsgDepth, Usgfw2Lib::SCAN_MODE_B);
236 CREATE_TelemedControl(m_GainControl, m_UsgDataView, Usgfw2Lib::IID_IUsgGain, Usgfw2Lib::IUsgGain, Usgfw2Lib::SCAN_MODE_B);
240 CREATE_TelemedControl(m_RejectionControl, m_UsgDataView, Usgfw2Lib::IID_IUsgRejection2, Usgfw2Lib::IUsgRejection2, Usgfw2Lib::SCAN_MODE_B);
244 CREATE_TelemedControl(m_DynamicRangeControl, m_UsgDataView, Usgfw2Lib::IID_IUsgDynamicRange, Usgfw2Lib::IUsgDynamicRange, Usgfw2Lib::SCAN_MODE_B);
Interface defining methods for scanning mode b of ultrasound devices. It consists of methods for scan...
virtual std::vector< double > GetScanningDepthValues()
virtual double GetScanningFrequency()
void ReinitializeControls()
virtual double GetScanningPower()
virtual double GetScanningDynamicRangeMax()
virtual bool GetIsActive()
virtual double GetScanningDynamicRangeMin()
virtual double GetScanningGainMax()
virtual std::vector< double > GetScanningFrequencyValues()
USTelemedBModeControls(itk::SmartPointer< USTelemedDevice > device)
virtual double GetScanningPowerTick()
double GetScanningFrequencyAPI()
virtual void OnSetScanningDepth(double)
Virtual method which is called inside mitk::USControlInterfaceBMode::SetScanningDepth....
virtual double GetScanningDynamicRangeTick()
virtual double GetScanningRejection()
void SetUsgDataView(Usgfw2Lib::IUsgDataView *)
Setter for the IUsgDataView necesary for communicating with the Telemed API. This method is just for ...
virtual double GetScanningRejectionTick()
virtual double GetScanningRejectionMin()
virtual void OnSetScanningDynamicRange(double)
Virtual method which is called inside mitk::USControlInterfaceBMode::SetScanningDynamicRange....
virtual ~USTelemedBModeControls()
virtual double GetScanningPowerMin()
virtual void OnSetScanningGain(double)
Virtual method which is called inside mitk::USControlInterfaceBMode::SetScanningGain....
virtual void OnSetScanningFrequency(double frequency)
Virtual method which is called inside mitk::USControlInterfaceBMode::SetScanningFrequency.
virtual void OnSetScanningPower(double power)
Virtual method which is called inside mitk::USControlInterfaceBMode::SetScanningPower....
virtual double GetScanningDepth()
virtual double GetScanningGainMin()
virtual void SetIsActive(bool)
virtual double GetScanningGainTick()
virtual double GetScanningDynamicRange()
virtual double GetScanningPowerMax()
virtual double GetScanningRejectionMax()
virtual double GetScanningGain()
virtual void OnSetScanningRejection(double)
Virtual method which is called inside mitk::USControlInterfaceBMode::SetScanningRejection....
#define TELEMED_FREQUENCY_FACTOR