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

HxFuncBpo.c File Reference

More...

#include "HxFuncBpo.h"
#include "HxCategories.h"

Functions

template<class DstDataPtrT, class Src1DataPtrT, class Src2DataPtrT, class BpoT> void HxFuncBpo (DstDataPtrT dstPtr, Src1DataPtrT src1Ptr, Src2DataPtrT src2Ptr, HxSizes dstSize, BpoT &bpo, HxTagTransInVar dummy)
 Translation invariant binary pixel operation. More...

template<class DstDataPtrT, class Src1DataPtrT, class Src2DataPtrT, class BpoT> void HxFuncBpo (DstDataPtrT dstPtr, Src1DataPtrT src1Ptr, Src2DataPtrT src2Ptr, HxSizes dstSize, BpoT &bpo, HxTagTransVar dummy)
 Translation variant binary pixel operation. More...

template<class DstDataPtrT, class Src1DataPtrT, class Src2DataPtrT, class BpoT> void HxFuncBpoDispatch (DstDataPtrT dstPtr, Src1DataPtrT src1Ptr, Src2DataPtrT src2Ptr, HxSizes dstSize, BpoT &bpo)
 Dispatch function for binary pixel operation. More...


Detailed Description


Function Documentation

template<class DstDataPtrT, class Src1DataPtrT, class Src2DataPtrT, class BpoT>
void HxFuncBpo DstDataPtrT    dstPtr,
Src1DataPtrT    src1Ptr,
Src2DataPtrT    src2Ptr,
HxSizes    dstSize,
BpoT &    bpo,
HxTagTransInVar    dummy
 

Translation invariant binary pixel operation.

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

template<class DstDataPtrT, class Src1DataPtrT, class Src2DataPtrT, class BpoT>
void HxFuncBpo DstDataPtrT    dstPtr,
Src1DataPtrT    src1Ptr,
Src2DataPtrT    src2Ptr,
HxSizes    dstSize,
BpoT &    bpo,
HxTagTransVar    dummy
 

Translation variant binary 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(
00044                     bpo.doIt(src1Ptr.readIncX(), src2Ptr.readIncX(), x, y, z));
00045             }
00046         }
00047     }
00048 }

template<class DstDataPtrT, class Src1DataPtrT, class Src2DataPtrT, class BpoT>
void HxFuncBpoDispatch DstDataPtrT    dstPtr,
Src1DataPtrT    src1Ptr,
Src2DataPtrT    src2Ptr,
HxSizes    dstSize,
BpoT &    bpo
 

Dispatch function for binary pixel operation.

Dispatch is based on the TransVarianceCategory category defined in BpoT. Calls HxFuncBpo(DstDataPtrT,Src1DataPtrT,Src2DataPtrT,HxSizes,BpoT&,HxTagTransInVar) or HxFuncBpo(DstDataPtrT,Src1DataPtrT,Src2DataPtrT,HxSizes,BpoT&,HxTagTransVar).

00061 {
00062     HxFuncBpo(
00063         dstPtr, src1Ptr, src2Ptr, dstSize, bpo,
00064         typename BpoT::TransVarianceCategory());
00065 }


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