Source code for exosim.tasks.detector.loadPixelsNonLinearityMapNumpy

import numpy as np

from exosim.tasks.detector import LoadPixelsNonLinearityMap


[docs]class LoadPixelsNonLinearityMapNumpy(LoadPixelsNonLinearityMap): """ Loads the pixels non-linearity map given a numpy map. The input must be a NPY format file (see `numpy documentation <https://numpy.org/devdocs/reference/generated/numpy.lib.format.html>`_) containing the coefficients for each pixel. The map should have dimensions (n, y, x) where n is the number of coefficients for the polynomial approximation and y and x are the number of pixels in spatial and spectral directions. The map should be indicated under ``pnl_filename`` keyword. Returns -------- dict channel non linearity map Raises ------ KeyError: if the output do not have the `map` key """
[docs] def model(self, parameters: dict) -> dict: """ Parameters ---------- parameters: dict dictionary contained the channel parameters. This is usually parsed from :class:`~exosim.tasks.load.loadOptions.LoadOptions` Returns -------- dict channel pixel non-linearity map """ file_name = parameters["detector"]["pnl_filename"] linear_coeff = np.load(file_name) pnl_dict = {"map": linear_coeff} return pnl_dict