NIRISSBackwardGrismDispersion

class jwst.transforms.models.NIRISSBackwardGrismDispersion(orders, lmodels=None, xmodels=None, ymodels=None, theta=None, name=None, meta=None)[source]

Bases: astropy.modeling.core.Model

This model calculates the dispersion extent of NIRISS pixels.

The dispersion is relative to the input x,y for a given wavelength.

Parameters:
  • xmodels (list[tuple]) – The list of tuple(models) for the polynomial model in x
  • ymodels (list[tuple]) – The list of tuple(models) for the polynomial model in y
  • lmodels (list) – The list of models for the polynomial model in l
  • orders (list) – The list of orders which are available to the model
  • theta (float) – The rotation to apply

Notes

Given the x,y, wave, order as known on the direct image, it returns the tuple of x, y, wave, order for that wave in the dispersed image.

This model needs to be generalized, at the moment it satisfies the 2t x 6(xy)th order polynomial currently used by NIRISS.

There’s spatial dependence for NIRISS so the forward transform is iterative

Attributes Summary

fittable
inputs
linear
outputs
standard_broadcasting

Methods Summary

__call__(x, y, wavelength, order[, …]) Evaluate this model using the given input(s) and the parameter values that were specified when the model was instantiated.
evaluate(x, y, wavelength, order) Return the valid pixel(s) and wavelengths given center x,y and lam

Attributes Documentation

fittable = False
inputs = ('x', 'y', 'wavelength', 'order')
linear = False
outputs = ('x', 'y', 'x0', 'y0', 'order')
standard_broadcasting = False

Methods Documentation

__call__(x, y, wavelength, order, model_set_axis=None, with_bounding_box=False, fill_value=nan, equivalencies=None)

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

evaluate(x, y, wavelength, order)[source]

Return the valid pixel(s) and wavelengths given center x,y and lam

Parameters:
  • wavelength (float) – Input wavelength you want to know about, will be converted to float
  • x (int,float) – Input x location
  • y (int,float) – Input y location
  • wavelength – Wavelength to disperse
  • order (list) – The order to use
Returns:

  • x, y, wavelength, order in the grism image for the pixel at x,y that was
  • specified as input using the wavelength and order specified

Notes

There’s spatial dependence for NIRISS so the forward transform dependes on x,y as well as the filter wheel rotation. Theta is usu. taken to be the different between fwcpos_ref in the specwcs reference file and fwcpos from the input image.