EIT Software Listings

 

anal
obsolete
response
util

 

Previous Routine
Next Routine

 

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

 


; TIME_STAMP_Z
; TIME_STAMP_Z ORs a time stamp on each frame of an EIT movie (or other
; 3-dimensional byte array).
; D.M. fecit, 1996 May 10.
; Added narrow keyword for windows too narrow to fit entire time stamp,
; 1996 September 6. D.M. fecit.
; Added no_preserve keyword to accommodate large arrays.
; 1996 December 30. D.M. fecit.
; Woke up and started ORing the movie frames with a small time stamp
; window instead of displaying and reading back the entire movie.
; D.M. fecit, 1997 March 11.
; J.S. Newmark - 2000 January 31 - bug fixes, new features.
; From TIME_STAMP, 2001 Auguist 13. D.M. fecit.
;
function time_stamp_z, movie, time_array, x0, y0, narrow = narrow, $
   no_preserve = no_preserve, big_font = big_font
;
; Read in the limited font set.
;
test = avant_garde(' ')
;
if not keyword_set(narrow) then narrow = 0
;
if keyword_set(no_preserve) then preserve = 0 else preserve = 1
;
device_name = !d.name
set_plot, 'z' & device, set_res = [512, 512]
;
if preserve then begin
;
   b0 = movie & sz_b0 = size(b0) & nx = sz_b0(1) & ny = sz_b0(2)
   if sz_b0(0) eq 2 then n_frame = 1 else n_frame = sz_b0(3)
;
   if nx lt 128 or (keyword_set(big_font) and nx lt 256) then narrow = 1
;
   font = !p.font & !p.font = 0
   device, font = avant_garde
   for i_frame = 0, n_frame - 1 do begin
      if not narrow then begin
         label = avant_garde(time_array(i_frame)) & sz_l = size(label)
         nx0 = sz_l(1)
         b0(x0, y0, i_frame) = $
             b0(x0:x0 + nx0 - 1, y0:y0 + 21, i_frame) or label
      endif else begin
         date_line = avant_garde(strmid(time_array(i_frame), 0, 11))
         sz_d = size(date_line) & nxd = sz_d(1)
         time_line = svant_garde(strmid(time_array(i_frame), 11, 8))
         sz_t = size(time_line) & nxt = sz_t(1)
         b0(x0, y0, i_frame) = $
            b0(x0:x0 + nxt - 1, y0:y0 + 21, i_frame) or time_line
         b0(x0, y0 + 25, i_frame) = $
            b0(x0:x0 + nxd - 1, y0 + 25:y0 + 46, i_frame) or date_line
      end
   end
;
endif else begin
;
   sz_movie = size(movie) & nx = sz_movie(1) & ny = sz_movie(2)
   if sz_movie(0) eq 2 then n_frame = 1 else n_frame = sz_movie(3)
;
   if nx lt 128 or (keyword_set(big_font) and nx lt 256) then narrow = 1
;
   for i_frame = 0, n_frame - 1 do begin
      if not narrow then begin
         label = avant_garde(time_array(i_frame)) & sz_l = size(label)
         nx0 = sz_l(1)
         movie(x0, y0, i_frame) = $
             movie(x0:x0 + nx0 - 1, y0:y0 + 21, i_frame) or label
      endif else begin
         date_line = avant_garde(strmid(time_array(i_frame), 0, 11))
         sz_d = size(date_line) & nxd = sz_d(1)
         time_line = svant_garde(strmid(time_array(i_frame), 11, 8))
         sz_t = size(time_line) & nxt = sz_t(1)
         movie(x0, y0, i_frame) = $
            movie(x0:x0 + nxt - 1, y0:y0 + 21, i_frame) or time_line
         movie(x0, y0 + 25, i_frame) = $
            movie(x0:x0 + nxd - 1, y0 + 25:y0 + 46, i_frame) or date_line
      end
   end
;
end
;
set_plot, device_name
;
if preserve then return, b0 else return, movie & 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:07 2007- F. Auchère