cortical_surface 6.0.0
texturetoblobs.h
Go to the documentation of this file.
1#ifndef TEXTURETOBLOBS_H_
2#define TEXTURETOBLOBS_H_
3
5
9
13
14namespace TextureToBlobs {
15
16 std::set<int> getFilteringNodes( SubjectData & subject );
17
18 std::vector<surf::GreyLevelBlob *> recoverGreyLevelBlobs ( const std::vector<surf::ScaleSpaceBlob *> &ssblobs ) ;
19
21 SubjectData &subject,
22 std::vector<surf::GreyLevelBlob *> &blobs,
23 bool initNull );
24
26 std::vector<surf::ScaleSpaceBlob *> &ssblobs,
27 std::map< std::string, std::map<int, std::set<int> > > &listGLBindices,
28 bool initNull );
29
30 void BlobsFromLabelTexture ( std::vector<surf::Blob *> &blobs,
31 SubjectData &subject );
32
33 void BlobsFromLabelTextureGlobalMode ( std::vector<surf::Blob *> &blobs,
34 SubjectData &subject );
35
36 void BlobsFromLabelTextureRegionMode ( std::vector<surf::Blob *> &blobs,
37 surf::Region &region,
38 SubjectData &regionData );
39
40 surf::GreyLevelBlob * findBlob ( const std::vector<surf::GreyLevelBlob *> &blobs,
41 std::string subject_id,
42 int index ) ;
43 surf::ScaleSpaceBlob * findBlob ( const std::vector<surf::ScaleSpaceBlob *> &ssblobs,
44 std::string subject_id,
45 int index ) ;
46 int findBlobIndex ( const std::vector<surf::GreyLevelBlob *> &blobs,
47 std::string subject_id,
48 int index ) ;
49 int findBlobIndex ( const std::vector<surf::ScaleSpaceBlob *> &ssblobs,
50 std::string subject_id,
51 int index ) ;
52
54 SubjectData &subject,
55 std::vector<surf::ScaleSpaceBlob *> &ssblobs,
56 bool initNull = true);
57
59 SubjectData &subject,
60 //std::vector<surf::GreyLevelBlob *> &blobs,
61 std::vector<surf::ScaleSpaceBlob *> &ssblobs,
62 bool initNull = true,
63 float thresholdOnT = -100.0 );
64
65 void AimsGraph( Graph *graph,
66 SubjectData & subject,
67 const std::vector<surf::Blob *> & blobs,
68 int representation_mode = CORTICAL_PATCHES) ;
69
70
71 void AimsGraph ( Graph *graph,
72 SubjectData & subject,
73 const std::vector<surf::ScaleSpaceBlob *> &ssblobs,
74 int graph_mode = DEFAULT,
75 int representation_mode = NONE );
76
77 void AimsGroupGraph ( Graph *graph,
78 std::map<std::string, SubjectData *> data,
79 std::vector<surf::ScaleSpaceBlob *> &ssblobs,
80 std::vector<surf::Clique> &cliques,
81 bool buildAndStoreRelationsMeshes = false );
82
84 std::vector<surf::ScaleSpaceBlob *> &ssblobs,
85 std::vector<surf::Clique> &cliques );
86
87 void DestroyBlobs ( std::vector<surf::ScaleSpaceBlob *> &ssblobs ) ;
88 void DestroyBlobs ( std::vector<surf::Blob *> &blobs ) ;
89
90 std::vector<uint> getClustersListsFromGLB ( std::vector< surf::GreyLevelBlob *> &blobs,
91 GroupData &data,
92 float clustering_distance_threshold );
93
94 void buildBlobsFromClustersLists ( std::vector< surf::GreyLevelBlob *> &blobs,
95 GroupData & data,
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 ) ;
101
102 double getOverlapMeasure( Point2df bbmin1, Point2df bbmax1, Point2df bbmin2, Point2df bbmax2, uint *no_overlap );
103
104 bool isInside2DBox( Point2df p1, Point2df bbmin, Point2df bbmax);
105
106 //void filteringBlobs ( std::vector<surf::ScaleSpaceBlob *> & ssblobs,
107 // std::vector<surf::GreyLevelBlob *> &filteredBlobs,
108 // std::vector<surf::ScaleSpaceBlob *> & filteredSsblobs,
109 // std::set< int > &nodes );
110}
111
112#endif /*TEXTURETOBLOBS_H_*/
surf::GreyLevelBlob * findBlob(const std::vector< surf::GreyLevelBlob * > &blobs, std::string subject_id, int index)
std::vector< surf::GreyLevelBlob * > recoverGreyLevelBlobs(const std::vector< surf::ScaleSpaceBlob * > &ssblobs)
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)
std::vector< uint > getClustersListsFromGLB(std::vector< surf::GreyLevelBlob * > &blobs, GroupData &data, float clustering_distance_threshold)
void RecoverBlobsFromGraph(Graph *graph, SubjectData &subject, std::vector< surf::ScaleSpaceBlob * > &ssblobs, bool initNull=true)
bool isInside2DBox(Point2df p1, Point2df bbmin, Point2df bbmax)
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)
void BlobsFromLabelTextureRegionMode(std::vector< surf::Blob * > &blobs, surf::Region &region, SubjectData &regionData)
double getOverlapMeasure(Point2df bbmin1, Point2df bbmax1, Point2df bbmin2, Point2df bbmax2, uint *no_overlap)
void getScaleSpaceBlobsFromGraph(Graph *graph, std::vector< surf::ScaleSpaceBlob * > &ssblobs, std::map< std::string, std::map< int, std::set< int > > > &listGLBindices, bool initNull)
void BlobsFromLabelTextureGlobalMode(std::vector< surf::Blob * > &blobs, SubjectData &subject)
std::set< int > getFilteringNodes(SubjectData &subject)
void AimsGraph(Graph *graph, SubjectData &subject, const std::vector< surf::Blob * > &blobs, int representation_mode=CORTICAL_PATCHES)
void AimsGroupGraph(Graph *graph, std::map< std::string, SubjectData * > data, std::vector< surf::ScaleSpaceBlob * > &ssblobs, std::vector< surf::Clique > &cliques, bool buildAndStoreRelationsMeshes=false)
int findBlobIndex(const std::vector< surf::GreyLevelBlob * > &blobs, std::string subject_id, int index)
void getGreyLevelBlobsFromGraph(Graph *graph, SubjectData &subject, std::vector< surf::GreyLevelBlob * > &blobs, bool initNull)
void ReadAimsGroupGraph(Graph &graph, std::vector< surf::ScaleSpaceBlob * > &ssblobs, std::vector< surf::Clique > &cliques)
void BlobsFromLabelTexture(std::vector< surf::Blob * > &blobs, SubjectData &subject)
graphMode
@ NO_SCALESPACEBLOBS_MESHES
@ DEFAULT
@ NO_RELATIONS_MESHES
@ NO_SCALESPACEBLOBS_MESHES_AND_NO_RELATIONS_MESHES
representationMode
@ SPHERES
@ NONE
@ CORTICAL_PATCHES
unsigned int uint