added wiener filter, but the result seems to be wrong