1 #ifndef SUMA_WORLDSTAT_INCLUDED 2 #define SUMA_WORLDSTAT_INCLUDED 3 4 typedef enum { SUMA_NO_BUILD_METHOD, SUMA_OFFSETS2, SUMA_OFFSETS_LL, SUMA_OFFSETS2_NO_REC, SUMA_MAXIMA } SUMA_CLUST_BUILD_METHODS; 5 6 typedef enum { 7 SUMA_NO_GRAD_SCALE, SUMA_MEAN_GRAD_SCALE, SUMA_GMEAN_GRAD_SCALE, 8 } SUMA_GRAD_SCALE_OPTS; 9 10 typedef enum { SUMA_MINIMUS=-1, SUMA_EXTREMUS, SUMA_MAXIMUS } 11 SUMA_EXTREMA_DIRECTIONS; 12 13 void SUMA_FreeClustDatum (void * data); 14 float *SUMA_CalculateNodeAreas(SUMA_SurfaceObject *SO, byte *mask); 15 SUMA_CLUST_DATUM * SUMA_Build_Cluster_From_Node( 16 int dothisnode, SUMA_CLUST_DATUM *AddToThisClust, 17 float *ToBeAssigned, int *N_TobeAssigned, float *NodeArea, 18 SUMA_SurfaceObject *SO, SUMA_SURFCLUST_OPTIONS *Opt); 19 SUMA_CLUST_DATUM * SUMA_Build_Cluster_From_Node_NoRec ( 20 int dothisnode, 21 float *ToBeAssigned, int *N_TobeAssigned, float *NodeArea, 22 SUMA_SurfaceObject *SO, SUMA_SURFCLUST_OPTIONS *Opt ); 23 DList *SUMA_FindClusters ( SUMA_SurfaceObject *SO, int *ni, float *nv, int N_ni, 24 int dothisnode, SUMA_SURFCLUST_OPTIONS *Opt, 25 float *NodeArea); 26 SUMA_Boolean SUMA_Show_SurfClust_list(DList *list, FILE *Out, int detail, 27 char *params, char *opts) ; 28 char *SUMA_Show_SurfClust_list_Info(DList *list, int detail, 29 char *params, char *opts) ; 30 NI_element *SUMA_SurfClust_list_2_nel(DList *list, int detail, char *params, 31 char *opts); 32 SUMA_DSET *SUMA_MaskDsetByClustList(SUMA_DSET *idset, SUMA_SurfaceObject *SO, 33 DList *list, SUMA_Boolean FullList, char *leName); 34 SUMA_DSET *SUMA_SurfClust_list_2_DsetMask(SUMA_SurfaceObject *SO, 35 DList *list, SUMA_Boolean FullList, char *leName); 36 byte * SUMA_ClustList2Mask(DList *list, int NodeMax); 37 int SUMA_ClusterCenterofMass (SUMA_SurfaceObject *SO, SUMA_CLUST_DATUM *cd, int UseSurfDist); 38 SUMA_Boolean SUMA_Sort_ClustersList (DList *list, SUMA_SURF_CLUST_SORT_MODES SortMode); 39 SUMA_DSET *SUMA_CalculateLocalStats( 40 SUMA_SurfaceObject *SO, SUMA_DSET *din, 41 byte *nmask, byte strict_mask, 42 float rhood, SUMA_OFFSET_STRUCT *UseThisOffset, 43 int ncode, int *code, 44 SUMA_DSET *UseThisDout, int NodeDebug, 45 SUMA_SurfaceObject *SOf); 46 SUMA_DSET *SUMA_DsetAvgGradient( 47 SUMA_SurfaceObject *SO, float **dists, SUMA_DSET *din, 48 byte *nmask, byte mask_by_zeros, SUMA_GRAD_SCALE_OPTS normopt); 49 float *SUMA_AvgGradient( 50 SUMA_SurfaceObject *SO, float **dists, float *nv, 51 byte *nmask, byte mask_by_zeros, SUMA_GRAD_SCALE_OPTS normopt); 52 SUMA_DSET *SUMA_DsetExtrema( 53 SUMA_SurfaceObject *SO, float **FirstNeighbDist, 54 SUMA_DSET *din, SUMA_DSET *dgrad, float r, float fthresh, float gthresh, 55 byte *maskp, byte mask_by_zeros, SUMA_EXTREMA_DIRECTIONS dir, char *tout); 56 double SUMA_GetFWHM_MinArea(void); 57 void SUMA_SetFWHM_MinArea(double); 58 int SUMA_SurfClust_Get_Method(void) ; 59 void SUMA_SurfClust_Set_Method(int m); 60 SUMA_SURFCLUST_OPTIONS *SUMA_free_SurfClust_Opt(SUMA_SURFCLUST_OPTIONS *Opt); 61 SUMA_SURFCLUST_OPTIONS *SUMA_create_SurfClust_Opt(char *forwhom); 62 char *SUMA_ClustCommandLineFromOpt(char *pname, SUMA_SurfaceObject *SO, 63 SUMA_SURFCLUST_OPTIONS *Opt, char *filler); 64 int SUMA_NodeClustNumber(SUMA_OVERLAYS *Sover, int node, 65 SUMA_SurfaceObject *SO, 66 SUMA_CLUST_DATUM **cdp); 67 68 #endif 69