User Tools

Site Tools


data:line_fitting_idl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
data:line_fitting_idl [2024/11/11 20:30]
Peter Young created
data:line_fitting_idl [2024/11/12 18:02] (current)
Peter Young [IDL Software for Emission Line Fitting]
Line 1: Line 1:
  
-====== Emission ​line fitting ​using IDL software ======+====== ​IDL Software for Emission ​Line Fitting ====== 
 + 
 + 
 +===== Fitting a Gaussian at each spatial pixel in a raster ===== 
 + 
 +Spectra at each spatial pixel in a raster can be fit with Gaussians ​using the eis\_auto\_fit ​IDL routine developed for the Hinode/EIS mission (you must have the EIS branch in your Solarsoft distribution). The key step is to format a SPICE wavelength window into a "​windata"​ structure using the routine spice\_getwindata. An example call is: 
 + 
 +''​ 
 +IDL> wd=spice\_getwindata(file) ​  ; choose a wavelength window \\ 
 +IDL> eis\_fit\_template,​wd,​template ​ ; create a template for the fit\\ 
 +IDL> eis\_auto\_fit,​wd,​fit,​template=template\\ 
 +IDL> eis\_fit\_viewer,​wd,​fit 
 +''​ 
 + 
 +The routine eis\_fit\_viewer is a GUI-based routine for browsing the fit results. More details on the eis\_auto\_fit suite of routines are available in [[https://​doi.org/​10.5281/​zenodo.6339584 
 +|EIS Software Note 15]]. 
 + 
 + 
 +The EIS software ​enable a number of operations to be performed on windata structures, as described in [[https://​sohoftp.nascom.nasa.gov/​solarsoft/​hinode/​eis/​doc/​eis_notes/​21_WINDATA/​eis_swnote_21.pdf|EIS Software Note 21]]. For example, eis\_bin\_windata allows spatial binning of the rasters. 
 + 
 +If you have problems running the EIS software on SPICE data, please contact [[https://​science.gsfc.nasa.gov/​sed/​bio/​peter.r.young|Dr. Peter Young]]. 
 + 
 +===== Fitting a Gaussian to a spatially-averaged spectrum ===== 
 + 
 +In this scenario, a spatial region is selected in the raster, perhaps a bright point or a loop, and the spectra are averaged over this region to produce a single, 1D spectrum. Gaussians are then fit to this spectrum. The procedure is as follows: 
 + 
 +''​ 
 +IDL> map=spice\_make\_image(file,​770.4) ​  ; for Ne VIII 770.4\\ 
 +IDL> mask=pixel\_mask\_gui(map) ​  ; GUI routine for selecting pixel mask\\ 
 +IDL> spec=spice\_mask\_spectrum(file,​mask) ​  ; create averaged spectrum\\ 
 +IDL> spec\_gauss\_spice,​ spec    ; GUI routine for fitting Gaussians 
 +''​ 
 + 
 +These routines are modified from routines originally written for Hinode/EIS. Further details can be found in [[https://​doi.org/​10.5281/​zenodo.6339584 
 +|EIS Software Note 15]]. 
 + 
 +===== Using an auto_fit template for mask spectra ===== 
 + 
 +The fitting templates created for eis\_auto\_fit can be useful for fitting mask spectra as well. First create the template for the window you are interested in: 
 + 
 +''​ 
 +IDL> wd=spice\_getwindata(file)\\ 
 +IDL> eis\_fit\_template,​wd,​template \\ 
 +''​ 
 + 
 +Now create the mask spectrum using the procedure described above. You can then apply the template to the mask spectrum by doing: 
 + 
 +''​ 
 +IDL> fit=spice\_mask\_auto\_fit(wd,​spec,​template,​chi2=chi2) 
 +''​ 
 + 
 +The output structure ''​fit''​ contains the fit results. The reduced chi-square value for the fit is returned in the optional output. To overplot the fit on the spectrum, do: 
 + 
 +''​ 
 +IDL> p=spice\_plot\_mask\_auto\_fit(spec,​fit) 
 +''​ 
  
  
data/line_fitting_idl.1731353453.txt.gz · Last modified: 2024/11/11 20:30 by Peter Young