#include <GCoptimization.h>
Definition at line 150 of file GCoptimization.h.
typedef EnergyTermType(* GCoptimization::DataCostFn)(SiteID s, LabelID l) |
Definition at line 164 of file GCoptimization.h.
typedef EnergyTermType(* GCoptimization::DataCostFnExtra)(SiteID s, LabelID l, void *) |
Definition at line 166 of file GCoptimization.h.
Definition at line 159 of file GCoptimization.h.
typedef int GCoptimization::EnergyTermType |
Definition at line 158 of file GCoptimization.h.
typedef long long GCoptimization::EnergyType |
Definition at line 156 of file GCoptimization.h.
typedef int GCoptimization::LabelID |
Definition at line 161 of file GCoptimization.h.
typedef VarID GCoptimization::SiteID |
Definition at line 162 of file GCoptimization.h.
typedef EnergyTermType(* GCoptimization::SmoothCostFn)(SiteID s1, SiteID s2, LabelID l1, LabelID l2) |
Definition at line 163 of file GCoptimization.h.
typedef EnergyTermType(* GCoptimization::SmoothCostFnExtra)(SiteID s1, SiteID s2, LabelID l1, LabelID l2, void *) |
Definition at line 165 of file GCoptimization.h.
typedef EnergyT::Var GCoptimization::VarID |
Definition at line 160 of file GCoptimization.h.
GCoptimization::GCoptimization | ( | SiteID | num_sites, |
LabelID | num_labels | ||
) |
Definition at line 85 of file GCoptimization.cpp.
GCoptimization::~GCoptimization | ( | ) | [virtual] |
Definition at line 139 of file GCoptimization.cpp.
OLGA_INLINE void GCoptimization::addterm1_checked | ( | EnergyT * | e, |
VarID | i, | ||
EnergyTermType | e0, | ||
EnergyTermType | e1 | ||
) | [protected] |
Definition at line 275 of file GCoptimization.cpp.
OLGA_INLINE void GCoptimization::addterm1_checked | ( | EnergyT * | e, |
VarID | i, | ||
EnergyTermType | e0, | ||
EnergyTermType | e1, | ||
EnergyTermType | w | ||
) | [protected] |
Definition at line 283 of file GCoptimization.cpp.
OLGA_INLINE void GCoptimization::addterm2_checked | ( | EnergyT * | e, |
VarID | i, | ||
VarID | j, | ||
EnergyTermType | e00, | ||
EnergyTermType | e01, | ||
EnergyTermType | e10, | ||
EnergyTermType | e11, | ||
EnergyTermType | w | ||
) | [protected] |
Definition at line 293 of file GCoptimization.cpp.
void GCoptimization::alpha_beta_swap | ( | LabelID | alpha_label, |
LabelID | beta_label | ||
) |
Definition at line 1332 of file GCoptimization.cpp.
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 | ) |
Definition at line 1193 of file GCoptimization.cpp.
void GCoptimization::applyNewLabeling | ( | EnergyT * | e, |
SiteID * | activeSites, | ||
SiteID | size, | ||
LabelID | alpha_label | ||
) | [protected] |
Definition at line 409 of file GCoptimization.cpp.
void GCoptimization::checkInterrupt | ( | ) | [static, protected] |
Definition at line 1074 of file GCoptimization.cpp.
Definition at line 938 of file GCoptimization.cpp.
static void GCoptimization::deleteFunctor | ( | void * | f | ) | [inline, static, protected] |
Definition at line 452 of file GCoptimization.h.
GCoptimization::EnergyType GCoptimization::expansion | ( | int | max_num_iterations = -1 | ) |
Definition at line 960 of file GCoptimization.cpp.
virtual void GCoptimization::finalizeNeighbors | ( | ) | [protected, pure virtual] |
Implemented in GCoptimizationGeneralGraph, and GCoptimizationGridGraph.
Definition at line 917 of file GCoptimization.cpp.
Definition at line 926 of file GCoptimization.cpp.
virtual void GCoptimization::giveNeighborInfo | ( | SiteID | site, |
SiteID * | numSites, | ||
SiteID ** | neighbors, | ||
EnergyTermType ** | weights | ||
) | [protected, pure virtual] |
Definition at line 907 of file GCoptimization.cpp.
GCoptimization::EnergyType GCoptimization::giveSmoothEnergyInternal | ( | ) | [protected] |
Definition at line 253 of file GCoptimization.cpp.
void GCoptimization::handleError | ( | const char * | message | ) | [static, protected] |
Definition at line 1067 of file GCoptimization.cpp.
Definition at line 597 of file GCoptimization.h.
Definition at line 592 of file GCoptimization.h.
Definition at line 1259 of file GCoptimization.cpp.
GCoptimization::EnergyType GCoptimization::oneSwapIteration | ( | ) | [private] |
Definition at line 1313 of file GCoptimization.cpp.
void GCoptimization::permuteLabelTable | ( | ) | [private] |
Definition at line 945 of file GCoptimization.cpp.
void GCoptimization::printStatus1 | ( | const char * | extraMsg = 0 | ) | [private] |
Definition at line 1684 of file GCoptimization.cpp.
void GCoptimization::printStatus1 | ( | int | cycle, |
bool | isSwap, | ||
gcoclock_t | ticks0 | ||
) | [private] |
Definition at line 1695 of file GCoptimization.cpp.
void GCoptimization::printStatus2 | ( | int | alpha, |
int | beta, | ||
int | numVars, | ||
gcoclock_t | ticks0 | ||
) | [private] |
Definition at line 1715 of file GCoptimization.cpp.
GCoptimization::SiteID GCoptimization::queryActiveSitesExpansion | ( | LabelID | alpha_label, |
SiteID * | activeSites | ||
) | [protected] |
Definition at line 310 of file GCoptimization.cpp.
void GCoptimization::setDataCost | ( | DataCostFn | fn | ) |
Definition at line 712 of file GCoptimization.cpp.
void GCoptimization::setDataCost | ( | DataCostFnExtra | fn, |
void * | extraData | ||
) |
Definition at line 720 of file GCoptimization.cpp.
void GCoptimization::setDataCost | ( | EnergyTermType * | dataArray | ) |
Definition at line 727 of file GCoptimization.cpp.
void GCoptimization::setDataCost | ( | SiteID | s, |
LabelID | l, | ||
EnergyTermType | e | ||
) |
Definition at line 734 of file GCoptimization.cpp.
void GCoptimization::setDataCost | ( | LabelID | l, |
SparseDataCost * | costs, | ||
SiteID | count | ||
) |
Definition at line 771 of file GCoptimization.cpp.
void GCoptimization::setDataCostFunctor | ( | DataCostFunctor * | f | ) |
Definition at line 750 of file GCoptimization.cpp.
OLGA_INLINE void GCoptimization::setLabel | ( | SiteID | site, |
LabelID | label | ||
) |
Definition at line 602 of file GCoptimization.h.
void GCoptimization::setLabelCost | ( | EnergyTermType | cost | ) |
Definition at line 832 of file GCoptimization.cpp.
void GCoptimization::setLabelCost | ( | EnergyTermType * | costArray | ) |
Definition at line 843 of file GCoptimization.cpp.
void GCoptimization::setLabelOrder | ( | bool | isRandom | ) |
Definition at line 1044 of file GCoptimization.cpp.
void GCoptimization::setLabelOrder | ( | const LabelID * | order, |
LabelID | size | ||
) |
Definition at line 1053 of file GCoptimization.cpp.
void GCoptimization::setLabelSubsetCost | ( | LabelID * | labels, |
LabelID | numLabels, | ||
EnergyTermType | cost | ||
) |
Definition at line 851 of file GCoptimization.cpp.
void GCoptimization::setSmoothCost | ( | SmoothCostFn | fn | ) |
Definition at line 784 of file GCoptimization.cpp.
void GCoptimization::setSmoothCost | ( | SmoothCostFnExtra | fn, |
void * | extraData | ||
) |
Definition at line 790 of file GCoptimization.cpp.
void GCoptimization::setSmoothCost | ( | LabelID | l1, |
LabelID | l2, | ||
EnergyTermType | e | ||
) |
Definition at line 802 of file GCoptimization.cpp.
void GCoptimization::setSmoothCost | ( | EnergyTermType * | smoothArray | ) |
Definition at line 796 of file GCoptimization.cpp.
Definition at line 815 of file GCoptimization.cpp.
void GCoptimization::setupDataCostsExpansion | ( | SiteID | size, |
LabelID | alpha_label, | ||
EnergyT * | e, | ||
SiteID * | activeSites | ||
) | [protected] |
Definition at line 322 of file GCoptimization.cpp.
void GCoptimization::setupDataCostsSwap | ( | SiteID | size, |
LabelID | alpha_label, | ||
LabelID | beta_label, | ||
EnergyT * | e, | ||
SiteID * | activeSites | ||
) | [protected] |
Definition at line 363 of file GCoptimization.cpp.
GCoptimization::EnergyType GCoptimization::setupLabelCostsExpansion | ( | SiteID | size, |
LabelID | alpha_label, | ||
EnergyT * | e, | ||
SiteID * | activeSites | ||
) | [protected] |
Definition at line 1085 of file GCoptimization.cpp.
void GCoptimization::setupSmoothCostsExpansion | ( | SiteID | size, |
LabelID | alpha_label, | ||
EnergyT * | e, | ||
SiteID * | activeSites | ||
) | [protected] |
Definition at line 332 of file GCoptimization.cpp.
void GCoptimization::setupSmoothCostsSwap | ( | SiteID | size, |
LabelID | alpha_label, | ||
LabelID | beta_label, | ||
EnergyT * | e, | ||
SiteID * | activeSites | ||
) | [protected] |
Definition at line 377 of file GCoptimization.cpp.
void GCoptimization::setVerbosity | ( | int | level | ) | [inline] |
Definition at line 259 of file GCoptimization.h.
GCoptimization::EnergyType GCoptimization::solveGreedy | ( | ) | [private] |
Definition at line 566 of file GCoptimization.cpp.
bool GCoptimization::solveSpecialCases | ( | EnergyType & | energy | ) | [private] |
Definition at line 441 of file GCoptimization.cpp.
void GCoptimization::specializeDataCostFunctor | ( | const UserFunctor | f | ) | [protected] |
Definition at line 216 of file GCoptimization.cpp.
void GCoptimization::specializeSmoothCostFunctor | ( | const UserFunctor | f | ) | [protected] |
Definition at line 235 of file GCoptimization.cpp.
GCoptimization::EnergyType GCoptimization::swap | ( | int | max_num_iterations = -1 | ) |
Definition at line 1276 of file GCoptimization.cpp.
void GCoptimization::updateLabelingDataCosts | ( | ) | [protected] |
Definition at line 431 of file GCoptimization.cpp.
void GCoptimization::updateLabelingInfo | ( | bool | updateCounts = true , |
bool | updateActive = true , |
||
bool | updateCosts = true |
||
) | [protected] |
Definition at line 1152 of file GCoptimization.cpp.
Definition at line 609 of file GCoptimization.h.
void GCoptimization::whatLabel | ( | SiteID | start, |
SiteID | count, | ||
LabelID * | labeling | ||
) |
Definition at line 899 of file GCoptimization.cpp.
SiteID* GCoptimization::m_activeLabelCounts [protected] |
Definition at line 290 of file GCoptimization.h.
void(GCoptimization::* GCoptimization::m_applyNewLabeling)(EnergyT *, SiteID *, SiteID, LabelID) [protected] |
Definition at line 310 of file GCoptimization.h.
EnergyType GCoptimization::m_beforeExpansionEnergy [protected] |
Definition at line 299 of file GCoptimization.h.
void* GCoptimization::m_datacostFn [protected] |
Definition at line 297 of file GCoptimization.h.
void(* GCoptimization::m_datacostFnDelete)(void *f) [protected] |
Definition at line 313 of file GCoptimization.h.
EnergyTermType* GCoptimization::m_datacostIndividual [protected] |
Definition at line 286 of file GCoptimization.h.
EnergyType(GCoptimization::* GCoptimization::m_giveSmoothEnergyInternal)() [protected] |
Definition at line 304 of file GCoptimization.h.
int GCoptimization::m_labelcostCount [protected] |
Definition at line 293 of file GCoptimization.h.
LabelCost* GCoptimization::m_labelcostsAll [protected] |
Definition at line 291 of file GCoptimization.h.
LabelCostIter** GCoptimization::m_labelcostsByLabel [protected] |
Definition at line 292 of file GCoptimization.h.
SiteID* GCoptimization::m_labelCounts [protected] |
Definition at line 289 of file GCoptimization.h.
LabelID* GCoptimization::m_labeling [protected] |
Definition at line 279 of file GCoptimization.h.
EnergyTermType* GCoptimization::m_labelingDataCosts [protected] |
Definition at line 288 of file GCoptimization.h.
bool GCoptimization::m_labelingInfoDirty [protected] |
Definition at line 294 of file GCoptimization.h.
LabelID* GCoptimization::m_labelTable [protected] |
Definition at line 282 of file GCoptimization.h.
SiteID* GCoptimization::m_lookupSiteVar [protected] |
Definition at line 280 of file GCoptimization.h.
LabelID GCoptimization::m_num_labels [protected] |
Definition at line 277 of file GCoptimization.h.
SiteID GCoptimization::m_num_sites [protected] |
Definition at line 278 of file GCoptimization.h.
SiteID* GCoptimization::m_numNeighbors [protected] |
Definition at line 301 of file GCoptimization.h.
SiteID GCoptimization::m_numNeighborsTotal [protected] |
Definition at line 302 of file GCoptimization.h.
SiteID(GCoptimization::* GCoptimization::m_queryActiveSitesExpansion)(LabelID, SiteID *) [protected] |
Definition at line 305 of file GCoptimization.h.
int GCoptimization::m_random_label_order [protected] |
Definition at line 285 of file GCoptimization.h.
void(GCoptimization::* GCoptimization::m_setupDataCostsExpansion)(SiteID, LabelID, EnergyT *, SiteID *) [protected] |
Definition at line 306 of file GCoptimization.h.
void(GCoptimization::* GCoptimization::m_setupDataCostsSwap)(SiteID, LabelID, LabelID, EnergyT *, SiteID *) [protected] |
Definition at line 308 of file GCoptimization.h.
void(GCoptimization::* GCoptimization::m_setupSmoothCostsExpansion)(SiteID, LabelID, EnergyT *, SiteID *) [protected] |
Definition at line 307 of file GCoptimization.h.
void(GCoptimization::* GCoptimization::m_setupSmoothCostsSwap)(SiteID, LabelID, LabelID, EnergyT *, SiteID *) [protected] |
Definition at line 309 of file GCoptimization.h.
void* GCoptimization::m_smoothcostFn [protected] |
Definition at line 298 of file GCoptimization.h.
void(* GCoptimization::m_smoothcostFnDelete)(void *f) [protected] |
Definition at line 314 of file GCoptimization.h.
EnergyTermType* GCoptimization::m_smoothcostIndividual [protected] |
Definition at line 287 of file GCoptimization.h.
bool(GCoptimization::* GCoptimization::m_solveSpecialCases)(EnergyType &) [protected] |
Definition at line 315 of file GCoptimization.h.
int GCoptimization::m_stepsThisCycle [protected] |
Definition at line 283 of file GCoptimization.h.
int GCoptimization::m_stepsThisCycleTotal [protected] |
Definition at line 284 of file GCoptimization.h.
void(GCoptimization::* GCoptimization::m_updateLabelingDataCosts)() [protected] |
Definition at line 311 of file GCoptimization.h.
int GCoptimization::m_verbosity [protected] |
Definition at line 295 of file GCoptimization.h.