Data Matrix Reader

NI Vision Assistant

Data Matrix Reader

Decodes a Data Matrix barcode.

Main Tab

The following controls are available on the Main tab.

  • Step Name—Name to give 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.
  • Code Read—Code that the step read.
  • Iterations—Number of iterations the step took in attempting to locate the matrix. If this number is equal to Maximum Iterations and the step failed to locate the matrix, you may be able to locate the matrix by increasing the Maximum Iterations value.
  • Elapsed Time—Amount of time the step took to read the code.
  • Suggest Values—Allows the algorithm to detect the best values for parameters whose Suggest Value? checkboxes are enabled.

Basic Tab

The following controls are available on the Basic tab.

  • Suggest Value?—When enabled, the step suggests a value for the associated control after the Suggest Values button is clicked.
  • ECC—Specifies the ECC used for this Data Matrix.
    • 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 if the matrix is square or rectangular.
  • Matrix Size—Size of the matrix to read.
  • Barcode Polarity—Specifies the data-to-background contrast for the matrix.
    • 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 (pixels)—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 (pixels)—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.
  • Uncheck/Check All—Disables/Enables all Suggest Value checkboxes.
  • Code Read—Code that the step read.
  • Iterations—Number of iterations the step took in attempting to locate the matrix. If this number is equal to Maximum Iterations and the step failed to locate the matrix, you may be able to locate the matrix by increasing the Maximum Iterations value.
  • Elapsed Time—Amount of time the step took to read the code.
  • Suggest Values—Allows the algorithm to detect the best values for parameters whose Suggest Value? checkboxes are enabled.

Search Tab

The following controls are available on the Search tab.

  • 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 whose quiet zones are smaller than this value.
  • Aspect Ratio—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.
    • 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.
  • Uncheck/Check All—Disables/Enables all Suggest Value checkboxes.
  • Code Read—Code that the step read.
  • Iterations—Number of iterations the step took in attempting to locate the matrix. If this number is equal to Maximum Iterations and the step failed to locate the matrix, you may be able to locate the matrix by increasing the Maximum Iterations value.
  • Elapsed Time—Amount of time the step took to read the code.
  • Suggest Values—Allows the algorithm to detect the best values for parameters whose Suggest Value? checkboxes are enabled.

Cell Sampling Tab

The following controls are available on the Cell Sampling tab.

  • Suggest Value?—When enabled, the step suggests a value for the associated control after the Suggest Values button is clicked.
  • Cell Fill Percentage—Specifies the fill percentage for a cell that is in the On state.
    • 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.
    • 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.
    • 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.
    • 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.
    • 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.
  • Uncheck/Check All—Disables/Enables all Suggest Value checkboxes.
  • Code Read—Code that the step read.
  • Iterations—Number of iterations the step took in attempting to locate the matrix. If this number is equal to Maximum Iterations and the step failed to locate the matrix, you may be able to locate the matrix by increasing the Maximum Iterations value.
  • Elapsed Time—Amount of time the step took to read the code.
  • Suggest Values—Allows the algorithm to detect the best values for parameters whose Suggest Value? checkboxes are enabled.

Grading Tab

The following controls are available on the Grading tab.

  • Grading—Specifies whether to enable matrix grading.
  • 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 based on the step's success in decoding the data matrix. The step sets this grade to A if the step could decode the data matrix, otherwise the step sets this grade to F.
  • 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—Print growth raw score for the matrix, which is based on the extent to which dark or light markings appropriately fill their cell boundaries.
  • Axial Nonuniformity Grade—Axial nonuniformity grade for the matrix.
  • Unused Error Correction Grade—Unused error correction letter grade for the matrix.
  • Code Read—Code that the step read.
  • Iterations—Number of iterations the step took in attempting to locate the matrix. If this number is equal to Maximum Iterations and the step failed to locate the matrix, you may be able to locate the matrix by increasing the Maximum Iterations value.
  • Elapsed Time—Amount of time the step took to read the code.
  • Suggest Values—Allows the algorithm to detect the best values for parameters whose Suggest Value? checkboxes are enabled.