PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusCameraControlParameters.cxx
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 #include "PlusConfigure.h"
9 
10 #include <iterator>
11 
12 //----------------------------------------------------------------------------
13 
15 
16 //----------------------------------------------------------------------------
17 
18 const char* vtkPlusCameraControlParameters::CAMERA_CONTROL_XML_ELEMENT_TAG = "CameraControlParameters";
19 const char* vtkPlusCameraControlParameters::KEY_PAN_DEGREES = "PanDegrees";
20 const char* vtkPlusCameraControlParameters::KEY_TILT_DEGREES = "TiltDegrees";
21 const char* vtkPlusCameraControlParameters::KEY_ROLL_DEGREES = "RollDegrees";
22 const char* vtkPlusCameraControlParameters::KEY_ZOOM_MM = "ZoomMm";
23 const char* vtkPlusCameraControlParameters::KEY_IRIS_FSTOP = "IrisFStop";
24 const char* vtkPlusCameraControlParameters::KEY_EXPOSURE_LOG2SECONDS = "ExposureLog2Seconds";
25 const char* vtkPlusCameraControlParameters::KEY_AUTO_EXPOSURE = "AutoExposure";
26 const char* vtkPlusCameraControlParameters::KEY_FOCUS_MM = "FocusMm";
27 const char* vtkPlusCameraControlParameters::KEY_AUTO_FOCUS = "AutoFocus";
28 
29 //----------------------------------------------------------------------------
32 {
36  this->Parameters[KEY_ZOOM_MM] = ParameterInfo("-1");
40  this->Parameters[KEY_FOCUS_MM] = ParameterInfo("-1");
42 }
43 
44 //----------------------------------------------------------------------------
46 {
47  LOG_TRACE("vtkPlusCameraControlParameters::~vtkPlusCameraControlParameters()");
48 }
49 
50 //----------------------------------------------------------------------------
52 {
53  return this->SetValue<double>(KEY_PAN_DEGREES, panDegrees);
54 }
55 
56 //----------------------------------------------------------------------------
58 {
59  return this->GetValue<double>(KEY_PAN_DEGREES, panDegrees);
60 }
61 
62 //----------------------------------------------------------------------------
64 {
65  return this->SetValue<double>(KEY_TILT_DEGREES, tiltDegrees);
66 }
67 
68 //----------------------------------------------------------------------------
70 {
71  return this->GetValue<double>(KEY_TILT_DEGREES, tiltDegrees);
72 }
73 
74 //----------------------------------------------------------------------------
76 {
77  return this->SetValue<double>(KEY_ROLL_DEGREES, rollDegrees);
78 }
79 
80 //----------------------------------------------------------------------------
82 {
83  return this->GetValue<double>(KEY_ROLL_DEGREES, rollDegrees);
84 }
85 
86 //----------------------------------------------------------------------------
88 {
89  return this->SetValue<double>(KEY_ZOOM_MM, zoomMm);
90 }
91 
92 //----------------------------------------------------------------------------
94 {
95  return this->GetValue<double>(KEY_ZOOM_MM, zoomMm);
96 }
97 
98 //----------------------------------------------------------------------------
100 {
101  return this->SetValue<int>(KEY_IRIS_FSTOP, irisFStop);
102 }
103 
104 //----------------------------------------------------------------------------
106 {
107  return this->GetValue<int>(KEY_IRIS_FSTOP, irisFStop);
108 }
109 
110 //----------------------------------------------------------------------------
112 {
113  return this->SetValue<int>(KEY_EXPOSURE_LOG2SECONDS, exposureLog2Seconds);
114 }
115 
116 //----------------------------------------------------------------------------
118 {
119  return this->GetValue<int>(KEY_EXPOSURE_LOG2SECONDS, exposureLog2Seconds);
120 }
121 
122 //----------------------------------------------------------------------------
124 {
125  return this->SetValue<std::string>(KEY_AUTO_EXPOSURE, autoExposure ? "True" : "False");
126 }
127 
128 //----------------------------------------------------------------------------
130 {
131  std::string autoExposureString = "";
132  if (!this->GetValue<std::string>(KEY_AUTO_EXPOSURE, autoExposureString))
133  {
134  return PLUS_FAIL;
135  }
136 
137  autoExposure = STRCASECMP(autoExposureString.c_str(), "true") == 0;
138  return PLUS_SUCCESS;
139 }
140 
141 //----------------------------------------------------------------------------
143 {
144  return this->SetValue<double>(KEY_FOCUS_MM, focusMm);
145 }
146 
147 //----------------------------------------------------------------------------
149 {
150  return this->GetValue<double>(KEY_FOCUS_MM, focusMm);
151 }
152 
153 //----------------------------------------------------------------------------
155 {
156  return this->SetValue<std::string>(KEY_AUTO_FOCUS, autoFocus ? "True" : "False");
157 }
158 
159 //----------------------------------------------------------------------------
161 {
162  std::string autoFocusString = "";
163  if (!this->GetValue<std::string>(KEY_AUTO_FOCUS, autoFocusString))
164  {
165  return PLUS_FAIL;
166  }
167 
168  autoFocus = STRCASECMP(autoFocusString.c_str(), "true") == 0;
169  return PLUS_SUCCESS;
170 }
vtkStandardNewMacro(vtkPlusCameraControlParameters)
This class is used as the basis to store a configuration of generic parameters for any device....
igsioStatus PlusStatus
Definition: PlusCommon.h:40
This class is used to store a configuration of the imaging parameters of an Microsoft Media Foundatio...
PlusStatus GetFocusMm(double &aFocusMm) const
PlusStatus GetRollDegrees(double &aRollDegrees) const
#define PLUS_FAIL
Definition: PlusCommon.h:43
PlusStatus GetAutoExposure(bool &aAutoExposure) const
ParameterMap Parameters
PlusStatus GetTiltDegrees(double &aTiltDegrees) const
PlusStatus GetIrisFStop(int &aIrisFStop) const
#define PLUS_SUCCESS
Definition: PlusCommon.h:44
PlusStatus SetExposureLog2Seconds(int aExposureLog2Seconds)
PlusStatus SetAutoExposure(bool aAutoExposure)
PlusStatus GetZoomMm(double &aZoomMm) const
PlusStatus GetPanDegrees(double &aPanDegrees) const
PlusStatus SetRollDegrees(double aRollDegrees)
PlusStatus SetTiltDegrees(double aTiltDegrees)
PlusStatus GetExposureLog2Seconds(int &aExposureLog2Seconds) const
PlusStatus GetAutoFocus(bool &aAutoFocus) const
PlusStatus SetPanDegrees(double aPanDegrees)