Source code for astrophot.image.cmos_image

import numpy as np

from .target_image import TargetImage
from .window import Window
from .mixins import CMOSMixin
from .model_image import ModelImage
from ..backend_obj import backend


[docs] class CMOSModelImage(CMOSMixin, ModelImage): """A ModelImage with CMOS-specific functionality."""
[docs] class CMOSTargetImage(CMOSMixin, TargetImage): """ A TargetImage with CMOS-specific functionality. This class is used to represent a target image with CMOS-specific features. It inherits from TargetImage and CMOSMixin. """
[docs] def model_image(self, window: Window, **kwargs) -> CMOSModelImage: """Model the image with CMOS-specific features.""" si, sj = self.get_indices(window) kwargs = { "subpixel_loc": self.subpixel_loc, "subpixel_scale": self.subpixel_scale, "_data": backend.zeros_like(self._data[si, sj]), "CD": self.CD.value, "crpix": self.crpix - np.array((si.start, sj.start)), "crtan": self.crtan.value, "crval": self.crval.value, "zeropoint": self.zeropoint, "identity": self.identity, "name": self.name + "_model", **kwargs, } return CMOSModelImage(**kwargs)