ENIIGMA

Introduction

ENIIGMA is a Python code for the d(E)compositio(N) of (I)nfrared (I)ce spectra using (G)enetic (M)odelling (A)lgorithm.

An internal library containing several infrared spectra of ices data taken from public databases is used to decompose the input spectra.

The genetic algorithm module run the Pyevolve Python package and give the global minimum solution for the spectral decomposition after several generations. More about Pyevolve.

Once the ENIIGMA code has finished the spectral decomposition, a statistical can be performed to calculate: 1. the confidence interval, 2. the ice column density, and 3. the degeneracy using pie chart and histograms.

Other functionalities of the ENIIGMA code regarding the spectral continuum calculation by a polynomial and blackbody fitting.

Check out the paper: Rocha et al. (2021)


Features:

The ENIIGMA code is focused on the spectral decomposition of the observational IR spectra containing ice absorption features. So far, the Spitzer and VLT/ISAAC spectra have been successfully tested. In this regard, this code will be useful to provide an unbiased analysis of the upcoming James Webb Space Telescope - JWST data.

SVS4-9 YSO after spectral decomposition with ENIIGMA code


Genetic Algorithm evolution of the optimal combination


The ENIIGMA code documentation and installation procedure is available in

https://eniigma-fitting-tool.readthedocs.io