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

HxFuncExportExtra.c File Reference

More...

#include "HxFuncExportExtra.h"
#include "HxCategories.h"

Row_variations

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT> void HxFuncExportExtra_Row_OutTi (ImgDataPtrType imPtr, ExtraImgDataPtrType extraPtr, int nPix, ExportExtraT &exportOp)
 Row : translation invariant. More...

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT> void HxFuncExportExtra_Row_OutTv (ImgDataPtrType imPtr, ExtraImgDataPtrType extraPtr, int nPix, ExportExtraT &exportOp, int x, int y, int z)
 Row : translation variant. More...


ExportExtra_variations

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT> void HxFuncExportExtra (ImgDataPtrType imPtr, ExtraImgDataPtrType extraPtr, HxSizes sizes, ExportExtraT &exportOp, HxTagTransInVar dummy1, HxTag1Phase dummy2)
 Translation invariant, 1 phase export extra operation. More...

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT> void HxFuncExportExtra (ImgDataPtrType imPtr, ExtraImgDataPtrType extraPtr, HxSizes sizes, ExportExtraT &exportOp, HxTagTransInVar dummy1, HxTagNPhase dummy2)
 Translation invariant, n phase export extra operation. More...

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT> void HxFuncExportExtra (ImgDataPtrType imPtr, ExtraImgDataPtrType extraPtr, HxSizes sizes, ExportExtraT &exportOp, HxTagTransVar dummy1, HxTag1Phase dummy2)
 Translation variant, 1 phase export extra operation. More...

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT> void HxFuncExportExtra (ImgDataPtrType imPtr, ExtraImgDataPtrType extraPtr, HxSizes sizes, ExportExtraT &exportOp, HxTagTransVar dummy1, HxTagNPhase dummy2)
 Translation variant, n phase export extra operation. More...


Functions

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT> void HxFuncExportExtraDispatch (ImgDataPtrType imPtr, ExtraImgDataPtrType extraPtr, HxSizes sizes, ExportExtraT &exportOp)
 Dispatch function for HxFuncExportExtra (see Global functions for ExportExtra). More...


Detailed Description


Function Documentation

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT>
void HxFuncExportExtra_Row_OutTi ImgDataPtrType    imPtr,
ExtraImgDataPtrType    extraPtr,
int    nPix,
ExportExtraT &    exportOp
[inline]
 

Row : translation invariant.

00051 {
00052     while (--nPix >= 0)
00053         exportOp.doIt(imPtr.readIncX(), extraPtr.readIncX());
00054 }

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT>
void HxFuncExportExtra_Row_OutTv ImgDataPtrType    imPtr,
ExtraImgDataPtrType    extraPtr,
int    nPix,
ExportExtraT &    exportOp,
int    x,
int    y,
int    z
[inline]
 

Row : translation variant.

00061 {
00062     while (--nPix >= 0)
00063         exportOp.doIt(imPtr.readIncX(), extraPtr.readIncX(), x++, y, z);
00064 }

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT>
void HxFuncExportExtra ImgDataPtrType    imPtr,
ExtraImgDataPtrType    extraPtr,
HxSizes    sizes,
ExportExtraT &    exportOp,
HxTagTransInVar    dummy1,
HxTag1Phase    dummy2
 

Translation invariant, 1 phase export extra operation.

00080 {
00081     for (int z=0; z<sizes.z(); z++) {
00082         for (int y=0; y<sizes.y(); y++) {
00083             HxFuncExportExtra_Row_OutTi(imPtr, extraPtr, sizes.x(), exportOp);
00084             imPtr.incY();
00085             extraPtr.incY();
00086         }
00087         imPtr.decY(sizes.y());
00088         imPtr.incZ();
00089         extraPtr.decY(sizes.y());
00090         extraPtr.incZ();
00091     }
00092 }

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT>
void HxFuncExportExtra ImgDataPtrType    imPtr,
ExtraImgDataPtrType    extraPtr,
HxSizes    sizes,
ExportExtraT &    exportOp,
HxTagTransInVar    dummy1,
HxTagNPhase    dummy2
 

Translation invariant, n phase export extra operation.

00101 {
00102     for (int phase=1 ; phase<=exportOp.nrPhases() ; phase++) {
00103         exportOp.init(phase);
00104         for (int z=0; z<sizes.z(); z++) {
00105                 for (int y=0; y<sizes.y(); y++) {
00106                     HxFuncExportExtra_Row_OutTi(imPtr, extraPtr, sizes.x(),
00107                                                 exportOp);
00108                     imPtr.incY();
00109                     extraPtr.incY();
00110                 }
00111                 imPtr.decY(sizes.y());
00112                 imPtr.incZ();
00113                 extraPtr.decY(sizes.y());
00114                 extraPtr.incZ();
00115         }
00116         exportOp.done(phase);
00117     }
00118 }

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT>
void HxFuncExportExtra ImgDataPtrType    imPtr,
ExtraImgDataPtrType    extraPtr,
HxSizes    sizes,
ExportExtraT &    exportOp,
HxTagTransVar    dummy1,
HxTag1Phase    dummy2
 

Translation variant, 1 phase export extra operation.

00127 {
00128     for (int z=0; z<sizes.z(); z++) {
00129         for (int y=0; y<sizes.y(); y++) {
00130             HxFuncExportExtra_Row_OutTv(imPtr, extraPtr, sizes.x(), exportOp,
00131                                         0, y, z);
00132             imPtr.incY();
00133             extraPtr.incY();
00134         }
00135         imPtr.decY(sizes.y());
00136         imPtr.incZ();
00137         extraPtr.decY(sizes.y());
00138         extraPtr.incZ();
00139     }
00140 }

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT>
void HxFuncExportExtra ImgDataPtrType    imPtr,
ExtraImgDataPtrType    extraPtr,
HxSizes    sizes,
ExportExtraT &    exportOp,
HxTagTransVar    dummy1,
HxTagNPhase    dummy2
 

Translation variant, n phase export extra operation.

00149 {
00150     for (int phase=1 ; phase<=exportOp.nrPhases() ; phase++) {
00151         exportOp.init(phase);
00152         for (int z=0; z<sizes.z(); z++) {
00153             for (int y=0; y<sizes.y(); y++) {
00154                 HxFuncExportExtra_Row_OutTv(imPtr, extraPtr, sizes.x(),
00155                                             exportOp, 0, y, z);
00156                 imPtr.incY();
00157                 extraPtr.incY();
00158             }
00159             imPtr.decY(sizes.y());
00160             imPtr.incZ();
00161             extraPtr.decY(sizes.y());
00162             extraPtr.incZ();
00163         }
00164         exportOp.done(phase);
00165     }
00166 }

template<class ImgDataPtrType, class ExtraImgDataPtrType, class ExportExtraT>
void HxFuncExportExtraDispatch ImgDataPtrType    imPtr,
ExtraImgDataPtrType    extraPtr,
HxSizes    sizes,
ExportExtraT &    exportOp
 

Dispatch function for HxFuncExportExtra (see Global functions for ExportExtra).

Dispatch is based on the categories defined in ExportExtraT.

00179 {
00180     HxFuncExportExtra(
00181         imPtr, extraPtr, sizes, exportOp,
00182         typename ExportExtraT::TransVarianceCategory(),
00183         typename ExportExtraT::PhaseCategory());
00184 }


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