TRACE Pointing Correction

October 26, 2009 by admin  
Filed under Image Processing


TRACE/EIT 19.5 nm Image Alignment using Cross-Correlation

(Peter T. Gallagher, L-3 Com Analytics Corp., NASA/GSFC)


This page describes a simple method to correct the pointing information in TRACE
19.5 nm images by cross-correlating them with EIT 19.5 nm images using IDL
SSW. The data were taken during an X-class flare which occurred on 21-Apr-2002, more details on which can be found here.

An alternative method for correctng TRACE pointing (using MDI continuum images) is described at Tom Metcalf’s page.

Step 1: Read, calibrate and convert data to maps

It is best to select images which have been taken as
close in time as possible. In this example the images are separated by
11 seconds.



IDL> eit_prep, 'efr20020421.011334', eit_index, eit_data
IDL> index2map, eit_index, eit_data, eit_map
IDL> eit_map = map2earth( eit_map ) ; SOHO @ L1 -> Earth

IDL> mreadfits, 'trf20020421_011323_a2.fits', index, data
IDL> trace_prep, index, data, trace_index, trace_data, /wave2point
IDL> index2map, trace_index, trace_data, trace_map

Further information on mapping software can be found at Dominic
Zarro’s
pages.


trace eit TRACE Pointing Correction

Figure 1: TRACE and EIT 19.5 nm images with the same
field-of-view.


Step 2: Extract regions with distinct features and plot

We extract a region where there is a bright loop visible:
800″ < Solar_X < 1000″ and -350″ < Solar_Y < -150″. This
is plotted
in Figure 1 above.


IDL> xrange = [ 800, 1000 ]
IDL> yrange = [ -350, -150 ]
IDL> sub_map, eit_map, sub_eit, xrange = xrange, yrange = yrange
IDL> sub_map, trace_map, sub_trace, xrange = xrange, yrange = yrange

IDL> eit_colors, 195
IDL> !p.multi = [ 0, 2, 1 ]
IDL> plot_map, sub_eit, /log
IDL> plot_map, sub_trace, /log

Step 3: Extract TRACE and EIT images and convert to same size

In order to compute the cross-correlation between two images the
image with the lesser number of pixels (EIT) is rebinned
to the size of the larger (TRACE).


IDL> trace_image = sub_trace.data
IDL> sz = size( trace_image, /dim )
IDL> cube = fltarr( sz( 0 ), sz( 1 ), 2 )
IDL> rsub_eit = coreg_map( sub_eit, sub_trace )
IDL> cube( *, *, 0 ) = rsub_eit.data
IDL> cube( *, *, 1 ) = sub_trace.data

Step 4: Compute offsets between TRACE and EIT and update TRACE map.

Use cross-correlation to find the pixel offsets between TRACE and EIT
and create a new TRACE map with corrected pointing.


IDL> offsets = get_correl_offsets( cube )
IDL> print, offsets
      0.00000      0.00000
      5.19975      8.60905
IDL> correct_trace_map = shift_map( trace_map, offsets( 0, 1 ) * trace_map.dx, $
IDL>                                           offsets( 1, 1 ) * trace_map.dy )

trace eit contour TRACE Pointing Correction

Figure 2: Left: TRACE with EIT contours before pointing
correction. Right: The corresponding data after TRACE pointing correction.


Step 5: Plot the uncorrected and corrected TRACE data with EIT contour
overlay

The corrected and uncorrected TRACE 19.5 images together with EIT contour
overlays are given in Figure 2 above.


IDL> plot_map, trace_map, xrange = xrange, yrange = yrange, /log
IDL> plot_map, eit_map, /over
IDL> plot_map, correct_trace_map, xrange = xrange, yrange = yrange, /log
IDL> plot_map, eit_map, /over

trace eit movie TRACE Pointing Correction

Figure 3: Movie which blinks between the coaligned TRACE and EIT images (Hit reload/refresh to run).


Peter T. Gallagher -
ptg@hessi.gsfc.nasa.gov

(Last updated: 9-May-2002)

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!