| 
    ReadFramework
    
   | 
 
#include <GCoptimization.h>


Classes | |
| struct | DataCostFnFromArray | 
| struct | DataCostFnFromFunction | 
| struct | DataCostFnFromFunctionExtra | 
| class | DataCostFnSparse | 
| struct | DataCostFunctor | 
| class | GreedyIter< GCoptimization::DataCostFnSparse > | 
| struct | LabelCost | 
| struct | LabelCostIter | 
| struct | SmoothCostFnFromArray | 
| struct | SmoothCostFnFromFunction | 
| struct | SmoothCostFnFromFunctionExtra | 
| struct | SmoothCostFnPotts | 
| struct | SmoothCostFunctor | 
| struct | SparseDataCost | 
Public Types | |
| typedef long long | EnergyType | 
| typedef int | EnergyTermType | 
| typedef Energy< EnergyTermType, EnergyTermType, EnergyType > | EnergyT | 
| typedef EnergyT::Var | VarID | 
| typedef int | LabelID | 
| typedef VarID | SiteID | 
| typedef EnergyTermType(* | SmoothCostFn) (SiteID s1, SiteID s2, LabelID l1, LabelID l2) | 
| typedef EnergyTermType(* | DataCostFn) (SiteID s, LabelID l) | 
| typedef EnergyTermType(* | SmoothCostFnExtra) (SiteID s1, SiteID s2, LabelID l1, LabelID l2, void *) | 
| typedef EnergyTermType(* | DataCostFnExtra) (SiteID s, LabelID l, void *) | 
Protected Member Functions | |
| virtual void | giveNeighborInfo (SiteID site, SiteID *numSites, SiteID **neighbors, EnergyTermType **weights)=0 | 
| virtual void | finalizeNeighbors ()=0 | 
| template<typename DataCostT > | |
| SiteID | queryActiveSitesExpansion (LabelID alpha_label, SiteID *activeSites) | 
| template<typename DataCostT > | |
| void | setupDataCostsExpansion (SiteID size, LabelID alpha_label, EnergyT *e, SiteID *activeSites) | 
| template<typename DataCostT > | |
| void | setupDataCostsSwap (SiteID size, LabelID alpha_label, LabelID beta_label, EnergyT *e, SiteID *activeSites) | 
| template<typename SmoothCostT > | |
| void | setupSmoothCostsExpansion (SiteID size, LabelID alpha_label, EnergyT *e, SiteID *activeSites) | 
| template<typename SmoothCostT > | |
| void | setupSmoothCostsSwap (SiteID size, LabelID alpha_label, LabelID beta_label, EnergyT *e, SiteID *activeSites) | 
| template<typename DataCostT > | |
| void | applyNewLabeling (EnergyT *e, SiteID *activeSites, SiteID size, LabelID alpha_label) | 
| template<typename DataCostT > | |
| void | updateLabelingDataCosts () | 
| template<typename UserFunctor > | |
| void | specializeDataCostFunctor (const UserFunctor f) | 
| template<typename UserFunctor > | |
| void | specializeSmoothCostFunctor (const UserFunctor f) | 
| EnergyType | setupLabelCostsExpansion (SiteID size, LabelID alpha_label, EnergyT *e, SiteID *activeSites) | 
| void | updateLabelingInfo (bool updateCounts=true, bool updateActive=true, bool updateCosts=true) | 
| void | addterm1_checked (EnergyT *e, VarID i, EnergyTermType e0, EnergyTermType e1) | 
| void | addterm1_checked (EnergyT *e, VarID i, EnergyTermType e0, EnergyTermType e1, EnergyTermType w) | 
| void | addterm2_checked (EnergyT *e, VarID i, VarID j, EnergyTermType e00, EnergyTermType e01, EnergyTermType e10, EnergyTermType e11, EnergyTermType w) | 
| template<typename SmoothCostT > | |
| EnergyType | giveSmoothEnergyInternal () | 
Static Protected Member Functions | |
| template<typename Functor > | |
| static void | deleteFunctor (void *f) | 
| static void | handleError (const char *message) | 
| static void | checkInterrupt () | 
| typedef EnergyTermType(* GCoptimization::DataCostFn) (SiteID s, LabelID l) | 
| typedef EnergyTermType(* GCoptimization::DataCostFnExtra) (SiteID s, LabelID l, void *) | 
| typedef int GCoptimization::EnergyTermType | 
| typedef long long GCoptimization::EnergyType | 
| typedef int GCoptimization::LabelID | 
| typedef VarID GCoptimization::SiteID | 
| typedef EnergyTermType(* GCoptimization::SmoothCostFn) (SiteID s1, SiteID s2, LabelID l1, LabelID l2) | 
| typedef EnergyTermType(* GCoptimization::SmoothCostFnExtra) (SiteID s1, SiteID s2, LabelID l1, LabelID l2, void *) | 
| typedef EnergyT::Var GCoptimization::VarID | 
      
  | 
  virtual | 
      
  | 
  protected | 

      
  | 
  protected | 
      
  | 
  protected | 


| void GCoptimization::alpha_beta_swap | ( | LabelID | alpha_label, | 
| LabelID | beta_label, | ||
| SiteID * | alphaSites, | ||
| SiteID | alpha_size, | ||
| SiteID * | betaSites, | ||
| SiteID | beta_size | ||
| ) | 
| bool GCoptimization::alpha_expansion | ( | LabelID | alpha_label | ) | 

      
  | 
  protected | 
      
  | 
  staticprotected | 

| GCoptimization::EnergyType GCoptimization::compute_energy | ( | ) | 

      
  | 
  inlinestaticprotected | 
| GCoptimization::EnergyType GCoptimization::expansion | ( | int | max_num_iterations = -1 | ) | 
      
  | 
  protectedpure virtual | 
Implemented in GCoptimizationGeneralGraph, and GCoptimizationGridGraph.

| GCoptimization::EnergyType GCoptimization::giveDataEnergy | ( | ) | 

| GCoptimization::EnergyType GCoptimization::giveLabelEnergy | ( | ) | 

      
  | 
  protectedpure virtual | 
| GCoptimization::EnergyType GCoptimization::giveSmoothEnergy | ( | ) | 

      
  | 
  protected | 
      
  | 
  staticprotected | 

| OLGA_INLINE GCoptimization::LabelID GCoptimization::numLabels | ( | ) | const | 

| OLGA_INLINE GCoptimization::SiteID GCoptimization::numSites | ( | ) | const | 

      
  | 
  protected | 

| void GCoptimization::setDataCost | ( | DataCostFn | fn | ) | 
| void GCoptimization::setDataCost | ( | DataCostFnExtra | fn, | 
| void * | extraData | ||
| ) | 
| void GCoptimization::setDataCost | ( | EnergyTermType * | dataArray | ) | 
| void GCoptimization::setDataCost | ( | SiteID | s, | 
| LabelID | l, | ||
| EnergyTermType | e | ||
| ) | 
| void GCoptimization::setDataCost | ( | LabelID | l, | 
| SparseDataCost * | costs, | ||
| SiteID | count | ||
| ) | 
| void GCoptimization::setDataCostFunctor | ( | DataCostFunctor * | f | ) | 
| OLGA_INLINE void GCoptimization::setLabel | ( | SiteID | site, | 
| LabelID | label | ||
| ) | 
| void GCoptimization::setLabelCost | ( | EnergyTermType | cost | ) | 
| void GCoptimization::setLabelCost | ( | EnergyTermType * | costArray | ) | 
| void GCoptimization::setLabelOrder | ( | bool | isRandom | ) | 

| void GCoptimization::setLabelSubsetCost | ( | LabelID * | labels, | 
| LabelID | numLabels, | ||
| EnergyTermType | cost | ||
| ) | 

| void GCoptimization::setSmoothCost | ( | SmoothCostFn | fn | ) | 

| void GCoptimization::setSmoothCost | ( | SmoothCostFnExtra | fn, | 
| void * | extraData | ||
| ) | 
| void GCoptimization::setSmoothCost | ( | LabelID | l1, | 
| LabelID | l2, | ||
| EnergyTermType | e | ||
| ) | 
| void GCoptimization::setSmoothCost | ( | EnergyTermType * | smoothArray | ) | 
| void GCoptimization::setSmoothCostFunctor | ( | SmoothCostFunctor * | f | ) | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 

      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  inline | 
      
  | 
  protected | 

      
  | 
  protected | 

| GCoptimization::EnergyType GCoptimization::swap | ( | int | max_num_iterations = -1 | ) | 
      
  | 
  protected | 
      
  | 
  protected | 

| OLGA_INLINE GCoptimization::LabelID GCoptimization::whatLabel | ( | SiteID | site | ) | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected |