The Masks & Models Module

sculptor.masksmodels.constant(x, amp)

Constant model

Parameters
  • x (np.ndarray) – Dispersion

  • amp (float) – Amplitude of the constant model

Returns

Constant model

Return type

np.ndarray

sculptor.masksmodels.gaussian(x, amp, cen, sigma, shift)

Basic Gaussian line model

The Gaussian is not normalized.

Parameters
  • x (np.ndarray) – Dispersion

  • amp (float) – Amplitude of the Gaussian

  • cen (float) – Central dispersion of the Gaussian

  • sigma (float) – Width of the Gaussian in sigma

  • shift (float) – Shift of the Gaussian in dispersion units

Returns

Gaussian line model

Return type

np.ndarray

sculptor.masksmodels.lorentzian(x, amp, cen, gamma, shift)

Basic Lorentzian line model

Parameters
  • x (np.ndarray) – Dispersion

  • amp (float) – Amplitude of the Lorentzian

  • cen (float) – Central dispersion of the Lorentzian

  • gamma – Lorentzian Gamma parameter

  • shift (float) – Shift of the Lorentzian in dispersion units

Returns

Gaussian line model

Return type

np.ndarray

sculptor.masksmodels.mask_presets = {'My mask': {'mask_ranges': [[1265, 1290], [1340, 1375], [1425, 1470], [1680, 1705], [1905, 2050]], 'name': 'My mask', 'rest_frame': True}, 'QSO Cont.W. VP06': {'mask_ranges': [[1265, 1290], [1340, 1375], [1425, 1470], [1680, 1705], [1950, 2050]], 'name': 'QSO Cont. VP06', 'rest_frame': True}, 'QSO Continuum+FeII': {'mask_ranges': [[1350, 1360], [1445, 1465], [1690, 1705], [2480, 2650], [2925, 3090], [4200, 4230], [4435, 4700], [5100, 5535], [6000, 6250], [6800, 7000]], 'name': 'QSO Continuum+FeII', 'rest_frame': True}, 'QSO Fe+Cont.W. CIV Shen11': {'mask_ranges': [[1445, 1465], [1700, 1705]], 'name': 'QSO Cont. CIV Shen11', 'rest_frame': True}, 'QSO Fe+Cont.W. HAlpha Shen11': {'mask_ranges': [[6000, 6250], [6800, 7000]], 'name': 'QSO Cont. HAlpha Shen11', 'rest_frame': True}, 'QSO Fe+Cont.W. HBeta Shen11': {'mask_ranges': [[4435, 4700], [5100, 5535]], 'name': 'QSO Cont. HBeta Shen11', 'rest_frame': True}, 'QSO Fe+Cont.W. MgII Shen11': {'mask_ranges': [[2200, 2700], [2900, 3090]], 'name': 'QSO Cont. MgII Shen11', 'rest_frame': True}}

Automatic import of extensions into Sculptor

sculptor.masksmodels.model_func_dict = {'CIII_complex_model_func': <function CIII_complex_model_func>, 'constant': <function constant>, 'gaussian': <function gaussian>, 'line_model_gaussian': <function line_model_gaussian>, 'line_model_gaussian_nii_doublet': <function line_model_gaussian_nii_doublet>, 'line_model_gaussian_oiii_doublet': <function line_model_gaussian_oiii_doublet>, 'line_model_gaussian_sii_doublet': <function line_model_gaussian_sii_doublet>, 'lorentzian': <function lorentzian>, 'my_model': <function my_model>, 'power_law': <function power_law>, 'power_law_at_2500': <function power_law_at_2500>, 'power_law_at_2500_plus_bc': <function power_law_at_2500_plus_bc>, 'power_law_at_2500_plus_fractional_bc': <function power_law_at_2500_plus_fractional_bc>, 'template_model': <function template_model>}

Dictionary of model setup function names

Type

dict

sculptor.masksmodels.model_func_list = ['Constant (amp)', 'Power Law (amp, slope)', 'Gaussian (amp, cen, sigma, shift)', 'Lorentzian (amp, cen, gamma, shift)', 'Power Law (2500A)', 'Power Law (2500A) + BC', 'Power Law (2500A) + BC (fractional)', 'Line model Gaussian', 'SiIV (2G components)', 'CIV (2G components)', 'MgII (2G components)', 'HBeta (2G components)', 'HAlpha (2G components)', '[OIII] doublet (2G)', '[NII] doublet (2G)', '[SII] doublet (2G)', 'CIII] complex (3G components)', 'FeII template 2200-3500 (T06, cont)', 'FeII template 2200-3500 (T06, split)', 'FeII template 3700-7480 (BG92, cont)', 'FeII template 3700-5600 (BG92, split)', 'My Model']

Dictionary of model functions

Type

dict

sculptor.masksmodels.model_setup_list = [<function setup_constant>, <function setup_power_law>, <function setup_gaussian>, <function setup_lorentzian>, <function setup_power_law_at_2500>, <function setup_power_law_at_2500_plus_bc>, <function setup_power_law_at_2500_plus_fractional_bc>, <function setup_line_model_gaussian>, <function setup_line_model_SiIV_2G>, <function setup_line_model_CIV_2G>, <function setup_line_model_MgII_2G>, <function setup_line_model_Hbeta_2G>, <function setup_line_model_Halpha_2G>, <function setup_doublet_line_model_oiii>, <function setup_doublet_line_model_nii>, <function setup_doublet_line_model_sii>, <function setup_line_model_CIII_complex>, <function setup_iron_template_MgII_T06>, <function setup_split_iron_template_MgII_T06>, <function setup_iron_template_OPT_BG92>, <function setup_split_iron_template_OPT_BG92>, <function setup_my_model>]

Dictionary of mask presets

Type

dict

sculptor.masksmodels.power_law(x, amp, slope)
Parameters
  • x (np.ndarray) – Dispersion

  • amp (float) – Amplitude of the power law

  • slope (float) – Slope of the power law

Returns

Power law model

Return type

np.ndarray

sculptor.masksmodels.setup_constant(prefix, **kwargs)

Set up a simple constant function model.

Parameters
  • prefix (string) – Model prefix

  • kwargs – Keyword arguments

Returns

LMFIT model and parameters

Return type

(lmfit.Model, lmfit.Parameters)

sculptor.masksmodels.setup_gaussian(prefix, **kwargs)

Set up a simple non-normalized Gaussian function model.

Parameters
  • prefix (string) – Model prefix

  • kwargs – Keyword arguments

Returns

LMFIT model and parameters

Return type

(lmfit.Model, lmfit.Parameters)

sculptor.masksmodels.setup_lorentzian(prefix, **kwargs)

Set up a simple Lorentzian function model.

Parameters
  • prefix (string) – Model prefix

  • kwargs – Keyword arguments

Returns

LMFIT model and parameters

Return type

(lmfit.Model, lmfit.Parameters)

sculptor.masksmodels.setup_power_law(prefix, **kwargs)

Set up a simple power law model.

Parameters
  • prefix (string) – Model prefix

  • kwargs – Keyword arguments

Returns

LMFIT model and parameters

Return type

(lmfit.Model, lmfit.Parameters)