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")