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).
Note that for some camera models BinningVertical can only be set along with BinningHorizontal. |
Name |
BinningVerticalMode[BinningSelector] |
Category |
|
Interface |
Enumeration |
Access |
Read |
Unit |
- |
Visibility |
Expert |
Values |
Average AverageBayerPattern Sum SumBayerPattern Weighted uEye |
Standard |
SFNC |
Availability uEye+ |
|
Availability uEye |
|
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.
|
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())