Please enable JavaScript to view this site.

IDS peak 2.8.0 / uEye+ firmware 3.33

Sets the automatic gain control. Neither AcquisitionFrameRate nor ExposureTime settings are changed. GainAuto can be combined with ExposureAuto.

GainAuto modifies "AnalogAll" gain, if the sensor supports it. Otherwise "DigitalAll" gain is used.

Name

GainAuto

Category

AnalogControl

Interface

Enumeration

Access

Read/Write

Unit

-

Visibility

Beginner

Values

Off
Once
Continuous

Standard

SFNC

Availability uEye+

icon-gev icon-u3v

Availability uEye

-

Values description

Off: GainAuto is disabled. The user-defined control of the gain is possible with the Gain command.

Once: Gain is automatically adjusted once by the camera. Once it has converged, it automatically returns to the "Off" state.

Continuous: Gain is constantly adjusted by the camera.

hint_info

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

hint_info

Can only be changed if SequencerMode is "Off".

Code example

C++

// Determine the current entry of GainAuto
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("GainAuto")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of GainAuto
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("GainAuto")->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 GainAuto to "Off"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("GainAuto")->SetCurrentEntry("Off");

C#

// Determine the current entry of GainAuto
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("GainAuto").CurrentEntry().SymbolicValue();
// Get a list of all available entries of GainAuto
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("GainAuto").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 GainAuto to "Off"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("GainAuto").SetCurrentEntry("Off");

Python

# Determine the current entry of GainAuto (str)
value = nodeMapRemoteDevice.FindNode("GainAuto").CurrentEntry().SymbolicValue()
# Get a list of all available entries of GainAuto
allEntries = nodeMapRemoteDevice.FindNode("GainAuto").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 GainAuto to "Off" (str)
nodeMapRemoteDevice.FindNode("GainAuto").SetCurrentEntry("Off")

© 2024 IDS Imaging Development Systems GmbH