1. An optical navigation device for detecting movement of a pointer in three dimensions, the optical navigation device comprising: an illumination source configured to illuminate the pointer; an image sensor configured to obtain a plurality of images of the pointer comprising first and second images; an image scaling module configured to scale a size of the second image using a bidirectional zooming operation with differing zoom factors; an image shift module configured to shift a position of the scaled second image with differing motion shifts; a correlation module configured to determine a plurality of difference values between the first image and a plurality of potential scaled and shifted second images, the plurality of potential scaled and shifted second images corresponding to the differing motion shifts and the differing zoom factors; and a control logic module configured to determine a motion vector between the first image and the second image by selecting a potential scaled and shifted second image with a respective difference value passing a threshold, and determine the movement of the pointer based upon the motion vector.