Regularized DEM Maps

Regularization code to produce DEM maps from SDO/AIA data (as a map structure). It is an optimized and faster (tested at over 22,000 DEMs per second) version of the orginal code (which you should try first if you just want the DEM from a set of pixels or region) but only performs a zeroth order regularization. It does try to return the positive DEM solution as well.

A newer version of this code, and one that is currently being developed, is available here https://github.com/ianan/demreg/tree/master/idl

Download

Download the regularization map code [38 KB, zipped archive]
Tested with IDL 8.1 running on linux and OSX.

Regularization Code
(in zip)
dn2dem_map_pos.pro
Main code that takes a map of AIA images as input and returns the DEM maps and errors. It creates the bridges and executes demmap_broen_pos.pro. This is a newer version of dn2dem_map2.pro: this updated code attempts to get positive solution.
demmap_broen_pos.pro
Bridge process that carries out the regularization for part of the map
dn2dem_map2.pro
Main code that takes a map of AIA images as input and returns the DEM maps and errors. It creates the bridges and executes demmap_broen2.pro. This newer version only does the calculation on "good" pixels, i.e. where the with SNR > 1/err_max and DN/px/s < sat_lvl (not saturated)
demmap_broen2.pro
Bridge process that carries out the regularization for part of the map
dem_inv_gsvdcsq.pro
Performs GSVD
dem_inv_reg_parameter_map.pro
Calculates the regularization parameter
demmap2_example.pro
Example code that generates a simulated map from a Gaussian model DEM then tries to recover the DEM maps using the newer dn2dem_map2.pro
dem2dn.pro
Converts a model DEM to an AIA signal, used by tmap_example.pro
Older Code
(still in zip)
dn2dem_map.pro
Older version of code that takes a map of AIA images as input and returns the DEM maps and errors. It creates the bridges and executes demmap_broen.pro
demmap_broen.pro
Bridge process that carries out the regularization for part of the map
demmap_example.pro
Example code that generates a simulated map from a Gaussian model DEM then tries to recover the DEM maps using dn2dem_map.pro
emmap_example.pro
Example code that generates a simulated map from a Gaussian model DEM then tries to recover the EM maps using dn2dem_map.pro
tt_demmap_example.pro
Same as demmap_example.pro but includes the optional output of DN contributions as a function of T (DNperT), as well as using aia_bp_estimate_error.pro to calculate the error in the input DN.
Revision History
[04-Nov-2013] Modified how error is calculated (more like aia_bp_estimate_error.pro now), removed abee flag and added /doallpix flags to run the calculation on all pixels irrespective of quality (or sat_lvl or err)max).
[01-Jul-2013] New *_pos versions of the code that will iterate increasing reg_tweak (chisq of solution) until positive DEM achieved (or max_iter reached)
[20-June-2013] Added reg_tweak as optional input (controls desired chisq defaults to previous =1)
[15-May-2013] Corrected nbridges typo in demmap2_example.pro
[18-Nov-2012] Replace dn2dem_map.pro with dn2dem_map2.pro as main code. New version only calculates DEM in pixels with SNR > 1/err_max and DN/px/s < sat_lvl.
[Nov-2012] Updated to optionally use own temperature response functions and return the DN contribution per T for each (x,y,filter).
[Jul-2012] Updated to optionally output regularized AIA maps.
[Jul-2012] Updated to optionally output in EM [cm-5] not DEM [cm-5K-1] units.
[May-2012] Test version of DEM map software.

Last Updated: 04/11/2013