summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--stripeeraser.m13
1 files changed, 6 insertions, 7 deletions
diff --git a/stripeeraser.m b/stripeeraser.m
index a8ecf22..417f333 100644
--- a/stripeeraser.m
+++ b/stripeeraser.m
@@ -1,4 +1,4 @@
-function [img_cleaned,imfourier]=stripeeraser(img,radius,threshold_power)
+function [img_cleaned,img_fourier]=stripeeraser(img,radius,threshold_power)
% Cleans an image from the stripes produced by interference fringes.
% Such parallel fringes appears like a strong peak in the Fourier transformed image.
% so it easy to clean them, especially if their spatial frequency is high.
@@ -7,8 +7,8 @@ function [img_cleaned,imfourier]=stripeeraser(img,radius,threshold_power)
% by suppressing them with exponential factor which is increases with distance
% from the center i.e. zero spatial frequencies.
-immask=fftshift(fft2(img)); % move to Fourier space
-max1=max(abs(immask(:)));
+img_fourier=fftshift(fft2(img)); % move to Fourier space
+max1=max(abs(img_fourier(:)));
[Ny, Nx] = size (img); % image size
for x=1:Nx
for y=1:Ny
@@ -16,14 +16,13 @@ for x=1:Nx
if d>radius
% for high enough frequency components
%The filter works like a neutral density filter.
- if abs(immask(y,x))>max1*(10^(-threshold_power));
+ if abs(img_fourier(y,x))>max1*(10^(-threshold_power));
% Suppress this frequency components which are mostly stripes
% but leave untouched small sharp features of the beam
% since they are spectrally weak
- immask(y,x)=immask(y,x)*exp(-(d/radius)^2);
+ img_fourier(y,x)=img_fourier(y,x)*exp(-(d/radius)^2);
end;
end;
end;
end;
-imfourier=immask;
-img_cleaned = abs( ifft2(ifftshift(immask)) );
+img_cleaned = abs( ifft2(ifftshift(img_fourier)) );