diff --git a/slsDetectorCalibration/interpolations/etaInterpolationBase.h b/slsDetectorCalibration/interpolations/etaInterpolationBase.h index ec30b4f24..b9188db7b 100644 --- a/slsDetectorCalibration/interpolations/etaInterpolationBase.h +++ b/slsDetectorCalibration/interpolations/etaInterpolationBase.h @@ -200,6 +200,9 @@ class etaInterpolationBase : public slsInterpolation { // virtual void prepareInterpolation(int &ok)=0; void debugSaveAll(int ind = 0) { + + std::cout << "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++SAVING ETAS"<< std::endl; + int ibx, iby; char tit[10000]; @@ -214,21 +217,21 @@ class etaInterpolationBase : public slsInterpolation { etah[ii] = heta[ii]; tot_eta += heta[ii]; } - sprintf(tit, "/scratch/eta_%d.tiff", ind); + sprintf(tit, "eta_%d.tiff", ind); WriteToTiff(etah, tit, nbetaX, nbetaY); for (int ii = 0; ii < nbetaX * nbetaY; ii++) { ibb = (hhx[ii] * nSubPixelsX); etah[ii] = ibb; } - sprintf(tit, "/scratch/eta_hhx_%d.tiff", ind); + sprintf(tit, "eta_hhx_%d.tiff", ind); WriteToTiff(etah, tit, nbetaX, nbetaY); for (int ii = 0; ii < nbetaX * nbetaY; ii++) { ibb = hhy[ii] * nSubPixelsY; etah[ii] = ibb; } - sprintf(tit, "/scratch/eta_hhy_%d.tiff", ind); + sprintf(tit, "eta_hhy_%d.tiff", ind); WriteToTiff(etah, tit, nbetaX, nbetaY); float *ftest = new float[nSubPixelsX * nSubPixelsY]; @@ -262,7 +265,7 @@ class etaInterpolationBase : public slsInterpolation { << std::endl; } - sprintf(tit, "/scratch/ftest_%d.tiff", ind); + sprintf(tit, "./ftest_%d.tiff", ind); WriteToTiff(ftest, tit, nSubPixelsX, nSubPixelsY); // int ibx=0, iby=0; @@ -280,7 +283,7 @@ class etaInterpolationBase : public slsInterpolation { } else etah[ii] = 0; } - sprintf(tit, "/scratch/eta_bad_%d.tiff", ind); + sprintf(tit, "./eta_bad_%d.tiff", ind); WriteToTiff(etah, tit, nbetaX, nbetaY); // std::cout << "Index: " << ind << "\t Bad bins: "<< nbad << std::endl; // int ibx=0, iby=0; diff --git a/slsDetectorCalibration/interpolations/etaInterpolationRosenblatt.h b/slsDetectorCalibration/interpolations/etaInterpolationRosenblatt.h index 24156064e..9882032de 100644 --- a/slsDetectorCalibration/interpolations/etaInterpolationRosenblatt.h +++ b/slsDetectorCalibration/interpolations/etaInterpolationRosenblatt.h @@ -2,12 +2,13 @@ // Copyright (C) 2021 Contributors to the SLS Detector Package #ifndef ETA_INTERPOLATION_POSXY_H #define ETA_INTERPOLATION_POSXY_H - +//#define SAVE_ALL //#include "sls/tiffIO.h" #include "eta2InterpolationBase.h" #include "eta3InterpolationBase.h" #include "etaInterpolationBase.h" + class etaInterpolationRosenblatt : public virtual etaInterpolationBase { public: etaInterpolationRosenblatt(int nx = 400, int ny = 400, int ns = 25, int nsy = 25, @@ -117,12 +118,13 @@ class etaInterpolationRosenblatt : public virtual etaInterpolationBase { } - for (int ib = 0; ib < nbetaY; ib++) { - int val=0; for (int ibx = 0; ibx < nbetaX; ibx++) { + int val=0; + for (int ib = 0; ib < nbetaY; ib++) { val+=hhx[ibx + ib * nbetaX]; } - for (int ibx = 0; ibx < nbetaX; ibx++) { + // for (int ibx = 0; ibx < nbetaX; ibx++) { + for (int ib = 0; ib < nbetaY; ib++) { hhx[ibx + ib * nbetaX]=val; } } @@ -139,7 +141,7 @@ class etaInterpolationRosenblatt : public virtual etaInterpolationBase { } } } - + /* int ibx, iby, ib; iby = 0; @@ -173,10 +175,10 @@ class etaInterpolationRosenblatt : public virtual etaInterpolationBase { for (ibx = 0; ibx < nbetaY; ibx++) hhy[ib + nbetaX * ibx] = hhy[iby + nbetaX * ibx]; } - -#ifdef SAVE_ALL + */ + //#ifdef SAVE_ALL debugSaveAll(); -#endif + //#endif delete[] hx; delete[] hy; delete[] hix; diff --git a/slsDetectorCalibration/moenchExecutables/moench03Interpolation.cpp b/slsDetectorCalibration/moenchExecutables/moench03Interpolation.cpp index cbbe32746..35f5f0e03 100644 --- a/slsDetectorCalibration/moenchExecutables/moench03Interpolation.cpp +++ b/slsDetectorCalibration/moenchExecutables/moench03Interpolation.cpp @@ -17,7 +17,7 @@ #endif //#include "etaInterpolationPosXY.h" -#include "etaInterpolationPosXY.h" +#include "etaInterpolationRosenblatt.h" #include "noInterpolation.h" //#include "etaInterpolationCleverAdaptiveBins.h" //#include "etaInterpolationRandomBins.h" @@ -114,8 +114,8 @@ int main(int argc, char *argv[]) { //int f0 = -1; // int nSubPixels = nsubpix; #ifndef NOINTERPOLATION - eta2InterpolationPosXY *interp = - new eta2InterpolationPosXY(NC, NR, nsubpix, nsubpix, etabins, etabins, etamin, etamax); + eta2InterpolationRosenblatt *interp = + new eta2InterpolationRosenblatt(NC, NR, nsubpix, nsubpix, etabins, etabins, etamin, etamax); // eta2InterpolationCleverAdaptiveBins *interp=new // eta2InterpolationCleverAdaptiveBins(NC, NR, nsubpix, etabins, etamin, // etamax); @@ -134,6 +134,7 @@ int main(int argc, char *argv[]) { cout << "read ff " << argv[2] << endl; sprintf(fname, "%s", argv[2]); interp->readFlatField(fname); + interp->prepareInterpolation(ok); //, MAX_ITERATIONS); #endif // return 0;