/*****************************************************************************
Major portions of this software are copyrighted by the Medical College
of Wisconsin, 1994-2000, and are released under the Gnu General Public
License, Version 2. See the file README.Copyright for details.
******************************************************************************/
#include "mrilib.h"
#include "thd.h"
/*****************************************************************
Time at the z-coordinate "z", at the it-th time step
******************************************************************/
float THD_timeof( int it, float z, THD_timeaxis * tax )
{
float sl , tof ;
int isl ;
if( ! ISVALID_TIMEAXIS(tax) ) return 0.0 ;
tof = tax->ttorg + it * tax->ttdel ;
if( tax->nsl <= 0 || tax->toff_sl == NULL ) return tof ;
isl = (z - tax->zorg_sl) / tax->dz_sl + 0.5 ;
if( isl < 0 || isl >= tax->nsl ) return tof ;
return tof + tax->toff_sl[isl] ;
}
/*--------------------------------------------------------------
Get the time at voxel # nvox, at the it-th time step.
22 July 1998 -- RWCox
----------------------------------------------------------------*/
float THD_timeof_vox( int it , int nvox , THD_3dim_dataset * dset )
{
float sl , tof ;
int isl ;
if( !ISVALID_DSET(dset) || !ISVALID_TIMEAXIS(dset->taxis) ) return 0.0 ;
tof = dset->taxis->ttorg + it * dset->taxis->ttdel ;
if( dset->taxis->nsl <= 0 || dset->taxis->toff_sl == NULL ) return tof ;
isl = nvox / ( DSET_NX(dset) * DSET_NY(dset) ) ;
if( isl < 0 || isl >= dset->taxis->nsl ) return tof ;
return tof + dset->taxis->toff_sl[isl] ;
}
/*---------------------------------------------------------------------------*/
/*
Get the time at slice # isl, at the it-th time step.
21 October 1999 -- B.D.Ward
*/
float THD_timeof_slice( int it , int isl , THD_3dim_dataset * dset )
{
float tof ;
if( !ISVALID_DSET(dset) || !ISVALID_TIMEAXIS(dset->taxis) ) return 0.0 ;
tof = dset->taxis->ttorg + it * dset->taxis->ttdel ;
if( dset->taxis->nsl <= 0 || dset->taxis->toff_sl == NULL ) return tof ;
if( isl < 0 || isl >= dset->taxis->nsl ) return tof ;
return tof + dset->taxis->toff_sl[isl] ;
}
syntax highlighted by Code2HTML, v. 0.9.1