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

Go to the source code of this file.

Functions

double optimal_snapshot (int flag_motion_model, double motion_model_parameter)
 Given a motion model compute the optimal exposure time for a snaphot. The minimization is done by scanning on T the energy defined by equation (20): E(T)=^{|v_{max}|} {0}^{} {1 }{T{sinc}^2({ v T}{2 })}(v)d dv Arguments: Motion model and parameters. More...
 
double optimal_snapshot_energy (double T, int flag_motion_model, double motion_model_parameter)
 Given a motion model computes the energy of Equation (20) for a given Tt. More...
 
double optimal_snapshot_integrand (double velocity, double T)
 Given a velocity v and T this function returns the integral in of equation (20), i.e., ^ {1}{T {sinc}^2({ v T}{2})}d (Recall that: sinc(x):={( x)}{ x}.) More...
 
double optimal_snapshot_integrand_part2 (double xi, double velocity, double T)
 This function implements a part of the integrand in (20). More...
 
double proba_motion_model (double velocity, double motion_model_parameter, int flag_motion_model)
 Given a motion model compute the probability of the velocity velocity ((velocity)) More...
 

Function Documentation

double optimal_snapshot ( int  flag_motion_model,
double  motion_model_parameter 
)

Given a motion model compute the optimal exposure time for a snaphot. The minimization is done by scanning on T the energy defined by equation (20): E(T)=^{|v_{max}|} {0}^{} {1 }{T{sinc}^2({ v T}{2 })}(v)d dv Arguments: Motion model and parameters.

Parameters
intflag_motion_model : motion model selection -0 for truncated Gaussian of std-dev motion_model_parameter; -1 For uniform of range motion_model_parameter;
doublemotion_model_parameter : motion model parameter.
Returns
T^* : the optimal exposure of the snapshot i.e., the argmin of E(T) for the given motion model (Algorithm 1 step 1).

This function minimizes (20) by scanning the $T$ values.

The following is for the (truncated) Gaussian at 4*motion_model_parameter

Definition at line 78 of file optimal_snapshot.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

double optimal_snapshot_energy ( double  T,
int  flag_motion_model,
double  motion_model_parameter 
)

Given a motion model computes the energy of Equation (20) for a given Tt.

Parameters
doubleT : exposure time of the
intflag_motion_model : motion model selection -0 for truncated Gaussian of std-dev motion_model_parameter; -1 For uniform of range motion_model_parameter;
Returns
E(T) (see Equation (20)).

Computes E( ) depending on (the motion model)

The following evaluate the integrals using Algorithm 3 with a=0, b=velocity_max, eps=0.001 (see line 34 of this file)

Initalization.

Main loop for evaluation of

Definition at line 129 of file optimal_snapshot.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

double optimal_snapshot_integrand ( double  velocity,
double  T 
)

Given a velocity v and T this function returns the integral in of equation (20), i.e., ^ {1}{T {sinc}^2({ v T}{2})}d (Recall that: sinc(x):={( x)}{ x}.)

Parameters
doubleT : exposure time
doublevelocity : velocity.
Returns
^ {1} {T {sinc}^2({ v T}{2})}d

The following evaluate the integrals using Algorithm 3 with a=0, b=, eps=0.001 (see line 34 of this file)

Main loop for evaluation of

Definition at line 200 of file optimal_snapshot.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

double optimal_snapshot_integrand_part2 ( double  xi,
double  velocity,
double  T 
)

This function implements a part of the integrand in (20).

Parameters
doublexi : frequency
doublevelocity : velocity
doubleT : exposure time
Returns
$ {1 }{T {sinc}^2( { v T}{2 }) }$ (Recall that: sinc(x):={( x)}{ x}.)

Definition at line 253 of file optimal_snapshot.cpp.

Here is the caller graph for this function:

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

Given a motion model compute the probability of the velocity velocity ((velocity))

Parameters
doublevelocity : velocity
intflag_motion_model : motion model selection -0 for truncated Gaussian of std-dev motion_model_parameter; -1 For uniform of range motion_model_parameter;
doublemotion_model_parameter : motion model parameter
Returns
(v).

Normalization is unnecessary; it'll lead to a constant multiplication (See also, Algorithm 1 step1). ř

This means that (flag_motion_model==1) is true

Definition at line 290 of file optimal_snapshot.cpp.

Here is the caller graph for this function: