libdatamatrix is an embeddable and highly extensible library made to separate datamatrix (ISO/IEC16022) functionality from image reading/writing since I needed to make a custom image scanner and couldn't find any libraries that did error correction (instead of just error checking) and had a modular interface allowing one to extend functionality easily.