35 #ifndef AIMS_TALAIRACH_TALVOLUME_H 36 #define AIMS_TALAIRACH_TALVOLUME_H 47 TalairachVolume(
int dx=157,
int dy=189,
int dz=136,
int cx=78,
int cy=76,
67 template<
class T >
inline 69 int cx,
int cy,
int cz )
72 m_d.setXYZT( 1.0f, 1.0f, 1.0f );
74 _translation =
Point3df( (
float)cx, -(
float)cy, -(
float)cz );
76 int cdx = ( dx - cx - 1 > cx ) ? dx - cx - 1 : cx;
77 _scale =
Point3df( (
float)cdx, (
float)( dy - cy - 1 ), (
float)cz );
81 template<
class T >
inline 87 for (
int i=0; i<3; i++ )
88 res[ i ] = res[ i ] * _scale[ i ] + _translation[ i ];
94 template<
class T >
inline 100 for (
int i=0; i<3; i++ )
101 res[ i ] = ( pt[ i ] - _translation[ i ] ) / _scale[ i ];
107 template<
class T >
inline 119 for ( k=0; k<dz; k++ )
120 for ( j=0; j<dy; j++ )
121 for ( i=0; i<dx; i++ )
123 pt =
Point3df( (
float)i, (
float)j, (
float)k );
125 m_d( i, j, k ) = d( (
int)npt[ 0 ], (
int)npt[ 1 ], (
int)npt[ 2 ] );
Point3df toVolume(const TalairachBoxBase &, const Point3df &)
AimsData< T > & create(const TalairachBoxBase &, const AimsData< T > &)
Point3df toTalairach(const Point3df &)
Point3df fromTalairach(const Point3df &)
TalairachVolume(int dx=157, int dy=189, int dz=136, int cx=78, int cy=76, int dz=85)
Point3df fromVolume(const TalairachBoxBase &, const Point3df &)