Controls the calibration and data organization of the camera and the coordinates transmitted.
Name |
Scan3dOutputMode[Scan3dExtractionSelector] |
Category |
|
Interface |
Enumeration |
Access |
Read/Write |
Unit |
- |
Visibility |
Expert |
Values |
UncalibratedC With IDS Proxy Transport Layer: •CalibratedABC_Grid •CalibratedC |
Standard |
SFNC |
Availability uEye+ |
|
Availability uEye |
- |
Values description
•UncalibratedC: Uncalibrated 2.5D depth map that must be calculated using Scan3dCoordinateOffset and Scan3dCoordinateScale. The distance data does not represent a physical unit and may be non-linear. The data represents a 2.5D depth map in which the length of the line of sight (between the optical center of the lens and the corresponding point in the scene) is encoded as an intensity value for each pixel.
With IDS Proxy Transport Layer
•CalibratedABC_Grid: 3 Coordinates in grid organization. The full 3 coordinate data with the grid array organization from the sensor kept.
•CalibratedC: Calibrated 2.5D Depth map. The distance data is expressed in the chosen distance unit. The data is a 2.5D range map. No information on X-Y axes available.
Code example
C++
// Determine the current entry of Scan3dOutputMode
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("Scan3dOutputMode")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of Scan3dOutputMode
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("Scan3dOutputMode")->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 Scan3dOutputMode to "UncalibratedC"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("Scan3dOutputMode")->SetCurrentEntry("UncalibratedC");
C#
// Determine the current entry of Scan3dOutputMode
string value = nodeMapRemoteDevice.FindNode<IDSImaging.Peak.API.Core.Nodes.EnumerationNode>("Scan3dOutputMode").CurrentEntry().SymbolicValue();
// Get a list of all available entries of Scan3dOutputMode
allEntries = nodeMapRemoteDevice.FindNode<IDSImaging.Peak.API.Core.Nodes.EnumerationNode>("Scan3dOutputMode").Entries();
List<string> availableEntries = new List<string>();
for(int i = 0; i < allEntries.Count(); ++i)
{
if ((allEntries[i].AccessStatus() != IDSImaging.Peak.API.Core.Nodes.NodeAccessStatus.NotAvailable)
&& (allEntries[i].AccessStatus() != IDSImaging.Peak.API.Core.Nodes.NodeAccessStatus.NotImplemented))
{
availableEntries.Add(allEntries[i].SymbolicValue());
}
}
// Set Scan3dOutputMode to "UncalibratedC"
nodeMapRemoteDevice.FindNode<IDSImaging.Peak.API.Core.Nodes.EnumerationNode>("Scan3dOutputMode").SetCurrentEntry("UncalibratedC");
Python
# Determine the current entry of Scan3dOutputMode (str)
value = nodeMapRemoteDevice.FindNode("Scan3dOutputMode").CurrentEntry().SymbolicValue()
# Get a list of all available entries of Scan3dOutputMode
allEntries = nodeMapRemoteDevice.FindNode("Scan3dOutputMode").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 Scan3dOutputMode to "UncalibratedC" (str)
nodeMapRemoteDevice.FindNode("Scan3dOutputMode").SetCurrentEntry("UncalibratedC")