SDO map software
The IDL map software is very useful for handling image
data.
Here I give some software that I use for SDO. Some of the routines are in Solarsoft, others you can get from http://files.pyoung.org/idl/sdo/.
Preparation
I download cutouts from the JSOC. A page on the EIS Wiki explains how to do this.
Because of concerns about the AIA de-spiking routine, I do not use the 'Register' option for AIA cutouts.
Reading into a map
I have my own routine that reads SDO files into an IDL map:
IDL> map=sdo2map(filename)
The advantages over the standard read_sdo + index2map
combination
are:
- The AIA images are divided by the exposure time.
- The .time tag is set to the .t_obs tag of index, and is
converted
to UTC format (HMI files are TAI format by default).
- I make a correction for the SDO roll angle.
- I make a correction for the rare case of bad exposure times.
- I have a call to a cosmic ray cleaning routine (which can be applied if the data have previously been re-spiked).
Making a smooth movie sequence
If you take a set of cutouts and make a movie from them (with
movie_map.pro for example), then you will notice the occasional pixel
jumps in the sequence. This is not due to image jitter, but just the
rounding of cutouts to the nearest pixel. To get rid of the jumps I do:
IDL> newmap=sdo_align_map(map)
This makes use of the IDL bilinear routine to give a nice
smooth
movie. Note that the routine is not cross-correlating images: it simply
adjusts the images so that smooth tracking of the region occurs.
To view the movie, just use the standard IDL routine movie_map:
IDL> movie_map, newmap [,/log]
Extracting a sub-region from cutouts
Often you will see an interesting feature within the SDO
cutouts for
which you will want to do a second cutout. The standard routine (when
working with maps) is sub_map.pro, but for a sequence of cutouts that
are tracking a feature it's necessary to specify xrange= and yrange=
with the /pixel keyword. Thus a little effort is required to convert
the coordinates of the feature that you're interested in to pixel units.
An alternative is to give xrange= and yrange= in the call to
sdo_align_map:
IDL> newmap=sdo_align_map(map, xrange=xrange, yrange=yrange)
Making a difference map movie
The following routine mimics 'movie_map' by using the map
structure
to
create a difference movie:
IDL> movie_map_diff, map, mode=mode
The keyword mode
Writing a map movie sequence to a mp4 file
For a paper or webpage you will need to convert a SDO image
sequence
into a standard movie format. The following routine takes a map
sequence and writes it to a mp4:
IDL> write_movie_map_mp4, map, outfile='movie.mp4'
Page maintained by Dr Peter Young
|