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_Color Class Reference

Two Phase-Field for color image segmentation, see [1]; adapted to color. [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, const Eigen::Vector3f &Cp, const Eigen::Vector3f &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, const Eigen::Vector3f &Cp, const Eigen::Vector3f &Cm, float lambda, float alpha)
 Proximal map of g. More...
 
static float g_absolute (const Eigen::MatrixXf &x, const Eigen::MatrixXf &X_0, const Eigen::Vector3f &Cp, const Eigen::Vector3f &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, const Eigen::Vector3f &Cp, const Eigen::Vector3f &Cm, float lambda, float alpha)
 Proximal map of g_absolute. More...
 
static void Cp (const Eigen::MatrixXf &x, const Eigen::MatrixXf &x_0, Eigen::Vector3f &Cp)
 Compute Cp from the given labels x and the image x_0. More...
 
static void Cm (const Eigen::MatrixXf &x, const Eigen::MatrixXf &x_0, Eigen::Vector3f &Cm)
 Compute Cp::m from the given labels x and the image x_0. More...
 

Detailed Description

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

Member Function Documentation

void Functionals::PhaseField_Color::Cm ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  x_0,
Eigen::Vector3f &  Cm 
)
static

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

Parameters
[in]x
[in]x_0
[out]Cm
void Functionals::PhaseField_Color::Cp ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  x_0,
Eigen::Vector3f &  Cp 
)
static

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

Parameters
[in]x
[in]x_0
[out]Cp
void Functionals::PhaseField_Color::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_Color::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_Color::g ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  x_0,
const Eigen::Vector3f &  Cp,
const Eigen::Vector3f &  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_Color::g_absolute ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  X_0,
const Eigen::Vector3f &  Cp,
const Eigen::Vector3f &  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_Color::prox_g ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  x_0,
Eigen::MatrixXf &  prox_g_x,
const Eigen::Vector3f &  Cp,
const Eigen::Vector3f &  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_Color::prox_g_absolute ( const Eigen::MatrixXf &  x,
const Eigen::MatrixXf &  x_0,
Eigen::MatrixXf &  prox_g_x,
const Eigen::Vector3f &  Cp,
const Eigen::Vector3f &  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: