Show / Hide Table of Contents

Class ScanHeadConfiguration

Configuration parameters for a physical scan head.

Inheritance
Object
ScanHeadConfiguration
Namespace: JoeScan.Pinchot
Assembly: JoeScan.Pinchot.dll
Syntax
public class ScanHeadConfiguration : ICloneable
Remarks

This class provides properties and methods for setting and getting of configuration parameters for a physical scan head. Once created and configured, a ScanHeadConfiguration object is passed to a ScanHead using Configure(ScanHeadConfiguration).

Constructors

| Improve this Doc View Source

ScanHeadConfiguration()

Initializes a new instance of the ScanHeadConfiguration class.

Declaration
public ScanHeadConfiguration()

Properties

| Improve this Doc View Source

DefaultCameraExposureTimeUs

Gets the starting value of the image mode auto-exposure algorithm in microseconds. Use SetCameraExposureTime(UInt32, UInt32, UInt32) to set all camera exposure values. This allows the API to validate that the parameters are valid and consistent.

Declaration
public uint DefaultCameraExposureTimeUs { get; }
Property Value
Type Description
UInt32

The starting value of the image mode auto-exposure algorithm in microseconds.

See Also
SetCameraExposureTime(UInt32, UInt32, UInt32)
| Improve this Doc View Source

DefaultLaserOnTimeUs

Gets the starting value of the auto-exposure algorithm in microseconds. Use SetLaserOnTime(UInt32, UInt32, UInt32) to set all laser timing control values. This allows the API to validate that the parameters are valid and consistent.

Declaration
public uint DefaultLaserOnTimeUs { get; }
Property Value
Type Description
UInt32

The starting value of the auto-exposure algorithm in microseconds.

See Also
SetLaserOnTime(UInt32, UInt32, UInt32)
| Improve this Doc View Source

IdleScanPeriodUs

Gets or sets the rate at which profiles should be queued when in an idle state. See MinimumEncoderTravel on how a scan head can drop to an idle state.

Declaration
public uint IdleScanPeriodUs { get; set; }
Property Value
Type Description
UInt32

The scan period in microseconds of a scan head in an idle state.

| Improve this Doc View Source

LaserDetectionThreshold

Gets or sets the minimum brightness a pixel must have to be considered a valid data point.
Value Range: 0-1023
Default : 120

Declaration
public uint LaserDetectionThreshold { get; set; }
Property Value
Type Description
UInt32

The minimum brightness a pixel must have to be considered a valid data point.

| Improve this Doc View Source

MaxCameraExposureTimeUs

Gets the upper bound of the image mode auto-exposure algorithm in microseconds. Use SetCameraExposureTime(UInt32, UInt32, UInt32) to set all camera exposure values. This allows the API to validate that the parameters are valid and consistent.

Declaration
public uint MaxCameraExposureTimeUs { get; }
Property Value
Type Description
UInt32

The upper bound of the image mode auto-exposure algorithm in microseconds.

See Also
SetCameraExposureTime(UInt32, UInt32, UInt32)
| Improve this Doc View Source

MaxLaserOnTimeUs

Gets the upper bound of the auto-exposure algorithm in microseconds. Use SetLaserOnTime(UInt32, UInt32, UInt32) to set all laser timing control values. This allows the API to validate that the parameters are valid and consistent.

Declaration
public uint MaxLaserOnTimeUs { get; }
Property Value
Type Description
UInt32

The upper bound of the auto-exposure algorithm in microseconds.

See Also
SetLaserOnTime(UInt32, UInt32, UInt32)
| Improve this Doc View Source

MinCameraExposureTimeUs

Gets the lower bound of the image mode auto-exposure algorithm in microseconds. Use SetCameraExposureTime(UInt32, UInt32, UInt32) to set all camera exposure values. This allows the API to validate that the parameters are valid and consistent.

Declaration
public uint MinCameraExposureTimeUs { get; }
Property Value
Type Description
UInt32

The lower bound of the image mode auto-exposure algorithm in microseconds.

See Also
SetCameraExposureTime(UInt32, UInt32, UInt32)
| Improve this Doc View Source

MinimumEncoderTravel

Gets or sets the minimum number of encoder counts that must occur between the previous and the current profile to drop the scan head into an idle state. In an idle state, the rate at which profiles are queued is determined by IdleScanPeriodUs.

Declaration
public uint MinimumEncoderTravel { get; set; }
Property Value
Type Description
UInt32

The minimum number of encoder counts between profiles needed to keep the scan head out of an idle state.

Remarks

Only Main is observed.

| Improve this Doc View Source

MinLaserOnTimeUs

Gets the lower bound of the auto-exposure algorithm in microseconds. Use SetLaserOnTime(UInt32, UInt32, UInt32) to set all laser timing control values. This allows the API to validate that the parameters are valid and consistent.

Declaration
public uint MinLaserOnTimeUs { get; }
Property Value
Type Description
UInt32

The lower bound of the auto-exposure algorithm in microseconds.

See Also
SetLaserOnTime(UInt32, UInt32, UInt32)
| Improve this Doc View Source

SaturationPercentage

Gets or sets the maximum percentage of valid pixels in a scan that are allowed to be brighter than SaturationThreshold.
Default: 30 (percent)

Declaration
public uint SaturationPercentage { get; set; }
Property Value
Type Description
UInt32

The maximum percentage of valid pixels in a scan that are allowed to be brighter than SaturationThreshold.

| Improve this Doc View Source

SaturationThreshold

Gets or sets the minimum brightness a pixel must have to be considered saturated.
Value Range: 0-1023
Default : 800

Declaration
public uint SaturationThreshold { get; set; }
Property Value
Type Description
UInt32

The minimum brightness a pixel must have to be considered saturated.

Methods

| Improve this Doc View Source

Clone()

ScanHeadConfiguration implements , which is used to make sure that once a ScanHeadConfiguration is set on a ScanHead via Configure(ScanHeadConfiguration), it will not change if the original is changed.

Declaration
public object Clone()
Returns
Type Description
Object

A shallow copy of the ScanHeadConfiguration object.

| Improve this Doc View Source

SetCameraExposureTime(UInt32, UInt32, UInt32)

Sets the clamping values for the image mode auto-exposure algorithm in microseconds. To disable auto-exposure, set minTimeUs, defaultTimeUs and maxTimeUs to the same value.

Declaration
public void SetCameraExposureTime(uint minTimeUs, uint defaultTimeUs, uint maxTimeUs)
Parameters
Type Name Description
UInt32 minTimeUs

Lower bound for the image mode auto-exposure algorithm. Value in microseconds. Must be smaller than or equal to defaultTimeUs. Default: 10,000μs

UInt32 defaultTimeUs

Starting value for the image mode auto-exposure algorithm. Value in microseconds. Must be smaller than or equal to maxTimeUs. Default: 500,000μs

UInt32 maxTimeUs

Upper bound for the image mode auto-exposure algorithm. Value in microseconds. Must be greater than defaultTimeUs. Default: 1,000,000μs

| Improve this Doc View Source

SetLaserOnTime(UInt32, UInt32, UInt32)

Sets the clamping values for the auto-exposure algorithm in microseconds. To disable auto-exposure, set minTimeUs, defaultTimeUs and maxTimeUs to the same value.

Declaration
public void SetLaserOnTime(uint minTimeUs, uint defaultTimeUs, uint maxTimeUs)
Parameters
Type Name Description
UInt32 minTimeUs

Lower bound for the auto-exposure algorithm. Value in microseconds. Must be smaller than or equal to defaultTimeUs. Default: 100μs

UInt32 defaultTimeUs

Starting value for the auto-exposure algorithm. Value in microseconds. Must be smaller than or equal to maxTimeUs. Default: 500μs

UInt32 maxTimeUs

Upper bound for the auto-exposure algorithm. Value in microseconds. Must be greater than defaultTimeUs. Default: 1000μs

  • Improve this Doc
  • View Source
Back to top Copyright JoeScan, Inc.
Generated by DocFX