Please enable JavaScript to view this site.

IDS peak 26.06. / uEye+ firmware 3.94

Controls the calibration and data organization of the camera and the coordinates transmitted.

Name

Scan3dOutputMode[Scan3dExtractionSelector]

Category

Scan3dControl

Interface

Enumeration

Access

Read/Write

Unit

-

Visibility

Expert

Values

UncalibratedC

With IDS Proxy Transport Layer:

CalibratedABC_Grid

CalibratedC

Standard

SFNC

Availability uEye+

icon-gev

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")