Doxygen Source Code Documentation
Main Page Alphabetical List Data Structures File List Data Fields Globals Search
SUMA_SurfClust.h
Go to the documentation of this file.00001 #ifndef SUMA_SURFCLUST_INCLUDED
00002 #define SUMA_SURFCLUST_INCLUDED
00003
00004 typedef enum { SUMA_SORT_CLUST_NOT_SET, SUMA_SORT_CLUST_NO_SORT, SUMA_SORT_CLUST_BY_NUMBER_NODES, SUMA_SORT_CLUST_BY_AREA } SUMA_SURF_CLUST_SORT_MODES;
00005
00006 #define SURFCLUST_MAX_SURF 1
00007 typedef struct {
00008 SUMA_SO_File_Type iType;
00009 char *sv_name;
00010 char *surf_names[SURFCLUST_MAX_SURF];
00011 int N_surf;
00012 char *spec_file;
00013 char *in_name;
00014 char *surftype;
00015 int nodecol;
00016 int labelcol;
00017 char *out_prefix;
00018 float DistLim;
00019 float AreaLim;
00020 int DoThreshold;
00021 float Thresh;
00022 int tind;
00023 float update;
00024 int DoCentrality;
00025 SUMA_Boolean OutROI;
00026 SUMA_Boolean OutClustDset;
00027 SUMA_Boolean WriteFile;
00028 SUMA_SURF_CLUST_SORT_MODES SortMode;
00029 SUMA_Boolean FullROIList;
00030 } SUMA_SURFCLUST_OPTIONS;
00031
00032 typedef struct {
00033 int N_Node;
00034 int *NodeList;
00035
00036
00037 float *ValueList;
00038 float totalarea;
00039 float totalvalue;
00040 float totalabsvalue;
00041 float minvalue;
00042 float maxvalue;
00043 float varvalue;
00044 int minnode;
00045 int maxnode;
00046 int centralnode;
00047 int weightedcentralnode;
00048
00049 } SUMA_CLUST_DATUM;
00050
00051 SUMA_Boolean SUMA_Show_SurfClust_list(DList *list, FILE *Out, int detail, char *params);
00052 char *SUMA_Show_SurfClust_list_Info(DList *list, int detail, char *params);
00053 void SUMA_FreeClustDatum (void * data);
00054 DList *SUMA_FindClusters ( SUMA_SurfaceObject *SO, int *ni, float *nv, int N_ni,
00055 int dothisnode, SUMA_SURFCLUST_OPTIONS *Opt,
00056 float *NodeArea);
00057
00058 SUMA_DSET *SUMA_MaskDsetByClustList(SUMA_DSET *idset, SUMA_SurfaceObject *SO,
00059 DList *list, SUMA_Boolean FullList, char *leName);
00060 SUMA_DSET *SUMA_SurfClust_list_2_DsetMask(SUMA_SurfaceObject *SO,
00061 DList *list, SUMA_Boolean FullList, char *leName);
00062 float *SUMA_CalculateNodeAreas(SUMA_SurfaceObject *SO);
00063 int SUMA_ClusterCenterofMass (SUMA_SurfaceObject *SO, SUMA_CLUST_DATUM *cd, int UseSurfDst);
00064 SUMA_CLUST_DATUM * SUMA_Build_Cluster_From_Node(int dothisnode, SUMA_CLUST_DATUM *AddToThisClust,
00065 float *ToBeAssigned, int *N_TobeAssigned, float *NodeArea,
00066 SUMA_SurfaceObject *SO, SUMA_SURFCLUST_OPTIONS *Opt);
00067 SUMA_CLUST_DATUM * SUMA_Build_Cluster_From_Node_NoRec ( int dothisnode,
00068 float *ToBeAssigned, int *N_TobeAssigned, float *NodeArea,
00069 SUMA_SurfaceObject *SO, SUMA_SURFCLUST_OPTIONS *Opt );
00070
00071 #endif