Main Page   Class Overview   Pixels   Images   Geometry   Quick Index  

HxFuncPixOp.h File Reference

More...

#include "HxPixOpCategory.h"

Go to the source code of this file.

Functions

template<class DstDataPtrT, class SrcDataPtrT, class UpoT> void HxFuncUnaryPixOp (DstDataPtrT dstPtr, SrcDataPtrT srcPtr, int nPix, UpoT &upo)
 Unary pixel operation. More...

template<class DstDataPtrT, class Src1DataPtrT, class Src2DataPtrT, class BpoT> void HxFuncBinaryPixOp (DstDataPtrT dstPtr, Src1DataPtrT src1Ptr, Src2DataPtrT src2Ptr, int nPix, BpoT &bpo)
 Binary pixel operation. More...

template<class DstDataPtrT, class SrcDataPtrArray, class MpoT> void HxFuncMultiPixOp (DstDataPtrT dstPtr, SrcDataPtrArray &srcPtrs, int nPix, MpoT &mpo)
 Multi pixel operation. More...

template<class DstDataPtrArray, class SrcDataPtrArray, class MNpoT> void HxFuncMNPixOp (DstDataPtrArray &dstPtr, SrcDataPtrArray &srcPtrs, int nPix, MNpoT &mpo)
 M output, N input pixel operation. More...

template<class DataPtrT, class PixOpT> void HxFuncInOutPixOp (DataPtrT ptr, HxSizes sizes, PixOpT &pixOp, HxPixOpOutTag dummy1, HxPixOpTransInVarTag dummy2, HxPixOp1PhaseTag dummy3)
 Translation invariant, 1 phase pixel export operation. More...

template<class DataPtrT, class PixOpT> void HxFuncInOutPixOp (DataPtrT ptr, HxSizes sizes, PixOpT &pixOp, HxPixOpOutTag dummy1, HxPixOpTransVarTag dummy2, HxPixOp1PhaseTag dummy3)
 Translation variant, 1 phase pixel export operation. More...

template<class DataPtrT, class PixOpT> void HxFuncInOutPixOp (DataPtrT ptr, HxSizes sizes, PixOpT &pixOp, HxPixOpInTag dummy1, HxPixOpTransInVarTag dummy2, HxPixOp1PhaseTag dummy3)
 Translation invariant, 1 phase pixel import operation. More...

template<class DataPtrT, class PixOpT> void HxFuncInOutPixOp (DataPtrT ptr, HxSizes sizes, PixOpT &pixOp, HxPixOpInTag dummy1, HxPixOpTransVarTag dummy2, HxPixOp1PhaseTag dummy3)
 Translation variant, 1 phase pixel import operation. More...

template<class DataPtrT, class PixOpT> void HxFuncInOutPixOp (DataPtrT ptr, HxSizes sizes, PixOpT &pixOp, HxPixOpOutTag dummy1, HxPixOpTransInVarTag dummy2, HxPixOpNPhaseTag dummy3)
 Translation invariant, n phase pixel export operation. More...

template<class DataPtrT, class PixOpT> void HxFuncInOutPixOp (DataPtrT ptr, HxSizes sizes, PixOpT &pixOp, HxPixOpOutTag dummy1, HxPixOpTransVarTag dummy2, HxPixOpNPhaseTag dummy3)
 Translation variant, n phase pixel export operation. More...

template<class DataPtrT, class PixOpT> void HxFuncInOutPixOp (DataPtrT ptr, HxSizes sizes, PixOpT &pixOp, HxPixOpInTag dummy1, HxPixOpTransInVarTag dummy2, HxPixOpNPhaseTag dummy3)
 Translation invariant, n phase pixel import operation. More...

template<class DataPtrT, class PixOpT> void HxFuncInOutPixOp (DataPtrT ptr, HxSizes sizes, PixOpT &pixOp, HxPixOpInTag dummy1, HxPixOpTransVarTag dummy2, HxPixOpNPhaseTag dummy3)
 Translation variant, n phase pixel import operation. More...

template<class DataPtrT, class PixOpT> void HxFuncInOutPixOp (DataPtrT ptr, HxSizes sizes, PixOpT &pixOp)
 Dispatch function for HxFuncInOutPixOp. More...

template<class PixOpT> PixOpT HxFuncInOutPixOpInit (HxSizes, HxTagList &tags, const HxPixOpOutTag, const HxPixOpTransInVarTag, const HxPixOp1PhaseTag)
 Initialization for translation invariant, 1 phase pixel export operation. More...

template<class PixOpT> PixOpT HxFuncInOutPixOpInit (HxSizes sizes, HxTagList &tags, const HxPixOpOutTag, const HxPixOpTransVarTag, const HxPixOp1PhaseTag)
 Initialization for translation variant, 1 phase pixel export operation. More...

template<class PixOpT> PixOpT HxFuncInOutPixOpInit (HxSizes, HxTagList &tags, const HxPixOpInTag, const HxPixOpTransInVarTag, const HxPixOp1PhaseTag)
 Initialization for translation invariant, 1 phase pixel import operation. More...

template<class PixOpT> PixOpT HxFuncInOutPixOpInit (HxSizes sizes, HxTagList &tags, const HxPixOpInTag, const HxPixOpTransVarTag, const HxPixOp1PhaseTag)
 Initialization for translation variant, 1 phase pixel import operation. More...

template<class PixOpT> PixOpT HxFuncInOutPixOpInit (HxSizes, HxTagList &tags, const HxPixOpOutTag, const HxPixOpTransInVarTag, const HxPixOpNPhaseTag)
 Initialization for translation invariant, n phase pixel export operation. More...

template<class PixOpT> PixOpT HxFuncInOutPixOpInit (HxSizes sizes, HxTagList &tags, const HxPixOpOutTag, const HxPixOpTransVarTag, const HxPixOpNPhaseTag)
 Initialization for translation variant, n phase pixel export operation. More...

template<class PixOpT> PixOpT HxFuncInOutPixOpInit (HxSizes, HxTagList &tags, const HxPixOpInTag, const HxPixOpTransInVarTag, const HxPixOpNPhaseTag)
 Initialization for translation invariant, n phase pixel import operation. More...

template<class PixOpT> PixOpT HxFuncInOutPixOpInit (HxSizes sizes, HxTagList &tags, const HxPixOpInTag, const HxPixOpTransVarTag, const HxPixOpNPhaseTag)
 Initialization for translation variant, n phase pixel import operation. More...

template<class DataPtrT, class PixOpT> void HxFuncInOutPixOpInit (HxSizes sizes, HxTagList &tags)
 Dispatch function for HxFuncInOutPixOpInit. More...


Detailed Description


Function Documentation

template<class DstDataPtrT, class SrcDataPtrT, class UpoT>
void HxFuncUnaryPixOp DstDataPtrT    dstPtr,
SrcDataPtrT    srcPtr,
int    nPix,
UpoT &    upo
 

Unary pixel operation.

00022 {
00023     while (--nPix >= 0)
00024         dstPtr.writeIncX(upo.doIt(srcPtr.readIncX()));
00025 }

template<class DstDataPtrT, class Src1DataPtrT, class Src2DataPtrT, class BpoT>
void HxFuncBinaryPixOp DstDataPtrT    dstPtr,
Src1DataPtrT    src1Ptr,
Src2DataPtrT    src2Ptr,
int    nPix,
BpoT &    bpo
 

Binary pixel operation.

template<class DstDataPtrT, class SrcDataPtrArray, class MpoT>
void HxFuncMultiPixOp DstDataPtrT    dstPtr,
SrcDataPtrArray &    srcPtrs,
int    nPix,
MpoT &    mpo
 

Multi pixel operation.

00042 {
00043     int n = srcPtrs.size();
00044     typename SrcDataPtrArray::ArithType *src =
00045     new typename SrcDataPtrArray::ArithType [n];
00046 
00047     while (--nPix >= 0) {
00048         for (int i=0; i < n; i++)
00049             src[i] = srcPtrs[i].readIncX();
00050 
00051         dstPtr.writeIncX(mpo.doIt(src));
00052     }
00053 
00054     delete [] src;
00055 }

template<class DstDataPtrArray, class SrcDataPtrArray, class MNpoT>
void HxFuncMNPixOp DstDataPtrArray &    dstPtr,
SrcDataPtrArray &    srcPtrs,
int    nPix,
MNpoT &    mpo
 

M output, N input pixel operation.

00062 {
00063     int n = srcPtrs.size();
00064     int m = dstPtrs.size();
00065     typename SrcDataPtrArray::ArithType *src =
00066     new typename SrcDataPtrArray::ArithType [n];
00067     typename DstDataPtrArray::ArithType *dst =
00068     new typename DstDataPtrArray::ArithType [m];
00069 
00070     while (--nPix >= 0) {
00071     int i;
00072         for (i=0; i < n; i++)
00073             src[i] = srcPtrs[i].readIncX();
00074 
00075         mpo.doIt(dst, src);
00076 
00077         for (i=0; i < m; i++)
00078             dstPtrs[i].writeIncX(dst[i]);
00079     }
00080 
00081     delete [] dst;
00082     delete [] src;
00083 }

template<class DataPtrT, class PixOpT>
void HxFuncInOutPixOp DataPtrT    ptr,
HxSizes    sizes,
PixOpT &    pixOp,
HxPixOpOutTag    dummy1,
HxPixOpTransInVarTag    dummy2,
HxPixOp1PhaseTag    dummy3
 

Translation invariant, 1 phase pixel export operation.

00155 {
00156     for (int z=0; z<sizes.z(); z++)
00157     {
00158         for (int y=0; y<sizes.y(); y++)
00159         {
00160             HxFuncInOutPixOp(
00161                 ptr, sizes.x(), pixOp, HxPixOpOutTag());
00162             ptr.incY();
00163         }
00164         ptr.decY(sizes.y());
00165         ptr.incZ();
00166     }
00167 }

template<class DataPtrT, class PixOpT>
void HxFuncInOutPixOp DataPtrT    ptr,
HxSizes    sizes,
PixOpT &    pixOp,
HxPixOpOutTag    dummy1,
HxPixOpTransVarTag    dummy2,
HxPixOp1PhaseTag    dummy3
 

Translation variant, 1 phase pixel export operation.

00193 {
00194     for (int z=0; z<sizes.z(); z++)
00195     {
00196         for (int y=0; y<sizes.y(); y++)
00197         {
00198             HxFuncInOutPixOp(
00199                 ptr, sizes.x(), pixOp, 0, y, z, HxPixOpOutTag());
00200             ptr.incY();
00201         }
00202         ptr.decY(sizes.y());
00203         ptr.incZ();
00204     }
00205 }

template<class DataPtrT, class PixOpT>
void HxFuncInOutPixOp DataPtrT    ptr,
HxSizes    sizes,
PixOpT &    pixOp,
HxPixOpInTag    dummy1,
HxPixOpTransInVarTag    dummy2,
HxPixOp1PhaseTag    dummy3
 

Translation invariant, 1 phase pixel import operation.

template<class DataPtrT, class PixOpT>
void HxFuncInOutPixOp DataPtrT    ptr,
HxSizes    sizes,
PixOpT &    pixOp,
HxPixOpInTag    dummy1,
HxPixOpTransVarTag    dummy2,
HxPixOp1PhaseTag    dummy3
 

Translation variant, 1 phase pixel import operation.

00174 {
00175     for (int z=0; z<sizes.z(); z++)
00176     {
00177         for (int y=0; y<sizes.y(); y++)
00178         {
00179             HxFuncInOutPixOp(
00180                 ptr, sizes.x(), pixOp, 0, y, z, HxPixOpInTag());
00181             ptr.incY();
00182         }
00183         ptr.decY(sizes.y());
00184         ptr.incZ();
00185     }
00186 }

template<class DataPtrT, class PixOpT>
void HxFuncInOutPixOp DataPtrT    ptr,
HxSizes    sizes,
PixOpT &    pixOp,
HxPixOpOutTag    dummy1,
HxPixOpTransInVarTag    dummy2,
HxPixOpNPhaseTag    dummy3
 

Translation invariant, n phase pixel export operation.

00235 {
00236     for (int phase=0; phase<pixOp.nrPhases(); phase++) {
00237         pixOp.init(phase);
00238         for (int z=0; z<sizes.z(); z++)
00239         {
00240             for (int y=0; y<sizes.y(); y++)
00241             {
00242                 HxFuncInOutPixOp(
00243                     ptr, sizes.x(), pixOp, HxPixOpOutTag());
00244                 ptr.incY();
00245             }
00246             ptr.decY(sizes.y());
00247             ptr.incZ();
00248         }
00249         pixOp.done(phase);
00250     }
00251 }

template<class DataPtrT, class PixOpT>
void HxFuncInOutPixOp DataPtrT    ptr,
HxSizes    sizes,
PixOpT &    pixOp,
HxPixOpOutTag    dummy1,
HxPixOpTransVarTag    dummy2,
HxPixOpNPhaseTag    dummy3
 

Translation variant, n phase pixel export operation.

00281 {
00282     for (int phase=0; phase<pixOp.nrPhases(); phase++) {
00283         pixOp.init(phase);
00284         for (int z=0; z<sizes.z(); z++)
00285         {
00286             for (int y=0; y<sizes.y(); y++)
00287             {
00288                 HxFuncInOutPixOp(
00289                     ptr, sizes.x(), pixOp, 0, y, z, HxPixOpOutTag());
00290                 ptr.incY();
00291             }
00292             ptr.decY(sizes.y());
00293             ptr.incZ();
00294         }
00295         pixOp.done(phase);
00296     }
00297 }

template<class DataPtrT, class PixOpT>
void HxFuncInOutPixOp DataPtrT    ptr,
HxSizes    sizes,
PixOpT &    pixOp,
HxPixOpInTag    dummy1,
HxPixOpTransInVarTag    dummy2,
HxPixOpNPhaseTag    dummy3
 

Translation invariant, n phase pixel import operation.

00212 {
00213     for (int phase=0; phase<pixOp.nrPhases(); phase++) {
00214         pixOp.init(phase);
00215         for (int z=0; z<sizes.z(); z++)
00216         {
00217             for (int y=0; y<sizes.y(); y++)
00218             {
00219                 HxFuncInOutPixOp(
00220                     ptr, sizes.x(), pixOp, HxPixOpInTag());
00221                 ptr.incY();
00222             }
00223             ptr.decY(sizes.y());
00224             ptr.incZ();
00225         }
00226         pixOp.done(phase);
00227     }
00228 }

template<class DataPtrT, class PixOpT>
void HxFuncInOutPixOp DataPtrT    ptr,
HxSizes    sizes,
PixOpT &    pixOp,
HxPixOpInTag    dummy1,
HxPixOpTransVarTag    dummy2,
HxPixOpNPhaseTag    dummy3
 

Translation variant, n phase pixel import operation.

00258 {
00259     for (int phase=0; phase<pixOp.nrPhases(); phase++) {
00260         pixOp.init(phase);
00261         for (int z=0; z<sizes.z(); z++)
00262         {
00263             for (int y=0; y<sizes.y(); y++)
00264             {
00265                 HxFuncInOutPixOp(
00266                     ptr, sizes.x(), pixOp, 0, y, z, HxPixOpInTag());
00267                 ptr.incY();
00268             }
00269             ptr.decY(sizes.y());
00270             ptr.incZ();
00271         }
00272         pixOp.done(phase);
00273     }
00274 }

template<class DataPtrT, class PixOpT>
void HxFuncInOutPixOp DataPtrT    ptr,
HxSizes    sizes,
PixOpT &    pixOp
[inline]
 

Dispatch function for HxFuncInOutPixOp.

Dispatch is based on the categories defined in PixOpT.

00141 {
00142     HxFuncInOutPixOp(
00143         ptr, sizes, pixOp,
00144         typename PixOpT::DirectionCategory(),
00145         typename PixOpT::TransVarianceCategory(),
00146         typename PixOpT::PhaseCategory());
00147 }

template<class PixOpT>
PixOpT HxFuncInOutPixOpInit HxSizes   ,
HxTagList   tags,
const    HxPixOpOutTag,
const    HxPixOpTransInVarTag,
const    HxPixOp1PhaseTag
[inline]
 

Initialization for translation invariant, 1 phase pixel export operation.

00161 {
00162     PixOpT pixOp(tags);
00163     return pixOp;
00164 }

template<class PixOpT>
PixOpT HxFuncInOutPixOpInit HxSizes    sizes,
HxTagList   tags,
const    HxPixOpOutTag,
const    HxPixOpTransVarTag,
const    HxPixOp1PhaseTag
[inline]
 

Initialization for translation variant, 1 phase pixel export operation.

00173 {
00174     PixOpT pixOp(tags, sizes.x(), sizes.y(), sizes.z());
00175     return pixOp;
00176 }

template<class PixOpT>
PixOpT HxFuncInOutPixOpInit HxSizes   ,
HxTagList   tags,
const    HxPixOpInTag,
const    HxPixOpTransInVarTag,
const    HxPixOp1PhaseTag
[inline]
 

Initialization for translation invariant, 1 phase pixel import operation.

00185 {
00186     PixOpT pixOp(tags);
00187     return pixOp;
00188 }

template<class PixOpT>
PixOpT HxFuncInOutPixOpInit HxSizes    sizes,
HxTagList   tags,
const    HxPixOpInTag,
const    HxPixOpTransVarTag,
const    HxPixOp1PhaseTag
[inline]
 

Initialization for translation variant, 1 phase pixel import operation.

00197 {
00198     PixOpT pixOp(tags, sizes.x(), sizes.y(), sizes.z());
00199     return pixOp;
00200 }

template<class PixOpT>
PixOpT HxFuncInOutPixOpInit HxSizes   ,
HxTagList   tags,
const    HxPixOpOutTag,
const    HxPixOpTransInVarTag,
const    HxPixOpNPhaseTag
[inline]
 

Initialization for translation invariant, n phase pixel export operation.

00209 {
00210     PixOpT pixOp(tags);
00211     return pixOp;
00212 }

template<class PixOpT>
PixOpT HxFuncInOutPixOpInit HxSizes    sizes,
HxTagList   tags,
const    HxPixOpOutTag,
const    HxPixOpTransVarTag,
const    HxPixOpNPhaseTag
[inline]
 

Initialization for translation variant, n phase pixel export operation.

00221 {
00222     PixOpT pixOp(tags, sizes.x(), sizes.y(), sizes.z());
00223     return pixOp;
00224 }

template<class PixOpT>
PixOpT HxFuncInOutPixOpInit HxSizes   ,
HxTagList   tags,
const    HxPixOpInTag,
const    HxPixOpTransInVarTag,
const    HxPixOpNPhaseTag
[inline]
 

Initialization for translation invariant, n phase pixel import operation.

00233 {
00234     PixOpT pixOp(tags);
00235     return pixOp;
00236 }

template<class PixOpT>
PixOpT HxFuncInOutPixOpInit HxSizes    sizes,
HxTagList   tags,
const    HxPixOpInTag,
const    HxPixOpTransVarTag,
const    HxPixOpNPhaseTag
[inline]
 

Initialization for translation variant, n phase pixel import operation.

00245 {
00246     PixOpT pixOp(tags, sizes.x(), sizes.y(), sizes.z());
00247     return pixOp;
00248 }

template<class DataPtrT, class PixOpT>
void HxFuncInOutPixOpInit HxSizes    sizes,
HxTagList   tags
[inline]
 

Dispatch function for HxFuncInOutPixOpInit.

Dispatch is based on the categories defined in PixOpT.

00257 {
00258     HxFuncInOutPixOp(
00259         sizes, tags,
00260         typename PixOpT::DirectionCategory(),
00261         typename PixOpT::TransVarianceCategory(),
00262         typename PixOpT::PhaseCategory());
00263 }


Generated on Tue Jan 8 13:59:20 2002 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001