Ignore:
Timestamp:
Sep 29, 2000, 4:26:15 PM (25 years ago)
Author:
ercodmgr
Message:
  • refonte de piaffiting avec les fits adapteurs
  • addapteur de fit pour les objets existants
  • entree des Image<T> dans les fits (retour !!!)

cmv 29/9/00

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIext/nomimagadapter.cc

    r1199 r1207  
    66
    77#include "nomimagadapter.h"
     8#include "pimgadapter.h"
     9
    810#ifdef SANS_EVOLPLANCK
    911#include "fitsimage.h"
    10 #endif
    11 #include "pimgadapter.h"
     12#else
     13#include "objfitter.h"
     14#endif
     15
    1216
    1317
     
    103107}
    104108
     109/* --Methode-- */
     110template <class T>
     111GeneralFitData* NOMAdapter_Image<T>::GetGeneralFitData(bool& adel
     112 ,GeneralFitData::FitErrType errtype,double errscale,double errmin
     113 ,int i1,int i2,int j1,int j2)
     114{
     115adel = false;
     116if(!mImg) return(NULL);
     117
     118int nx = mImg->XSize();
     119int ny = mImg->YSize();
     120if(nx<=0 || ny<=0) return(NULL);
     121
     122i1 = (i1<0||i1>=nx)? 0: i1;
     123i2 = (i2<0||i2>=nx||i2<i1)? nx-1: i2;
     124j1 = (j1<0||j1>=ny)? 0: j1;
     125j2 = (j2<0||j2>=ny||j2<j1)? ny-1: j2;
     126
     127GeneralFitData* mGData = new GeneralFitData(2,(i2-i1+1)*(j2-j1+1),0);
     128adel = true;
     129
     130for(int i=i1;i<=i2;i++) for(int j=j1;j<=j2;j++) {
     131  double x = mImg->XPos(i);
     132  double y = mImg->YPos(j);
     133  double f = (*mImg)(i,j);
     134  double e = 1.;
     135  e = GeneralFitData::ComputeError(f,e,errtype,errscale,errmin);
     136  mGData->AddData2(x,y,f,e);
     137}
     138
     139return mGData;
     140}
     141
     142template <class T>
     143AnyDataObj* NOMAdapter_Image<T>::FitResidusObj(GeneralFit& mfit)
     144{
     145#ifdef SANS_EVOLPLANCK
     146RzImage* rzim = mImg->FitResidus(mfit); 
     147ImageR4* im   = new ImageR4(*rzim);
     148return im;
     149#else
     150Image<T>* im = new Image<T>(ObjectFitter::FitResidus(*mImg,mfit));
     151return im;
     152#endif
     153}
     154
     155template <class T>
     156AnyDataObj* NOMAdapter_Image<T>::FitFunctionObj(GeneralFit& mfit)
     157{
     158#ifdef SANS_EVOLPLANCK
     159RzImage* rzim = mImg->FitFunction(mfit); 
     160ImageR4* im   = new ImageR4(*rzim);
     161return im;
     162#else
     163Image<T>* im = NULL;
     164//im = new Image<T>(ObjectFitter::FitFunction(*mImg,mfit));
     165return im;
     166#endif
     167}
    105168
    106169
Note: See TracChangeset for help on using the changeset viewer.