Skip to content

AFNI/NIfTI Server

Sections
Personal tools
You are here: Home » AFNI » Documentation

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 /* structures to be used by surface clusters functions */
00006 #define SURFCLUST_MAX_SURF 1  /*!< Maximum number of surfaces allowed for SurfClust*/
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;   /* this one's dynamically allocated so you'll have to free it yourself */
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; /*!< number of nodes in this cluster */
00034    int *NodeList; /*!< list of node (indices) in this cluster. Allocated space
00035                         is always for more than N_Node elements. But 
00036                         values beyond NodeList[N_Node-1] are of no meaning. */
00037    float *ValueList; /*!< list of corresponding node values. */
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    /* int rank; */  /* completely useless ... rank is inferred from order in list! */
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
 

Powered by Plone

This site conforms to the following standards: