The Flutter Shutter Code Optimizer
Defines | Functions
flutter_optimizer_handcrafted.cpp File Reference

Routines for flutter shutter code optimization, trimodal handcrafted motion-model. More...

#include <stdio.h>
#include <math.h>
#include "flutter_optimizer_handcrafted.h"
Include dependency graph for flutter_optimizer_handcrafted.cpp:

Go to the source code of this file.

Defines

#define eps   0.001
#define ABS(x)   (((x) > 0) ? (x) : (-(x)))
#define M_PI   3.14159265358979323846

Functions

void handcrafted_optimisator (double *code, double s, double proba_handcrafted_0, int code_length, double deltat)
 Computes the a_k coefficient of the code; handcrafted motion model.
double handcrafted_integrand (double s, double proba_handcrafted_0, double deltat, double xi, int k)
double handcrafted_w (double s, double proba_handcrafted_0, double deltat, double xi)
 Computes the W() function; handcrafted motion model.

Detailed Description

Routines for flutter shutter code optimization, trimodal handcrafted motion-model.

Author:
Yohann Tendero <tendero@math.ucla.edu>

Definition in file flutter_optimizer_handcrafted.cpp.


Define Documentation

#define ABS (   x)    (((x) > 0) ? (x) : (-(x)))

absolute value definition.

Definition at line 38 of file flutter_optimizer_handcrafted.cpp.

#define eps   0.001

epsilon definition.

Definition at line 31 of file flutter_optimizer_handcrafted.cpp.

#define M_PI   3.14159265358979323846

M_PI is a POSIX definition for Pi

Definition at line 46 of file flutter_optimizer_handcrafted.cpp.


Function Documentation

double handcrafted_integrand ( double  s,
double  proba_handcrafted_0,
double  deltat,
double  xi,
int  k 
)

Definition at line 159 of file flutter_optimizer_handcrafted.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

handcrafted_optimisator ( double *  code,
double  s,
double  proba_handcrafted_0,
int  code_length,
double  deltat 
)

Computes the a_k coefficient of the code; handcrafted motion model.

Functions for the handcrafted case :

Parameters:
double*code : array of doubles where code[k] contains the Overall description of the a_k computation : We have a_k:=^{} [4]{(s)}{cos(k*s)}{sinc(s/(2))}ds; and (s):= (v) { {1}_{[-_pi |v|, |v|]}(s)}{|v|} dv (v) is the probability density of v (the motion model, trimodal here) (v) and { {1}_{[-_pi |v|, |v|]}(s)}{|v|} are defined in "gaussian_w_integrand" function; the function is defined in "gaussian_w" function; The [4]{(s)}{cos(s(k+0.5))}{sinc(s/(2))}ds is defined in the "gaussian_integrand" function.
doubles : motion model parameter (sdt-dev here);
doubleproba_handcrafted_0 : (0)=proba_handcrafted_0 (the probability of v=0 is proba_handcrafted_0)
intcode_length : length of the code L;
doubledeltat : time step of the flutter shutter;
Returns:
VOID.

Main loop for the computation of a_k

Initalization for integral evaluation

init so the first iteration of the main loop

is always done.

Main loop for the integral evaluation

For code normalization : max(abs(code(:))=1.

Main loop for code normalization : max(abs(code(:))=1.

Definition at line 76 of file flutter_optimizer_handcrafted.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

handcrafted_w ( double  s,
double  proba_handcrafted_0,
double  deltat,
double  xi 
)

Computes the W() function; handcrafted motion model.

Parameters:
doubles : motion model parameter (sdt-dev here);
doubleproba_handcrafted_0 : (0)=proba_handcrafted_0 (the probability of v=0 is proba_handcrafted_0)
doubledeltat : time step of the flutter shutter;
doublexi : frequency;
Returns:
double W().

Definition at line 200 of file flutter_optimizer_handcrafted.cpp.

Here is the caller graph for this function:

 All Files Functions Defines