Fast Transient Imaging
A Python framework revolving around reconstruction of impulse responses from AMCW lidar measurements.
|
Macros | |
#define | POLYNOMIAL_DEGREE 1 |
#define | POLYNOMIAL_DEGREE 2 |
#define | POLYNOMIAL_DEGREE 3 |
#define | POLYNOMIAL_DEGREE 4 |
#define | POLYNOMIAL_DEGREE 5 |
#define | POLYNOMIAL_DEGREE 6 |
#define | POLYNOMIAL_DEGREE 7 |
#define | POLYNOMIAL_DEGREE 8 |
Functions | |
float2 | Conjugate (float2 Z) |
float2 | Multiply (float2 LHS, float2 RHS) |
float | Magnitude (float2 Z) |
float2 | Divide (float2 Numerator, float2 Denominator) |
float2 | Reciprocal (float2 Z) |
float2 | Square (float2 Z) |
float2 | Cube (float2 Z) |
float2 | SquareRootUnsafe (float2 Z) |
float2 | SquareRoot (float2 Z) |
float2 | CubicRoot (float2 Z) |
float2 | EvaluatePolynomial (float2 pCoefficient[POLYNOMIAL_DEGREE+1], float2 X) |
float2x2 | Conjugate (float2x2 Vector) |
float3x2 | Conjugate (float3x2 Vector) |
float4x2 | Conjugate (float4x2 Vector) |
void | Conjugate (out float2 OutConjugateVector[5], float2 Vector[5]) |
This header defines utility functions to deal with complex numbers and complex polynomials.
#define POLYNOMIAL_DEGREE 1 |
#define POLYNOMIAL_DEGREE 2 |
#define POLYNOMIAL_DEGREE 3 |
#define POLYNOMIAL_DEGREE 4 |
#define POLYNOMIAL_DEGREE 5 |
#define POLYNOMIAL_DEGREE 6 |
#define POLYNOMIAL_DEGREE 7 |
#define POLYNOMIAL_DEGREE 8 |
float2 Conjugate | ( | float2 | Z | ) |
Returns the complex conjugate of the given complex number (i.e. it changes the sign of the y-component).
float2 Multiply | ( | float2 | LHS, |
float2 | RHS | ||
) |
This function implements complex multiplication.
float Magnitude | ( | float2 | Z | ) |
This function computes the magnitude of the given complex number.
float2 Divide | ( | float2 | Numerator, |
float2 | Denominator | ||
) |
This function computes the quotient of two complex numbers. The denominator must not be zero.
float2 Reciprocal | ( | float2 | Z | ) |
This function implements computation of the reciprocal of the given non-zero complex number.
float2 Square | ( | float2 | Z | ) |
This utility function implements complex squaring.
float2 Cube | ( | float2 | Z | ) |
This utility function implements complex computation of the third power.
float2 SquareRootUnsafe | ( | float2 | Z | ) |
This utility function computes one root of the given complex value. The other one can be found using the unary minus operator.
float2 SquareRoot | ( | float2 | Z | ) |
This utility function computes one square root of the given complex value. The other one can be found using the unary minus operator.
float2 CubicRoot | ( | float2 | Z | ) |
This utility function computes one cubic root of the given complex value. The other roots can be found by multiplication by cubic roots of unity.
float2x2 Conjugate | ( | float2x2 | Vector | ) |
Returns the complex conjugate of the given complex vector (i.e. it changes the second column resp the y-component).
float3x2 Conjugate | ( | float3x2 | Vector | ) |
float4x2 Conjugate | ( | float4x2 | Vector | ) |
void Conjugate | ( | out float2 | OutConjugateVector[5], |
float2 | Vector[5] | ||
) |
float2 EvaluatePolynomial | ( | float2 | pCoefficient[POLYNOMIAL_DEGREE+1], |
float2 | X | ||
) |
This function evaluates the polynomial with the given coefficients at the given value. The complex number given by pCoefficient[j] is used as coefficient for the j-th power. All other coefficients are zero.