GoWebScan API
GoWebScanConfig Class Reference

Description

Represents a container for system-level parameters which are translated from user parameters set in GoWebScanSettings. This class maps the orientation of the system to a standard orientation, performs the X-axis layout of sensors, determines algorithm parameters based on constants and user parameters, and determines other various system parameters.

In standard orientation, the X-axis increases from left to right, the Y-axis increases away from the observer, and the Z-axis increases towards the sensor plane. Each sensor X-axis is aligned to the system X-axis, the sensor Y-axis is opposite to the system Y-axis, and the sensor Z-axis is opposite to the system Z-axis. Vision lags profile; vision Y-values are offset by a value derived from the sensors GoGeoCal file for coarse alignment.

X-axis layout consists of using the values in the user settings (GoWebScanSettings), the system calibration (GoWebScanCal), and the sensor's GoGeoCal file to map the profile, vision, and tracheid data from each node (single camera) into system X-coordinates. The mapping uses the node's X center (calculated by the system), node X-offset (from the system calibration), vision X-center (from GoGeoCal), sensor X-center (provided by the user if GoWebScanSettings_UseXCenters() is enabled or calculated by the system), and the server X-adjustment if using multiple servers.

After the X-centres of each node are determined, the start and end boundaries of each node are determined. These boundaries define the region in system space in which the node can make a contribution to the final result. If the user has selected a non-zero overlap amount, then the fields of view of adjacent nodes can overlap by this amount. The overlapping regions are later blended together.

Algorithm parameters provided by the user in GoWebScanSettings are broken down into lower level parameters.

GoWebScanConfig organizes the configuration at the system, group, sensor, and node levels. Configuration of the groups within the system are represented by the GoWebScanConfigGroup class, sensors by the GoWebScanConfigSensor class, and nodes by the GoWebScanConfigNode class. GoWebScanConfig will construct and own these classes.

Inheritance diagram for GoWebScanConfig:
Inheritance graph

Public Member Functions

kBool GoWebScanConfig_CalDetectLocators (GoWebScanConfig config)
 Gets a flag for whether GoWebScan should attempt to detect calibration reference holes (1), or assume that sensors are mounted at their nominal locations along the X-axis (0). More...
 
k32s GoWebScanConfig_CalLeadMarginTiles (GoWebScanConfig config)
 Gets the leading edge data capture margin in Y for calibration (tiles). More...
 
k32s GoWebScanConfig_CalMaxTiles (GoWebScanConfig config)
 Gets the maximum count of tiles needed for detection of the calibration bar. More...
 
k32s GoWebScanConfig_CalMinGapTiles (GoWebScanConfig config)
 Gets the minimum Y-axis gap between successive objects for calibration object detection (tiles). More...
 
k32s GoWebScanConfig_CalMinTiles (GoWebScanConfig config)
 Gets the minimum count of tiles needed for detection of the calibration bar. More...
 
kSize GoWebScanConfig_CalTargetEdgeZExtent (GoWebScanConfig config)
 Gets the height of the calibration target (Z-axis extent) in mils. More...
 
k32s GoWebScanConfig_CalTargetEffectiveThickness (GoWebScanConfig config)
 Gets the effective thickness of the off-axis calibration target in mils. More...
 
kSize GoWebScanConfig_CalTargetFaceYExtent (GoWebScanConfig config)
 Gets the width of the calibration target (Y-axis extent) in mils. More...
 
k32s GoWebScanConfig_CalTargetTotalYExtent (GoWebScanConfig config)
 Gets the total Y-axis extent of the off-axis calibration target in mils. More...
 
k32s GoWebScanConfig_CalTileYExtent (GoWebScanConfig config)
 Gets the tile length in Y-axis for internal system calibration calculations (mils). More...
 
k32s GoWebScanConfig_CalTrailMarginTiles (GoWebScanConfig config)
 Gets the trailing edge data capture margin in Y for calibration (tiles). More...
 
k64f GoWebScanConfig_CalTriggerThreshold (GoWebScanConfig config)
 Gets the minimum number of non-null profile dots for system calibration bar detection. More...
 
kBool GoWebScanConfig_CalUseObstructions (GoWebScanConfig config)
 Gets a flag for whether user-defined obstructions are used instead of automatic chain detection during calibration processing. More...
 
kBool GoWebScanConfig_CalUseVisionIntensity (GoWebScanConfig config)
 Gets a flag for whether the use of target intensities for each color channel during vision system calibration is enabled. More...
 
kRgb GoWebScanConfig_CalVisionIntensity (GoWebScanConfig config)
 Gets the target intensity level for all color channels during vision system calibration. More...
 
k64f GoWebScanConfig_CalYIntervalDivisor (GoWebScanConfig config)
 Gets the divisor to use when calculating minimum Y-interval for retained data during calibration data collection. More...
 
k32s GoWebScanConfig_CalYRes (GoWebScanConfig config, GoWebScanDataSource source)
 Gets the Y-resolution to use when resampling during calibration processing (mils/pixel). More...
 
kStatus GoWebScanConfig_Construct (GoWebScanConfig *config, GoWebScanSettings settings, GoWebScanCalTarget calTarget, GoWebScanCal calibration, kArrayList sensorInfo, GoWebScanMode mode, kAlloc allocator)
 Constructs a GoWebScanConfig object. More...
 
kBool GoWebScanConfig_DetectFilterSource (GoWebScanConfig config, GoWebScanDataSource source)
 Gets a flag for whether a particular data source be subjected to post-detection data clean-up. More...
 
kBool GoWebScanConfig_DetectionEnabled (GoWebScanConfig config)
 Gets a flag for whether board detection is enabled. More...
 
kSSize GoWebScanConfig_DetectMarginRows (GoWebScanConfig config)
 Gets the detection Y-margin row count, which are extra data included in output. More...
 
kSSize GoWebScanConfig_DetectMaxRows (GoWebScanConfig config)
 Gets the detection maximum Y-extent, excluding margins (presence pixels). More...
 
kSSize GoWebScanConfig_DetectMaxTiles (GoWebScanConfig config)
 Gets the detection maximum number of tiles for one detected object. More...
 
kSSize GoWebScanConfig_DetectMinGapRows (GoWebScanConfig config)
 Gets the detection minimum inter-object Y-gap (presence pixels). More...
 
kSSize GoWebScanConfig_DetectMinRows (GoWebScanConfig config)
 Gets the detection minimum Y-extent (presence pixels) More...
 
kBool GoWebScanConfig_DetectSideExtensionEnabled (GoWebScanConfig config)
 Gets a flag for whether extending the board side edge to correct for distortions is enabled. More...
 
kSSize GoWebScanConfig_DetectTriggerColumns (GoWebScanConfig config)
 Gets the detection triggering threshold. More...
 
GoWebScanDetectionStyle GoWebScanConfig_DetectTriggerStyle (GoWebScanConfig config)
 Gets the detection triggering style. More...
 
k64s GoWebScanConfig_DomainToEncoder (GoWebScanConfig config, k64s encoder, k64s time)
 If the encoder simulator is enabled via GoWebScanSettings_SetEncoderSimulated(), this function returns the simulated encoder value formed from an input time and ignores the sensor message's actual encoder value. More...
 
k64s GoWebScanConfig_DomainToY (GoWebScanConfig config, k64s encoder, k64s time)
 Converts a simulated encoder value to a Y position in mils if encoder simulation is enabled, otherwise converts the actual encoder value to a Y position. More...
 
k64s GoWebScanConfig_EncoderToY (GoWebScanConfig config, k64s encoder)
 Converts an encoder value to a Y position in mils using the encoder resolution and system Y offset. More...
 
kStatus GoWebScanConfig_FindGroupByPlane (GoWebScanConfig config, GoWebScanSystemPlane plane, GoWebScanConfigGroup *configGroup)
 Finds the group configuration for a given system plane. More...
 
k32s GoWebScanConfig_GapFill (GoWebScanConfig config)
 Gets the maximum data X-gap to be filled in (mils). More...
 
GoWebScanConfigGroup GoWebScanConfig_GroupAt (GoWebScanConfig config, kSSize index)
 Gets the group configuration at a specified index in the system. More...
 
kSSize GoWebScanConfig_GroupCount (GoWebScanConfig config)
 Gets the number of groups in the system. More...
 
k64f GoWebScanConfig_MaxTravelRate (GoWebScanConfig config)
 Gets the maximum supported system speed (mils per second). More...
 
GoWebScanMode GoWebScanConfig_Mode (GoWebScanConfig config)
 Gets the system processing mode. More...
 
GoWebScanConfigNode GoWebScanConfig_NodeAt (GoWebScanConfig config, kSSize index)
 Gets the node configuration at a specified index in the system. More...
 
kStatus GoWebScanConfig_NodeColumnToIndex (GoWebScanConfig config, GoWebScanSettings settings, GoWebScanSystemPlane plane, kSSize column, kSize *sensorIndex, kSize *bankId)
 Determine the sensor index and bank id given the node column. More...
 
kSSize GoWebScanConfig_NodeCount (GoWebScanConfig config)
 Gets the number of nodes (cameras) in the system. More...
 
kStatus GoWebScanConfig_NodeIndexToColumn (GoWebScanConfig config, GoWebScanSettings settings, GoWebScanSystemPlane plane, kSize sensorIndex, kSSize bankId, kSSize *column)
 Determine the sensor node column given the sensor index and bank id. More...
 
kBool GoWebScanConfig_ObstructionFilter (GoWebScanConfig config)
 Gets the flag for whether the obstruction filter is enabled. More...
 
k32s GoWebScanConfig_OverlapBlend (GoWebScanConfig config)
 Gets the amount of X-overlap to be blended (mils). More...
 
GoWebScanInterpolation GoWebScanConfig_ProfileInterpolation (GoWebScanConfig config)
 Gets the profile sampling style (linear interpolation or nearest neighbor). More...
 
GoWebScanConfigSensor GoWebScanConfig_SensorAt (GoWebScanConfig config, kSSize index)
 Gets the sensor configuration at a specified index in the system. More...
 
kSSize GoWebScanConfig_SensorCount (GoWebScanConfig config)
 Gets the number of sensors in the system. More...
 
kBool GoWebScanConfig_SourceEnabled (GoWebScanConfig config, GoWebScanDataSource source)
 Gets a flag for whether data from a particular source is enabled. More...
 
k32s GoWebScanConfig_SyncBreakDistance (GoWebScanConfig config)
 Gets the minimum Y-distance from the current position to drop all data (mils). More...
 
k32s GoWebScanConfig_SyncCoherencyDistance (GoWebScanConfig config)
 Gets the minimum Y-distance between data from different nodes before forcing drop (mils). More...
 
k32s GoWebScanConfig_SyncCoherencyTime (GoWebScanConfig config)
 Gets the minimum time between data from different nodes before forcing drop (microseconds). More...
 
k64f GoWebScanConfig_SystemAngle (GoWebScanConfig config)
 Gets the system angle in degrees. More...
 
k64f GoWebScanConfig_TaskBufferTime (GoWebScanConfig config)
 Gets the approximate maximum amount of time to buffer data at input to each pipe task (seconds). More...
 
kSSize GoWebScanConfig_ThreadCount (GoWebScanConfig config)
 Gets the number of threads being used by the system. More...
 
k32s GoWebScanConfig_TileYExtent (GoWebScanConfig config)
 Gets the Y-extent of all output tiles (mils). More...
 
kSSize GoWebScanConfig_TileYPix (GoWebScanConfig config, GoWebScanDataSource source)
 Gets the Y-extent of tiles for each data source (pixels). More...
 
GoWebScanYOrientation GoWebScanConfig_TravelOrientation (GoWebScanConfig config)
 Gets the direction of conveyor movement. More...
 
kStatus GoWebScanConfig_UpdateCalibration (GoWebScanConfig config, GoWebScanCal calibration)
 Update the system calibration. More...
 
kStatus GoWebScanConfig_UpdateMode (GoWebScanConfig config, GoWebScanMode mode)
 Update the system processing mode. More...
 
k32s GoWebScanConfig_VisionTerrainXRes (GoWebScanConfig config)
 Gets the X-resolution for resampling profile data so that it is suitable for the vision resampler. More...
 
k32s GoWebScanConfig_VisionTerrainXSubsampling (GoWebScanConfig config)
 Gets the subsampling factor for determining the X-resolution for terrain data. More...
 
kSSize GoWebScanConfig_XCountPix (GoWebScanConfig config, GoWebScanDataSource source)
 Gets the count of output space for each data source (pixels). More...
 
k32s GoWebScanConfig_XEnd (GoWebScanConfig config)
 Gets the end of the system output space, in system coordinates (mils). More...
 
kSSize GoWebScanConfig_XEndPix (GoWebScanConfig config, GoWebScanDataSource source)
 Gets the end of output space for each data source, in system coordinates (pixels). More...
 
GoWebScanXOrientation GoWebScanConfig_XOrientation (GoWebScanConfig config)
 Gets the direction of the X-axis. More...
 
k32s GoWebScanConfig_XRes (GoWebScanConfig config, GoWebScanDataSource source)
 Gets the X-resolution of a specified data source in mils/pixel. More...
 
k32s GoWebScanConfig_XStart (GoWebScanConfig config)
 Gets the start of the system output space, in system coordinates (mils). More...
 
kSSize GoWebScanConfig_XStartPix (GoWebScanConfig config, GoWebScanDataSource source)
 Gets the start of output space for each data source, in system coordinates (pixels). More...
 
k32s GoWebScanConfig_YRes (GoWebScanConfig config, GoWebScanDataSource source)
 Gets the Y-resolution of a specified data source in mils/pixel. More...
 
k64s GoWebScanConfig_YToEncoder (GoWebScanConfig config, k64s y)
 Converts Y position in mils to an encoder value. More...
 
kStatus GoWebScanConfigSensorInfo_Load (GoWebScanConfigSensorInfo *sensorInfo, const kChar *filePath, kAlloc allocator)
 Loads the sensor info from a specified path, excluding the GoGeoCal instances. More...
 
kStatus GoWebScanConfigSensorInfo_Save (const GoWebScanConfigSensorInfo *sensorInfo, const kChar *filePath, kAlloc allocator)
 Stores the sensor info to a specified path, excluding the GoGeoCal instances. More...
 

The documentation for this class was generated from the following file: