iPiano
An implementation of the iPiano algorithms for non-convex and non-smooth optimization.
 All Classes Functions Variables
Static Public Member Functions | List of all members
Functionals::PhaseField Class Reference

Two Phase-Field for segmentation, see [1]. [1] Shen. Gamma-Convergence Approximation to Piecewise Constant Mumford-Shah Segmentation. International Conference on Advanced Concepts of Intelligent Vision Systems, 2005. More...

#include <functionals.h>

Static Public Member Functions

static float f (const Eigen::MatrixXf &x, float epsilon)
 Differentiable but non-convex part: 9 | z|^2 + (1-z^2)^2/(64) dx. More...
 
static void df (const Eigen::MatrixXf &x, Eigen::MatrixXf &df_x, float epsilon)
 Derivative of f. More...
 
static float g (const Eigen::MatrixXf &x, const Eigen::MatrixXf &x_0, float Cp, float Cm, float lambda)
 Non-differentiable but convex part: (1 +- z)^2/4 (x_0 + Cpm)^2 dx. More...
 
static void prox_g (const Eigen::MatrixXf &x, const Eigen::MatrixXf &x_0, Eigen::MatrixXf &prox_g_x, float Cp, float Cm, float lambda, float alpha)
 Proximal map of g. More...
 
static float g_absolute (const Eigen::MatrixXf &x, const Eigen::MatrixXf &X_0, float Cp, float Cm, float lambda)
 Non-differentiable but convex part: |1 +- z| |x_0 + Cpm| dx. More...
 
static void prox_g_absolute (const Eigen::MatrixXf &x, const Eigen::MatrixXf &x_0, Eigen::MatrixXf &prox_g_x, float Cp, float Cm, float lambda, float alpha)
 Proximal map of g_absolute. More...
 
static float Cp (const Eigen::MatrixXf &x, const Eigen::MatrixXf &x_0)
 Compute Cp from the given labels x and the image x_0. More...
 
static float Cm (const Eigen::MatrixXf &x, const Eigen::MatrixXf &x_0)
 Compute Cp::m from the given labels x and the image x_0. More...
 

Detailed Description

Two Phase-Field for segmentation, see [1]. [1] Shen. Gamma-Convergence Approximation to Piecewise Constant Mumford-Shah Segmentation. International Conference on Advanced Concepts of Intelligent Vision Systems, 2005.

Member Function Documentation

float Functionals::PhaseField::Cm ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  x_0 
)
static

Compute Cp::m from the given labels x and the image x_0.

Parameters
[in]x
[in]x_0
float Functionals::PhaseField::Cp ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  x_0 
)
static

Compute Cp from the given labels x and the image x_0.

Parameters
[in]x
[in]x_0
void Functionals::PhaseField::df ( const Eigen::MatrixXf &  x,
Eigen::MatrixXf &  df_x,
float  epsilon 
)
static

Derivative of f.

Parameters
[in]x
[out]df_x
[in]epsilon
float Functionals::PhaseField::f ( const Eigen::MatrixXf &  x,
float  epsilon 
)
static

Differentiable but non-convex part: 9 | z|^2 + (1-z^2)^2/(64) dx.

Parameters
[in]x
[in]epsilon
float Functionals::PhaseField::g ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  x_0,
float  Cp,
float  Cm,
float  lambda 
)
static

Non-differentiable but convex part: (1 +- z)^2/4 (x_0 + Cpm)^2 dx.

Parameters
[in]x
[in]x_0
[in]Cp
[in]Cm
[in]epsilon
[in]lambda
float Functionals::PhaseField::g_absolute ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  X_0,
float  Cp,
float  Cm,
float  lambda 
)
static

Non-differentiable but convex part: |1 +- z| |x_0 + Cpm| dx.

Parameters
[in]x
[in]x_0
[in]Cp
[in]Cm
[in]epsilon
[in]lambda
void Functionals::PhaseField::prox_g ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  x_0,
Eigen::MatrixXf &  prox_g_x,
float  Cp,
float  Cm,
float  lambda,
float  alpha 
)
static

Proximal map of g.

Parameters
[in]x
[in]x_0
[out]prox_g_x
[in]Cp
[in]Cm
[in]epsilon
[in]lambda
[in]alpha
void Functionals::PhaseField::prox_g_absolute ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  x_0,
Eigen::MatrixXf &  prox_g_x,
float  Cp,
float  Cm,
float  lambda,
float  alpha 
)
static

Proximal map of g_absolute.

Parameters
[in]x
[in]x_0
[out]prox_g_x
[in]Cp
[in]Cm
[in]epsilon
[in]lambda
[in]alpha

The documentation for this class was generated from the following file: