Fast Transient Imaging
A Python framework revolving around reconstruction of impulse responses from AMCW lidar measurements.
Reconstruction Namespace Reference

Functions

def GetMaximumEntropySpectralEstimate (TrigonometricMoments, X)
 This function evaluates a special density function at the given location X (in radians) and returns the result as array of shape identical to that of X. More...
 
def GetMaximumEntropySpectralEstimateCumulative (TrigonometricMoments, X)
 This function evaluates the cumulative density of the density function given by GetMaximumEntropySpectralEstimate(). More...
 
def GetPisarenkoEstimate (TrigonometricMoments)
 Given a vector of trigonometric moments without (!) a zeroth moment this function computes a distribution consisting of TrigonometricMoments.size Dirac-delta distributions which describes this measurement correctly. More...
 
def GetMaximumEntropySpectralEstimateMoment (TrigonometricMoments, MomentIndex)
 This function computes trigonometric moments of the distribution provided by GetMaximumEntropySpectralEstimate(). More...
 
def GetValidMomentCircle (TrigonometricMoments)
 Given a vector of m trigonometric moments, this function returns the circle containing all acceptable values for trigonometric moment m+1. More...
 

Function Documentation

def Reconstruction.GetMaximumEntropySpectralEstimate (   TrigonometricMoments,
  X 
)

This function evaluates a special density function at the given location X (in radians) and returns the result as array of shape identical to that of X.

The density function produces the prescribed trigonometric moments (starting with the zeroth moment) and has minimal Burg entropy. If the given moments do not admit a positive density, it returns None.

def Reconstruction.GetMaximumEntropySpectralEstimateCumulative (   TrigonometricMoments,
  X 
)

This function evaluates the cumulative density of the density function given by GetMaximumEntropySpectralEstimate().

The integral is computed numerically using the trapezoidal rule, so X should provide a sufficiently dense sampling. If the given moments do not admit a positive density, it returns None.

def Reconstruction.GetPisarenkoEstimate (   TrigonometricMoments)

Given a vector of trigonometric moments without (!) a zeroth moment this function computes a distribution consisting of TrigonometricMoments.size Dirac-delta distributions which describes this measurement correctly.

Returns
A pair (Phase,Weight) where Phase holds phases in radians (zero to two pi) and Weight holds corresponding weights. Both arrays have the same length as the given vector. Each entry describes one Dirac-delta.
def Reconstruction.GetMaximumEntropySpectralEstimateMoment (   TrigonometricMoments,
  MomentIndex 
)

This function computes trigonometric moments of the distribution provided by GetMaximumEntropySpectralEstimate().

Parameters
TrigonometricMomentsThe prescribed trigonometric moments of the distribution starting with the zeroth moment.
MomentIndexThe integer index of the requested moments. This can be an array of integers in which case the moments for all these indices are computed.
Returns
The requested trigonometric moments with shape np.shape(MomentIndex). If the given moments do not admit a distribution with non-vanishing density, None is returned.
def Reconstruction.GetValidMomentCircle (   TrigonometricMoments)

Given a vector of m trigonometric moments, this function returns the circle containing all acceptable values for trigonometric moment m+1.

Returns
A tuple (Center,Radius) where Center is a complex value such that all complex X fulfilling np.abs(Center-X)<=Radius are valid (m+1)-th trigonometric moments. If the given sequence of moments is invalid by itself, Radius is set to -1.0.