List all supported COOLEST types and profiles#

In this simple notebook we print out some useful information about the supported options of the coolest.template submodule.

author: @aymgal

last update: 01/06/23

from coolest.template.classes.mass_light_model import MassModel, LightModel
from coolest.template import info
from coolest.template.json import JSONSerializer

from pprint import pprint

List of various component types#

The types always reflect the Python class name

pprint(info.all_supported_choices)
{'lensing_entities': ['Galaxy', 'MassField'],
 'light_profiles': ['Sersic',
                    'Chameleon',
                    'Uniform',
                    'Shapelets',
                    'LensedPS',
                    'PixelatedRegularGrid',
                    'IrregularGrid'],
 'likelihoods': ['imaging_data',
                 'time_delays',
                 'magnification_ratios',
                 'image_plane_position',
                 'source_plane_position'],
 'mass_profiles': ['SIE',
                   'NIE',
                   'PEMD',
                   'SPEMD',
                   'NFW',
                   'Chameleon',
                   'ExternalShear',
                   'PixelatedRegularGridPotential'],
 'modes': ['MOCK', 'MAP', 'DOC'],
 'noise_types': ['NoiseMap',
                 'NoiseRealization',
                 'UniformGaussianNoise',
                 'DrizzledNoise',
                 'InstrumentalNoise'],
 'prior_types': ['GaussianPrior', 'LogNormalPrior', 'UniformPrior'],
 'psf_types': ['PixelatedPSF', 'GaussianPSF']}

List of support model profiles#

Mass profiles in template submodule#

all_mass_profiles = MassModel(*info.all_supported_choices['mass_profiles'])
pprint(all_mass_profiles)
[<coolest.template.classes.profiles.mass.SIE object at 0x119befb80>,
 <coolest.template.classes.profiles.mass.NIE object at 0x106375760>,
 <coolest.template.classes.profiles.mass.PEMD object at 0x119bfc640>,
 <coolest.template.classes.profiles.mass.SPEMD object at 0x119bf9100>,
 <coolest.template.classes.profiles.mass.NFW object at 0x119bf9d30>,
 <coolest.template.classes.profiles.mass.Chameleon object at 0x119bff7f0>,
 <coolest.template.classes.profiles.mass.ExternalShear object at 0x119c02460>,
 <coolest.template.classes.profiles.mass.PixelatedRegularGridPotential object at 0x119c02820>]

Light profiles in template submodule#

all_light_profiles = LightModel(*info.all_supported_choices['light_profiles'])
pprint(all_light_profiles)
[<coolest.template.classes.profiles.light.Sersic object at 0x119c02eb0>,
 <coolest.template.classes.profiles.light.Chameleon object at 0x119c08580>,
 <coolest.template.classes.profiles.light.Uniform object at 0x119c0a1f0>,
 <coolest.template.classes.profiles.light.Shapelets object at 0x119c0a400>,
 <coolest.template.classes.profiles.light.LensedPS object at 0x119c0abb0>,
 <coolest.template.classes.profiles.light.PixelatedRegularGrid object at 0x119c0e160>,
 <coolest.template.classes.profiles.light.IrregularGrid object at 0x119c0e370>]