SellmeierGlass

class gwcs.spectroscopy.SellmeierGlass(B_coef, C_coef, **kwargs)[source]

Bases: Model

Sellmeier equation for glass.

Parameters
B_coefndarray

Iterable of size 3 containing B coefficients.

C_coefndarray

Iterable of size 3 containing c coefficients in units of u.um**2.

Returns
nfloat

Refractive index.

Notes

Model formula:

\[n(\lambda)^2 = 1 + \frac{(B1 * \lambda^2 )}{(\lambda^2 - C1)} + \frac{(B2 * \lambda^2 )}{(\lambda^2 - C2)} + \frac{(B3 * \lambda^2 )}{(\lambda^2 - C3)}\]

References

1

https://en.wikipedia.org/wiki/Sellmeier_equation

Examples

>>> import astropy.units as u
>>> b_coef = [0.58339748, 0.46085267, 3.8915394]
>>> c_coef = [0.00252643, 0.010078333, 1200.556] * u.um**2
>>> model = SellmeierGlass(b_coef, c_coef)
>>> model(2 * u.m)
    <Quantity 2.43634758>

Attributes Summary

B_coef

B1, B2, B3 coefficients.

C_coef

C1, C2, C3 coefficients in units of um ** 2.

input_units

This property is used to indicate what units or sets of units the evaluate method expects, and returns a dictionary mapping inputs to units (or None if any units are accepted).

linear

n_inputs

The number of inputs.

n_outputs

The number of outputs.

param_names

Names of the parameters that describe models of this type.

standard_broadcasting

Methods Summary

__call__(*inputs[, model_set_axis, ...])

Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated.

evaluate(wavelength, B_coef, C_coef)

Evaluate the model on some input variables.

Attributes Documentation

B_coef = Parameter('B_coef', value=[1. 1. 1.])

B1, B2, B3 coefficients.

C_coef = Parameter('C_coef', value=[0. 0. 0.])

C1, C2, C3 coefficients in units of um ** 2.

input_units
linear = False
n_inputs = 1

The number of inputs.

n_outputs = 1

The number of outputs.

param_names = ('B_coef', 'C_coef')

Names of the parameters that describe models of this type.

The parameters in this tuple are in the same order they should be passed in when initializing a model of a specific type. Some types of models, such as polynomial models, have a different number of parameters depending on some other property of the model, such as the degree.

When defining a custom model class the value of this attribute is automatically set by the Parameter attributes defined in the class body.

standard_broadcasting = False

Methods Documentation

__call__(*inputs, model_set_axis=None, with_bounding_box=False, fill_value=nan, equivalencies=None, inputs_map=None, **new_inputs)

Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated.

static evaluate(wavelength, B_coef, C_coef)[source]

Evaluate the model on some input variables.