# MapLine 2.0.0
## Description
**MapLine** is an emission line fitting software optimized for active galactic nuclei (AGN) spectra, whether one-dimensional or obtained through integral field spectroscopy (IFS). Its main purpose is to characterize the broad and narrow components of various emission lines in the optical range. It allows modifying aspects such as the number of components to fit, the lines to consider, the flux profile (Gaussian, double Gaussian, Lorentzian, skew), the spectral fitting range, the input/output file type, continuum extraction, among others. The software is written in Python and has a modular structure, making it easy to customize and adapt to different analysis needs.
## Installation
First, verify the Python version installed on your system. MapLine requires Python 3.12.3 or higher.
It is recommended to create a virtual environment for installing MapLine and the necessary dependencies. This allows better control of the environment and avoids conflicts with other installed packages. You can create a virtual environment with the following commands:
```bash
# Create a folder for virtual environments
mkdir .venvs
# Create a virtual environment named 'MyEnv'
python -m venv .venvs/MyEnv
# Activate the virtual environment
source .venvs/MyEnv/bin/activate
```
Once the virtual environment is activated, you can install MapLine with the following command:
```bash
pip install mapline
```
During the installation, all necessary dependencies will be installed.
## Project Structure
MapLine is composed of different modules that contain the functions needed for emission line fitting:
- **line_fit.py**: Main module that contains the fitting functions for one-dimensional spectra (`line_fit_single`) and data cubes (`line_fit`).
- **mcmc.py**: Implements the Monte Carlo – Markov Chain (MCMC) algorithm to optimize emission line fitting using the `emcee` package.
- **models.py**: Contains the emission line models used in the fitting, such as `emission_line_model` and `line_model`.
- **priors.py**: Provides statistical functions to estimate the likelihood and initial parameter values for fitting.
- **tools.py**: Includes additional tools such as reading `.fits` files and handling configuration files.
## Usage
MapLine is run from the command line using the `run_mapline` command. The basic execution structure is as follows:
```bash
run_mapline [options]
```
Some available commands are:
- `run`: Runs MapLine to fit emission lines.
- `runoned`: Gets the spectrum model.
### Options
| Option | Description |
|-------------------|----------------------------------------------|
| `-g, --config_file` | Configuration file name. |
| `-n, --name` | Data cube name. |
| `-o, --name_out` | Output file name. |
| `-m, --mask` | Mask file name. |
| `-p, --path` | Path to the data cube. |
| `-y, --path_out` | Path to the output files. |
| `-c, --ncpus` | Number of CPUs to use. |
| `-k, --kskew` | Enable skew line mode. |
| `-t, --test` | Test mode. |
| `-e, --error` | Calculate error vector. |
| `-z, --zt` | Object redshift. |
For example, to run MapLine using a configuration file named `config.yml`, using 6 CPUs, the double Gaussian model, and a line configuration file named `line_prop.yml`, the command would be:
```bash
run_mapline -g config.yml -c 6 -d -q line_prop.yml
```
All these options, along with additional ones, can also be specified in the configuration file.
## Configuration Files
MapLine allows defining several parameters through configuration files, such as `config.yml` and `line_prop.yml`. These files allow full customization of the settings and options of the program to meet the user's specific needs.
## Contributions
Contributions to MapLine are welcome. You can submit your suggestions, bug reports, or improvements through the official GitHub repository.
## License
MapLine is distributed under the MIT license. You are free to use, modify, and distribute it, as long as proper attribution is maintained.
## Español
## Descripción
**MapLine** es un software de ajuste de líneas de emisión optimizado para espectros de núcleos activos de galaxias (AGN), ya sean unidimensionales o obtenidos por espectroscopía de campo integral (IFS). Su principal propósito es caracterizar los componentes anchos y angostos de varias líneas de emisión en el rango óptico. Permite modificar aspectos como el número de componentes a ajustar, las líneas a considerar, el perfil de flujo (gaussiano, doble gaussiano, lorentziano, skew), el rango espectral de ajuste, el tipo de archivo de entrada/salida, la extracción del continuo, entre otros. El software está escrito en Python y tiene una estructura modular, lo cual facilita su personalización y adaptación a diferentes necesidades de análisis.
## Instalación
Primero, verifica la versión de Python instalada en tu equipo. MapLine requiere Python 3.12.3 o superior.
Es recomendable crear un entorno virtual para la instalación de MapLine y las dependencias necesarias. Esto permite un mejor control del entorno y evita conflictos con otros paquetes instalados. Puedes crear un entorno virtual con los siguientes comandos:
```bash
# Crear una carpeta para entornos virtuales
mkdir .venvs
# Crear un entorno virtual llamado 'MyEnv'
python -m venv .venvs/MyEnv
# Activar el entorno virtual
source .venvs/MyEnv/bin/activate
```
Una vez activado el entorno virtual, puedes instalar MapLine con el siguiente comando:
```bash
pip install mapline
```
Durante la instalación se instalarán todas las dependencias necesarias.
## Estructura del Proyecto
MapLine está compuesto por distintos módulos que contienen las funciones necesarias para los ajustes de líneas de emisión:
- **line_fit.py**: Módulo principal que contiene las funciones de ajuste para espectros en una dimensión (`line_fit_single`) y para cubos de datos (`line_fit`).
- **mcmc.py**: Implementa el algoritmo Monte Carlo – Markov Chain (MCMC) para optimizar los ajustes de líneas de emisión usando la paquetería `emcee`.
- **models.py**: Contiene los modelos de líneas de emisión utilizados en los ajustes, como `emission_line_model` y `line_model`.
- **priors.py**: Proporciona funciones estadísticas para estimar la confiabilidad (likelihood) y los valores iniciales de los parámetros de ajuste.
- **tools.py**: Incluye herramientas adicionales como la lectura de archivos en formato `.fits` y manejo de archivos de configuración.
## Uso
MapLine se ejecuta desde la línea de comandos utilizando la instrucción `run_mapline`. La estructura básica de ejecución es la siguiente:
```bash
run_mapline [opciones]
```
Algunos de los comandos disponibles son:
- `run`: Ejecuta MapLine para ajustar líneas de emisión.
- `runoned`: Obtiene el modelo del espectro.
### Opciones
| Opción | Descripción |
|------------------|----------------------------------------------|
| `-g, --config_file` | Nombre del archivo de configuración. |
| `-n, --name` | Nombre del cubo de datos. |
| `-o, --name_out` | Nombre de los archivos de salida. |
| `-m, --mask` | Nombre del archivo de 'máscara'. |
| `-p, --path` | Ruta al cubo de datos. |
| `-y, --path_out` | Ruta de los archivos de salida. |
| `-c, --ncpus` | Número de CPUs a utilizar. |
| `-k, --kskew` | Activar el modo skew line. |
| `-t, --test` | Modo de prueba. |
| `-e, --error` | Calcular el vector de errores. |
| `-z, --zt` | Redshift del objeto. |
Por ejemplo, para ejecutar MapLine usando un archivo de configuración llamado `config.yml`, utilizando 6 CPUs, el modelo de doble gaussiana, y un archivo de configuración de líneas de emisión llamado `line_prop.yml`, el comando sería:
```bash
run_mapline -g config.yml -c 6 -d -q line_prop.yml
```
Todas estas opciones, junto con otras adicionales, también pueden ser especificadas en el archivo de configuración.
## Archivos de Configuración
MapLine permite definir varios parámetros a través de archivos de configuración, como `config.yml` y `line_prop.yml`. Estos archivos permiten personalizar completamente los ajustes y opciones del programa para adaptarse a las necesidades específicas del usuario.
## Contribuciones
Las contribuciones a MapLine son bienvenidas. Puedes enviar tus sugerencias, errores encontrados, o mejoras a través del repositorio oficial en GitHub.
## Licencia
MapLine está distribuido bajo la licencia MIT. Puedes usarlo, modificarlo y distribuirlo libremente siempre y cuando se mantenga la atribución correspondiente.
Raw data
{
"_id": null,
"home_page": "https://github.com/hjibarram/Map_line",
"name": "MapLine",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "galaxies",
"author": "hjibarram",
"author_email": "hjibarram@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/e5/2a/e275eabe872676065bc446acf3a6cce088d55633f2e366115d8d439abba5/mapline-2.0.0.tar.gz",
"platform": null,
"description": "# MapLine 2.0.0\n\n## Description\n\n**MapLine** is an emission line fitting software optimized for active galactic nuclei (AGN) spectra, whether one-dimensional or obtained through integral field spectroscopy (IFS). Its main purpose is to characterize the broad and narrow components of various emission lines in the optical range. It allows modifying aspects such as the number of components to fit, the lines to consider, the flux profile (Gaussian, double Gaussian, Lorentzian, skew), the spectral fitting range, the input/output file type, continuum extraction, among others. The software is written in Python and has a modular structure, making it easy to customize and adapt to different analysis needs.\n\n## Installation\n\nFirst, verify the Python version installed on your system. MapLine requires Python 3.12.3 or higher.\n\nIt is recommended to create a virtual environment for installing MapLine and the necessary dependencies. This allows better control of the environment and avoids conflicts with other installed packages. You can create a virtual environment with the following commands:\n\n```bash\n# Create a folder for virtual environments\nmkdir .venvs\n\n# Create a virtual environment named 'MyEnv'\npython -m venv .venvs/MyEnv\n\n# Activate the virtual environment\nsource .venvs/MyEnv/bin/activate\n```\n\nOnce the virtual environment is activated, you can install MapLine with the following command:\n\n```bash\npip install mapline\n```\n\nDuring the installation, all necessary dependencies will be installed.\n\n## Project Structure\n\nMapLine is composed of different modules that contain the functions needed for emission line fitting:\n\n- **line_fit.py**: Main module that contains the fitting functions for one-dimensional spectra (`line_fit_single`) and data cubes (`line_fit`).\n- **mcmc.py**: Implements the Monte Carlo \u2013 Markov Chain (MCMC) algorithm to optimize emission line fitting using the `emcee` package.\n- **models.py**: Contains the emission line models used in the fitting, such as `emission_line_model` and `line_model`.\n- **priors.py**: Provides statistical functions to estimate the likelihood and initial parameter values for fitting.\n- **tools.py**: Includes additional tools such as reading `.fits` files and handling configuration files.\n\n## Usage\n\nMapLine is run from the command line using the `run_mapline` command. The basic execution structure is as follows:\n\n```bash\nrun_mapline [options]\n```\n\nSome available commands are:\n\n- `run`: Runs MapLine to fit emission lines.\n- `runoned`: Gets the spectrum model.\n\n### Options\n\n| Option | Description |\n|-------------------|----------------------------------------------|\n| `-g, --config_file` | Configuration file name. |\n| `-n, --name` | Data cube name. |\n| `-o, --name_out` | Output file name. |\n| `-m, --mask` | Mask file name. |\n| `-p, --path` | Path to the data cube. |\n| `-y, --path_out` | Path to the output files. |\n| `-c, --ncpus` | Number of CPUs to use. |\n| `-k, --kskew` | Enable skew line mode. |\n| `-t, --test` | Test mode. |\n| `-e, --error` | Calculate error vector. |\n| `-z, --zt` | Object redshift. |\n\nFor example, to run MapLine using a configuration file named `config.yml`, using 6 CPUs, the double Gaussian model, and a line configuration file named `line_prop.yml`, the command would be:\n\n```bash\nrun_mapline -g config.yml -c 6 -d -q line_prop.yml\n```\n\nAll these options, along with additional ones, can also be specified in the configuration file.\n\n## Configuration Files\n\nMapLine allows defining several parameters through configuration files, such as `config.yml` and `line_prop.yml`. These files allow full customization of the settings and options of the program to meet the user's specific needs.\n\n## Contributions\n\nContributions to MapLine are welcome. You can submit your suggestions, bug reports, or improvements through the official GitHub repository.\n\n## License\n\nMapLine is distributed under the MIT license. You are free to use, modify, and distribute it, as long as proper attribution is maintained.\n\n## Espa\u00f1ol\n## Descripci\u00f3n\n\n**MapLine** es un software de ajuste de l\u00edneas de emisi\u00f3n optimizado para espectros de n\u00facleos activos de galaxias (AGN), ya sean unidimensionales o obtenidos por espectroscop\u00eda de campo integral (IFS). Su principal prop\u00f3sito es caracterizar los componentes anchos y angostos de varias l\u00edneas de emisi\u00f3n en el rango \u00f3ptico. Permite modificar aspectos como el n\u00famero de componentes a ajustar, las l\u00edneas a considerar, el perfil de flujo (gaussiano, doble gaussiano, lorentziano, skew), el rango espectral de ajuste, el tipo de archivo de entrada/salida, la extracci\u00f3n del continuo, entre otros. El software est\u00e1 escrito en Python y tiene una estructura modular, lo cual facilita su personalizaci\u00f3n y adaptaci\u00f3n a diferentes necesidades de an\u00e1lisis.\n\n## Instalaci\u00f3n\n\nPrimero, verifica la versi\u00f3n de Python instalada en tu equipo. MapLine requiere Python 3.12.3 o superior.\n\nEs recomendable crear un entorno virtual para la instalaci\u00f3n de MapLine y las dependencias necesarias. Esto permite un mejor control del entorno y evita conflictos con otros paquetes instalados. Puedes crear un entorno virtual con los siguientes comandos:\n\n```bash\n# Crear una carpeta para entornos virtuales\nmkdir .venvs\n\n# Crear un entorno virtual llamado 'MyEnv'\npython -m venv .venvs/MyEnv\n\n# Activar el entorno virtual\nsource .venvs/MyEnv/bin/activate\n```\n\nUna vez activado el entorno virtual, puedes instalar MapLine con el siguiente comando:\n\n```bash\npip install mapline\n```\n\nDurante la instalaci\u00f3n se instalar\u00e1n todas las dependencias necesarias.\n\n## Estructura del Proyecto\n\nMapLine est\u00e1 compuesto por distintos m\u00f3dulos que contienen las funciones necesarias para los ajustes de l\u00edneas de emisi\u00f3n:\n\n- **line_fit.py**: M\u00f3dulo principal que contiene las funciones de ajuste para espectros en una dimensi\u00f3n (`line_fit_single`) y para cubos de datos (`line_fit`).\n- **mcmc.py**: Implementa el algoritmo Monte Carlo \u2013 Markov Chain (MCMC) para optimizar los ajustes de l\u00edneas de emisi\u00f3n usando la paqueter\u00eda `emcee`.\n- **models.py**: Contiene los modelos de l\u00edneas de emisi\u00f3n utilizados en los ajustes, como `emission_line_model` y `line_model`.\n- **priors.py**: Proporciona funciones estad\u00edsticas para estimar la confiabilidad (likelihood) y los valores iniciales de los par\u00e1metros de ajuste.\n- **tools.py**: Incluye herramientas adicionales como la lectura de archivos en formato `.fits` y manejo de archivos de configuraci\u00f3n.\n\n## Uso\n\nMapLine se ejecuta desde la l\u00ednea de comandos utilizando la instrucci\u00f3n `run_mapline`. La estructura b\u00e1sica de ejecuci\u00f3n es la siguiente:\n\n```bash\nrun_mapline [opciones]\n```\n\nAlgunos de los comandos disponibles son:\n\n- `run`: Ejecuta MapLine para ajustar l\u00edneas de emisi\u00f3n.\n- `runoned`: Obtiene el modelo del espectro.\n\n### Opciones\n\n| Opci\u00f3n | Descripci\u00f3n |\n|------------------|----------------------------------------------|\n| `-g, --config_file` | Nombre del archivo de configuraci\u00f3n. |\n| `-n, --name` | Nombre del cubo de datos. |\n| `-o, --name_out` | Nombre de los archivos de salida. |\n| `-m, --mask` | Nombre del archivo de 'm\u00e1scara'. |\n| `-p, --path` | Ruta al cubo de datos. |\n| `-y, --path_out` | Ruta de los archivos de salida. |\n| `-c, --ncpus` | N\u00famero de CPUs a utilizar. |\n| `-k, --kskew` | Activar el modo skew line. |\n| `-t, --test` | Modo de prueba. |\n| `-e, --error` | Calcular el vector de errores. |\n| `-z, --zt` | Redshift del objeto. |\n\nPor ejemplo, para ejecutar MapLine usando un archivo de configuraci\u00f3n llamado `config.yml`, utilizando 6 CPUs, el modelo de doble gaussiana, y un archivo de configuraci\u00f3n de l\u00edneas de emisi\u00f3n llamado `line_prop.yml`, el comando ser\u00eda:\n\n```bash\nrun_mapline -g config.yml -c 6 -d -q line_prop.yml\n```\n\nTodas estas opciones, junto con otras adicionales, tambi\u00e9n pueden ser especificadas en el archivo de configuraci\u00f3n.\n\n## Archivos de Configuraci\u00f3n\n\nMapLine permite definir varios par\u00e1metros a trav\u00e9s de archivos de configuraci\u00f3n, como `config.yml` y `line_prop.yml`. Estos archivos permiten personalizar completamente los ajustes y opciones del programa para adaptarse a las necesidades espec\u00edficas del usuario.\n\n## Contribuciones\n\nLas contribuciones a MapLine son bienvenidas. Puedes enviar tus sugerencias, errores encontrados, o mejoras a trav\u00e9s del repositorio oficial en GitHub.\n\n## Licencia\n\nMapLine est\u00e1 distribuido bajo la licencia MIT. Puedes usarlo, modificarlo y distribuirlo libremente siempre y cuando se mantenga la atribuci\u00f3n correspondiente.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python implementation of the 3D emission line fitting code",
"version": "2.0.0",
"project_urls": {
"Download": "https://github.com/hjibarram/Map_line/archive/refs/tags/v2.0.0.tar.gz",
"Homepage": "https://github.com/hjibarram/Map_line"
},
"split_keywords": [
"galaxies"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6fcb3ed8906a80db2aaca43501f537e29e1623ac0e2b26c11da4ca43ca2637ea",
"md5": "789bac9568831c79f6af48b52982fc7e",
"sha256": "ab0a107b64cbe54cdde7286eb388887b914d9bcc5e9078e826eea0a5535da9dd"
},
"downloads": -1,
"filename": "mapline-2.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "789bac9568831c79f6af48b52982fc7e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 26574,
"upload_time": "2025-08-03T21:12:48",
"upload_time_iso_8601": "2025-08-03T21:12:48.271332Z",
"url": "https://files.pythonhosted.org/packages/6f/cb/3ed8906a80db2aaca43501f537e29e1623ac0e2b26c11da4ca43ca2637ea/mapline-2.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e52ae275eabe872676065bc446acf3a6cce088d55633f2e366115d8d439abba5",
"md5": "af3c9a9210d5cf80efdc7bc0cd628c15",
"sha256": "431adfc7c78b7f91e0dde933da94e716dee79bba4cf74b323e4e1b82f2f7abf4"
},
"downloads": -1,
"filename": "mapline-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "af3c9a9210d5cf80efdc7bc0cd628c15",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 28408,
"upload_time": "2025-08-03T21:12:49",
"upload_time_iso_8601": "2025-08-03T21:12:49.165104Z",
"url": "https://files.pythonhosted.org/packages/e5/2a/e275eabe872676065bc446acf3a6cce088d55633f2e366115d8d439abba5/mapline-2.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-03 21:12:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hjibarram",
"github_project": "Map_line",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mapline"
}