#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... | |
|
||||||||||||||||||||||||
|
Unary pixel operation.
00022 {
00023 while (--nPix >= 0)
00024 dstPtr.writeIncX(upo.doIt(srcPtr.readIncX()));
00025 }
|
|
||||||||||||||||||||||||||||
|
Binary pixel operation.
|
|
||||||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||||||||||
|
Translation invariant, 1 phase pixel import operation.
|
|
||||||||||||||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||
|
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 }
|
|
||||||||||||||||||||||||||||
|
Initialization for translation invariant, 1 phase pixel export operation.
00161 {
00162 PixOpT pixOp(tags);
00163 return pixOp;
00164 }
|
|
||||||||||||||||||||||||||||
|
Initialization for translation variant, 1 phase pixel export operation.
|
|
||||||||||||||||||||||||||||
|
Initialization for translation invariant, 1 phase pixel import operation.
00185 {
00186 PixOpT pixOp(tags);
00187 return pixOp;
00188 }
|
|
||||||||||||||||||||||||||||
|
Initialization for translation variant, 1 phase pixel import operation.
|
|
||||||||||||||||||||||||||||
|
Initialization for translation invariant, n phase pixel export operation.
00209 {
00210 PixOpT pixOp(tags);
00211 return pixOp;
00212 }
|
|
||||||||||||||||||||||||||||
|
Initialization for translation variant, n phase pixel export operation.
|
|
||||||||||||||||||||||||||||
|
Initialization for translation invariant, n phase pixel import operation.
00233 {
00234 PixOpT pixOp(tags);
00235 return pixOp;
00236 }
|
|
||||||||||||||||||||||||||||
|
Initialization for translation variant, n phase pixel import operation.
|
|
||||||||||||||||
|
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 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001