diff --git a/pylonwrapper.cpp b/pylonwrapper.cpp index f9b8913..1315c64 100644 --- a/pylonwrapper.cpp +++ b/pylonwrapper.cpp @@ -82,6 +82,26 @@ bool PylonWrapper::exposureTime(double exposure_time) { return false; } +double PylonWrapper::gain() { + double gain = -1.; + if (valid) { + GenApi::INodeMap& nodemap = camera->GetNodeMap(); + GenApi::INode* n = nodemap.GetNode( "Gain" ); + Pylon::CFloatParameter detector_gain( n ); + gain = detector_gain.GetValue(); + } + return gain; +} + +bool PylonWrapper::gain(double gain_db) { + if (valid) { + GenApi::INodeMap& nodemap = camera->GetNodeMap(); + GenApi::CFloatPtr(nodemap.GetNode("Gain"))->SetValue(gain_db); + return true; + } + return false; +} + ImageSettings PylonWrapper::getImageSettings() { ImageSettings settings; if (valid) { diff --git a/pylonwrapper.h b/pylonwrapper.h index f2e5e24..e4d6e7b 100644 --- a/pylonwrapper.h +++ b/pylonwrapper.h @@ -29,6 +29,8 @@ public: double maxFrameRate(); double exposureTime(); bool exposureTime(double exposure_time); + double gain(); + bool gain(double gain_db); Pylon::CInstantCamera *getCamera(); private: