Selects the type of test pattern that is generated by the camera as image source. The test patterns are sensor specific and may vary depending on the model.
|
If your camera has color gains > 1, some images might appear colored instead of gray. To see the true test image, you should display the RAW image data instead of a debayered RGB image representation. |
Name |
TestPattern |
Category |
|
Interface |
Enumeration |
Access |
Read/Write |
Unit |
- |
Visibility |
Beginner |
Values |
Off Black ChessPattern ColorBar FPGABlack FPGAChessboard FPGAColorStripe FPGAFramecount FPGAGrayscale FPGAVerticalGrayscale FPGAWhite GreyDiagonalRampMoving GreyHorizontalRamp GreyVerticalRamp GreyWedgeMovingSensor GreyWedgeSensor RampingPattern SequencePattern1 SequencePattern2 White |
Standard |
SFNC |
Availability uEye+ |
|
Availability uEye |
|
Values description
•Off: No test pattern is generated. The image acquired by the sensor is displayed.
•Black: The sensor generates a test image with the darkest possible image.
•ChessPattern: The sensor generates a test image with a chess pattern.
•ColorBar: The sensor generates a test image which is filled with stripes of color including white, black, red, green, blue, cyan, magenta and yellow.
•FPGABlack: The FPGA generates a black test image.
•FPGAChessboard: The FPGA generates a test image with alternating pixels from zero intensity and maximum intensity.
•FPGAColorStripe: The FPGA generates a color stripe test image.
•FPGAFramecount: The FPGA generates a homogeneous test image that starts with zero intensity and gets brighter with each frame. When maximum intensity is reached the sequence starts again.
•FPGAGrayscale: The FPGA generates a test image with a horizontal gradient. The gradient starts at zero intensity on the left side and reaches the maximum intensity on the right side.
•FPGAVerticalGrayscale: The FPGA generates a test image with a vertical gradient. The gradient starts at zero intensity at the top of the image and reaches the maximum intensity at the bottom of the image.
•FPGAWhite: The FPGA generates a white test image.
•GreyDiagonalRamp: The sensor generates a test image with a diagonal gradient. The gradient starts at zero intensity and reaches the maximum intensity in a diagonal direction.
•GreyDiagonalRampMoving: The sensor generates a test image with a moving diagonal gradient. The gradient starts at zero intensity and reaches the maximum intensity in a diagonal direction. The ramp moves across the image.
•GreyHorizontalRamp: The sensor generates a test image with a horizontal gradient. The gradient starts at zero intensity and reaches the maximum intensity in a horizontal direction.
•GreyVerticalRamp: The sensor generates a test image with a vertical gradient. The gradient starts at zero intensity and reaches the maximum intensity in a vertical direction.
•GreyWedgeMovingSensor: The sensor generates a test image with moving grey wedges.
•GreyWedgeSensor: The sensor generates a test image with grey wedges.
•RampingPattern: The sensor generates a test image with a moving ramping pattern.
•SequencePattern1: The sensor generates a test image with defined sequential pixel values.
•SequencePattern2: The sensor generates a test image with defined sequential pixel values.
•White: The sensor generates a test image with the brightest possible image.
Code example
C++
// Determine the current entry of TestPattern
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("TestPattern")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of TestPattern
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("TestPattern")->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 TestPattern to "Off"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("TestPattern")->SetCurrentEntry("Off");
C#
// Determine the current entry of TestPattern
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("TestPattern").CurrentEntry().SymbolicValue();
// Get a list of all available entries of TestPattern
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("TestPattern").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 TestPattern to "Off"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("TestPattern").SetCurrentEntry("Off");
Python
# Determine the current entry of TestPattern (str)
value = nodeMapRemoteDevice.FindNode("TestPattern").CurrentEntry().SymbolicValue()
# Get a list of all available entries of TestPattern
allEntries = nodeMapRemoteDevice.FindNode("TestPattern").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 TestPattern to "Off" (str)
nodeMapRemoteDevice.FindNode("TestPattern").SetCurrentEntry("Off")