function imCS = imageCSmodified(image,mask, wname, iter) %IMAGECSMODIFIED Zmodyfikowana funkcja imageCS, która dokonuje próbkowania % a następnie rekonstrukcji obrazu wykorzystując metodę opartą na % miękkim progowaniu, ze zmiennym progiem % % image - rekonstruowany obraz % % mask - maska próbkująca obraz % % wname - nazwa falki użytej do dekompozycji falkowej % % iter - liczba iteracji sampledData = fftshift(fft2(image)).*mask; %próbkowanie w dziedzinie częstotliwości imCS = ifft2(ifftshift(sampledData)); %powrót do dziedziny obrazu, startowe przybliżenie lambda=0.05; %wartość startowa progu dwtmode('per') for k=1:iter level = wmaxlev(size(imCS),wname); %maksymalny poziom dekompozycji [imCSW,s]=wavedec2(imCS,level,wname); %przeniesienie obrazu do rzadkiej bazy imCSW=softThreshold(imCSW,lambda); %odszumianie za pomocą miękkiego progowania imCS=waverec2(imCSW,s,wname); %powrót do dziedziny sygnału imCS = ifft2(ifftshift(fftshift(fft2(imCS)).*(1-mask) + sampledData)); % wymuszenie zgodności danych if lambda>0.01 %zmniejszenie progu lambda=lambda-0.005; end end end