Skip to content

Class JoeScan::Pinchot::ScanHeadConfiguration

ClassList > JoeScan > Pinchot > ScanHeadConfiguration

Configuration parameters for a physical scan head.

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 ScanHead.Configure.

Inherits the following classes: ICloneable

Public Properties

Type Name
property uint DefaultCameraExposureTimeUs
Gets the starting value of the image mode auto-exposure algorithm in microseconds.
property uint DefaultLaserOnTimeUs
Gets the starting value of the auto-exposure algorithm in microseconds. Use SetLaserOnTime to set all laser timing control values. This allows the API to validate that the parameters are valid and consistent.
property uint 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.
property uint LaserDetectionThreshold
Gets or sets the minimum brightness a pixel must have to be considered a valid data point. Value Range: 0-1023 Default : 120.
property uint MaxCameraExposureTimeUs
Gets the upper bound of the image mode auto-exposure algorithm in microseconds.
property uint MaxLaserOnTimeUs
Gets the upper bound of the auto-exposure algorithm in microseconds. Use SetLaserOnTime to set all laser timing control values. This allows the API to validate that the parameters are valid and consistent.
property uint MinCameraExposureTimeUs
Gets the lower bound of the image mode auto-exposure algorithm in microseconds.
property uint MinLaserOnTimeUs
Gets the lower bound of the auto-exposure algorithm in microseconds. Use SetLaserOnTime to set all laser timing control values. This allows the API to validate that the parameters are valid and consistent.
property uint 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 .
property uint SaturationPercentage
Gets or sets the maximum percentage of valid pixels in a scan that are allowed to be brighter than SaturationThreshold . Default: 30 (percent)
property uint SaturationThreshold
Gets or sets the minimum brightness a pixel must have to be considered saturated. Value Range: 0-1023 Default : 800.

Public Functions

Type Name
object Clone ()
ScanHeadConfiguration implements ICloneable, which is used to make sure that once aScanHeadConfiguration is set on aScanHead viaScanHead.Configure , it will not change if the original is changed.
ScanHeadConfiguration ()
Initializes a new instance of the ScanHeadConfiguration class.
void SetCameraExposureTime (uint minTimeUs, uint defaultTimeUs, uint maxTimeUs)
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.
void SetLaserOnTime (uint minTimeUs, uint defaultTimeUs, uint maxTimeUs)
Sets the clamping values for the auto-exposure algorithm in microseconds. To disable auto-exposure, set minTimeUs ,__defaultTimeUs and__maxTimeUs to the same value.

Public Properties Documentation

property DefaultCameraExposureTimeUs

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

uint DefaultCameraExposureTimeUs;

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


property DefaultLaserOnTimeUs

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

uint DefaultLaserOnTimeUs;

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

See also: SetLaserOnTime


property 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.

uint IdleScanPeriodUs;

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


property LaserDetectionThreshold

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

uint LaserDetectionThreshold;

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

Exception:

  • ArgumentOutOfRangeException Value out of range (0 - 1023)

property MaxCameraExposureTimeUs

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

uint MaxCameraExposureTimeUs;

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


property MaxLaserOnTimeUs

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

uint MaxLaserOnTimeUs;

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

See also: SetLaserOnTime


property MinCameraExposureTimeUs

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

uint MinCameraExposureTimeUs;

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


property MinLaserOnTimeUs

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

uint MinLaserOnTimeUs;

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

See also: SetLaserOnTime


property 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 .

uint MinimumEncoderTravel;

Only Encoder.Main is observed.

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


property SaturationPercentage

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

uint SaturationPercentage;

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

Exception:

  • ArgumentOutOfRangeException Value out of range (1 - 100)

property SaturationThreshold

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

uint SaturationThreshold;

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

Exception:

  • ArgumentOutOfRangeException Value out of range (0 - 1023)

Public Functions Documentation

function Clone

ScanHeadConfiguration implements ICloneable, which is used to make sure that once aScanHeadConfiguration is set on aScanHead viaScanHead.Configure , it will not change if the original is changed.

inline object JoeScan::Pinchot::ScanHeadConfiguration::Clone () 

Returns:

A shallow copy of the ScanHeadConfiguration object.


function ScanHeadConfiguration [1/2]

inline JoeScan::Pinchot::ScanHeadConfiguration::ScanHeadConfiguration () 

function SetCameraExposureTime

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.

inline void JoeScan::Pinchot::ScanHeadConfiguration::SetCameraExposureTime (
    uint minTimeUs,
    uint defaultTimeUs,
    uint maxTimeUs
) 

Parameters:

  • 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
  • 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
  • maxTimeUs Upper bound for the image mode auto-exposure algorithm. Value in microseconds. Must be greater than defaultTimeUs . Default: 1,000,000μs

Exception:

  • ArgumentException minTimeUs must be less or equal to defaultTimeUs -or- maxTimeUs must be greater or equal to defaultTimeUs

function SetLaserOnTime

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

inline void JoeScan::Pinchot::ScanHeadConfiguration::SetLaserOnTime (
    uint minTimeUs,
    uint defaultTimeUs,
    uint maxTimeUs
) 

Parameters:

  • minTimeUs Lower bound for the auto-exposure algorithm. Value in microseconds. Must be smaller than or equal to defaultTimeUs . Default: 100μs
  • defaultTimeUs Starting value for the auto-exposure algorithm. Value in microseconds. Must be smaller than or equal to maxTimeUs . Default: 500μs
  • maxTimeUs Upper bound for the auto-exposure algorithm. Value in microseconds. Must be greater than defaultTimeUs . Default: 1000μs

Exception:

  • ArgumentException minTimeUs must be less or equal to defaultTimeUs -or- maxTimeUs must be greater or equal to defaultTimeUs