1 #ifndef TEXTURETOBLOBS_H_ 2 #define TEXTURETOBLOBS_H_ 18 std::vector<surf::GreyLevelBlob *>
recoverGreyLevelBlobs (
const std::vector<surf::ScaleSpaceBlob *> &ssblobs ) ;
22 std::vector<surf::GreyLevelBlob *> &blobs,
26 std::vector<surf::ScaleSpaceBlob *> &ssblobs,
27 std::map< std::string, std::map<
int, std::set<int> > > &listGLBindices,
41 std::string subject_id,
44 std::string subject_id,
46 int findBlobIndex (
const std::vector<surf::GreyLevelBlob *> &blobs,
47 std::string subject_id,
49 int findBlobIndex (
const std::vector<surf::ScaleSpaceBlob *> &ssblobs,
50 std::string subject_id,
55 std::vector<surf::ScaleSpaceBlob *> &ssblobs,
56 bool initNull =
true);
61 std::vector<surf::ScaleSpaceBlob *> &ssblobs,
63 float thresholdOnT = -100.0 );
67 const std::vector<surf::Blob *> & blobs,
73 const std::vector<surf::ScaleSpaceBlob *> &ssblobs,
75 int representation_mode =
NONE );
78 std::map<std::string, SubjectData *> data,
79 std::vector<surf::ScaleSpaceBlob *> &ssblobs,
80 std::vector<surf::Clique> &cliques,
81 bool buildAndStoreRelationsMeshes =
false );
84 std::vector<surf::ScaleSpaceBlob *> &ssblobs,
85 std::vector<surf::Clique> &cliques );
87 void DestroyBlobs ( std::vector<surf::ScaleSpaceBlob *> &ssblobs ) ;
92 float clustering_distance_threshold );
96 std::vector<uint> &clusters,
97 std::vector<surf::ScaleSpaceBlob *> &clusteredSsblobs,
98 float clustering_distance_threshold = -1.0,
99 std::string outputTextFile =
"/tmp/blobsCountTable.py",
100 bool uniqueGLB =
false ) ;
102 double getOverlapMeasure( Point2df bbmin1, Point2df bbmax1, Point2df bbmin2, Point2df bbmax2,
uint *no_overlap );
104 bool isInside2DBox( Point2df p1, Point2df bbmin, Point2df bbmax);
void BlobsFromLabelTexture(std::vector< surf::Blob *> &blobs, SubjectData &subject)
void getGreyLevelBlobsFromGraph(Graph *graph, SubjectData &subject, std::vector< surf::GreyLevelBlob *> &blobs, bool initNull)
void RecoverBlobsFromGraph(Graph *graph, SubjectData &subject, std::vector< surf::ScaleSpaceBlob *> &ssblobs, bool initNull=true)
void AimsGroupGraph(Graph *graph, std::map< std::string, SubjectData *> data, std::vector< surf::ScaleSpaceBlob *> &ssblobs, std::vector< surf::Clique > &cliques, bool buildAndStoreRelationsMeshes=false)
std::set< int > getFilteringNodes(SubjectData &subject)
void AimsGraph(Graph *graph, SubjectData &subject, const std::vector< surf::Blob *> &blobs, int representation_mode=CORTICAL_PATCHES)
bool isInside2DBox(Point2df p1, Point2df bbmin, Point2df bbmax)
void RecoverBlobsFromGLBOnly(Graph *graph, SubjectData &subject, std::vector< surf::ScaleSpaceBlob *> &ssblobs, bool initNull=true, float thresholdOnT=-100.0)
void DestroyBlobs(std::vector< surf::ScaleSpaceBlob *> &ssblobs)
double getOverlapMeasure(Point2df bbmin1, Point2df bbmax1, Point2df bbmin2, Point2df bbmax2, uint *no_overlap)
surf::GreyLevelBlob * findBlob(const std::vector< surf::GreyLevelBlob *> &blobs, std::string subject_id, int index)
void BlobsFromLabelTextureGlobalMode(std::vector< surf::Blob *> &blobs, SubjectData &subject)
std::vector< surf::GreyLevelBlob * > recoverGreyLevelBlobs(const std::vector< surf::ScaleSpaceBlob *> &ssblobs)
std::vector< uint > getClustersListsFromGLB(std::vector< surf::GreyLevelBlob *> &blobs, GroupData &data, float clustering_distance_threshold)
void BlobsFromLabelTextureRegionMode(std::vector< surf::Blob *> &blobs, surf::Region ®ion, SubjectData ®ionData)
void ReadAimsGroupGraph(Graph &graph, std::vector< surf::ScaleSpaceBlob *> &ssblobs, std::vector< surf::Clique > &cliques)
void getScaleSpaceBlobsFromGraph(Graph *graph, std::vector< surf::ScaleSpaceBlob *> &ssblobs, std::map< std::string, std::map< int, std::set< int > > > &listGLBindices, bool initNull)
int findBlobIndex(const std::vector< surf::GreyLevelBlob *> &blobs, std::string subject_id, int index)
void buildBlobsFromClustersLists(std::vector< surf::GreyLevelBlob *> &blobs, GroupData &data, std::vector< uint > &clusters, std::vector< surf::ScaleSpaceBlob *> &clusteredSsblobs, float clustering_distance_threshold=-1.0, std::string outputTextFile="/tmp/blobsCountTable.py", bool uniqueGLB=false)