Doxygen Source Code Documentation
thd_reconpar.c File Reference
#include "mrilib.h"#include "thd.h"Go to the source code of this file.
Defines | |
| #define | IFNOANAT(ds) |
| #define | IFNOWARP(ds) |
| #define | SHOW_PARENTING(str, ds, dsp) |
Functions | |
| void | THD_reconcile_parents (THD_sessionlist *ssl) |
Define Documentation
|
|
Value: if( needed && (ds)->anat_parent == NULL ) \ fprintf(stderr, "\n** Can't find anat parent %s of %s", \ (ds)->anat_parent_idcode.str , DSET_HEADNAME(ds) ) Definition at line 16 of file thd_reconpar.c. Referenced by THD_reconcile_parents(). |
|
|
Value: if( needed && (ds)->warp_parent == NULL && ! DSET_ONDISK(ds) ) \ fprintf(stderr, "\n** Can't find warp parent %s of %s", \ (ds)->warp_parent_idcode.str , DSET_HEADNAME(ds) ) Definition at line 21 of file thd_reconpar.c. Referenced by THD_reconcile_parents(). |
|
|
Definition at line 32 of file thd_reconpar.c. Referenced by THD_reconcile_parents(). |
Function Documentation
|
|
Definition at line 35 of file thd_reconpar.c. References THD_3dim_dataset::anat_parent, THD_3dim_dataset::anat_parent_idcode, THD_3dim_dataset::anat_parent_name, THD_slist_find::dset, THD_session::dsset, ENTRY, FIND_IDCODE, FIND_NAME, FIRST_VIEW_TYPE, IFNOANAT, IFNOWARP, ISVALID_SESSIONLIST, ISZERO_IDCODE, LAST_VIEW_TYPE, THD_session::num_dsset, THD_sessionlist::num_sess, SHOW_PARENTING, THD_sessionlist::ssar, THD_dset_in_sessionlist(), THD_3dim_dataset::warp_parent, THD_3dim_dataset::warp_parent_idcode, and THD_3dim_dataset::warp_parent_name. Referenced by AFNI_finalize_read_sess_CB(), AFNI_read_inputs(), AFNI_rescan_session_NEW(), and AFNI_rescan_session_OLD().
00036 {
00037 int iss , idd , ivv , jss , imm , needed ;
00038 THD_session * sess ;
00039 THD_3dim_dataset * dset_orph ;
00040 THD_slist_find find ;
00041
00042 ENTRY("THD_reconcile_parents") ;
00043
00044 /*-- sanity check --*/
00045
00046 if( ! ISVALID_SESSIONLIST(ssl) || ssl->num_sess <= 0 ) EXRETURN ;
00047
00048 /*-- for each session in the list --*/
00049
00050 for( iss=0 ; iss < ssl->num_sess ; iss++ ){
00051 sess = ssl->ssar[iss] ;
00052
00053 /*-- for each dataset in the session --*/
00054
00055 for( idd=0 ; idd < sess->num_dsset ; idd++ ){
00056 for( ivv=FIRST_VIEW_TYPE ; ivv <= LAST_VIEW_TYPE ; ivv++ ){
00057
00058 dset_orph = sess->dsset[idd][ivv] ;
00059 if( dset_orph == NULL ) continue ;
00060
00061 /*-- if it needs an anatomy parent --*/
00062
00063 if( dset_orph->anat_parent == NULL ){ /* 28 Dec 2002 */
00064 needed = 0 ;
00065 if( ! ISZERO_IDCODE(dset_orph->anat_parent_idcode) ){
00066 needed = 1 ;
00067 find = THD_dset_in_sessionlist( FIND_IDCODE ,
00068 &(dset_orph->anat_parent_idcode),
00069 ssl , iss ) ;
00070 dset_orph->anat_parent = find.dset ;
00071 if( dset_orph->anat_parent != NULL )
00072 SHOW_PARENTING("(ID) anat_parent",dset_orph,dset_orph->anat_parent) ;
00073 }
00074 if( dset_orph->anat_parent == NULL && strlen(dset_orph->anat_parent_name) > 0 ){
00075 needed = 1 ;
00076 find = THD_dset_in_sessionlist( FIND_NAME ,
00077 dset_orph->anat_parent_name,
00078 ssl , iss ) ;
00079 dset_orph->anat_parent = find.dset ;
00080 if( dset_orph->anat_parent != NULL )
00081 SHOW_PARENTING("(NAME) anat_parent",dset_orph,dset_orph->anat_parent) ;
00082 }
00083 IFNOANAT(dset_orph) ;
00084 }
00085
00086 /*-- if it needs a warp parent --*/
00087
00088 if( dset_orph->warp_parent == NULL ){ /* 28 Dec 2002 */
00089 needed = 0 ;
00090 if( ! ISZERO_IDCODE(dset_orph->warp_parent_idcode) ){
00091 needed = 1 ;
00092 find = THD_dset_in_sessionlist( FIND_IDCODE ,
00093 &(dset_orph->warp_parent_idcode),
00094 ssl , iss ) ;
00095 dset_orph->warp_parent = find.dset ;
00096 if( dset_orph->warp_parent != NULL )
00097 SHOW_PARENTING("(ID) warp_parent",dset_orph,dset_orph->warp_parent) ;
00098 }
00099 if( dset_orph->warp_parent == NULL && strlen(dset_orph->warp_parent_name) > 0 ){
00100 needed = 1 ;
00101 find = THD_dset_in_sessionlist( FIND_NAME ,
00102 dset_orph->warp_parent_name,
00103 ssl , iss ) ;
00104 dset_orph->warp_parent = find.dset ;
00105 if( dset_orph->warp_parent != NULL )
00106 SHOW_PARENTING("(NAME) warp_parent",dset_orph,dset_orph->warp_parent) ;
00107 }
00108 IFNOWARP(dset_orph) ;
00109 }
00110
00111 }
00112 } /* end of loop over anat datasets */
00113
00114 } /* end of loop over sessions */
00115
00116 EXRETURN ;
00117 }
|