Detectors#

class PhotodiodeSet#

Bases: BaseDetectorSet

Set of photodiode detectors.

A PhotodiodeSet stores one or more intensity based detectors defined by their numerical aperture, angular offsets, sampling, optional polarization filtering, and surrounding medium.

attributes = ['sampling', 'numerical_aperture', 'cache_numerical_aperture', 'phi_offset', 'gamma_offset', 'polarization_filter', 'medium']#
static build_sequential(target_size: typing.SupportsInt | typing.SupportsIndex, numerical_aperture: object, phi_offset: object, gamma_offset: object, sampling: object = 200, cache_numerical_aperture: object = 0.0, polarization_filter: object = <PyMieSim.polarization.PolarizationState object at 0x7fe8150db7b0>, medium: object = 1) PyMieSim.experiment.detector_set.PhotodiodeSet#

Build a sequential photodiode detector set.

Scalar inputs or length one arrays are broadcast to target_size. Any non scalar input must already have length target_size.

Parameters:
  • target_size (int) – Number of detectors in the sequential set.

  • numerical_aperture (float or array-like of float) – Numerical aperture of each detector.

  • phi_offset (Angle or array-like of Angle) – Azimuthal offset of each detector.

  • gamma_offset (Angle or array-like of Angle) – Polar offset of each detector.

  • sampling (int or array-like of int, optional) – Number of angular sampling points used to evaluate each detector. Default is 200.

  • cache_numerical_aperture (float or array-like of float, optional) – Numerical aperture used for cached field evaluation. Default is 0.0.

  • polarization_filter (Angle or array-like of Angle, optional) – Polarization analyzer angle. If None, the filter is disabled for all detectors.

  • medium (BaseMedium, MediumSet, float, or array-like, optional) – Surrounding medium. This can be provided either as medium objects or as refractive index values. Default is ConstantMedium(1.0).

Returns:

Detector set with is_sequential = True.

Return type:

PhotodiodeSet

property cache_numerical_aperture#

Cached numerical aperture associated with each detector.

property gamma_offset#

Polar offset of each detector.

get_mapping(self: PyMieSim.experiment.detector_set.PhotodiodeSet) dict#

Return detector parameters as a dictionary.

The returned mapping is formatted for PyMieSim parameter tracking and dataframe generation. Keys follow the detector:<parameter_name> convention.

property numerical_aperture#

Numerical aperture of each detector.

property phi_offset#

Azimuthal offset of each detector.

property sampling#

Sampling point count for each detector.

class CoherentModeSet#

Bases: BaseDetectorSet

Set of coherent mode detectors.

A CoherentModeSet stores one or more detectors used for coherent mode coupling calculations. Each detector is defined by its mode label, numerical aperture, angular offsets, rotation, optional polarization filtering, and surrounding medium.

attributes = ['mode_numbers', 'sampling', 'numerical_aperture', 'cache_numerical_aperture', 'phi_offset', 'gamma_offset', 'polarization_filter', 'rotation', 'medium']#
static build_sequential(target_size: typing.SupportsInt | typing.SupportsIndex, mode_number: object, numerical_aperture: object, phi_offset: object, gamma_offset: object, rotation: object, cache_numerical_aperture: object = 0.0, sampling: object = 200, polarization_filter: object = <PyMieSim.polarization.PolarizationState object at 0x7fe8150d8fb0>, medium: object = 1, mean_coupling: bool = False) PyMieSim.experiment.detector_set.CoherentModeSet#

Build a sequential coherent mode detector set.

Scalar inputs or length one arrays are broadcast to target_size. Any non scalar input must already have length target_size.

Parameters:
  • target_size (int) – Number of detectors in the sequential set.

  • mode_number (str or array-like of str) – Mode label or labels defining the collected coherent mode.

  • numerical_aperture (float or array-like of float) – Numerical aperture of each detector.

  • phi_offset (Angle or array-like of Angle) – Azimuthal offset of each detector.

  • gamma_offset (Angle or array-like of Angle) – Polar offset of each detector.

  • rotation (Angle or array-like of Angle) – Rotation of the detector mode basis.

  • cache_numerical_aperture (float or array-like of float, optional) – Numerical aperture used for cached field evaluation. Default is 0.0.

  • sampling (int or array-like of int, optional) – Number of angular sampling points used to evaluate each detector. Default is 200.

  • polarization_filter (Angle or array-like of Angle, optional) – Polarization analyzer angle. If None, the filter is disabled for all detectors.

  • medium (BaseMedium, MediumSet, float, or array-like, optional) – Surrounding medium. This can be provided either as medium objects or as refractive index values. Default is ConstantMedium(1.0).

  • mean_coupling (bool, optional) – If True, use mean coupling rather than mode resolved coupling. Default is False.

Returns:

Detector set with is_sequential = True.

Return type:

CoherentModeSet

property cache_numerical_aperture#

Cached numerical aperture associated with each detector.

property coherent#

Flag indicating that this detector set performs coherent detection.

property gamma_offset#

Polar offset of each detector.

get_mapping(self: PyMieSim.experiment.detector_set.CoherentModeSet) dict#

Return detector parameters as a dictionary.

The returned mapping is formatted for PyMieSim parameter tracking and dataframe generation. Keys follow the detector:<parameter_name> convention.

property mean_coupling#

Whether mean coupling is used.

property medium#

Surrounding medium associated with the detector set.

property mode_numbers#

Mode labels associated with each detector.

property numerical_aperture#

Numerical aperture of each detector.

property phi_offset#

Azimuthal offset of each detector.

property polarization_filter#

Polarization filter angle for each detector.

Returns None when no polarization filter is defined.

property rotation#

Rotation of the detector mode basis.

property sampling#

Sampling point count for each detector.