Example extension Module
An example Sculptor Extension
This module defines models, masks and analysis routines as an example to create your own Sculptor extension.
At first we define the basic model functions and their setups. The setup functions initialize LMFIT models and parameters using the basic model functions defined here.
When youy define a mask you need to specify the name under which it will appear in the Sculptor GUI, the rest_frame keyword and the mask ranges to that will be included in the SpecModel masking or excluded in the SpecFit masking. With rest_frame=True the mask regions will automatically be adjusted for the object redshift specified in the SpecFit class. With rest-frame=False the mask will not be redshifted.
- sculptor_extensions.my_extension.model_func_dict = {'my_model': <function my_model>}
List of model names
- Type
list of str
- sculptor_extensions.my_extension.model_func_list = ['My Model']
Dictionary of model setup function names
- Type
dict
- sculptor_extensions.my_extension.model_setup_list = [<function setup_my_model>]
Dictionary of mask presets
- Type
dict
- sculptor_extensions.my_extension.my_mask = {'mask_ranges': [[1265, 1290], [1340, 1375], [1425, 1470], [1680, 1705], [1905, 2050]], 'name': 'My mask', 'rest_frame': True}
Dictionary of model functions
- Type
dict
- sculptor_extensions.my_extension.my_model(x, z, amp, cen, fwhm_km_s, shift_km_s)
Gaussian line model as an example for a model
The central wavelength of the Gaussian line model is determined by the central wavelength cen, the redshift, z, and the velocity shift shift_km_s (in km/s). These parameters are degenerate in a line fit and it is adviseable to fix two of them (to predetermined values e.g., the redshift or the central wavelength).
The width of the line is set by the FWHM in km/s.
The Gaussian is not normalized.
- Parameters
x (np.ndarray) – Dispersion of the continuum model
z (float) – Redshift
amp (float) – Amplitude of the Gaussian
cen (float) – Central wavelength
fwhm_km_s (float) – FWHM of the Gaussian in km/s
shift_km_s (float) – Doppler velocity shift of the central wavelength
- Returns
Gaussian line model
- Return type
np.ndarray
- sculptor_extensions.my_extension.setup_my_model(prefix, **kwargs)
Example of a model setup function for the Gaussian emission line model.
The ‘prefix’ argument needs to be included. You can use a variety of keyword arguments as you can see below.
- Parameters
prefix (string) – Model prefix
kwargs – Keyword arguments
- Returns
LMFIT model and parameters
- Return type
(lmfit.Model, lmfit.Parameters)