This PR integrates EmissionModels into the imaging functionality.
Previously (and as demonstrated in the LRD pipeline), the imaging hadn't caught up to the rest of the package leading to label mismatches between photometry/spectra and the images. With this PR the imaging now ingests an EmissionModel and produces images following the same rules all other emissions do.
Since the imaging can be expensive, unlike the spectra, imaging has a limit_to argument that can take a single model label and only produce images for that spectra type.
In addition to the imaging functionality, this PR consolidates a lot of duplicated functionality across different components into a Component abstract base class. This was spurred on by the fact the imaging methods would have had to be introduced in multiple places but now only needs wrappers on a BaseGalaxy and a Component (along with all other common attributes and methods.
Issue Type
Enhancement
Checklist
[x] I have read the [CONTRIBUTING.md]() -->
[x] I have added docstrings to all methods
[x] I have added sufficient comments to all lines
[x] I have made corresponding changes to the documentation
[x] My changes generate no pep8 errors
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
This PR integrates
EmissionModels
into the imaging functionality.Previously (and as demonstrated in the LRD pipeline), the imaging hadn't caught up to the rest of the package leading to label mismatches between photometry/spectra and the images. With this PR the imaging now ingests an
EmissionModel
and produces images following the same rules all other emissions do.Since the imaging can be expensive, unlike the spectra, imaging has a
limit_to
argument that can take a single model label and only produce images for that spectra type.In addition to the imaging functionality, this PR consolidates a lot of duplicated functionality across different components into a
Component
abstract base class. This was spurred on by the fact the imaging methods would have had to be introduced in multiple places but now only needs wrappers on aBaseGalaxy
and aComponent
(along with all other common attributes and methods.Issue Type
Checklist