EIT Software Listings

 

anal
obsolete
response
util

 

Previous Routine
Next Routine

 

Listing of $SSW/soho/eit/idl/anal/eit_mkmovie.pro

 


pro eit_mkmovie,list,outsize=outsize,mpeg=mpeg,gif=gif,java=java,wave=wave,$
     movie_name=movie_name,outdir=outdir
;+
; NAME:
;	EIT_MKMOVIE
;
; PURPOSE:
;       Create a GIF or MPEG movie from an Input FITS file list or byte-scaled
;       data cube
;
; CATEGORY:
;	Animation
;
; CALLING SEQUENCE:
;       eit_mkmovie,input [,outsize=outsize][,/mpeg][,/gif][,wave=wave][movie_name=name]
;
; INPUTS:
;   list     I  = listing of LZ or QKL data files or a bytescaled datacube as
;                 may come from an existing IDL save set.
; 
; OPTIONAL INPUT KEYWORD PARAMETERS: 
;   wave     I  = wavelength
;   outsize  I  = 2 dimensional array for output size of image
;   movie_name I = output movie name (default derived from input data)
;   gif      I  = select if want gif animation
;   mpeg     I  = select if want mpeg animation
;   java     I  = select if want javascript animation
;   outidr   I  = set for specified output directory
;
; OUTPUTS:
;   Creates either a GIF or MPEG file
;
; COMMON BLOCKS: none.
;
; SIDE EFFECTS: temporarily creates GIF files for each image
;
; RESTRICTIONS:
;
; PROCEDURE:
;
; MODIFICATION HISTORY:
; 	Written by:  J. Newmark 	Date.  September 1997
;       1999 February 11 J. Newmark     Add Java, ooutdir, clean up
;-

mpeg = keyword_set(mpeg)
gif = keyword_set(gif)
java = keyword_set(java)
if not mpeg and not gif and not java then gif = 1

if datatype(list) eq 'STR' then begin  ; input is file listing
   stat = is_fits(list(0))
   if not stat then list = eit_file2path(list)
   read_eit,list,index,data
   index.naxis = 2
   if n_elements(wave) ne 0 then begin
      good = where(index.wavelnth eq wave)
      index = index(good)
      data = temporary(data(*,*,good))
   endif else wave = index(0).wavelnth
   eit_prep,index,data=temporary(data),outindex,outdata,/normalize,/surround
   scl = min(outdata)>1e-2
   data = bytscl(alog10(temporary(outdata)>max([scl,0.1])))
   times = anytim2utc(outindex.date_obs,/ccsds,/truncate,/noz)
   label = 1
   autoname = 0
endif else begin                       ; otherwise input is a byte-scaled data cube
   data = temporary(list)
   times = 0
   label = ''
   autoname = 1
   if n_elements(wave) eq 0 then wave = 3
endelse
if wave gt 42 then eit_colors,wave,r,g,b else begin
   loadct,wave
   tvlct,r,g,b,/get
endelse
;
; adjust colors if on X
if !d.name eq 'X' then begin
   wdisplay,data(*,*,0)
   xmessage,wait=4,'Use XLOADCT to make any necessary color adjustments.'
   xloadct,file=getenv('coloreit'),/modal
   tvlct,r,g,b,/get
endif
if not keyword_set(outdir) then begin
  path_http=get_logenv('path_http')
  outdir=get_logenv('SSW_MOVIE_SCRATCH')
  if outdir eq '' then outdir=concat_dir(path_http,'movie_scratch')
  if not file_exist(outdir) then outdir=concat_dir(path_http,'movies')
  if not file_exist(outdir) then outdir=curdir()
endif 
data2files,data,r,g,b,filenames=filenames,/gif,times=times,autoname=autoname,$
  outdir=outdir
if not keyword_set(outsize) then begin
   sz=size(data)
   outsize=[sz(1),sz(2)]
endif
if n_elements(movie_name) eq 0 then begin
    if autoname then movie_name = 'eit_'+ strtrim(wave,2) else $
        movie_name = 'eit_' + strmid(filenames(0),0,9) + strtrim(wave,2)
endif
image2movie,filenames,/loop,gif=gif,mpeg=mpeg,outsize=outsize,/nothumbnail,$
   movie_name=movie_name,label=label,uttimes=times,java=java,outdir=outdir
rm_file,filenames

end


Web curator: Frédéric Auchère
Responsible NASA official: Joseph B. Gurman, Facility Scientist, Solar Data Analysis Center
joseph.b.gurman@gsfc.nasa.gov
+1 301 286-4767
NASA Goddard Space Flight Center
Solar Physics Branch / Code 682

Last revised: - Wed May 9 21:45:01 2007- F. Auchère