function PushButton2Selected(h, eventdata)
switch list1_val
case 'None'
filter_val = 'None';
case 'Ram-Lak (Ramp)'
filter_val = 'Ram-Lak';
case 'Shepp-Logan'
filter_val = 'Shepp-Logan';
case 'Ram-Lak Cosine'
filter_val = 'Cosine';
case 'Ram-Lak Hamming'
filter_val = 'Hamming';
case 'Ram-Lak Hann'
filter_val = 'Hann';
case 'Special'
filter_val = 'Special';
end
switch list2_val
case 'Linear'
interpol_val = 'linear';
case 'Nearest'
interpol_val = 'nearest';
case 'Spline'
interpol_val = 'spline';
case 'Cubic'
interpol_val = 'pchip';
end
theta = round (0: 180 / number_projections: 179);
del_sinogram = data.sinogram (:, theta + 1);
if strcmp(filter_val, 'Special') == 1
if strcmp(file_name(end-4:end), '3.mat') == 1
data.SB = data.SB + 0.3 * rand(size(data.SB));
end
if strcmp(file_name(end-4:end), 'f.mat') == 1
filter_val = 'Hamming';
rec_img = iradon(del_sinogram, theta, interpol_val, filter_val);
else
FFT_sinogram = fftshift(fft(del_sinogram),1);
FFT_sinogram = FFT_sinogram .* data.SB(:, theta+1);
del_sinogram = ifft(ifftshift(FFT_sinogram,1));
rec_img = iradon(del_sinogram, theta, interpol_val);
end
else
rec_img = iradon(del_sinogram, theta, interpol_val, filter_val);
end
figure, imagesc (rec_img), colormap (pink)
title ([data.txt ':' num2str (number_projections) 'projections,' list1_val 'filter,' list2_val 'interpolation'])
end
D-023