The user can specify a rotation about a fixed point followed by a translation. The user is also prompted for the output region of the memory where the data may be output. The pixel values within this region will initially be set to zero and incremented by any input pixels which are transformed to lie on top of output pixels. The output is in the memory.
Alternatively it is possible to specify the coordinates of two independent points on the input data and two corresponding output points. The program will use these to calculate a required rotation and translation. For this to be correct the distance between the two input and two output coordinates should ideally be the same. If the distances are different the rotation angle will be calculated to align exactly the lines, and the translation will be calculated so that the centre point between each pair of points is aligned i.e. the discrepancy will be equal for two points.