A method performed by one or more machine vision processors comprising: receiving, by the one or more machine vision processors, from an area-scan camera an image of at least a portion of one or more objects in a first workspace; determining, by the one or more machine vision processors, an image location of a code in the image; determining, by the one or more machine vision processors, a ray in a shared coordinate space that is a back-projection of the image location of the code in the image; receiving, by the one or more machine vision processors, from a dimensioner dimensioning data including object dimensions and pose information as acquired by the dimensioner, of the one or more objects in a second workspace; determining, by the one or more machine vision processors, one or more surfaces of the one or more objects based on the dimensioning data, the one or more surfaces expressed in the shared coordinate space; determining, by the one or more machine vision processors, one or more candidate surfaces of the one or more surfaces, wherein each candidate surface is within a threshold distance from at least one of the one or more rays, wherein the threshold distance is determined based on the size of the objects; selecting, by the one or more machine vision processors, a first surface of the one or more candidate surfaces based on one or more surface selection criteria, wherein the surface selection criteria comprises determining whether the first surface is associated with an object of dimensions matching expected object dimensions for the object based on the code; identifying, by the one or more machine vision processors, the object of the one or more objects that is associated with the first surface; and associating, by the one or more machine vision processors, the code with the object. receiving, by the one or more machine vision processors, from an area-scan camera an image of at least a portion of one or more objects in a first workspace; determining, by the one or more machine vision processors, an image location of a code in the image; determining, by the one or more machine vision processors, a ray in a shared coordinate space that is a back-projection of the image location of the code in the image; receiving, by the one or more machine vision processors, from a dimensioner dimensioning data including object dimensions and pose information as acquired by the dimensioner, of the one or more objects in a second workspace; determining, by the one or more machine vision processors, one or more surfaces of the one or more objects based on the dimensioning data, the one or more surfaces expressed in the shared coordinate space; determining, by the one or more machine vision processors, one or more candidate surfaces of the one or more surfaces, wherein each candidate surface is within a threshold distance from at least one of the one or more rays, wherein the threshold distance is determined based on the size of the objects; selecting, by the one or more machine vision processors, a first surface of the one or more candidate surfaces based on one or more surface selection criteria, wherein the surface selection criteria comprises determining whether the first surface is associated with an object of dimensions matching expected object dimensions for the object based on the code; identifying, by the one or more machine vision processors, the object of the one or more objects that is associated with the first surface; and associating, by the one or more machine vision processors, the code with the object.