Please enable JavaScript to view this site.

IDS peak 2.8.0 / uEye+ firmware 3.33

Selects one of the available LUT presets.

hint_info

To activate the function, load it via LUTPresetLoad.

Name

LUTPresetSelector[LUTSelector]

Category

LUTControl

Interface

Enumeration

Access

Read/Write

Unit

-

Visibility

Expert

Values

Identity

Inverse

Binarize

DigitalGain2

EnhancedContrast

Standard

IDS

Availability uEye+

icon-gev icon-u3v

Availability uEye

-

Values description

Identity: The values are not changed.

Inverse: All colors are inverted.

Binarize: Reduces the colors to black and white and for color cameras to fully-saturated colors. There can be intermediate values in the transition interval.

DigitalGain2: Multiplies all color values by 2. Values that are too high are clipped.

EnhancedContrast: Enhances the contrast by darkening the shadows and brightening up the lights.

Fig. 200: Sample LUT curve for "Identity"

Fig. 200: Sample LUT curve for "Identity"

Fig. 201: Sample LUT curve for "Binarize"

Fig. 201: Sample LUT curve for "Binarize"

Fig. 202: Sample LUT curve for "EnhancedContrast"

Fig. 202: Sample LUT curve for "EnhancedContrast"

Fig. 203: Sample LUT curve for "Inverse"

Fig. 203: Sample LUT curve for "Inverse"

Fig. 204: Sample LUT curve for "DigitalGain2"

Fig. 204: Sample LUT curve for "DigitalGain2"

Code example

C++

// Determine the current entry of LUTPresetSelector
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("LUTPresetSelector")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of LUTPresetSelector
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("LUTPresetSelector")->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 LUTPresetSelector to "Identity"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("LUTPresetSelector")->SetCurrentEntry("Identity");
// Execute LUTPresetLoad
RemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("LUTPresetLoad")->Execute();
// Check if the command has finished before you continue (optional)
RemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("LUTPresetLoad")->WaitUntilDone();

C#

// Determine the current entry of LUTPresetSelector
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("LUTPresetSelector").CurrentEntry().SymbolicValue();
// Get a list of all available entries of LUTPresetSelector
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("LUTPresetSelector").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 LUTPresetSelector to "Identity"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("LUTPresetSelector").SetCurrentEntry("Identity");
// Execute LUTPresetLoad
RemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("LUTPresetLoad").Execute();
// Check if the command has finished before you continue (optional)
RemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("LUTPresetLoad").WaitUntilDone();

Python

# Determine the current entry of LUTPresetSelector (str)
value = nodeMapRemoteDevice.FindNode("LUTPresetSelector").CurrentEntry().SymbolicValue()
# Get a list of all available entries of LUTPresetSelector
allEntries = nodeMapRemoteDevice.FindNode("LUTPresetSelector").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 LUTPresetSelector to "Identity" (str)
nodeMapRemoteDevice.FindNode("LUTPresetSelector").SetCurrentEntry("Identity")
# Execute LUTPresetLoad
RemoteDevice.FindNode("LUTPresetLoad").Execute()
# Check if the command has finished before you continue (optional)
RemoteDevice.FindNode("LUTPresetLoad").WaitUntilDone()

© 2024 IDS Imaging Development Systems GmbH