"""
Box module.
"""
[docs]def create_box(boxtype,
**kwargs):
"""
Returns
-------
species.core.box
"""
if boxtype == 'colormag':
box = ColorMagBox()
box.library = kwargs['library']
box.object_type = kwargs['object_type']
box.filters_color = kwargs['filters_color']
box.filter_mag = kwargs['filter_mag']
box.color = kwargs['color']
box.magnitude = kwargs['magnitude']
box.sptype = kwargs['sptype']
if boxtype == 'colorcolor':
box = ColorColorBox()
box.library = kwargs['library']
box.object_type = kwargs['object_type']
box.filters = kwargs['filters']
box.color1 = kwargs['color1']
box.color2 = kwargs['color2']
box.sptype = kwargs['sptype']
elif boxtype == 'isochrone':
box = IsochroneBox()
box.model = kwargs['model']
box.filters_color = kwargs['filters_color']
box.filter_mag = kwargs['filter_mag']
box.color = kwargs['color']
box.magnitude = kwargs['magnitude']
box.teff = kwargs['teff']
box.logg = kwargs['logg']
box.masses = kwargs['masses']
elif boxtype == 'model':
box = ModelBox()
box.model = kwargs['model']
box.wavelength = kwargs['wavelength']
box.flux = kwargs['flux']
box.parameters = kwargs['parameters']
box.quantity = kwargs['quantity']
elif boxtype == 'object':
box = ObjectBox()
box.name = kwargs['name']
box.filters = kwargs['filters']
box.magnitude = kwargs['magnitude']
box.flux = kwargs['flux']
box.distance = kwargs['distance']
box.spectrum = kwargs['spectrum']
elif boxtype == 'photometry':
box = PhotometryBox()
box.name = kwargs['name']
box.sptype = kwargs['sptype']
box.wavelength = kwargs['wavelength']
box.flux = kwargs['flux']
box.app_mag = kwargs['app_mag']
box.abs_mag = kwargs['abs_mag']
box.filter_name = kwargs['filter_name']
elif boxtype == 'residuals':
box = ResidualsBox()
box.name = kwargs['name']
box.photometry = kwargs['photometry']
box.spectrum = kwargs['spectrum']
elif boxtype == 'samples':
box = SamplesBox()
box.spectrum = kwargs['spectrum']
box.parameters = kwargs['parameters']
box.samples = kwargs['samples']
box.prob_sample = kwargs['prob_sample']
box.median_sample = kwargs['median_sample']
elif boxtype == 'spectrum':
box = SpectrumBox()
box.spectrum = kwargs['spectrum']
box.wavelength = kwargs['wavelength']
box.flux = kwargs['flux']
box.error = kwargs['error']
box.name = kwargs['name']
if 'simbad' in kwargs:
box.simbad = kwargs['simbad']
if 'sptype' in kwargs:
box.sptype = kwargs['sptype']
if 'distance' in kwargs:
box.distance = kwargs['distance']
elif boxtype == 'synphot':
box = SynphotBox()
box.name = kwargs['name']
box.flux = kwargs['flux']
return box
[docs]class Box:
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
[docs] def open_box(self):
"""
Returns
-------
NoneType
None
"""
print(f'Opening {type(self).__name__}...')
for key, value in self.__dict__.items():
print(f'{key} = {value}')
[docs]class ColorMagBox(Box):
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
self.library = None
self.object_type = None
self.filters_color = None
self.filter_mag = None
self.color = None
self.magnitude = None
self.sptype = None
[docs]class ColorColorBox(Box):
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
self.library = None
self.object_type = None
self.filters = None
self.color1 = None
self.color2 = None
self.sptype = None
[docs]class IsochroneBox(Box):
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
self.model = None
self.filters_color = None
self.filter_mag = None
self.color = None
self.magnitude = None
self.teff = None
self.logg = None
self.masses = None
[docs]class ModelBox(Box):
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
self.model = None
self.type = None
self.wavelength = None
self.flux = None
self.parameters = None
self.quantity = None
[docs]class ObjectBox(Box):
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
self.name = None
self.filters = None
self.magnitude = None
self.flux = None
self.distance = None
self.spectrum = None
[docs]class PhotometryBox(Box):
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
self.name = None
self.sptype = None
self.wavelength = None
self.flux = None
self.app_mag = None
self.abs_mag = None
self.filter_name = None
[docs]class ResidualsBox(Box):
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
self.name = None
self.photometry = None
self.spectrum = None
[docs]class SamplesBox(Box):
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
self.spectrum = None
self.parameters = None
self.samples = None
self.prob_sample = None
self.median_sample = None
[docs]class SpectrumBox(Box):
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
self.spectrum = None
self.wavelength = None
self.flux = None
self.error = None
self.name = None
self.simbad = None
self.sptype = None
self.distance = None
[docs]class SynphotBox(Box):
"""
Text
"""
def __init__(self):
"""
Returns
-------
NoneType
None
"""
self.name = None
self.flux = None