Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxFuncMpo.c File Reference

More...

#include "HxFuncMpo.h"
#include "HxCategories.h"

Functions

template<class DstDataPtrT, class SrcDataPtrArray, class MpoT> void HxFuncMpo (DstDataPtrT dstPtr, SrcDataPtrArray &srcPtrs, HxSizes dstSize, MpoT &mpo, HxTagTransInVar)
 Translation invariant multi pixel operation. More...

template<class DstDataPtrT, class SrcDataPtrArray, class MpoT> void HxFuncMpoDispatch (DstDataPtrT dstPtr, SrcDataPtrArray &srcPtrs, HxSizes dstSize, MpoT &mpo)
 Dispatch function for multi pixel operation. More...


Detailed Description


Function Documentation

template<class DstDataPtrT, class SrcDataPtrArray, class MpoT>
void HxFuncMpo DstDataPtrT    dstPtr,
SrcDataPtrArray &    srcPtrs,
HxSizes    dstSize,
MpoT &    mpo,
HxTagTransInVar   
 

Translation invariant multi pixel operation.

00026 {
00027     int n = srcPtrs.size();
00028     typename SrcDataPtrArray::ArithType *src =
00029         new typename SrcDataPtrArray::ArithType [n];
00030 
00031     int nPix = dstSize.x() * dstSize.y() * dstSize.z();
00032     while (--nPix >= 0) {
00033         for (int i=0; i < n; i++)
00034             src[i] = srcPtrs[i].readIncX();
00035         dstPtr.writeIncX(mpo.doIt(src));
00036     }
00037 
00038     delete [] src;
00039 }

template<class DstDataPtrT, class SrcDataPtrArray, class MpoT>
void HxFuncMpoDispatch DstDataPtrT    dstPtr,
SrcDataPtrArray &    srcPtrs,
HxSizes    dstSize,
MpoT &    mpo
 

Dispatch function for multi pixel operation.

Dispatch is based on the TransVarianceCategory category defined in MpoT. Calls HxFuncMpo(DstDataPtrT,SrcDataPtrArray&,HxSizes,MpoT&,HxTagTransInVar) or HxFuncMpo(DstDataPtrT,SrcDataPtrArray&,HxSizes,MpoT&,HxTagTransVar).

00077 {
00078     HxFuncMpo(
00079         dstPtr, srcPtrs, dstSize, mpo,
00080         typename MpoT::TransVarianceCategory());
00081 }


Generated on Tue Feb 3 14:18:47 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001