## Flow Estimation Solvers |
Solver Modules used for optical flow estimation. |

CGSolver | Unconstrained gradient based optimization using nonlinear conjugate gradients. |

Newton2 | Second order Newton method. |

PetscSolver | PETSc implementation of a solver. |

Solver | Abstract base class for solvers. |

## Flow Estimation Testing |
Modules intendet to test the performance of optical flow estimation algorithms. |

This includes generators of test sequences and modules to compare the results with given ground truth. | |

EdgySequenceGenerator | Generate test sequences with motion edges. |

FlowComparator | Compare results of some flow calculation with the underlaying ground truth. |

SequenceGenerator | Generate simple test sequences with ground truth. |

## Image Manipulation |
Image Manipulation Modules. |

Diff2D | Calculate 2D derivatives. |

LucasKanadeSmoothing | Calculate locally smoothed derivatives. |

PyramidLowpass | Lowpass filtering for pyramid-based flow-estimation algorithms. |

PyramidRescale | Rescaling for pyramid-based flow-estimation algorithms. |

PyramidRescaleMask | Pyramid rescaling of binary masks for multi-scale motion estimation. |

PyramidRescaleMatlab | MATLAB-like Rescaling for pyramid-based flow-estimation algorithms. |

SimpleDiff | Calculate 2D derivatives. |

## Iteration Modules |
Iteration and their helper modules. |

CGSolverHelper | Helper for connecting a CGSolver. |

IteratorHelper | Helper for iterative image processing algorithms. |

RelaxingIterator | Iterator based on SimpleIterator class but with additional relaxing feature. |

SimpleIterator | Iterate parts of the processing pipeline. |

## Learning Modules |
Collection of modules for learning of flow statistics. |

Used in the paper implementation of "Learning Optical Flow" by Sun et al. | |

CDFitFunction | Abstract function to be fitted to a probability density. |

CdFitter | Function fitter using contrastive divergence algorithm. |

DataConstant | Brightness constancy data term. |

McmcSampler | Markov chain monte carlo sampler. |

MixtureOfGaussians | Mixture of gaussians. |

SampleGenerator | apply given sampler to generate test images |

Sampler | Abstract sampling class. |

## Stencil Helpers |
Helper Modules for Stencils like Brightness or Motion Models. |

BrightnessModel | abstract base class for the different BrightnessModels |

BrightnessModels::Constant | a brightness model for no brightness change |

BrightnessModels::Diffusion | includes diffusion in brightness model |

MixtureOfGaussians | Mixture of gaussians. |

MotionModel | abstract base class for the different motion models |

MotionModels::LocalConstant | motion model with local constant flow |

MotionModels::LucasKanade | motion model with local constant flow |

PsiFunction | function implementing psi energy term |

## Stencils |
Collection of Stencil classes. |

AffineBCC | EnergyStencil for overparameterized affine 6D Brightness Constancy Constraint. |

DataConstant | Brightness constancy data term. |

EnergyBCC | EnergyStencil for Brightness Constancy Constraint. |

EnergyClassic | EnergyStencil for so called classic regularization. |

EnergyCoupling | EnergyStencil for coupling two flow fields. |

Gbcce | General Brightness Change Constraint Equation. |

L2Norm | Laplacian stencil used for regularization in global methods. |

MagnitudeRegularization | Stencil for regularization of the magnitude r. |

MatchConstraint | Stencil for matching against parameter guess at masked positions. |

Rfmc | Range Flow Motion Constraint equation. |

SpatialPW | This is the SpatialPW stencil. |

Stencil::Mask | Base class for convolution mask Stencils. |

TrigonometricBCC | Stencil for trigonometric Brightness Constancy Constraint. |