Read Data Matrix Code Controls

NI Vision Builder

Identify Parts

Read Data Matrix Code Controls

Main Tab

The following controls are available on the Main tab.

Control Name Description
Step Name Name to give the step.
Region of Interest The region of interest you want to use for the step.
Reposition Region of Interest When enabled, the step dynamically repositions the region of interest based on a coordinate system you built in a previous step.
Reference Coordinate System Coordinate system to which you want to link the region of interest.

Basic Tab

The following controls are available on the Basic tab.

Control Name Description
Suggest Value? When enabled, the step suggests a value for the associated control when the Suggest Values button is clicked.
ECC Specifies the error checking and correction (ECC) scheme used for the Data Matrix. The following options are available:
  • Auto-detect—Sets the step to determine the ECC automatically.
  • ECC 000—Sets the step to read Data Matrix codes of ECC 000 only.
  • ECC 050—Sets the step to read Data Matrix codes of ECC 050 only.
  • ECC 080—Sets the step to read Data Matrix codes of ECC 080 only.
  • ECC 100—Sets the step to read Data Matrix codes of ECC 100 only.
  • ECC 140—Sets the step to read Data Matrix codes of ECC 140 only.
  • ECC 000–140—Sets the step to read Data Matrix codes of ECC 000, ECC 050, ECC 080, ECC 100, and ECC 140 only.
  • ECC 200—Sets the step to read Data Matrix codes of ECC 200 only.
Shape Specifies whether the matrix is Square or Rectangular.
Matrix Size Specifies the size of the matrix to read.
Barcode Polarity Specifies the data-to-background contrast for the matrix. The following options are available:
  • Auto-detect—Sets the step to determine the matrix polarity automatically.
  • Black On White—Sets the step to read matrices with dark data on a bright background.
  • White On Black—Sets the step to read matrices with bright data on a dark background.
Min Barcode Size Specifies the minimum size, in pixels, of the matrix in the image. If you set this value to 0, the step never excludes a matrix candidate because it is too small.
Max Barcode Size Specifies the maximum size, in pixels, of the matrix in the image. If you set this value to 0, the step never excludes a matrix candidate because it is too large.
Min Border Integrity % Minimum percentage of the finder pattern that the step should expect in the Data Matrix. During the location phase, the step ignores possible matrix candidates that do not have at least this level of border integrity.
Deselect/Select All Disables/Enables all Suggest Value? checkboxes.
Return Grading Results Specifies whether you want to return grading information about the barcode.
Code Read Displays the value of the Data Matrix code.
Suggest Values Detects the best values for parameters that have the Suggest Value? checkbox enabled.

Adv. Search Tab

The following controls are available on the Adv. Search tab.

Control Name Description
Suggest Value? When enabled, the step suggests a value for the associated control after the Suggest Values button is clicked.
Quiet Zone Width Specifies the expected minimum size, in pixels, of the quiet zone. The step ignores Data Matrix candidates with quiet zones are smaller than this value.
Aspect Ratio Specifies the ratio of the matrix width (in pixels) divided by the matrix height (in pixels). If you have rectangular matrices, and you set this value to 1, the step appropriately recalculates the aspect ratio. If you set this value to 0, the step automatically determines the aspect ratio.
Rotation Mode Specifies the amount of Data Matrix rotation to allow. The following options are available:
  • Unlimited—The step allows for unlimited rotation.
  • 0 Degrees—The step allows for no rotation.
  • 90 Degrees—The step allows for ±90 degrees of rotation.
  • 180 Degrees—The step allows for ±180 degrees of rotation.
  • 270 Degrees—The step allows for ±270 degrees of rotation.
Skew Degrees Allowed Amount of skew in the matrix to allow. The default is 5 degrees.
Maximum Iterations Maximum number of iterations the step makes before it stops looking for the matrix. The default is 150.
Initial Search Vector Width Number of pixels the step should average together to determine the location of an edge. You may need to increase this value when the Data Matrix has cells with a low fill percentage.
Edge Threshold Minimum contrast a pixel must have to be considered part of a matrix cell edge. The lower this value, the more potential edge candidates the step examines during the location phase. Setting this value too low decreases the performance of the step because the step examines too many potential edge candidates. Setting this value too high may also decrease the performance of the step by removing valid edge candidates, making location more difficult. Setting this value too high may also cause the step to fail to identify the matrix because all edge candidates are eliminated.
Deselect/Select All Disables/Enables all Suggest Value? checkboxes.
Code Read Displays the value of the Data Matrix code.
Suggest Values Detects the best values for parameters that have the Suggest Value? checkbox enabled.

Cell Sampling Tab

The following controls are available on the Cell Sampling tab.

Control Name Description
Suggest Value? When enabled, the step suggests a value for the associated control after the Suggest Values button is clicked.
Cell Fill Percentage Fill percentage for a cell that is in the On state. The following options are available:
  • Auto-detect—Sets the step to determine the matrix cell fill percentage automatically.
  • < 30%—Sets the step to read matrices with a cell fill percentage of less than 30%.
  • >= 30%—Sets the step to read matrices with a cell fill percentage greater than or equal to 30%.
Demodulation Mode Mode that determines which cells are on and which cells are off in the Data Matrix. The following options are available:
  • Auto-detect—The step tries each demodulation mode and use the one which decodes the Data Matrix within the fewest iterations and utilizes the least amount of error correction.
  • Histogram—The step uses a histogram of all of the matrix cells to calculate a threshold. This threshold determines if a cell is on or off. This is the fastest method but requires images with consistent levels of contrast in the matrix.
  • Local Contrast—The step examines each neighbor of a cell to determine if the cell is on or off. This method is slower but works with images that have inconsistent levels of contrast in the matrix.
  • Combination—The step uses the histogram of the matrix to calculate a threshold. For cells with pixel values that are sufficiently below or above this threshold, the step uses the threshold to determine if the cell is on or off. If the cell pixel values are close to the threshold, the step uses the Local Contrast method to determine if the cell is on or off. This method is slower but works with images that have extremely low cell fill percentages or gross print growth errors.
  • All—The step tries Histogram first, then Local Contrast, and then Combination, stopping when one mode is successful.
Cell Sample Size Sample size, in pixels, to use to determine if each cell is on or off. The following options are available:
  • Auto-detect—The step tries each sample size and uses the one that decodes the Data Matrix in the fewest iterations using the least amount of error correction.
  • 1×1 The step uses a 1×1 sized sample from each cell.
  • 2×2—The step uses a 2×2 sized sample from each cell.
  • 3×3—The step uses a 3×3 sized sample from each cell.
  • 4×4—The step uses a 4×4 sized sample from each cell.
  • 5×5—The step uses a 5×5 sized sample from each cell.
  • 6×6—The step uses a 6×6 sized sample from each cell.
  • 7×7—The step uses a 7×7 sized sample from each cell.
Cell Filter Mode Mode the step uses to determine the pixel value for each cell. Note that if Cell Sample Size is 1×1, the value of the single samples pixel always determines the pixel value for the cell. The following options are available:
  • Auto-detect—The step tries all filter modes and uses the one that decodes the Data Matrix within the fewest iterations and utilizing the least amount of error correction.
  • Average—The step sets the pixel value for the cell to the average of the sampled pixels.
  • Median—The step sets the pixel value for the cell to the median of the sampled pixels.
  • Central Average—The step sets the pixel value for the cell to the average of the pixels in the center of the cell sample.
  • High Average—The step sets the pixel value for the cell to the average value of the half of the sampled pixels with the highest pixel values.
  • Low Average—The step sets the pixel value for the cell to the average value of the half of the sampled pixels with the lowest pixel values.
  • Very High Average—The step sets the pixel value for the cell to the average value of the ninth of the sampled pixels with the highest pixel values.
  • Very Low Average—The step sets the pixel value for the cell to the average value of the ninth of the sampled pixels with the lowest pixel values.
  • All Filters—The step tries each filter mode, starting with Average and ending with Very Low Average, stopping once a filter mode decodes correctly.
Mirror Mode Specifies if the matrix appears normally in the image or if the matrix appears mirrored in the image. The following options are available:
  • Auto-detect—Sets the step to determine if the matrix is mirrored automatically.
  • Normal—Sets the step to read matrices that appear normally in the image.
  • Mirrored—Sets the step to read matrices that appear mirrored in the image.
Deselect/Select All Disables/Enables all Suggest Value? checkboxes.
Code Read Displays the value of the Data Matrix code.
Suggest Values Detects the best values for parameters that have the Suggest Value? checkbox enabled.

Limits Tab

The following controls are available on the Limits tab.

Control Name Description
Code Equals Step passes if the Data Matrix code matches the specified value.
Code Contains When enabled, the decoded Data Matrix code data must contain the specified string for the step to pass. You can use the following wildcards:

Special Character Interpretation
. Matches any character.
? Matches zero or one instances of the expression proceeding ?.
[ ] Encloses alternates. For example, [abc] matches a, b, or c. The following characters have special significance when used within the brackets:

- (hyphen) Indicates a range when used between digits or letters (for example, [0-5], [a-g], or [L-Q])

The following characters have significance only when they are the first character within the brackets:
~ Excludes the set of characters, including non-displayable characters. [~0-9] matches any character other than 0 through 9.
^ Excludes the set with respect to all the displayable characters (and the space characters). [^0-9] gives the space characters and all displayable characters except 0 through 9.
Minimum Overall Grade Step passes if the Data Matrix code has an overall grade of at least the specified value.
Results Displays information about the code read. You can use the information in the Results table to optimize the reading process. If the Return Grading Results checkbox on the Basic tab is enabled, the Results table also contains information about the grading values for the read Data Matrix code. The following values are displayed by default:
  • Binary Data—Displays if the Data Matrix code contains encoded non-ASCII binary Data (True) or ASCII text (False).
  • ECC—Displays the type of Data Matrix code.
  • Matrix Size—Displays the size of the Data Matrix code in cells. For example, a value of 18 × 18 means the Data Matrix code is 18 cells high and 18 cells wide.
  • Barcode Polarity—Displays the polarity of the Data Matrix code.
  • Border Integrity—Displays the percentage of the Data Matrix border that appears correctly in the image.
  • Aspect Ratio—Displays the height to width ratio for the Data Matrix code.
  • Iterations—Displays the number of iterations the step took to determine the location of the Data Matrix code. If Iterations is equal to the value of the Maximum Iterations control on the Adv. Search tab and the step failed to locate the Data Matrix code, you may be able to locate the Data Matrix code by increasing the value of the Maximum Iterations control.
  • Min Edge Strength—Displays the minimum strength of the edges the step used to find the location of the Data Matrix code in the image. Use this value as a guideline for setting the Edge Threshold value on the Adv. Search tab.
  • Cell Fill Percentage—Displays the percentage of the ideal cell size that is filled for each cell in the On state.
  • Demodulation Mode—Displays the demodulation mode the step used to locate the Data Matrix code.
  • Cell Sample Size—Displays the cell size the step used to locate the Data Matrix code.
  • Cell Filter Mode—Displays the filter mode the step used to locate the Data Matrix code.
  • Mirror Mode—Displays if the Data Matrix code appears mirrored (True) or normally (False).
  • Errors Corrected—Displays the number of errors corrected using inherent correction.
  • Erasures Corrected—Displays the number of erasures corrected using inherent correction.

When the Return Grading Results checkbox is enabled, the step also returns the following grading information:

  • Overall Grade—Overall letter grade, which is equal to the lowest of the other five letter grades.
  • Decoding Grade—Letter grade assigned to a Data Matrix code based on the step's success in decoding the code. The step sets this grade to A if the step could decode the Data Matrix code, otherwise the step sets this grade to F.
  • Symbol Contrast Grade—Symbol contrast grade for the Data Matrix code.
  • Symbol Contrast—Raw score representing the percentage difference between the mean of the reflectance of the darkest 10% and lightest 10% of the matrix.
  • Print Growth Grade—Print growth grade for the Data Matrix code.
  • Print Growth—Raw score based on the extent to which dark or light markings appropriately fill their cell boundaries.
  • Axial Nonuniformity Grade—Axial nonuniformity grade for the Data Matrix code.
  • Axial Nonuniformity—Raw score representing the spacing of cell centers in the Data Matrix code. Axial nonuniformity tests for uneven scaling in the code.
  • Unused Error Correction Grade—Unused error correction grade for the Data Matrix code.
  • Unused Error Correction—Raw score indicating the extent to which regional or spot damage has eroded the reading safety margin that the error correction provides.
Code Read Displays the value of the Data Matrix code.