1. A method of processing an image comprising: acquiring the image; using a processor; traversing multiple pixels of the image in a single pass over the image; applying an inverting function to said pixels; applying a recursive filter to one or more inverted pixel values, said filter having one or more parameters derived from previously traversed pixel values of said image; and combining said one or more pixel values with said one or more parameters to provide processed pixel values for a processed image wherein said inverting function comprises: f ⁡ ( G ⁡ ( i , j , k ) , a , δ ) = ( 1 - a + 255 · a max ⁡ ( δ , ( G ⁢ ( i , j , 1 ) + G ⁡ ( i , j , 2 ) + G ⁡ ( i , j , 3 ) ) / 3 ) ) where: a is a positive value less than 1; and δ is used in order to avoid division by zero and to amplify dark pixels.