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_)
311 Spinnaker::GenApi::CNodePtr ptr =
node_map_->GetNode(property_name);
312 if (!Spinnaker::GenApi::IsAvailable(ptr) || !Spinnaker::GenApi::IsReadable(ptr))
314 throw std::runtime_error(
"Unable to get parmeter " + property_name);
bool setProperty(Spinnaker::GenApi::INodeMap *node_map, const std::string &property_name, const std::string &entry_name)
virtual void setNewConfiguration(const spinnaker_camera_driver::SpinnakerConfig &config, const uint32_t &level)
Spinnaker::GenApi::INodeMap * node_map_
static const uint8_t LEVEL_RECONFIGURE_STOP
Camera(Spinnaker::GenApi::INodeMap *node_map)
virtual void setImageControlFormats(const spinnaker_camera_driver::SpinnakerConfig &config)
#define ROS_DEBUG_STREAM(args)
bool setMaxInt(Spinnaker::GenApi::INodeMap *node_map, const std::string &property_name)
virtual void setFrameRate(const float frame_rate)
Changes the video mode of the connected camera.
Spinnaker::GenApi::CNodePtr readProperty(const Spinnaker::GenICam::gcstring property_name)
virtual void setGain(const float &gain)