#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 } |