architecture to calculate correspondences