Buzz,
Just FYI: For my blog Ha images, I've combined denoising and sharpening into a single process run on the linear data. In the wavelet domain, detail coefficients get classified into three groups, small, medium, and large. Coefficients smaller than the local noise level get "shrunk" (this is exactly what MureDenoise does), medium coefficients get "stretched" (i.e. sharpen blurry edges larger the noise level), and large coefficients remain invariant (don't mess with existing sharp edges and stars). Basically, I don't want to sharpen noise nor damage things that are already sharp.
The API is basically MureDenoise plus extra parameters that specify the size of the medium zone, the amount to stretch, and the amount to taper the stretch at higher wavelet levels. I have no automatic way to determine these parameters, I just adjust them until I like what I see.
This all works OK on my data, but it is too early to say if it works more generally.
I don't use deconvolution, never have gotten good results, possibly due to the undersampling.
Thanks,
Mike