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

HxFuncUpo.c File Reference

More...

#include "HxFuncUpo.h"
#include "HxCategories.h"

Functions

template<class DstDataPtrT, class SrcDataPtrT, class UpoT> void HxFuncUpo (DstDataPtrT dstPtr, SrcDataPtrT srcPtr, HxSizes dstSize, UpoT &upo, HxTagTransInVar dummy)
 Translation invariant unary pixel operation. More...

template<class DstDataPtrT, class SrcDataPtrT, class UpoT> void HxFuncUpo (DstDataPtrT dstPtr, SrcDataPtrT srcPtr, HxSizes dstSize, UpoT &upo, HxTagTransVar dummy)
 Translation variant unary pixel operation. More...

template<class DstDataPtrT, class SrcDataPtrT, class UpoT> void HxFuncUpoDispatch (DstDataPtrT dstPtr, SrcDataPtrT srcPtr, HxSizes dstSize, UpoT &upo)
 Dispatch function for unary pixel operation. More...


Detailed Description


Function Documentation

template<class DstDataPtrT, class SrcDataPtrT, class UpoT>
void HxFuncUpo DstDataPtrT    dstPtr,
SrcDataPtrT    srcPtr,
HxSizes    dstSize,
UpoT &    upo,
HxTagTransInVar    dummy
 

Translation invariant unary pixel operation.

00026 {
00027     int nPix = dstSize.x() * dstSize.y() * dstSize.z();
00028     while (--nPix >= 0)
00029         dstPtr.writeIncX(upo.doIt(srcPtr.readIncX()));
00030 }

template<class DstDataPtrT, class SrcDataPtrT, class UpoT>
void HxFuncUpo DstDataPtrT    dstPtr,
SrcDataPtrT    srcPtr,
HxSizes    dstSize,
UpoT &    upo,
HxTagTransVar    dummy
 

Translation variant unary pixel operation.

00039 {
00040     for (int z=0 ; z<dstSize.z() ; z++) {
00041         for (int y=0 ; y<dstSize.y() ; y++) {
00042             for (int x=0 ; x<dstSize.x() ; x++) {
00043                 dstPtr.writeIncX(upo.doIt(srcPtr.readIncX(), x, y, z));
00044             }
00045         }
00046     }
00047 }

template<class DstDataPtrT, class SrcDataPtrT, class UpoT>
void HxFuncUpoDispatch DstDataPtrT    dstPtr,
SrcDataPtrT    srcPtr,
HxSizes    dstSize,
UpoT &    upo
 

Dispatch function for unary pixel operation.

Dispatch is based on the TransVarianceCategory category defined in UpoT. Calls HxFuncUpo(DstDataPtrT,SrcDataPtrT,HxSizes,UpoT&,HxTagTransInVar) or HxFuncUpo(DstDataPtrT,SrcDataPtrT,HxSizes,UpoT&,HxTagTransVar).

00060 {
00061     HxFuncUpo(
00062         dstPtr, srcPtr, dstSize, upo,
00063         typename UpoT::TransVarianceCategory());
00064 }


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