Formally, the indexing problem consists of determining a * , b * , c * and Q ⋆ using solely Q as an input. Notice that the problem is challenging as Q may contain outlier points due to noise and false detections that do not satisfy the Laue condition, i.e., they could be arbitrary points. We also assume that in each problem, the ideal properties of the crystal lattice basis vectors are known, i.e., we know the reference norm of a * , b * and c * , as well as the angles between them that any valid solution should approximate. That is, we can assume that we are given a matrix