A Python package to stack faint galaxy images and prepare them for SED analysis
Project description
Stacked SEDs
A Python package for stacking faint galaxy images from multiple broadband filters and preparing them for Spectral Energy Distribution (SED) analysis.
Key Features
- Galaxy Image Stacking: Robust stacking of hundreds of faint galaxy cutouts using trimmed mean statistics
- Error Propagation: Automatic calculation of uncertainty maps using Median Absolute Deviation (MAD)
- Radial Photometry: Azimuthally averaged surface brightness profiles with background subtraction
- Publication-Ready Plots: Automated generation of multi-filter comparison plots
- Command-Line Tools: Simple
sed-stackandsed-photomcommands for easy workflow execution
Installation
PyPI (Recommended)
pip install stacked-seds
Development Installation
For contributors or to get the latest features:
git clone https://github.com/ryantrainor/stacked-seds.git
cd stacked-seds
pip install -e ".[dev]"
Verify Your Installation
# Test command-line tools
sed-stack --help
sed-photom --help
# Test Python imports
python -c "import stacked_seds; print(f'Successfully installed version {stacked_seds.__version__}')"
Requirements
- Python ≥ 3.8
- NumPy ≥ 1.20.0
- SciPy ≥ 1.7.0
- Astropy ≥ 5.0.0
- Matplotlib ≥ 3.5.0
- PhotoUtils ≥ 1.5.0
All dependencies are automatically installed with pip.
Quick Start
Basic Usage
# 1. Create configuration file
cp config/params.yml my_config.yml
# 2. Edit my_config.yml with your data paths
# 3. Run stacking workflow
sed-stack my_config.yml
sed-photom my_config.yml
Python API Example
from stacked_seds import stacking, photometry
# Load and stack galaxy images
pixel_coords = stacking.get_galaxy_pixel_coords("image.fits", "galaxies.reg")
stamps = stacking.create_stamps(image_data, wcs_obj, pixel_coords)
stacked_image, error_map = stacking.stack_images(stamps)
# Perform radial photometry
radii, profile, errors = photometry.get_radial_profile(stacked_image, center)
Documentation
- Full Documentation: https://stacked-seds.readthedocs.io/
- API Reference: API Documentation
- Tutorial: Getting Started Guide
- Configuration Guide: Configuration Examples
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Setup
git clone https://github.com/ryantrainor/stacked-seds.git
cd stacked-seds
pip install -e ".[dev]"
make test
Code Quality
This project uses modern Python development tools:
- Black for code formatting
- flake8 for linting
- pytest for testing
- GitHub Actions for CI/CD
# Run all quality checks
make check
# Format code
make format
# Run tests
make test
Citation
If you use this software in your research, please cite:
@software{stacked_seds,
title={Stacked SEDs: Galaxy Image Stacking and Photometry},
author={Abraham, O. and Chapman, C. and Garcia, E. and Trainor, R.},
year={2025},
url={https://github.com/ryantrainor/stacked-seds},
doi={10.5281/zenodo.XXXXXX}
}
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: ryan.trainor@fandm.edu
Acknowledgments
This project was developed at Franklin & Marshall College. We thank the astronomy community for their valuable feedback and contributions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file stacked_seds-1.0.1.tar.gz.
File metadata
- Download URL: stacked_seds-1.0.1.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
787a50f10f4afa6f5d65d49819cd83722103f392e670f5bd2dbeaedfcfa280a8
|
|
| MD5 |
24e0a55217da781868425eb69229d627
|
|
| BLAKE2b-256 |
1a8b2b966ab7cfff8d73e605626d80d6dcbf29803f1fce86b8608145dd402015
|
File details
Details for the file stacked_seds-1.0.1-py3-none-any.whl.
File metadata
- Download URL: stacked_seds-1.0.1-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8143ede717e42b28550fadb2449da9882f803df5e541bcc1fa333aa28622cd56
|
|
| MD5 |
d28bf1704ce00f2c7ac730eb6468b424
|
|
| BLAKE2b-256 |
3cea601eb150db576384d55d8b80315f36275f76013c8eba542342f0b9e861ab
|