The Flutter Shutter Code Optimizer
 All Files Functions Macros Pages
Functions
gain_evaluation.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

double MSE_snapshot_of_velocity_integrand (double velocity, double tilde_deltat, double xi)
 This function computes the integrand of equation (21): {1}{T {sinc}^2( { v T}{2 })}. More...
 
double MSE_snapshot_of_velocity (double velocity, double tilde_deltat)
 This function computes the MSE of a snapshot for a given velocity. This is equation (21) up to a 1 factor: {0}^{} {|u|_{L^1()}} {T {sinc}^2( { v T}{2 })}d. More...
 
double MSE_flutter_of_velocity_integrand (double *code, int code_length, double velocity, double tilde_deltat, double xi)
 This function computes the integrand of equation (21): {| |^2_{L^2()} |u|_{L^1()}}{| ( v)|^2}d. More...
 
double MSE_flutter_of_velocity (double *code, int code_length, double velocity, double tilde_deltat)
 This function computes the MSE of flutter shutter for a given velocity. This is equation (22) up to a 1 factor: {0}^{} {| |^2_{L^2()} |u|_{L^1()}}{| ( v)|^2}d. More...
 
double abs_hat_alpha (double *code, int code_length, double xi, double deltat)
 Given a code compute the modulus of the Fourier transform of the Flutter-Shutter function, see equation (2): ()= t {sinc}({ t}{2}) e^{-{i t}{2}} {k=0}^{L-1} e^{-ik t}. More...
 
double gain_in_terms_of_RMSE_at_velocity_v (double *code, int code_length, double tilde_deltat, double velocity, double deltat)
 This function implements equation (23): G(v)&={ {{0}^{} {1} {T^* {sinc}^2( { v T^*}{2 })}d} { {0}^{} {| |^2_{L^2()}} {| ( v)|^2}d }}. More...
 
double probability_density (double velocity, int flag_motion_model, double s)
 Given a velocity velocity, the motion model and its parameters the function computes the probability. More...
 
void average_gain_in_terms_of_RMSE (double *code, int code_length, double tilde_deltat_star, int flag_motion_model, double motion_model_parameter, double deltat, int num_plot_points, double *G_of_v, double *average_gain_mu)
 This function implements equation (24): := G(v) (v) dv. More...
 
void std_dev_gain_in_terms_of_RMSE (int flag_motion_model, double motion_model_parameter, int num_plot_points, double *G_of_v, double *average_gain_mu, double *std_dev_gain_sigma)
 This function implements equation (25): :={ |G(v)- G(u) (u) du|^2 (v) dv}. More...
 

Function Documentation

double abs_hat_alpha ( double *  code,
int  code_length,
double  xi,
double  deltat 
)

Given a code compute the modulus of the Fourier transform of the Flutter-Shutter function, see equation (2): ()= t {sinc}({ t}{2}) e^{-{i t}{2}} {k=0}^{L-1} e^{-ik t}.

Parameters
double*code : array of doubles where code[k] contains the ;
intcode_length : length of the code;
doublexi : frequency;
doubledeltat : the temporal sampling of the flutter shutter function;
Returns
| ()| see equation (2).

Gives back the modulus of the Fourier transform, see equation (2)

Definition at line 234 of file gain_evaluation.cpp.

Here is the caller graph for this function:

void average_gain_in_terms_of_RMSE ( double *  code,
int  code_length,
double  tilde_deltat_star,
int  flag_motion_model,
double  motion_model_parameter,
double  deltat,
int  num_plot_points,
double *  G_of_v,
double *  average_gain_mu 
)

This function implements equation (24): := G(v) (v) dv.

Parameters
double*code : array of doubles where code[k] contains the
intcode_length : length of the code L;
doubletilde_deltat_star : the optimal exposure time for the snapshot
intflag_motion_model : motion model selection -0 for truncated Gaussian of std-dev s; -1 For uniform of range s;
doublemotion_model_parameter : motion model parameter;
doubledeltat : the of the numerical flutter shutter;
intnum_plot_point : the lengt of output array for plot;
double*G_of_v : will contain G(v), see equation (23);
double*_average_gain_mu : will contain equation (24);
Returns
void.

Initialization.

Computation of equation (24).

Definition at line 353 of file gain_evaluation.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

double gain_in_terms_of_RMSE_at_velocity_v ( double *  code,
int  code_length,
double  tilde_deltat,
double  velocity,
double  deltat 
)

This function implements equation (23): G(v)&={ {{0}^{} {1} {T^* {sinc}^2( { v T^*}{2 })}d} { {0}^{} {| |^2_{L^2()}} {| ( v)|^2}d }}.

Parameters
double*code : array of doubles where code[k] contains the
intcode_length : length of the code L;
doubletilde_deltat : the of the snapshot (best snapshot on average);
doublevelocity : velocity;
doubledeltat : the temporal sampling of the flutter shutter function;
Returns
G(v), see equation (23).

Definition at line 284 of file gain_evaluation.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

double MSE_flutter_of_velocity ( double *  code,
int  code_length,
double  velocity,
double  deltat 
)

This function computes the MSE of flutter shutter for a given velocity. This is equation (22) up to a 1 factor: {0}^{} {| |^2_{L^2()} |u|_{L^1()}}{| ( v)|^2}d.

double MSE_flutter_of_velocity(double* code, int code_length,double velocity, double tilde_deltat)

Parameters
double*code : array of doubles where code[k] contains the
intcode_length : length of the code L;
doublevelocity : the velocity;
doubledeltat : the temporal sampling of the flutter shutter function;
Returns
The MSE of the flutter at velcity velocity. See equation (22). The {|u|_{L^1()}}{}{0}^{} multiplicative factor is irrelevant, see equation (23).

Initalization.

Definition at line 158 of file gain_evaluation.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

double MSE_flutter_of_velocity_integrand ( double *  code,
int  code_length,
double  velocity,
double  deltat,
double  xi 
)

This function computes the integrand of equation (21): {| |^2_{L^2()} |u|_{L^1()}}{| ( v)|^2}d.

double MSE_flutter_of_velocity_integrand(double* code, int code_length, double velocity, double tilde_deltat, double xi)

Parameters
double*code : array of doubles where code[k] contains the
intcode_length : length of the code L;
doublevelocity : the velocity;
doubledeltat : the temporal sampling of the flutter shutter function;
doulexi: the frequency;
Returns
The integrand of equation (21).

Step1 compute | ( v)|

Step2 : compute ||||_{l2}^2

Definition at line 200 of file gain_evaluation.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

double MSE_snapshot_of_velocity ( double  velocity,
double  tilde_deltat 
)

This function computes the MSE of a snapshot for a given velocity. This is equation (21) up to a 1 factor: {0}^{} {|u|_{L^1()}} {T {sinc}^2( { v T}{2 })}d.

double MSE_snapshot_of_velocity(double velocity,double tilde_deltat)

Parameters
doublevelocity : the velocity;
doubletilde_deltat: the exposure time of the snapshot;
Returns
The MSE of the snapshot at velcity velocity. See equation (21). The {|u|_{L^1()}}{}{0}^{} multiplicative factor is irrelevant, see equation (23).

Initalization.

Definition at line 80 of file gain_evaluation.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

double MSE_snapshot_of_velocity_integrand ( double  velocity,
double  tilde_deltat,
double  xi 
)

This function computes the integrand of equation (21): {1}{T {sinc}^2( { v T}{2 })}.

double MSE_snapshot_of_velocity_integrand(double velocity, double tilde_deltat, double xi)

Parameters
doublevelocity : the velocity;
doubletilde_deltat: the exposure time of the snapshot;
doulexi: the frequency;
Returns
The integrand of equation (21).

Definition at line 119 of file gain_evaluation.cpp.

Here is the caller graph for this function:

double probability_density ( double  velocity,
int  flag_motion_model,
double  motion_model_parameter 
)

Given a velocity velocity, the motion model and its parameters the function computes the probability.

double probability_density(double velocity, int flag_motion_model, double motion_model_parameter)

Parameters
doublevelocity : the velocity;
intflag_motion_model : motion model selection -0 for Gaussian motion model -1 For uniform motion model
doublemotion_model_parameter : motion model parameter;
Returns
(velocity).

Definition at line 310 of file gain_evaluation.cpp.

Here is the caller graph for this function:

void std_dev_gain_in_terms_of_RMSE ( int  flag_motion_model,
double  motion_model_parameter,
int  num_plot_points,
double *  G_of_v,
double *  average_gain_mu,
double *  std_dev_gain_sigma 
)

This function implements equation (25): :={ |G(v)- G(u) (u) du|^2 (v) dv}.

Parameters
double*code : array of doubles where code[k] contains the
intcode_length : length of the code L;
doubletilde_deltat_star : the optimal exposure time for the snapshot
intflag_motion_model : motion model selection -0 for truncated Gaussian of std-dev s; -1 For uniform of range s;
doublemotion_model_parameter : motion model parameter;
doubledeltat : the of the numerical flutter shutter;
intnum_plot_point : the lengt of output array for plot;
double*G_of_v : contains G(v), see equation (23);
double*_average_gain_mu : contains equation (24);
double*std_dev_gain_sigma : will contains equation (25).
Returns
void.

Initialization.

Computation of equation (25), knowing equations (23) and (24)

Definition at line 446 of file gain_evaluation.cpp.

Here is the call graph for this function:

Here is the caller graph for this function: