;;---------- Inputs reso: the resolution of the map in arcsec map_in: the input unfiltered map Npix: size of the map in pixel (assumes a squared map here) ;;---------- Read the transfer functions tf = mrdfits(your_transfer_function_file, 1, head, /silent) ;;---------- Get a wave number array kmax = 1.0/reso karr = dist(Npix, Npix) karr = karr/max(karr)*max(kmax) ;;---------- Get filtering mapping by interpolating the transfer function karr_lin = reform(karr, Npix*Npix) filtering = interpol(tf.tf, tf.wave_number_arcsec, karr_lin) filtering = reform(filtering, Npix, Npix) ;;---------- Apply the filtering FT_map_in = FFT(map_in) map_out = double(FFT(FT_map_in * filtering, /inverse))