cortical_surface  5.0.5
texturetoblobs.h
Go to the documentation of this file.
1 #ifndef TEXTURETOBLOBS_H_
2 #define TEXTURETOBLOBS_H_
3 
5 
8 };
9 
10 enum graphMode {
12 };
13 
14 namespace TextureToBlobs {
15 
16  std::set<int> getFilteringNodes( SubjectData & subject );
17 
18  std::vector<surf::GreyLevelBlob *> recoverGreyLevelBlobs ( const std::vector<surf::ScaleSpaceBlob *> &ssblobs ) ;
19 
20  void getGreyLevelBlobsFromGraph ( Graph *graph,
21  SubjectData &subject,
22  std::vector<surf::GreyLevelBlob *> &blobs,
23  bool initNull );
24 
25  void getScaleSpaceBlobsFromGraph ( Graph *graph,
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 
53  void RecoverBlobsFromGraph( Graph *graph,
54  SubjectData &subject,
55  std::vector<surf::ScaleSpaceBlob *> &ssblobs,
56  bool initNull = true);
57 
58  void RecoverBlobsFromGLBOnly( Graph *graph,
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 
83  void ReadAimsGroupGraph ( Graph &graph,
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_*/
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)
graphMode
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 &region, SubjectData &regionData)
unsigned int uint
void ReadAimsGroupGraph(Graph &graph, std::vector< surf::ScaleSpaceBlob *> &ssblobs, std::vector< surf::Clique > &cliques)
representationMode
Definition: texturetoblobs.h:6
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)