MieSphere#

class deeptrack.scatterers.MieSphere(radius: float | Callable[[...], float] = 1e-06, refractive_index: float | Callable[[...], float] = 1.45, **kwargs)#

Bases: MieScatterer

Scattered field by a sphere

Should be calculated on at least a 64 by 64 grid. Use padding in the optics if necessary.

Calculates the scattered field by a spherical particle in a homogenous medium, as predicted by Mie theory. Note that the induced phase shift is calculated in comparison to the refractive_index_medium property of the optical device.

Parameters#

radiusfloat

Radius of the mie particle in meter.

refractive_indexfloat

Refractive index of the particle

Lint or str

The number of terms used to evaluate the mie theory. If “auto”, it determines the number of terms automatically.

positionarray_like[float, float (, float)]

The position of the particle. Third index is optional, and represents the position in the direction normal to the camera plane.

zfloat

The position in the direction normal to the camera plane. Used if position is of length 2.

offset_z“auto” or float

Distance from the particle in the z direction the field is evaluated. If “auto”, this is calculated from the pixel size and collection_angle

collection_angle“auto” or float

The maximum collection angle in radians. If “auto”, this is calculated from the objective NA (which is true if the objective is the limiting aperature).

input_polarization: float or Quantity

Defines the polarization angle of the input. For simulating circularly polarized light we recommend a coherent sum of two simulated fields. For unpolarized light we recommend a incoherent sum of two simulated fields.

output_polarization: float or Quantity or None

If None, the output light is not polarized. Otherwise defines the angle of the polarization filter after the sample. For off-axis, keep the same as input_polarization.