AbstractSensorMaterial#
- class optika.sensors.materials.AbstractSensorMaterial[source]#
Bases:
AbstractMaterialAn interface representing the light-sensitive material of an imaging sensor.
Attributes
flag controlling whether this material reflects or transmits light
The array shape of this object.
the coordinate transformation between the global coordinate system and this object's local coordinate system
Methods
__init__()attenuation(rays)the attenuation coefficient of the given rays
charge_diffusion(rays, normal)Given a set of incident rays, compute how much the position of each ray is perturbed due to charge diffusion within the sensor.
efficiency(rays, normal)The fraction of light that passes through the interface.
index_refraction(rays)the index of refraction of this material for the given input rays
photons_incident(electrons, wavelength, ...)Given the number of electrons measured by the sensor, and a grid of wavelengths, compute the expected number of photons incident on the sensor.
signal(rays, normal[, noise])Given a set of absorbed rays, compute the number of electrons measured by the sensor using
signal().to_string([prefix])Public-facing version of the
__repr__method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.Inheritance Diagram

- abstractmethod attenuation(rays)#
the attenuation coefficient of the given rays
- Parameters:
rays (AbstractRayVectorArray) – input rays to calculate the attenuation coefficient for
- Return type:
- abstractmethod charge_diffusion(rays, normal)[source]#
Given a set of incident rays, compute how much the position of each ray is perturbed due to charge diffusion within the sensor.
- Parameters:
rays (RayVectorArray) – The rays incident on the sensor surface.
normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the sensor.
- Return type:
- abstractmethod efficiency(rays, normal)#
The fraction of light that passes through the interface.
- Parameters:
rays (AbstractRayVectorArray) – the input rays to calculate the efficiency for
normal (AbstractCartesian3dVectorArray) – the vector perpendicular to the optical surface
- Return type:
- abstractmethod index_refraction(rays)#
the index of refraction of this material for the given input rays
- Parameters:
rays (AbstractRayVectorArray) – input rays used to evaluate the index of refraction
- Return type:
- abstractmethod photons_incident(electrons, wavelength, direction, normal)[source]#
Given the number of electrons measured by the sensor, and a grid of wavelengths, compute the expected number of photons incident on the sensor.
- Parameters:
electrons (Quantity | AbstractScalar) – The number of electrons measured by the sensor.
wavelength (Quantity | AbstractScalar) – An assumed grid of wavelengths for the incident photons.
direction (AbstractCartesian3dVectorArray) – An assumed propagation direction for the incident photons.
normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the sensor.
- Return type:
- abstractmethod signal(rays, normal, noise=True)[source]#
Given a set of absorbed rays, compute the number of electrons measured by the sensor using
signal().- Parameters:
rays (RayVectorArray) – The rays absorbed by the light-sensitive silicon layer. The
optika.rays.RayVectorArray.intensityfield should either be in units of photons or energy.normal (AbstractCartesian3dVectorArray) – The vector perpendicular to the surface of the sensor.
noise (bool) – Whether to add noise to the result.
- Return type:
- to_string(prefix=None)#
Public-facing version of the
__repr__method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.
- abstract property is_mirror: bool#
flag controlling whether this material reflects or transmits light
- abstract property transformation: None | AbstractTransformation#
the coordinate transformation between the global coordinate system and this object’s local coordinate system