mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2026-03-29 19:48:20 +02:00
Rosenblatt transform works
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user