PAHFIT

pahfit is a python package providing a decomposition model for astronomical infrared spectra, focusing on dust and gas emission features from the interstellar medium.

The original versions of PAHFIT (v1.x) were written in IDL and focused mainly on Spitzer/IRS spectroscopic observations. This python-based versions (>=v2.0) will provide expanded capabilities including more instrument (e.g., AKARI and JWST) and a more flexible modeling framework suitable for modeling a wider range of astrophysical sources.

For details for the IDL version of PAHFIT see Smith, J.D.T., Draine B.T., et al., 2007, ApJ, 656, 770.

This package is potentially an astropy affiliated package and uses the astropy.modeling framework.

User Documentation

Installation

Repository

GitHub: pahfit

Quick Start

Text, plots, and (potentially) code to quickly get a user fitting a spectrum.

Reporting Issues

If you have found a bug in pahfit please report it by creating a new issue on the pahfit GitHub issue tracker.

Please include an example that demonstrates the issue sufficiently so that the developers can reproduce and fix the problem.

Contributing

Like the Astropy project, pahfit is made both by and for its users. We accept contributions at all levels, spanning the gamut from fixing a typo in the documentation to developing a major new feature. We welcome contributors who will abide by the Python Software Foundation Code of Conduct.

pahfit follows the same workflow and coding guidelines as Astropy. The following pages will help you get started with contributing fixes, code, or documentation (no git or GitHub experience necessary):

For the complete list of contributors please see the pahfit contributors page on Github.

Reference API

Base class for PAHFIT

pahfit.base Module

Classes

PAHFITBase()

Old implementation.

Class Inheritance Diagram

digraph inheritance7fe39b754c { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "PAHFITBase" [URL="api/pahfit.base.PAHFITBase.html#pahfit.base.PAHFITBase",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Old implementation. Some functions are still used by the new Model"]; }

Component models not provided by astropy.models.

pahfit.component_models Module

Classes

BlackBody1D(amplitude, temperature, **kwargs)

A blackbody component.

ModifiedBlackBody1D(amplitude, temperature, ...)

Modified blackbody with an emissivity propoportional to nu^2

S07_attenuation([tau_sil])

Smith, Draine, et al. (2007) kvt attenuation model calculation.

att_Drude1D(tau, x_0, fwhm, **kwargs)

Attenuation components that can be parameterized by Drude profiles.

Class Inheritance Diagram

digraph inheritance45ee69bf03 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "BlackBody1D" [URL="api/pahfit.component_models.BlackBody1D.html#pahfit.component_models.BlackBody1D",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A blackbody component."]; "Fittable1DModel" -> "BlackBody1D" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Fittable1DModel" [URL="https://docs.astropy.org/en/stable/api/astropy.modeling.Fittable1DModel.html#astropy.modeling.Fittable1DModel",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for one-dimensional fittable models."]; "FittableModel" -> "Fittable1DModel" [arrowsize=0.5,style="setlinewidth(0.5)"]; "FittableModel" [URL="https://docs.astropy.org/en/stable/api/astropy.modeling.FittableModel.html#astropy.modeling.FittableModel",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for models that can be fitted using the built-in fitting"]; "Model" -> "FittableModel" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Model" [URL="https://docs.astropy.org/en/stable/api/astropy.modeling.Model.html#astropy.modeling.Model",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Base class for all models."]; "ModifiedBlackBody1D" [URL="api/pahfit.component_models.ModifiedBlackBody1D.html#pahfit.component_models.ModifiedBlackBody1D",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Modified blackbody with an emissivity propoportional to nu^2"]; "BlackBody1D" -> "ModifiedBlackBody1D" [arrowsize=0.5,style="setlinewidth(0.5)"]; "S07_attenuation" [URL="api/pahfit.component_models.S07_attenuation.html#pahfit.component_models.S07_attenuation",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Smith, Draine, et al. (2007) kvt attenuation model calculation."]; "Fittable1DModel" -> "S07_attenuation" [arrowsize=0.5,style="setlinewidth(0.5)"]; "att_Drude1D" [URL="api/pahfit.component_models.att_Drude1D.html#pahfit.component_models.att_Drude1D",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Attenuation components that can be parameterized by Drude profiles."]; "Fittable1DModel" -> "att_Drude1D" [arrowsize=0.5,style="setlinewidth(0.5)"]; }