The Flutter Shutter Code Optimizer
 All Files Functions Macros Pages
gain_evaluation.h
Go to the documentation of this file.
1 /*gain_evaluation.h*/
2 /*
3 * Copyright 2014 IPOL Image Processing On Line http://www.ipol.im/
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 double MSE_snapshot_of_velocity_integrand(double velocity,
20  double tilde_deltat, double xi);
21 
22 double MSE_snapshot_of_velocity(double velocity,double tilde_deltat);
23 
24 double MSE_flutter_of_velocity_integrand(double* code, int code_length,
25  double velocity, double tilde_deltat, double xi);
26 
27 double MSE_flutter_of_velocity(double* code, int code_length,double velocity,
28  double tilde_deltat);
29 
30 double abs_hat_alpha(double* code, int code_length, double xi, double deltat);
31 
32 double gain_in_terms_of_RMSE_at_velocity_v(double* code, int code_length,
33  double tilde_deltat, double velocity, double deltat);
34 
35 double probability_density(double velocity, int flag_motion_model, double s);
36 
37 void average_gain_in_terms_of_RMSE(double* code, int code_length,
38  double tilde_deltat_star,
39  int flag_motion_model,
40  double motion_model_parameter,double deltat,
41  int num_plot_points,
42  double *G_of_v,
43  double *average_gain_mu);
44 
45 void std_dev_gain_in_terms_of_RMSE(int flag_motion_model,
46  double motion_model_parameter,
47  int num_plot_points,
48  double *G_of_v,
49  double *average_gain_mu,
50  double *std_dev_gain_sigma);
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_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...
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...
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...
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}.
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}^{} ...
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.
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 ...
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}.