Regularized DEMs

We have developed a regularized inversion method to recover the Differential Emission Measure from solar data (both broad-band imaging and high resolution spectroscopy) using a GSVD approach, detailed in Hannah & Kontar A&A 539, A146 2012 (arXiv version). This is a computationally fast code, produces both vertical and horizontal error estimates, requires no initial guess solution from the user and can force a positive DEM solution.

A test version of the DEM Maps code can be found here. It is an optimized and faster (tested at over 22,000 DEMs per second) version of the orginal code but only performs a zeroth order regularization.

This code is now maintained on github here https://github.com/ianan/demreg/tree/master/idl_org

Download

Download the regularization code and examples [30 KB, zipped archive]
Test with IDL 6.3 to 8.1. SolarSoftWare is recommended but no specific packages are required for the regularization to run. However the SDO/AIA and CHIANTI SolarSoft code is required to run the examples: need "aia chianti" in your SSW instrument list.

A poster demonstrating the regularization method applied to solar data from the Hinode 5 meeting (Oct-2011) is available here [pdf, 1.9MB].

This code is an updated and optimized version of the regularization method used on RHESSI data to obtain electron spectra (Kontar et al. 2004 Sol Phys) available in SSW x-ray package $SSW/packages/xray/idl/inversion/.

The code is distributed under a Creative Commons through the Attribution-Noncommercial-Share Alike 3.0 license (can copy, distribute and adapt the work but full attribution must be given and cannot be used for commercial purposes)

Regularization Code
data2dem_reg.pro
Main driver program

dem_inv_make_constraint.pro
Calculates the chosen constraint matrix
dem_inv_gsvdcsq.pro
Performs GSVD
dem_inv_reg_parameter.pro
Calculates the regularization parameter
dem_inv_reg_parameter_pos.pro
Additional version that calculates reg param and solution for positive case
dem_inv_reg_solution.pro
Calculates the regularized solution
dem_inv_reg_resolution.pro
Calculates the DEM horizontal error (temperature resolution)
dem_inv_confidence_interval.pro
Calculates the DEM vertical error
Example Code
These are batch scripts so are executed as:
IDL> @aia_example
and will calculate the regularized DEM for the simulated data given and plot the regularized DEM, the residuals and the RK matrix (diagonal where regularization robustly worked).
aia_example.pro
SDO/AIA with a Gaussian DEM Model
aia_example_ar.pro
SDO/AIA with the CHINATI Active Region DEM Model
line_example.pro
Hinode/EIS with the CHINATI Quiet Sun DEM Model
Note that the /gloci and /pos flags helps obtain better DEMs for line data.
Revision History
[13-Nov-2013] Added warning on error=0 and fix for emloci when some data=0.
[04-Nov-2013] Added output of DEM to EM factors.
[15-May-2013] Corrected typos in data2dem_reg.pro documentation.
[11-Nov-2012] Added output of Data contribution per T in res structure.
[08-Mar-2012] Minor changes to include proper reference to paper.
[25-Jan-2012] Minor changes to data2dem_reg.pro so that it no longer returns unnecessary diagnostic information.
[18-Nov-2011] Software available online. Check individual files for revision history prior to release.

Last Updated: 13/11/2013