A method of making a secure document including a host image encoding a hidden image, the method comprising: inputting the hidden image wherein the hidden image is a greyscale image; resolving the hidden image into a set of hidden image tiles wherein each hidden image tile contains a corresponding subset greyscale image of the hidden image; determining a set of average grey values based on the hidden image wherein for each hidden image tile an average grey value is determined based on a representative greyscale value of the subset of the greyscale image contained in that hidden image tile; generating a set of host image spatial frequencies corresponding to the set of average grey values, wherein each host image spatial frequency is generated according to a predefined mapping q ∈ [0,1] → {C,C*} between a domain q of scalar values and a domain C (and its origin symmetric C*) of spatial line frequencies whereby each average grey value, q, is bijectively mapped according to said predefined mapping to a corresponding spatial line frequency along a predefined orthogonal axis of the host image representing a two-dimensional point in the domain C (and its origin symmetric C*); generating the host image by generating a set of non-overlapping host image tiles, each of the host image tiles containing a line pattern comprising a plurality of spaced, parallel line segments, wherein each of the set of host image tiles corresponds to a different one of the set of hidden image tiles and the line patterns are generated according to the set of host image spatial frequencies so that the line patterns have spatial frequencies corresponding to the average grey values of the corresponding hidden image tiles; and, incorporating the host image in the secure document. inputting the hidden image wherein the hidden image is a greyscale image; resolving the hidden image into a set of hidden image tiles wherein each hidden image tile contains a corresponding subset greyscale image of the hidden image; determining a set of average grey values based on the hidden image wherein for each hidden image tile an average grey value is determined based on a representative greyscale value of the subset of the greyscale image contained in that hidden image tile; generating a set of host image spatial frequencies corresponding to the set of average grey values, wherein each host image spatial frequency is generated according to a predefined mapping q ∈ [0,1] → {C,C*} between a domain q of scalar values and a domain C (and its origin symmetric C*) of spatial line frequencies whereby each average grey value, q, is bijectively mapped according to said predefined mapping to a corresponding spatial line frequency along a predefined orthogonal axis of the host image representing a two-dimensional point in the domain C (and its origin symmetric C*); generating the host image by generating a set of non-overlapping host image tiles, each of the host image tiles containing a line pattern comprising a plurality of spaced, parallel line segments, wherein each of the set of host image tiles corresponds to a different one of the set of hidden image tiles and the line patterns are generated according to the set of host image spatial frequencies so that the line patterns have spatial frequencies corresponding to the average grey values of the corresponding hidden image tiles; and, incorporating the host image in the secure document.