1. A system for extracting a plurality of three-dimensional points that represent a terrain, the three-dimensional points being extracted from first and second images, the first and second images being two-dimensional representations of the terrain generated from different viewing angles, the system comprising processing circuitry arranged to, for each ray in the first image: form a plurality of different hypotheses for a true orientation of the terrain; resample a local region from the first image into a space of the second image multiple times, each of the resamplings using a different one of the hypotheses from the plurality of hypotheses; run cross-correlation style correlators on the plurality of hypotheses to produce respective pluralities of correlation scores and correlation surfaces; select a hypothesis from the plurality of hypotheses that has the highest correlation score; select a correlation surface corresponding with the selected hypothesis; project a peak of the selected correlation surface through a geometry model for the selected hypothesis; and determine a three-dimensional point representing a location of the ray from the projected peak.