filreg = '../FITS/AR9214*' f = findfile(filreg) tim = 3600l*strmid(f, 26, 2)+60l*strmid(f, 28, 2)+strmid(f, 30, 2) tim0 = tim(0) tim = tim-tim0 ;;; align the frames, equalize intensity mkmov, mov, filreg ;;; equalize power spectra enhance, mov ;;; fine adjustment s = size(mov) sx = s(1) sy = s(2) num = s(3) ref = total(mov, 3) sh = fltarr(2, num) FOR i=0, num-1 DO BEGIN sh(*, i) = shc(ref, mov(*, *, i), /filt, /int) print, i, sh(*, i) ENDFOR sh(0, *) = sh(0, *)-min(sh(0, *)) sh(1, *) = sh(1, *)-min(sh(1, *)) s1 = max(sh(0, *)) IF ((sx-s1)/2. NE (sx-s1)/2) THEN s1 = s1+1 s2 = max(sh(1, *)) IF ((sy-s2)/2. NE (sy-s2)/2) THEN s2 = s2+1 FOR i=0, num-1 DO BEGIN mov(*, *, i) = f_shift(mov(*, *, i), sh(0, i), sh(1, i)) ENDFOR mov = mov(s1:*, s2:*, *) s = size(mov) sx = s(1) sy = s(2) ;;; remove distortions rubb, mov, av=5, cell=16, step=12, range=2, /plot, /same n_neu = tim(num-1)/15 + 1 t_neu = indgen(n_neu)*15 ;; ;;; remove distortions ;; rubb, mov, av=5, cell=24, step=16, range=4, /plot, /same ;;; now interpolate to equidistant timesteps openw, 1, 'mov_interp.raw' FOR i=0, sx-1 DO BEGIN FOR j=0, sy-1 DO BEGIN tmp = spline(tim, mov(i, j, *), t_neu) writeu, 1, fix(tmp) ENDFOR writeu, -1, string(i) ENDFOR close, 1 kont: mov = intarr(sx, sy, n_neu) lin = intarr(n_neu) openr, 1, 'mov_interp.raw' FOR i=0, sx-1 DO BEGIN FOR j=0, sy-1 DO BEGIN readu, 1, lin mov(i, j, *) = lin ENDFOR ENDFOR close, 1 openw, 1, 'mov_interp.raw' writeu, 1, mov close, 1 ;conefilt, 'mov_interp.raw', sx, sy, n_neu, 420 ;mov = intarr(sx, sy, n_neu) ;openr, 1, 'sum.dat' ;readu, 1, mov ;close, 1 ;;; Get Movie to N*16 size, add clock and create MPEG sx1 = 16*(sx/16) sy1 = 16*(sy/16) mm1 = scale_array(mov(0:sx1-1,0:sy1-1,*)) tt = t_neu + tim0 hr = tt/3600 mn = (tt MOD 3600)/60 sc = tt MOD 60 tt = nnumber(hr, 2)+":"+nnumber(mn, 2)+":"+nnumber(sc, 2) show, mm1(*, *, 0) FOR i=0, n_neu-1 DO BEGIN tv, mm1(*, *, i) clock, tt(i), /dev, pos=[238, 5] mm1(*, *, i) = tvrd() ENDFOR write_mpeg, '../MPEG/AR9214_ca_01nov00_sp1.mpg', mm1 END