PSF added
This commit is contained in:
parent
62013e323e
commit
4695dd2dcf
@ -5,3 +5,4 @@ from .target import *
|
||||
from .optical_component import *
|
||||
from .RadiantFactory import *
|
||||
from .sensor import *
|
||||
from .psf import *
|
||||
|
43
esbo_etc/classes/psf/IPSF.py
Normal file
43
esbo_etc/classes/psf/IPSF.py
Normal file
@ -0,0 +1,43 @@
|
||||
from abc import ABC, abstractmethod
|
||||
import astropy.units as u
|
||||
import numpy as np
|
||||
from typing import Union
|
||||
|
||||
|
||||
class IPSF(ABC):
|
||||
"""
|
||||
Interface for modelling a PSF
|
||||
"""
|
||||
@abstractmethod
|
||||
def calcReducedObservationAngle(self, contained_energy: Union[str, int, float, u.Quantity]) -> u.Quantity:
|
||||
"""
|
||||
Calculate the reduced observation angle in lambda / d_ap for the given contained energy.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
contained_energy : Union[str, int, float, u.Quantity]
|
||||
The percentage of energy to be contained within a circle with the diameter reduced observation angle.
|
||||
|
||||
Returns
|
||||
-------
|
||||
reduced_observation_angle: Quantity
|
||||
The reduced observation angle in lambda / d_ap
|
||||
"""
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def mapToGrid(self, grid: np.ndarray) -> np.ndarray:
|
||||
"""
|
||||
Map the integrated PSF values to a sensor grid.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
grid : ndarray
|
||||
The grid to map the values to. The values will only be mapped onto entries with the value 1.
|
||||
|
||||
Returns
|
||||
-------
|
||||
grid : ndarray
|
||||
The grid with the mapped values.
|
||||
"""
|
||||
pass
|
Loading…
Reference in New Issue
Block a user