IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
Selects one of the available LUT presets.
To activate the function, load it via LUTPresetLoad. |
Name |
LUTPresetSelector[LUTSelector] |
Category |
|
Interface |
Enumeration |
Access |
Read/Write |
Unit |
- |
Visibility |
Expert |
Values |
Identity Inverse Binarize DigitalGain2 EnhancedContrast |
Standard |
IDS |
Availability uEye+ |
|
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. 203: Sample LUT curve for "Identity"
Fig. 204: Sample LUT curve for "Binarize"
Fig. 205: Sample LUT curve for "EnhancedContrast"
Fig. 206: Sample LUT curve for "Inverse"
Fig. 207: 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()