This PR introduces the instrument module. This module defines an Instrument (a class for collecting together properties of a particular instrument, e.g. filters, resolution, PSF, spectroscopy wavelengths, noise, etc.), and an InstrumentCollection for collecting together Instruments.
This functionality lays the foundation for the future Survey pipeline functionality. Additionally, should the user want to use the existing lower-level functionality it enables the portability of instrument properties without carrying around a bunch of variables for each instrument.
Note that this PR moves the filters module to be a submodule of the instrument module. A bridge module has replaced the original filters module, raising a deprecation warning when imported through.
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 introduces the
instrument
module. This module defines anInstrument
(a class for collecting together properties of a particular instrument, e.g. filters, resolution, PSF, spectroscopy wavelengths, noise, etc.), and anInstrumentCollection
for collecting togetherInstruments
.This functionality lays the foundation for the future
Survey
pipeline functionality. Additionally, should the user want to use the existing lower-level functionality it enables the portability of instrument properties without carrying around a bunch of variables for each instrument.Note that this PR moves the
filters
module to be a submodule of theinstrument
module. A bridge module has replaced the originalfilters
module, raising a deprecation warning when imported through.Issue Type
Checklist