1#ifndef AIMS_MINIMIZATION_H
2#define AIMS_MINIMIZATION_H
41 uint nb_cl_sim = 0, nb_cl_dd = 0, nb_cl_intraps = 0, nb_cl_lower = 0;
49 std::cout <<
" done (" << nb_cl_sim <<
" similarity cliques ; " <<
50 nb_cl_dd <<
" datadriven cliques ; " <<
51 nb_cl_lower <<
" lower scale cliques ; " <<
52 nb_cl_intraps <<
" maximal order cliques ; " <<
53 cliques.size() <<
" cliques in total)" << std::endl;
54 std::cout <<
nbsujets <<
" subjects" << std::endl;
60 float _intrapsweight = 0.0,
61 float _simweight = 0.0,
62 float _lsweight = 0.0,
90 std::vector<Site *> &
sites,
95 std::vector<std::vector<surf::GreyLevelBlob *> > &matchingblobs ) ;
100 float threshold = 5.0,
117 for (
uint i = 0 ; i < this->cliques.size() ; i++ ) {
119 this->ipscliques.push_back(i);
121 this->globalclique = i;
124 std::set<std::string> subjects;
125 for (
uint i = 0 ; i < this->sites.size() ; i++ )
126 subjects.insert(this->sites[i]->subject);
static void GetSimilarityCliquesFromSSBCliques(std::vector< surf::Clique > &ssbcliques, std::vector< Site * > &sites, std::vector< Clique > &cliques, std::vector< std::vector< int > > &cliquesDuSite)
std::vector< Clique > cliques
static void ConvertSSBlobsToSites(std::vector< surf::ScaleSpaceBlob * > &ssblobs, std::vector< Site * > &sites)
double getLabelEnergy(int label, int type=UNKNOWN)
void StoreSignificanceToGraph(Graph &primal)
SurfaceBased_StructuralAnalysis()
void StoreToGraph(Graph &primal)
void Initialization(bool initLabels=true)
void PrintCliquesNumbers()
void setModelParameters(float _ddweight=0.0, float _intrapsweight=0.0, float _simweight=0.0, float _lsweight=0.0, float _ddx1=0.0, float _ddx2=0.0, float _simx1=0.0, float _simx2=0.0, float _lsx1=0.0, float _lsx2=0.0, float _ddh=0.0)
double getTypeEnergy(int type)
std::vector< std::vector< int > > cliquesDuSite
void ShortSummaryLabels()
std::vector< int > labels
void importGraphCliquesFromSSBCliques(std::vector< surf::Clique > &ssbcliques)
static std::vector< surf::Clique > BuildSimilarityCliques3D(std::vector< surf::ScaleSpaceBlob * > &ssblobs, GroupData &data, float threshold=5.0, int typeDistance=DISTANCE_3DEUCLIDIAN)
void importGraphNodesFromBlobs(std::vector< surf::ScaleSpaceBlob * > &ssblobs)
static void BuildSites(Graph &primal, std::vector< Site * >)
static std::vector< surf::Clique > BuildSimilarityCliques(std::vector< surf::ScaleSpaceBlob * > &ssblobs, std::vector< std::vector< surf::GreyLevelBlob * > > &matchingblobs)
std::vector< std::pair< Point2df, Point2df > > labelsZones
std::vector< Site * > sites
void noLabelsZones(int number_of_labels=21)
std::vector< uint > ipscliques
std::vector< std::set< uint > > listeZones
double getClusterEnergy(std::vector< uint > &composante)
std::vector< std::set< uint > > zonesListesBlobs
void importGraphNodesAndCliques(std::vector< surf::ScaleSpaceBlob * > &ssblobs, std::vector< surf::Clique > &ssbcliques)
void BuildDataDrivenCliques(std::vector< Site * > &sites, std::vector< std::vector< int > > &cliquesDuSite, std::vector< Clique > &cliques)
void BuildMaximalOrderCliques(std::vector< Site * > &sites, std::vector< std::vector< int > > &cliquesDuSite, std::vector< Clique > &cliques)
void BuildLowerScaleCliques(std::vector< Site * > &sites, std::vector< std::vector< int > > &cliquesDuSite, std::vector< Clique > &cliques)
void BuildGlobalClique(std::vector< Site * > &sites, std::vector< std::vector< int > > &cliquesDuSite, std::vector< Clique > &cliques)
@ DISTANCE_BOUNDING_BOXES_LATLON