Please enable JavaScript to view this site.

IDS peak 2.10.0 / uEye+ firmware 3.34

IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.

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

hint_info

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

Name

BinningVerticalMode[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 BinningVerticalMode, make sure BinningSelector is set correctly
// Set BinningSelector to "Region0"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("BinningSelector")->SetCurrentEntry("Region0");
// Determine the current entry of BinningVerticalMode
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("BinningVerticalMode")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of BinningVerticalMode
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("BinningVerticalMode")->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 BinningVerticalMode, make sure BinningSelector is set correctly
// Set BinningSelector to "Region0"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("BinningSelector").SetCurrentEntry("Region0");
// Determine the current entry of BinningVerticalMode
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("BinningVerticalMode").CurrentEntry().SymbolicValue();
// Get a list of all available entries of BinningVerticalMode
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("BinningVerticalMode").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 BinningVerticalMode, make sure BinningSelector is set correctly
# Set BinningSelector to "Region0" (str)
nodeMapRemoteDevice.FindNode("BinningSelector").SetCurrentEntry("Region0")
# Determine the current entry of BinningVerticalMode (str)
value = nodeMapRemoteDevice.FindNode("BinningVerticalMode").CurrentEntry().SymbolicValue()
# Get a list of all available entries of BinningVerticalMode
allEntries = nodeMapRemoteDevice.FindNode("BinningVerticalMode").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