37 #ifndef AIMS_UTILITY_FLIP_H 38 #define AIMS_UTILITY_FLIP_H 85 template <
class T>
inline 92 res.setSizeXYZT( thing );
96 res( x, y, z, t ) = thing( thing.
dimX() - x - 1, y, z, t );
102 template <
class T>
inline 109 res.setSizeXYZT( thing );
113 res( x, y, z, t ) = thing( x, thing.
dimY() - y - 1, z, t );
119 template <
class T>
inline 126 res.setSizeXYZT( thing );
130 res( x, y, z, t ) = thing( x, y, thing.
dimZ() - z - 1, t );
136 template <
class T>
inline 143 res.setSizeXYZT( thing );
147 res( x, y, z, t ) = thing(thing.
dimX() - x - 1, y,
148 thing.
dimZ() - z - 1, t);
153 template <
class T>
inline 160 res.setSizeXYZT( thing );
164 res( x, y, z, t ) = thing(thing.
dimX() - x - 1, thing.
dimY() - y - 1,
170 template <
class T>
inline 177 res.setSizeXYZT( thing );
181 res( x, y, z, t ) = thing(x, thing.
dimY() - y - 1,
182 thing.
dimZ() - z - 1, t);
188 template <
class T>
inline 195 res.setSizeX( thing.
sizeY() );
196 res.setSizeY( thing.
sizeX() );
197 res.setSizeZ( thing.
sizeZ() );
198 res.setSizeT( thing.
sizeT() );
202 res( x, y, z, t ) = thing( y, x, z, t );
208 template <
class T>
inline 215 res.setSizeX( thing.
sizeZ() );
216 res.setSizeY( thing.
sizeY() );
217 res.setSizeZ( thing.
sizeX() );
218 res.setSizeT( thing.
sizeT() );
222 res( x, y, z, t ) = thing( z, y, x, t );
228 template <
class T>
inline 235 res.setSizeX( thing.
sizeX() );
236 res.setSizeY( thing.
sizeZ() );
237 res.setSizeZ( thing.
sizeY() );
238 res.setSizeT( thing.
sizeT() );
242 res( x, y, z, t ) = thing( x, z, y, t );
248 template <
class T>
inline 255 res.setSizeXYZT( thing );
259 res( x, y, z, t ) = thing( thing.
dimX() - x - 1,
260 thing.
dimY() - y - 1,
261 thing.
dimZ() - z - 1, t );
virtual ~AimsFlip()
Destructor does nothing.
AimsData< T > doZZ(const AimsData< T > &thing)
function which returns the ZZ flipped data
AimsData< T > doXXZZ(const AimsData< T > &thing)
function which returns the XXZZ flipped data
AimsData< T > doXXYY(const AimsData< T > &thing)
function which returns the XXYY flipped data
AimsData< T > doXZ(const AimsData< T > &thing)
function which returns the XZ flipped data
AimsData< T > doYZ(const AimsData< T > &thing)
function which returns the YZ flipped data
#define ForEach4d(thing, x, y, z, t)
AimsData< T > doYYZZ(const AimsData< T > &thing)
function which returns the YYZZ flipped data
void setHeader(aims::Header *hdr)
AimsData< T > doXXYYZZ(const AimsData< T > &thing)
function which returns the XXYYZZ flipped data
AimsData< T > doXY(const AimsData< T > &thing)
function which returns the XY flipped data
const aims::Header * header() const
The template object function for flipping.
AimsData< T > doYY(const AimsData< T > &thing)
function which returns the YY flipped data
AimsData< T > doXX(const AimsData< T > &thing)
function which returns the XX flipped data
int borderWidth() const
Usefull offsets for A.I.M.S.