;;; first try on cone-filtering the movie. ;;; cutoff set to 4km/s ;;; 26.22.99: First and last image are somehow "smeared". ;;; try to put an artificial interpolated image before and after the ;;; series. close, 1 openr, 1, 'mov_rub.raw' p = assoc(1, intarr(608, 448)) mov = intarr(384, 256, 142) xx = rescale(dist(384), 384, 256) ;;; 7km/s = 420km = 54 ;;; 5.5km/s = 330km = 69 ;;; 4km/s = 240km = 95 cut = 54 num = 142 n2 = num/2 print, "Cone-filtering with cutoff "+strtrim(cut, 2) writeu, -1, 'Part 1.... ' ;;; read first part FOR i=1, num-2 DO mov(*, *, i) = p(0:383, 0:255, i-1) tmp = (mov(*, *, 1)+mov(*, *, num-2))/2 mov(*, *, 0) = tmp mov(*, *, num-1) = tmp fmov = fft(mov, -1) FOR z=1, n2-1 DO BEGIN mask = xx GT (z * cut/n2) fmov(*, *, z) = fmov(*, *, z) * mask fmov(*, *, num-z) = fmov(*, *, num-z) * mask ENDFOR fmov(*, *, n2) = fmov(*, *, n2) * (xx GT cut) fmov = fft(fmov, 1, /over) openw, 2, 'part1.dat' writeu, 2, fix(fmov(*, *, 1:num-2)) close, 2 printf, -1, 'done' writeu, -1, 'Part 2.... ' FOR i=1, num-2 DO mov(*, *, i) = p(224:*, 0:255, i-1) tmp = (mov(*, *, 1)+mov(*, *, num-2))/2 mov(*, *, 0) = tmp mov(*, *, num-1) = tmp fmov = fft(mov, -1) FOR z=1, n2-1 DO BEGIN mask = xx GT (z * cut/n2) fmov(*, *, z) = fmov(*, *, z) * mask fmov(*, *, num-z) = fmov(*, *, num-z) * mask ENDFOR fmov(*, *, n2) = fmov(*, *, n2) * (xx GT cut) fmov = fft(fmov, 1, /over) openw, 2, 'part2.dat' writeu, 2, fix(fmov(*, *, 1:num-2)) close, 2 printf, -1, 'done' writeu, -1, 'Part 3.... ' FOR i=1, num-2 DO mov(*, *, i) = p(0:383, 192:*, i-1) tmp = (mov(*, *, 1)+mov(*, *, num-2))/2 mov(*, *, 0) = tmp mov(*, *, num-1) = tmp fmov = fft(mov, -1) FOR z=1, n2-1 DO BEGIN mask = xx GT (z * cut/n2) fmov(*, *, z) = fmov(*, *, z) * mask fmov(*, *, num-z) = fmov(*, *, num-z) * mask ENDFOR fmov(*, *, n2) = fmov(*, *, n2) * (xx GT cut) fmov = fft(fmov, 1, /over) openw, 2, 'part3.dat' writeu, 2, fix(fmov(*, *, 1:num-2)) close, 2 printf, -1, 'done' writeu, -1, 'Part 4.... ' FOR i=1, num-2 DO mov(*, *, i) = p(224:*, 192:*, i-1) tmp = (mov(*, *, 1)+mov(*, *, num-2))/2 mov(*, *, 0) = tmp mov(*, *, num-1) = tmp fmov = fft(mov, -1) FOR z=1, n2-1 DO BEGIN mask = xx GT (z * cut/n2) fmov(*, *, z) = fmov(*, *, z) * mask fmov(*, *, num-z) = fmov(*, *, num-z) * mask ENDFOR fmov(*, *, n2) = fmov(*, *, n2) * (xx GT cut) fmov = fft(fmov, 1, /over) openw, 2, 'part4.dat' writeu, 2, fix(fmov(*, *, 1:num-2)) close, 2 printf, -1, 'done' END