Optical Transfer Functions#

These are functions for converting a 3D point spread function (PSF) volume into a radially averaged 2D complex Optical Transfer Function (OTF) that can be used for reconstruction.

API#

3D-SIM recontrustrion.

pycudasirecon.make_otf(psf, out_file, nphases=5, beaddiam=0.12, angle=1.57, ls=0.2, nocompen=False, fixorigin=(2, 9), na=1.4, nimm=1.515, leavekz=(0, 0, 0), background=None)[source]#

Make OTF file from PSF.

Note: currently there is no direct C-buffer access when making an OTF… so data must be read from and written to actual files. Providing psf as path/to/psf.tif will be faster.

Parameters:
  • psf (array-like, or str or Path) – The PSF to convert to an OTF. Currently faster to just provide a path to a file, but array-input is accepted as a convenience.

  • out_file (str) – File path to save to

  • nphases (int, optional) – Number of phases, by default 5

  • beaddiam (float, optional) – The diameter of the bead in microns, by default 0.12

  • angle (float, optional) – The k0 vector angle with which the PSF is taken, by default 0

  • ls (float, optional) – The illumination pattern’s line spacing in microns, by default 0.2

  • nocompen (bool, optional) – Do not perform bead size compensation, default False (do perform)

  • fixorigin (Tuple[int, int], optional) – The starting and end pixel for interpolation along kr axis, by default (2, 9)

  • na (float, optional) – The (effective) NA of the objective, by default 1.4

  • nimm (float, optional) – The index of refraction of the immersion liquid, by default 1.515

  • leavekz (Tuple[int, int, int], optional) – Pixels to be retained on kz axis, by default (0, 0, 0)

  • background (Optional[int], optional) – User-supplied number as the background to subtract. If None, background will be estimated from image, by default None

Return type:

None