PointSpreadFunction¶

class
acoular.fbeamform.
PointSpreadFunction
¶ Bases:
traits.has_traits.HasPrivateTraits
The point spread function.
This class provides tools to calculate the PSF depending on the used microphone geometry, focus grid, flow environment, etc. The PSF is needed by several deconvolution algorithms to correct the aberrations when using simple delayandsum beamforming.

steer
= Property(desc="steering vector object")¶ SteeringVector
or derived object. Defaults toSteeringVector
object.

grid_indices
= CArray( dtype=int, value=array([]), desc="indices of grid points for psf") #value=array([]), value=self.grid.pos(),¶ Indices of grid points to calculate the PSF for.

calcmode
= Trait('single', 'block', 'full', 'readonly', desc="mode of calculation / storage")¶ Flag that defines how to calculate and store the point spread function defaults to ‘single’.
 ‘full’: Calculate the full PSF (for all grid points) in one go (should be used if the PSF at all grid points is needed, as with
DAMAS
)  ‘single’: Calculate the PSF for the grid points defined by
grid_indices
, one by one (useful if not all PSFs are needed, as withCLEAN
)  ‘block’: Calculate the PSF for the grid points defined by
grid_indices
, in one go (useful if not all PSFs are needed, as withCLEAN
)  ‘readonly’: Do not attempt to calculate the PSF since it should already be cached (useful if multiple processes have to access the cache file)
 ‘full’: Calculate the full PSF (for all grid points) in one go (should be used if the PSF at all grid points is needed, as with

precision
= Trait('float64', 'float32', desc="precision (32/64 Bit) of result, corresponding to numpy dtypes")¶ Floating point precision of property psf. Corresponding to numpy dtypes. Default = 64 Bit.

psf
= Property(desc="point spread function")¶ The actual point spread function.

freq
= Float(1.0, desc="frequency")¶ Frequency to evaluate the PSF for; defaults to 1.0.
