33 Spinnaker::GenApi::CIntegerPtr height_max_ptr =
node_map_->GetNode(
"HeightMax");
34 if (!IsAvailable(height_max_ptr) || !IsReadable(height_max_ptr))
36 throw std::runtime_error(
"[Camera::init] Unable to read HeightMax");
39 Spinnaker::GenApi::CIntegerPtr width_max_ptr =
node_map_->GetNode(
"WidthMax");
40 if (!IsAvailable(width_max_ptr) || !IsReadable(width_max_ptr))
42 throw std::runtime_error(
"[Camera::init] Unable to read WidthMax");
58 Spinnaker::GenApi::CFloatPtr ptrAcquisitionFrameRate =
node_map_->GetNode(
"AcquisitionFrameRate");
59 ROS_DEBUG_STREAM(
"Minimum Frame Rate: \t " << ptrAcquisitionFrameRate->GetMin());
60 ROS_DEBUG_STREAM(
"Maximum Frame rate: \t " << ptrAcquisitionFrameRate->GetMax());
65 ROS_DEBUG_STREAM(
"Current Frame rate: \t " << ptrAcquisitionFrameRate->GetValue());
75 setFrameRate(
static_cast<float>(config.acquisition_frame_rate));
97 if (IsAvailable(
node_map_->GetNode(
"SharpeningEnable")))
100 if (config.sharpening_enable)
109 if (IsAvailable(
node_map_->GetNode(
"SaturationEnable")))
112 if (config.saturation_enable)
119 if (config.exposure_auto.compare(std::string(
"Off")) == 0)
126 static_cast<float>(config.auto_exposure_time_upper_limit));
132 if (config.auto_gain.compare(std::string(
"Off")) == 0)
141 if (config.gamma_enable)
148 if (IsAvailable(
node_map_->GetNode(
"BalanceWhiteAuto")))
151 if (config.auto_white_balance.compare(std::string(
"Off")) == 0)
161 if (IsAvailable(
node_map_->GetNode(
"AutoAlgorithmSelector")))
165 if (config.auto_exposure_roi_width != 0 && config.auto_exposure_roi_height != 0)
175 if (IsAvailable(
node_map_->GetNode(
"AutoExposureLightingMode")))
180 catch (
const Spinnaker::Exception& e)
182 throw std::runtime_error(
"[Camera::setNewConfiguration] Failed to set configuration: " + std::string(e.what()));
198 Spinnaker::GenApi::CIntegerPtr height_max_ptr =
node_map_->GetNode(
"HeightMax");
199 if (!IsAvailable(height_max_ptr) || !IsReadable(height_max_ptr))
201 throw std::runtime_error(
"[Camera::setImageControlFormats] Unable to read HeightMax");
204 Spinnaker::GenApi::CIntegerPtr width_max_ptr =
node_map_->GetNode(
"WidthMax");
205 if (!IsAvailable(width_max_ptr) || !IsReadable(width_max_ptr))
207 throw std::runtime_error(
"[Camera::setImageControlFormats] Unable to read WidthMax");
218 if (config.image_format_roi_width <= 0 || config.image_format_roi_width >
width_max_)
222 if (config.image_format_roi_height <= 0 || config.image_format_roi_height >
height_max_)
314 Spinnaker::GenApi::CNodePtr ptr =
node_map_->GetNode(property_name);
315 if (!Spinnaker::GenApi::IsAvailable(ptr) || !Spinnaker::GenApi::IsReadable(ptr))
317 throw std::runtime_error(
"Unable to get parmeter " + property_name);
324 Spinnaker::GenApi::CNodePtr ptr =
node_map_->GetNode(property_name);
325 return Spinnaker::GenApi::IsAvailable(ptr) && Spinnaker::GenApi::IsReadable(ptr);