1. A method of removing speckle noise from ultrasound images comprising the steps of: providing a plurality of digitized ultrasound (US) images, each image comprising a plurality of intensities corresponding to a domain of points on a 2-dimensional grid; initializing an initial gain associated with each of said plurality of US images; estimating a signal sub-space by averaging over each US image divided by its associated gain; estimating an updated gain by projecting its associated image into said signal sub-space, wherein if an absolute difference of said updated gain and said initial gain is less than a pre-determined quantity, obtaining an averaged image from said signal sub-space; estimating an optimal Wiener filter from said plurality of US images and said averaged image; and filtering said averaged image with said Wiener filter, wherein said speckle noise is substantially minimized.