Doxygen Source Code Documentation
thd_auxdata.c File Reference
#include "mrilib.h"
#include "thd.h"
Go to the source code of this file.
Defines | |
#define | DQQ(s) |
Functions | |
void | THD_copy_datablock_auxdata (THD_datablock *old_dblk, THD_datablock *new_dblk) |
void | THD_init_datablock_labels (THD_datablock *dblk) |
void | THD_store_datablock_label (THD_datablock *dblk, int iv, char *str) |
void | THD_init_datablock_keywords (THD_datablock *dblk) |
void | THD_store_datablock_keywords (THD_datablock *dblk, int iv, char *str) |
void | THD_append_datablock_keywords (THD_datablock *dblk, int iv, char *str) |
void | THD_init_datablock_stataux (THD_datablock *dblk) |
void | THD_store_datablock_stataux (THD_datablock *dblk, int iv, int scode, int npar, float *par) |
int | THD_string_has (char *strbig, char *strlit) |
void | THD_store_dataset_keywords (THD_3dim_dataset *dset, char *str) |
void | THD_append_dataset_keywords (THD_3dim_dataset *dset, char *str) |
Define Documentation
|
Definition at line 13 of file thd_auxdata.c. Referenced by THD_copy_datablock_auxdata(). |
Function Documentation
|
Definition at line 178 of file thd_auxdata.c. References THD_datablock::brick_keywords, ISVALID_DATABLOCK, myXtFree, THD_datablock::nvals, THD_init_datablock_keywords(), THD_store_datablock_keywords(), and XtMalloc. Referenced by EDIT_dset_items().
00179 { 00180 if( ! ISVALID_DATABLOCK(dblk) || 00181 iv < 0 || iv >= dblk->nvals || str == NULL ) return ; 00182 00183 if( dblk->brick_keywords == NULL ) THD_init_datablock_keywords( dblk ) ; 00184 00185 if( dblk->brick_keywords[iv] == NULL || dblk->brick_keywords[iv][0] == '\0' ){ 00186 THD_store_datablock_keywords( dblk , iv , str ) ; 00187 } else if( str[0] != '\0' ){ 00188 int ll = strlen(dblk->brick_keywords[iv]) + strlen(str) + 6 ; 00189 char *cc = (char*)XtMalloc( sizeof(char) * ll ) ; 00190 strcpy(cc,dblk->brick_keywords[iv]) ; strcat(cc," ; ") ; strcat(cc,str) ; 00191 myXtFree( dblk->brick_keywords[iv] ) ; 00192 dblk->brick_keywords[iv] = cc ; 00193 } 00194 return ; 00195 } |
|
Definition at line 285 of file thd_auxdata.c. References ISVALID_3DIM_DATASET, THD_3dim_dataset::keywords, myXtFree, THD_store_dataset_keywords(), and XtMalloc. Referenced by EDIT_dset_items().
00286 { 00287 if( ! ISVALID_3DIM_DATASET(dset) || str == NULL ) return ; 00288 00289 if( dset->keywords == NULL || dset->keywords[0] == '\0' ){ 00290 THD_store_dataset_keywords( dset , str ) ; 00291 } else if( str[0] != '\0' ){ 00292 int ll = strlen(dset->keywords) + strlen(str) + 6 ; 00293 char *cc = (char*)XtMalloc( sizeof(char) * ll ) ; 00294 strcpy(cc,dset->keywords) ; strcat(cc," ; ") ; strcat(cc,str) ; 00295 myXtFree( dset->keywords ) ; 00296 dset->keywords = cc ; 00297 } 00298 return ; 00299 } |
|
Definition at line 18 of file thd_auxdata.c. References THD_datablock::brick_keywords, THD_datablock::brick_lab, THD_datablock::brick_stataux, THD_datablock::brick_statcode, DQQ, ISVALID_DATABLOCK, myXtFree, THD_datablock::nvals, THD_init_datablock_keywords(), THD_init_datablock_labels(), THD_init_datablock_stataux(), THD_store_datablock_keywords(), THD_store_datablock_label(), and THD_store_datablock_stataux(). Referenced by adwarp_follower_dataset(), AFNI_follower_dataset(), AFNI_init_warp(), EDIT_dset_items(), EDIT_empty_copy(), main(), and THD_warp3D().
00019 { 00020 int new_nvals , old_nvals , min_nvals , iv,kv , ibr ; 00021 00022 DQQ("entry") ; 00023 00024 if( ! ISVALID_DATABLOCK(new_dblk) ) return ; 00025 00026 new_nvals = new_dblk->nvals ; 00027 00028 if( new_dblk->brick_lab != NULL ){ 00029 for( ibr=0 ; ibr < new_nvals ; ibr++ ) myXtFree( new_dblk->brick_lab[ibr] ) ; 00030 myXtFree( new_dblk->brick_lab ) ; 00031 } 00032 00033 if( new_dblk->brick_keywords != NULL ){ 00034 for( ibr=0 ; ibr < new_nvals ; ibr++ ) myXtFree( new_dblk->brick_keywords[ibr] ) ; 00035 myXtFree( new_dblk->brick_keywords ) ; 00036 } 00037 00038 if( new_dblk->brick_statcode != NULL ) 00039 myXtFree( new_dblk->brick_statcode ) ; 00040 00041 if( new_dblk->brick_stataux != NULL ){ 00042 for( ibr=0 ; ibr < new_nvals ; ibr++ ) myXtFree( new_dblk->brick_stataux[ibr] ) ; 00043 myXtFree( new_dblk->brick_stataux ) ; 00044 } 00045 00046 new_dblk->brick_lab = NULL ; 00047 new_dblk->brick_keywords = NULL ; 00048 new_dblk->brick_statcode = NULL ; 00049 new_dblk->brick_stataux = NULL ; 00050 00051 DQQ("finish nulling") ; 00052 00053 if( ! ISVALID_DATABLOCK(old_dblk) ) return ; 00054 00055 old_nvals = old_dblk->nvals ; 00056 min_nvals = (old_nvals < new_nvals) ? old_nvals : new_nvals ; 00057 00058 DQQ("starting copy") ; 00059 00060 if( old_dblk->brick_lab != NULL ){ 00061 DQQ("copy labels") ; 00062 THD_init_datablock_labels( new_dblk ) ; 00063 for( iv=0 ; iv < min_nvals ; iv++ ) 00064 THD_store_datablock_label( new_dblk , iv , old_dblk->brick_lab[iv] ) ; 00065 } 00066 00067 if( old_dblk->brick_keywords != NULL ){ 00068 DQQ("copy keywords") ; 00069 THD_init_datablock_keywords( new_dblk ) ; 00070 for( iv=0 ; iv < min_nvals ; iv++ ) 00071 THD_store_datablock_keywords( new_dblk , iv , old_dblk->brick_keywords[iv] ) ; 00072 } 00073 00074 if( old_dblk->brick_statcode != NULL ){ 00075 DQQ("copy statcode and stataux") ; 00076 THD_init_datablock_stataux( new_dblk ) ; 00077 for( iv=0 ; iv < min_nvals ; iv++ ){ 00078 kv = old_dblk->brick_statcode[iv] ; 00079 THD_store_datablock_stataux( new_dblk , iv , kv , 00080 FUNC_need_stat_aux[kv] , 00081 old_dblk->brick_stataux[iv] ) ; 00082 } 00083 } 00084 00085 DQQ("exit") ; 00086 return ; 00087 } |
|
Definition at line 140 of file thd_auxdata.c. References THD_datablock::brick_keywords, ISVALID_DATABLOCK, myXtFree, THD_datablock::nvals, and XtMalloc. Referenced by EDIT_add_bricklist(), MAKER_4D_to_typed_fbuc(), THD_append_datablock_keywords(), THD_copy_datablock_auxdata(), THD_datablock_apply_atr(), THD_datablock_from_atr(), and THD_store_datablock_keywords().
00141 { 00142 int ibr , nvals ; 00143 00144 if( ! ISVALID_DATABLOCK(dblk) ) return ; 00145 00146 nvals = dblk->nvals ; 00147 00148 if( dblk->brick_keywords != NULL ){ 00149 for( ibr=0 ; ibr < nvals ; ibr++ ) myXtFree( dblk->brick_keywords[ibr] ) ; 00150 myXtFree( dblk->brick_keywords ) ; 00151 } 00152 00153 dblk->brick_keywords = (char **) XtMalloc( sizeof(char *) * nvals ) ; 00154 for( ibr=0 ; ibr < nvals ; ibr++ ){ 00155 dblk->brick_keywords[ibr] = (char *) XtMalloc(sizeof(char)*4) ; 00156 dblk->brick_keywords[ibr][0] = '\0' ; 00157 } 00158 00159 return ; 00160 } |
|
Definition at line 93 of file thd_auxdata.c. References THD_datablock::brick_lab, ISVALID_DATABLOCK, myXtFree, THD_datablock::nvals, and XtMalloc. Referenced by adwarp_follower_dataset(), AFNI_follower_dataset(), EDIT_add_bricklist(), MAKER_4D_to_typed_fbuc(), THD_copy_datablock_auxdata(), THD_datablock_apply_atr(), THD_datablock_from_atr(), and THD_store_datablock_label().
00094 { 00095 int ibr , nvals ; 00096 00097 if( ! ISVALID_DATABLOCK(dblk) ) return ; 00098 00099 nvals = dblk->nvals ; 00100 00101 if( dblk->brick_lab != NULL ){ 00102 for( ibr=0 ; ibr < nvals ; ibr++ ) myXtFree( dblk->brick_lab[ibr] ) ; 00103 myXtFree( dblk->brick_lab ) ; 00104 } 00105 00106 dblk->brick_lab = (char **) XtMalloc( sizeof(char *) * nvals ) ; 00107 for( ibr=0 ; ibr < nvals ; ibr++ ){ 00108 dblk->brick_lab[ibr] = (char *) XtMalloc(sizeof(char)*8) ; 00109 sprintf( dblk->brick_lab[ibr] , "#%d" , ibr ) ; 00110 } 00111 00112 return ; 00113 } |
|
Definition at line 199 of file thd_auxdata.c. References THD_datablock::brick_stataux, THD_datablock::brick_statcode, ISVALID_DATABLOCK, myXtFree, THD_datablock::nvals, and XtMalloc. Referenced by MAKER_4D_to_typed_fbuc(), THD_copy_datablock_auxdata(), and THD_store_datablock_stataux().
00200 { 00201 int ibr , nvals ; 00202 00203 if( ! ISVALID_DATABLOCK(dblk) ) return ; 00204 00205 nvals = dblk->nvals ; 00206 00207 if( dblk->brick_statcode != NULL ) 00208 myXtFree( dblk->brick_statcode ) ; 00209 00210 if( dblk->brick_stataux != NULL ){ 00211 for( ibr=0 ; ibr < nvals ; ibr++ ) myXtFree( dblk->brick_stataux[ibr] ) ; 00212 myXtFree( dblk->brick_stataux ) ; 00213 } 00214 00215 /* initialize to emptinesss */ 00216 00217 dblk->brick_statcode = (int *) XtMalloc( sizeof(int) * nvals ) ; 00218 dblk->brick_stataux = (float **) XtMalloc( sizeof(float *) * nvals ) ; 00219 for( ibr=0 ; ibr < nvals ; ibr++ ){ 00220 dblk->brick_statcode[ibr] = 0 ; 00221 dblk->brick_stataux[ibr] = NULL ; 00222 } 00223 00224 return ; 00225 } |
|
Definition at line 164 of file thd_auxdata.c. References THD_datablock::brick_keywords, ISVALID_DATABLOCK, myXtFree, THD_datablock::nvals, and THD_init_datablock_keywords(). Referenced by EDIT_add_bricklist(), EDIT_dset_items(), THD_append_datablock_keywords(), THD_copy_datablock_auxdata(), and THD_setup_mastery().
00165 { 00166 if( ! ISVALID_DATABLOCK(dblk) || iv < 0 || iv >= dblk->nvals ) return ; 00167 00168 if( dblk->brick_keywords == NULL ) THD_init_datablock_keywords( dblk ) ; 00169 00170 myXtFree( dblk->brick_keywords[iv] ) ; 00171 if( str != NULL && str[0] != '\0' ) 00172 dblk->brick_keywords[iv] = XtNewString( str ) ; 00173 return ; 00174 } |
|
Definition at line 117 of file thd_auxdata.c. References THD_datablock::brick_lab, free, ISVALID_DATABLOCK, myXtFree, THD_datablock::nvals, THD_init_datablock_labels(), and XtMalloc. Referenced by EDIT_add_bricklist(), EDIT_dset_items(), main(), THD_copy_datablock_auxdata(), and THD_setup_mastery().
00118 { 00119 char *sss ; /* 02 Sep 2004 */ 00120 00121 if( ! ISVALID_DATABLOCK(dblk) || iv < 0 || iv >= dblk->nvals ) return ; 00122 00123 if( dblk->brick_lab == NULL ) THD_init_datablock_labels( dblk ) ; 00124 00125 myXtFree( dblk->brick_lab[iv] ) ; 00126 if( str != NULL && str[0] != '\0' ){ 00127 sss = strdup(str) ; 00128 if( strlen(sss) > 32 ) sss[32] = '\0' ; 00129 dblk->brick_lab[iv] = XtNewString( sss ) ; 00130 free((void *)sss) ; 00131 } else { 00132 dblk->brick_lab[iv] = (char *) XtMalloc(sizeof(char)*8) ; 00133 sprintf( dblk->brick_lab[iv] , "#%d" , iv ) ; 00134 } 00135 return ; 00136 } |
|
Definition at line 229 of file thd_auxdata.c. References THD_datablock::brick_stataux, THD_datablock::brick_statcode, FUNC_IS_STAT, ISVALID_DATABLOCK, myXtFree, THD_datablock::nvals, THD_init_datablock_stataux(), and XtMalloc. Referenced by EDIT_dset_items(), THD_copy_datablock_auxdata(), THD_datablock_apply_atr(), THD_datablock_from_atr(), and THD_setup_mastery().
00231 { 00232 int kv , jv ; 00233 00234 if( ! ISVALID_DATABLOCK(dblk) ) return ; 00235 if( iv < 0 || iv >= dblk->nvals || npar < 0 ) return ; 00236 00237 if( dblk->brick_statcode == NULL ) THD_init_datablock_stataux( dblk ) ; 00238 00239 dblk->brick_statcode[iv] = scode ; /* save statcode */ 00240 00241 if( ! FUNC_IS_STAT(scode) ) return ; /* do nothing else */ 00242 00243 /* make space, then copy data into it */ 00244 00245 kv = FUNC_need_stat_aux[scode] ; /* how many params we need */ 00246 if( npar > kv ) npar = kv ; /* how many params we have */ 00247 00248 myXtFree( dblk->brick_stataux[iv] ) ; /* if any old stuff, toss it */ 00249 00250 if( kv > 0 ){ 00251 dblk->brick_stataux[iv] = (float *) XtMalloc( sizeof(float) * kv ) ; 00252 for( jv=0 ; jv < npar ; jv++ ) 00253 dblk->brick_stataux[iv][jv] = par[jv] ; /* copy in */ 00254 for( ; jv < kv ; jv++ ) 00255 dblk->brick_stataux[iv][jv] = 0.0 ; /* 0 fill */ 00256 } 00257 00258 return ; 00259 } |
|
Definition at line 273 of file thd_auxdata.c. References ISVALID_3DIM_DATASET, THD_3dim_dataset::keywords, and myXtFree. Referenced by EDIT_dset_items(), EDIT_empty_copy(), and THD_append_dataset_keywords().
00274 { 00275 if( ! ISVALID_3DIM_DATASET(dset) ) return ; 00276 00277 myXtFree( dset->keywords ) ; 00278 if( str != NULL && str[0] != '\0' ) 00279 dset->keywords = XtNewString( str ) ; 00280 return ; 00281 } |
|
Definition at line 263 of file thd_auxdata.c.
00264 { 00265 if( strbig == NULL || strbig[0] == '\0' || 00266 strlit == NULL || strlit[0] == '\0' ) return 0 ; 00267 00268 return ( strstr(strbig,strlit) != NULL ) ; 00269 } |