A computer implemented method comprising: providing a mobile device comprising: a camera to capture images; a touch screen display; a motion sensor to acquire motion sensor data; and a timing module allowing synchronicity or near-synchronicity between images and corresponding motion data; acquiring, by a computer system, an image captured with the mobile device; acquiring, by the computer system, motion sensor data of the mobile device at or near a time when the image was captured; determining, by the computer system, an angle of rotation based on the motion sensor data, wherein the angle of rotation is indicative of a degree of tilt of the mobile device relative to a reference axis at or near the time when the image was captured; and transforming, by the computer system, the image based on the angle of rotation to correct for the tilt of the mobile device; characterised by: displaying a user interface on the touch screen display and displaying the transformed image in a viewing frame of the user interface, enabling user definition of a point of rotation about which to rotate the transformed image; receiving a first user input applied to the user interface to define a point of rotation; receiving a second user input applied to the user interface to define a granularity of rotation, wherein the granularity of rotation is defined by the user sliding his finger away from the user-defined point of rotation to a granularity selection point; receiving a third user input applied to the user interface to define a direction, wherein the direction of rotation is defined by the user sliding his finger clockwise or anticlockwise with respect to the point of rotation; and rotating the transformed image about the point of rotation according to the direction and the granularity of rotation based on the first user input and the second user input; wherein the user is required to continuously maintain his finger on the display while selecting the point of rotation, the granularity selection point and the direction and degree of rotation. providing a mobile device comprising: a camera to capture images; a touch screen display; a motion sensor to acquire motion sensor data; and a timing module allowing synchronicity or near-synchronicity between images and corresponding motion data; a camera to capture images; a touch screen display; a motion sensor to acquire motion sensor data; and a timing module allowing synchronicity or near-synchronicity between images and corresponding motion data; acquiring, by a computer system, an image captured with the mobile device; acquiring, by the computer system, motion sensor data of the mobile device at or near a time when the image was captured; determining, by the computer system, an angle of rotation based on the motion sensor data, wherein the angle of rotation is indicative of a degree of tilt of the mobile device relative to a reference axis at or near the time when the image was captured; and transforming, by the computer system, the image based on the angle of rotation to correct for the tilt of the mobile device; displaying a user interface on the touch screen display and displaying the transformed image in a viewing frame of the user interface, enabling user definition of a point of rotation about which to rotate the transformed image; receiving a first user input applied to the user interface to define a point of rotation; receiving a second user input applied to the user interface to define a granularity of rotation, wherein the granularity of rotation is defined by the user sliding his finger away from the user-defined point of rotation to a granularity selection point; receiving a third user input applied to the user interface to define a direction, wherein the direction of rotation is defined by the user sliding his finger clockwise or anticlockwise with respect to the point of rotation; and rotating the transformed image about the point of rotation according to the direction and the granularity of rotation based on the first user input and the second user input; wherein the user is required to continuously maintain his finger on the display while selecting the point of rotation, the granularity selection point and the direction and degree of rotation.