IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
Sets the automatic exposure control when ExposureMode is "Timed". Neither AcquisitionFrameRate nor Gain settings are changed. ExposureAuto can be combined with GainAuto.
Name |
ExposureAuto |
Category |
|
Interface |
Enumeration |
Access |
Read/Write |
Unit |
- |
Visibility |
Beginner |
Values |
Off |
Standard |
SFNC |
Availability uEye+ |
|
Availability uEye |
- |
Values description
•Off: Exposure duration is user controlled using ExposureTime.
•Once: Exposure duration is adapted once by the camera. Once it has converged, it returns to the "Off" state.
•Continuous: Exposure duration is constantly adapted by the camera to maximize the dynamic range.
This feature is not available with the SensorOperationMode "Linescan". |
Can only be changed if SequencerMode is "Off". |
Code example
C++
// Determine the current entry of ExposureAuto
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("ExposureAuto")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of ExposureAuto
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("ExposureAuto")->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);
}
}
// Set ExposureAuto to "Off"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("ExposureAuto")->SetCurrentEntry("Off");
C#
// Determine the current entry of ExposureAuto
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("ExposureAuto").CurrentEntry().SymbolicValue();
// Get a list of all available entries of ExposureAuto
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("ExposureAuto").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());
}
}
// Set ExposureAuto to "Off"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("ExposureAuto").SetCurrentEntry("Off");
Python
# Determine the current entry of ExposureAuto (str)
value = nodeMapRemoteDevice.FindNode("ExposureAuto").CurrentEntry().SymbolicValue()
# Get a list of all available entries of ExposureAuto
allEntries = nodeMapRemoteDevice.FindNode("ExposureAuto").Entries()
availableEntries = []
for entry in allEntries:
if (entry.AccessStatus() != ids_peak.NodeAccessStatus_NotAvailable
and entry.AccessStatus() != ids_peak.NodeAccessStatus_NotImplemented):
availableEntries.append(entry.SymbolicValue())
# Set ExposureAuto to "Off" (str)
nodeMapRemoteDevice.FindNode("ExposureAuto").SetCurrentEntry("Off")