#include "mrilib.h"
#ifndef ALLOW_AGNI
# error "Can't compile - AGNI not enabled"
#endif
int main( int argc , char *argv[] )
{
THD_3dim_dataset *iset , *oset ;
char *prefix = "agni" ;
int iarg=1 , *vmap , ii,nxyz ;
byte *bmap ;
if( argc < 2 || strcmp(argv[1],"-help") == 0 ){
printf("Usage: agni_to_afni [-prefix ppp] dset\n") ;
exit(0) ;
}
if( strcmp(argv[iarg],"-prefix") == 0 ){
prefix = argv[++iarg] ; iarg++ ;
}
iset = THD_open_dataset( argv[iarg] ) ;
if( iset == NULL ){
fprintf(stderr,"Can't open %s\n",argv[iarg]); exit(1);
}
if( iset->ag_sname == NULL ){
fprintf(stderr,"%s has no .SURF file\n",argv[iarg]); exit(1);
}
AGNI_load( iset ) ;
if( iset->ag_surf == NULL ){
fprintf(stderr,"%s can't load .SURF file\n",argv[iarg]); exit(1);
}
oset = EDIT_empty_copy(iset) ;
EDIT_dset_items( oset ,
ADN_prefix , prefix ,
ADN_ntt , 0 ,
ADN_nvals , 1 ,
ADN_type , HEAD_FUNC_TYPE ,
ADN_func_type,FUNC_FIM_TYPE ,
ADN_datum_all, MRI_byte ,
ADN_none ) ;
EDIT_substitute_brick( oset , 0 , MRI_byte , NULL ) ;
vmap = iset->ag_vmap ;
if( vmap == NULL ){
vmap = AGNI_map_dset_to_surf( iset->ag_surf , iset ) ;
if( vmap == NULL ){
fprintf(stderr,"Can't AGNI_map_dset_to_surf\n"); exit(1);
}
}
nxyz = DSET_NX(oset) * DSET_NY(oset) * DSET_NZ(oset) ;
bmap = DSET_ARRAY(oset,0) ;
for( ii=0 ; ii < nxyz ; ii++ )
bmap[ii] = (vmap[ii] >= 0) ;
free(vmap) ;
DSET_write(oset) ; exit(0) ;
}
syntax highlighted by Code2HTML, v. 0.9.1