Source code for autocti.charge_injection.imaging.settings

import copy

import autoarray as aa

from typing import Tuple


[docs]class SettingsImagingCI(aa.SettingsImaging):
[docs] def __init__( self, parallel_pixels: Tuple[int, int] = None, serial_pixels: Tuple[int, int] = None, ): super().__init__() self.parallel_pixels = parallel_pixels self.serial_pixels = serial_pixels
def modify_via_fit_type(self, is_parallel_fit, is_serial_fit): """ Modify the settings based on the type of fit being performed where: - If the fit is a parallel only fit (is_parallel_fit=True, is_serial_fit=False) the serial_pixels are set to None and all other settings remain the same. - If the fit is a serial only fit (is_parallel_fit=False, is_serial_fit=True) the parallel_pixels are set to None and all other settings remain the same. - If the fit is a parallel and serial fit (is_parallel_fit=True, is_serial_fit=True) the *parallel_pixels* and *serial_pixels* are set to None and all other settings remain the same. These settings reflect the appropriate way to extract the charge injection imaging data for fits which use a parallel only CTI model, serial only CTI model or fit both. Parameters ---------- is_parallel_fit If True, the CTI model that is used to fit the charge injection data includes a parallel CTI component. is_serial_fit If True, the CTI model that is used to fit the charge injection data includes a serial CTI component. """ settings = copy.copy(self) if is_parallel_fit: settings.serial_pixels = None if is_serial_fit: settings.parallel_pixels = None return settings