Please enable JavaScript to view this site.

IDS peak 2.8.0 / uEye+ firmware 3.33

Specifies the mode which is used to combine pixels horizontally when BinningHorizontal is enabled (see also Binning).

hint_info

Note that for some camera models BinningHorizontal can only be set along with BinningVertical.

Name

BinningHorizontalMode[BinningSelector]

Category

ImageFormatControl

Interface

Enumeration

Access

Read

Unit

-

Visibility

Expert

Values

Average

AverageBayerPattern

Sum

SumBayerPattern

Weighted

uEye

Standard

SFNC

Availability uEye+

icon-gev icon-u3v

Availability uEye

icon-ui-gige icon-ui-usb2 icon-ui-usb3

Values description

Average: The response from the combined cells will be averaged, which results in an increased signal-to-noise ratio.

AverageBayerPattern: Color binning for monochrome sensors where the response of the combined cells is averaged. Color binning on monochrome sensors can cause slight artifacts.

Sum: The response of the combined cells is summarized, which results in an increased sensitivity.

SumBayerPattern: Color binning for monochrome sensors where the response of the combined cells is summarized. Color binning on monochrome sensors can cause slight artifacts.

Weighted: Sensor specific weighting factors for the combined pixels.

uEye: The binning mode depends on the respective uEye camera (UI model).

The following weighting factors are valid for the Sony sensor IMX183.

binning-weighting-factors-imx183

hint_info

This feature is not available with the SensorOperationMode "Linescan".

Code example

C++

// Before accessing BinningHorizontalMode, make sure BinningSelector is set correctly
// Set BinningSelector to "Region0"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("BinningSelector")->SetCurrentEntry("Region0");
// Determine the current entry of BinningHorizontalMode
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("BinningHorizontalMode")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of BinningHorizontalMode
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("BinningHorizontalMode")->Entries();
std::vector<std::shared_ptr<peak::core::nodes::EnumerationEntryNode>> availableEntries;
for(const auto & entry : allEntries)
{
  if ((entry->AccessStatus()!=peak::core::nodes::NodeAccessStatus::NotAvailable)
          && (entry->AccessStatus()!=peak::core::nodes::NodeAccessStatus::NotImplemented))
  {
      availableEntries.emplace_back(entry);
  }
}

C#

// Before accessing BinningHorizontalMode, make sure BinningSelector is set correctly
// Set BinningSelector to "Region0"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("BinningSelector").SetCurrentEntry("Region0");
// Determine the current entry of BinningHorizontalMode
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("BinningHorizontalMode").CurrentEntry().SymbolicValue();
// Get a list of all available entries of BinningHorizontalMode
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("BinningHorizontalMode").Entries();
List<string> availableEntries = new List<string>();
for(int i = 0; i < allEntries.Count(); ++i)
{
  if ((allEntries[i].AccessStatus() != peak.core.nodes.NodeAccessStatus.NotAvailable)
          && (allEntries[i].AccessStatus() != peak.core.nodes.NodeAccessStatus.NotImplemented))
  {
      availableEntries.Add(allEntries[i].SymbolicValue());
  }
}

Python

# Before accessing BinningHorizontalMode, make sure BinningSelector is set correctly
# Set BinningSelector to "Region0" (str)
nodeMapRemoteDevice.FindNode("BinningSelector").SetCurrentEntry("Region0")
# Determine the current entry of BinningHorizontalMode (str)
value = nodeMapRemoteDevice.FindNode("BinningHorizontalMode").CurrentEntry().SymbolicValue()
# Get a list of all available entries of BinningHorizontalMode
allEntries = nodeMapRemoteDevice.FindNode("BinningHorizontalMode").Entries()
availableEntries = []
for entry in allEntries:
  if (entry.AccessStatus() != ids_peak.NodeAccessStatus_NotAvailable
          and entry.AccessStatus() != ids_peak.NodeAccessStatus_NotImplemented):
      availableEntries.append(entry.SymbolicValue())

© 2024 IDS Imaging Development Systems GmbH