Image Signal Processor
The raw image that is acquired from the image sensor is passed directly into an image signal processor (ISP) to perform further image quality and geometry adjustments. The data flow of the ISP is illustrated below.

ISP Dataflow
Black Level Correction
Device Control->Sensors->BlackLevel->blackGainBlueAdjusts the black level gain for blue pixels.blackGainGBAdjusts the black level gain for green-blue pixels.blackGainGRAdjusts the black level gain for green-red pixels.blackGainRedAdjusts the black level gain for red pixels.blackGRAdjusts black level for green-red pixels.blackRedAdjusts black level for red pixels.blackBlueAdjusts black level for blue pixels.blackGBAdjusts black level for green-blue pixels.
Python
This parameter is exposed as part of the device handle in Python. Example for blackGR shown.
device_params = device.GetParameters()
blackGR = device_params.Get("blackGR")
res = blackGR.SetValue(float(<value>))
res, value = blackGR.GetValue()
if not res.IsOK():
# Error handling
ROS2
Only the level controls, not the gain controls are exposed as part of the ROS2 driver. The parameters are runtime adjustable after the driver has been started, example for blackGR shown.
ros2 run bottlenose_camera_driver bottlenose_camera_driver_node --ros-args \
... \
-p blackGR:=4200
White Balance Adjustment
Device Control->Sensors->WhiteBalance->wbBlueAdjusts the white balance weighting for the blue component of the image.wbGreenAdjusts the white balance weighting for the green component of the image.wbRedAdjusts the white balance weighting for the red component of the image.wbAutoLet the camera adjust the white balance automatically.
Python
This parameter is exposed as part of the device handle in Python. Example for wbAuto shown.
device_params = device.GetParameters()
wbAuto = device_params.Get("wbAuto")
res = wbAuto.SetValue(float(<value>))
res, value = wbAuto.GetValue()
if not res.IsOK():
# Error handling
ROS2
All parameters are exposed as part of the ROS2 driver. They are runtime adjustable after the driver has been started, example for wbAuto shown.
ros2 run bottlenose_camera_driver bottlenose_camera_driver_node --ros-args \
... \
-p wbAuto:=true
Color Profile Configuration
Please see detailed instructions here.
Gamma Correction
Device Control->Sensors->gammaAdjust the gamma exponent of the correction.gammaBlackCorrectShift the spectrum of the gamma correction to account for black-level changes.
Python
This parameter is exposed as part of the device handle in Python. Example for gamma shown.
device_params = device.GetParameters()
gamma = device_params.Get("gamma")
res = gamma.SetValue(float(<value>))
res, value = gamma.GetValue()
if not res.IsOK():
# Error handling
ROS2
Only the gamma parameter is exposed as part of the ROS2 driver. It is runtime adjustable after the driver has been started.
ros2 run bottlenose_camera_driver bottlenose_camera_driver_node --ros-args \
... \
-p gamma:=<value>
Image Enhancement
The ISP supports numerous image enhancement features that can be found under
Device Control -> Sensors -> ImageQuality in eBusPlayer.
Python
These parameters are exposed as part of the device handle in Python. Example for brightness shown.
device_params = device.GetParameters()
interval = device_params.Get("brightness")
res = interval.SetValue(float(<value>))
res, value = interval.GetValue()
if not res.IsOK():
# Error handling
ROS2
None of the Image Enhancement controls are currently exposed as part of the ROS2 driver.
Undistortion and Rectification
Please see Stereo Calibration for more information.
Advanced Features
Please contact us for more information about Color Noise Reduction, lens-shading correction, UV suppression (image quality), edge suppression (image quality), coring suppression (image quality), and non-linear contrast (image quality). These building blocks are exposed as GigE Vision parameters too and can be changed under the appropriate Device Control -> Sensors -> topic handle.
Python
They can also be accessed via the Python API as part of the device handle with the same parameter names shown in eBusPlayer.
ROS2
These features are not exposed as part of the ROS2 driver yet.
Updated over 1 year ago