# Dense Basis SED fitting
An implementation of the Dense Basis method tailored to SED fitting, in particular, to the task of recovering accurate star formation history (SFH) information from galaxy spectral energy distributions (SEDs). The current code is being adapted from its original use-case (simultaneously fitting specific large catalogs of galaxies) to being a general purpose SED fitting code and acting as a module to compress and decompress SFHs.
As such, it is currently in an beta phase, where existing modules are being improved upon and crash-tested and thorough documentation is being written. If you are interested in using, testing or extending the repository, please shoot me an email.
### Installation and usage:
To use the package, clone the repository and run python setup.py install within the dense_basis folder. More detailed intstructions can be found at [dense-basis.readthedocs.io](https://dense-basis.readthedocs.io).
Documentation on usage and basic tutorials can also be found at [dense-basis.readthedocs.io](https://dense-basis.readthedocs.io).
A good place to get started is [here](https://github.com/kartheikiyer/dense_basis/blob/master/docs/tutorials/getting_started.ipynb).
References: - [Iyer & Gawiser (2017)](https://iopscience.iop.org/article/10.3847/1538-4357/aa63f0/meta) - [Iyer et al. (2019)](https://iopscience.iop.org/article/10.3847/1538-4357/ab2052/meta)
Contact: - kartheik.iyer@dunlap.utoronto.ca
### Changelog
v.0.1.8 - added plotting functions in the SedFit() class for posterior spectra and SFHs - added the dynamic_decoupling flag for the sSFR priors, which automatically sets the timescale on which SFR decoupling occurs (if invoked) to scale with redshift. - fixed a bug in the ‘sSFRlognormal’ sampling of the priors. - added parallelization using MultiPool from [schwimmbad](https://schwimmbad.readthedocs.io/en/latest/_modules/schwimmbad/multiprocessing.html). - pregrid generation can now be parallelized using the generate_atlas_in_parallel_zgrid() command. - changed the default value of decouple_sfr_time in tuple_to_sfh() to avoid a low-z error
v.0.1.7 - added arguments in makespec() to return spectra splined to an input wavelength array - added dynamic_norm argument to sed fitter (calculates free norm during fitting for better accuracy, but slower)
v.0.1.6 - added a class for the SED fitter - added the plot_atlas_priors() function - overhauled atlas generation with the makespec() function for self-consistency - added some bugfixes to the gp_sfh module for high sSFR values
v.0.1.5 - added basic MCMC support with emcee in the main repo instead of dense_basis_toolbelt
v.0.1.4 - The FSPS/python-FSPS requirement is no longer necessary, if a user requires only the GP-SFH module. - added more options to SFR sampling - flat in SFR, sSFR or lognormal in sSFR. removed the separate sample_sSFR_prior option - added option for tx_alpha sampling from IllustrisTNG (0<z<6, Nparam<10) - removed the squeeze_tx option - this can be effectively implemented with a larger value for the concentration parameter - implemented rough mass-metallicity prior - implemented flat and exponential dust priors for the Calzetti law, and a rough implementaion of the CF00 law using priors from Pacifici+16 - removed sample_all_params_safesSFR, and the safedraw=True in make_N_prior_draws - removed the min SFR in the sample_sfh_tuple function - updated the GP tuple_to_sfh module to decouple SFR if necessary. - overhauled the generate_atlas() and load_atlas() functions, - shifted storage of precomputed pregrids/atlas(es) from scipy.io to hickle
Metadata
Release files for dense-basis 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dense_basis-0.1.9.tar.gz | 37.0 kB | Without provenance | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dense_basis-0.1.9-py3.9.egg | Legacy Egg format | - | - | Details |
| dense_basis-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 116.9 MB
Release files / dense_basis-0.1.9.tar.gz
| Download URL | dense_basis-0.1.9.tar.gz |
|---|---|
| Size | 37.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
62cdda7fb55a95a68f769150ce79752117df35409130294a2708f87b48ddd241
|
|
BLAKE2b-256 checksum How to use checksums |
65bd35b4ecb9b42152b0539cf585b821a193f93fd55638bb7bcea99de930a73b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.7
|
Release files / dense_basis-0.1.9-py3.9.egg
| Download URL | dense_basis-0.1.9-py3.9.egg |
|---|---|
| Size | 58.4 MB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
dd31efe7a1ffb36cd327d7fc2654d2a3bebed9da4e0fccb2934d4fcbea8ea53f
|
|
BLAKE2b-256 checksum How to use checksums |
5d607e87d281901d83dbc8336ac00569b20d76d03212d85d27c96df6ab7f7f49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.7
|
Release files / dense_basis-0.1.9-py3-none-any.whl
| Download URL | dense_basis-0.1.9-py3-none-any.whl |
|---|---|
| Size | 58.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1a7754dc5e7812e9aa3298ffabe9736a84cb9d4a4c66d9fe31ba4edc401ff0dd
|
|
BLAKE2b-256 checksum How to use checksums |
53b0bf7aab32d3faec9ef3c6c3ff62cbbafb08dd94f7208ed9f707b6891b0aca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.9.7
|
Security for dense-basis 0.1.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.