1. A method for producing denoised multi-dimensional spatio-temporal image data comprising a plurality of multi-dimensional frames taken at different times, the method comprising: performing multi-dimensional, spatial brushlet filtering, in the frequency domain, of the plurality of multi-dimensional frames to generate a set of spatial brushlet coefficients; thresholding the set of spatial brushlet coefficients to produce a set of spatially-denoised image data corresponding to the multi-dimensional spatio-temporal image data; performing a first temporal brushlet filtering, in the time domain, of the spatially-denoised spatio-temporal image data to generate a first set of temporal brushlet coefficients; thresholding the first set of temporal brushlet coefficients to produce a first set of spatio-temporally denoised image data corresponding to the multi-dimensional spatio-temporal image data; performing a second temporal brushlet filtering, in the frequency domain, of the first set of spatio-temporally denoised image data to generate a second set of temporal brushlet coefficients; thresholding the second set of temporal brushlet coefficients to produce a second set of spatio-temporally denoised image data corresponding to the multi-dimensional spatio-temporal image data; and outputting the second set of spatio-temporally denoised image data; wherein the above said filtering steps are performed using a computer system.