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_CreateDO.h

Go to the documentation of this file.
00001 #ifndef SUMA_CREATEDO_INCLUDED
00002 #define SUMA_CREATEDO_INCLUDED
00003 typedef struct {
00004    char *idcode_str; /* copied by value */
00005    char *LocalDomainParentID;  /* copied by value */
00006    SUMA_SO_File_Format FileFormat; /*defaults to  SUMA_ASCII*/
00007    SUMA_SO_File_Type FileType; /*defaults to SUMA_FT_NOT_SPECIFIED*/
00008    byte DoNormals; /* calculate normals ?*/
00009    byte DoMetrics; /* calculate metrics? */
00010    byte DoCenter; /* calculate center ? */
00011 } SUMA_NEW_SO_OPT; 
00012 
00013 SUMA_NEW_SO_OPT *SUMA_NewNewSOOpt(void);
00014 SUMA_NEW_SO_OPT *SUMA_FreeNewSOOpt(SUMA_NEW_SO_OPT *nsopt);
00015 SUMA_SurfaceObject *SUMA_NewSO(float **NodeList, int N_Node, int **FaceSetList, int N_FaceSet, SUMA_NEW_SO_OPT *nsooptu);
00016 SUMA_SurfaceObject *SUMA_CreateChildSO(SUMA_SurfaceObject * SO, 
00017                                        float *NodeList, int N_Node, 
00018                                        int *FaceSetList, int N_FaceSet,
00019                                        SUMA_Boolean replace);
00020 SUMA_Axis* SUMA_Alloc_Axis (const char *Name);
00021 void SUMA_Free_Axis (SUMA_Axis *Ax);
00022 SUMA_Boolean SUMA_DrawAxis (SUMA_Axis* Ax, SUMA_SurfaceViewer *csv);
00023 void SUMA_MeshAxisStandard (SUMA_Axis* Ax, SUMA_SurfaceObject *cso);
00024 void SUMA_EyeAxisStandard (SUMA_Axis* Ax, SUMA_SurfaceViewer *csv);
00025 void SUMA_Free_CrossHair (SUMA_CrossHair *Ch);
00026 SUMA_CrossHair* SUMA_Alloc_CrossHair (void);
00027 SUMA_Boolean SUMA_DrawCrossHair (SUMA_CrossHair* Ch);
00028 void SUMA_Free_SphereMarker (SUMA_SphereMarker *SM);
00029 SUMA_SphereMarker* SUMA_Alloc_SphereMarker (void);
00030 SUMA_Boolean SUMA_DrawFaceSetMarker (SUMA_FaceSetMarker* FM);
00031 SUMA_FaceSetMarker* SUMA_Alloc_FaceSetMarker (void);
00032 void SUMA_Free_FaceSetMarker (SUMA_FaceSetMarker* FM);
00033 void SUMA_DrawMesh(SUMA_SurfaceObject *SurfObj, SUMA_SurfaceViewer *csv);
00034 SUMA_Boolean SUMA_Free_Surface_Object (SUMA_SurfaceObject *SO);
00035 void SUMA_Print_Surface_Object(SUMA_SurfaceObject *SO, FILE *Out);
00036 char *SUMA_SurfaceObject_Info (SUMA_SurfaceObject *SO, DList *DsetList);
00037 SUMA_SurfaceObject *SUMA_Alloc_SurfObject_Struct(int N);
00038 SUMA_DRAWN_ROI * SUMA_AllocateDrawnROI (char *Parent_idcode_str, SUMA_ROI_DRAWING_STATUS DrawStatus, 
00039                                        SUMA_ROI_DRAWING_TYPE Type, char * label, int ilabel);
00040 SUMA_ROI * SUMA_AllocateROI (char *Parent_idcode_str, SUMA_ROI_TYPE Type, char * label, int N_ElInd, int *ElInd);
00041 SUMA_Boolean SUMA_freeDrawnROI (SUMA_DRAWN_ROI *D_ROI); 
00042 SUMA_Boolean SUMA_freeROI (SUMA_ROI *ROI); 
00043 SUMA_Boolean SUMA_Draw_SO_ROI (SUMA_SurfaceObject *SO, SUMA_DO* dov, int N_dov);
00044 SUMA_SegmentDO * SUMA_Alloc_SegmentDO (int N_n, char *Label);
00045 void SUMA_free_SegmentDO (SUMA_SegmentDO * SDO);
00046 SUMA_Boolean SUMA_DrawSegmentDO (SUMA_SegmentDO *SDO);
00047 SUMA_Boolean SUMA_isROIdequal (SUMA_ROI_DATUM *ROId1, SUMA_ROI_DATUM *ROId2);
00048 void SUMA_FreeROIDatum (void * data);
00049 SUMA_ROI_DATUM * SUMA_AllocROIDatum (void);
00050 SUMA_Boolean SUMA_PrependToROIdatum (SUMA_ROI_DATUM *ROId1, SUMA_ROI_DATUM *ROId2);
00051 void SUMA_ShowDrawnROI (SUMA_DRAWN_ROI *D_ROI, FILE *out, SUMA_Boolean ShortVersion);
00052 void SUMA_ShowDrawnROIDatum (SUMA_ROI_DATUM *ROId, FILE *out, SUMA_Boolean ShortVersion);
00053 SUMA_Boolean SUMA_AppendToROIdatum (SUMA_ROI_DATUM *ROId1, SUMA_ROI_DATUM *ROId2);
00054 SUMA_ROI_DATUM * SUMA_FillToMask(SUMA_SurfaceObject *SO, int *ROI_Mask, int FirstSurfNode);
00055 void SUMA_FillToMask_Engine (SUMA_NODE_FIRST_NEIGHB *FN, int *Visited, int *ROI_mask, int seed, int *N_Visited, int N_Node);
00056 void SUMA_FillToMask_Engine_old (SUMA_NODE_FIRST_NEIGHB *FN, int *Visited, int *ROI_mask, int seed, int *N_Visited);
00057 SUMA_DRAWN_ROI **SUMA_Find_ROIrelatedtoSO (SUMA_SurfaceObject *SO, SUMA_DO* dov, int N_do, int *N_ROI);
00058 SUMA_DRAWN_ROI **SUMA_Find_ROIonSO (SUMA_SurfaceObject *SO, SUMA_DO* dov, int N_do, int *N_ROI);
00059 SUMA_Boolean SUMA_Paint_SO_ROIplanes (SUMA_SurfaceObject *SO, 
00060                                        SUMA_DO* dov, int N_do, 
00061                                        SUMA_Boolean *MakeNel,
00062                                        NI_element ***nelvp, int *N_nelv);
00063 SUMA_Boolean SUMA_Paint_SO_ROIplanes_w (SUMA_SurfaceObject *SO, 
00064                                        SUMA_DO* dov, int N_do);
00065 void SUMA_Free_ROI_PlaneData (void *da);
00066 DList * SUMA_Addto_ROIplane_List (DList *ROIplaneListIn, SUMA_DO *dov, int idov);
00067 int * SUMA_NodesInROI (SUMA_DRAWN_ROI *D_ROI, int *N_Nodes, SUMA_Boolean Unique);
00068 SUMA_DRAWN_ROI * SUMA_1DROI_to_DrawnROI ( int *Node, int N_Node, int Value, char *Parent_idcode_str, 
00069                                           char *Label, char *ColPlaneName, 
00070                                           float *FillColor, float *EdgeColor, int EdgeThickness , 
00071                                           SUMA_DO *dov, int N_dov, SUMA_Boolean ForDisplay);
00072 SUMA_SegmentDO * SUMA_ReadSegDO (char *s);
00073 SUMA_SurfaceObject *SUMA_Cmap_To_SO (SUMA_COLOR_MAP *Cmap, float orig[3], float topright[3], int verb);
00074 SUMA_Boolean SUMA_DrawLineAxis ( SUMA_AxisSegmentInfo *ASIp, SUMA_Axis *Ax, SUMA_Boolean AddText);
00075 DList *SUMA_SortedAxisSegmentList ( SUMA_SurfaceViewer *sv, SUMA_Axis *Ax, 
00076                                     SUMA_SORT_BOX_AXIS_OPTION opt);
00077 void SUMA_WorldAxisStandard (SUMA_Axis* Ax, SUMA_SurfaceViewer *sv);
00078 SUMA_Boolean SUMA_AxisText(SUMA_AxisSegmentInfo *ASIp, double *Ps);
00079 void SUMA_ReportDrawnROIDatumLength(SUMA_SurfaceObject *SO, SUMA_ROI_DATUM *ROId, FILE *out, SUMA_WIDGET_INDEX_DRAWROI_WHATDIST option);
00080 
00081  
00082 /*!
00083    NO Guarantee that certain nodes might 
00084    get counted twice !
00085 */
00086 #define SUMA_ROI_CRUDE_COUNT_NODES(m_D_ROI, m_N_max)  \
00087 {  \
00088    DListElmt *m_NextElm = NULL;  \
00089    SUMA_ROI_DATUM *m_ROId = NULL; \
00090    int m_LastOfPreSeg = -1; \
00091    \
00092    m_N_max = 0;\
00093    m_NextElm = NULL;\
00094    m_LastOfPreSeg = -1;  \
00095    do {  \
00096       if (!m_NextElm) m_NextElm = dlist_head(m_D_ROI->ROIstrokelist);   \
00097       else m_NextElm = dlist_next(m_NextElm);   \
00098       m_ROId = (SUMA_ROI_DATUM *)m_NextElm->data; \
00099       if (m_ROId->nPath[0] == m_LastOfPreSeg) {  \
00100          m_N_max += m_ROId->N_n - 1; \
00101       }  else {   \
00102          m_N_max += m_ROId->N_n; \
00103       }  \
00104       m_LastOfPreSeg = m_ROId->nPath[m_ROId->N_n - 1];   \
00105    }while (m_NextElm != dlist_tail(m_D_ROI->ROIstrokelist));   \
00106    \
00107 }  
00108 
00109 #endif
00110 
 

Powered by Plone

This site conforms to the following standards: