1. A system for reading a two-dimensional matrix symbol including data modules each having a module value and a module position, the two-dimensional matrix symbol encoding a data set, the system comprising: an imaging device, the imaging device configured to acquire an image containing at least a portion of the two-dimensional matrix symbol; a processor, the processor operatively coupled to the imaging device, the processor configured to execute a data reading algorithm, wherein the data reading algorithm receives the image, locates at least a portion of the data modules within the image without using a fixed pattern, fits a model of the module positions from the image, extrapolates the model resulting in predicted module positions, determines module values from the image at the predicted module positions, and extracts a binary matrix from the module values; and a binary matrix decoder operatively coupled to the processor, the binary matrix decoder configured to execute a decoding algorithm that decodes the binary matrix.