Changeset 3881 in Sophya


Ignore:
Timestamp:
Sep 20, 2010, 4:48:38 PM (15 years ago)
Author:
ansari
Message:

Ajout calcul sigma des spectres ds BRMeanSpecCalculator, Reza 20/09/2010

Location:
trunk/AddOn/TAcq
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/AddOn/TAcq/brproc.cc

    r3872 r3881  
    4242  setNameId("meanSpecCalc",1);
    4343  BRPaquet paq(memgr_.PaqSize());
    44   if (fgsinglechannel_)
     44  if (fgsinglechannel_) {
    4545    mspecmtx_.SetSize(memgr_.NbFibres(), paq.DataSize()/2);
    46   else
     46    sigspecmtx_.SetSize(memgr_.NbFibres(), paq.DataSize()/2);
     47  }
     48  else {
    4749    mspecmtx_.SetSize(2*memgr_.NbFibres(), paq.DataSize()/4);
    48   mspecmtx_=(r_8)(0.);
     50    sigspecmtx_.SetSize(2*memgr_.NbFibres(), paq.DataSize()/4);
     51  }
     52  mspecmtx_=(r_4)(0.);
     53  sigspecmtx_=(r_4)(0.);
    4954  numfile_=0;
    5055  nbpaq4mean_=0;
     
    7984      }
    8085      TVector< r_4 > spec = mspecmtx_.Row(i);
    81       for(sa_size_t f=1; f<spec.Size(); f++)  spec(f) += zp[f].module2F();
     86      TVector< r_4 > sspec = sigspecmtx_.Row(i);
     87      for(sa_size_t f=1; f<spec.Size(); f++) {
     88        r_4 m2zf=zp[f].module2F();;
     89        spec(f) += m2zf;
     90        sspec(f) += m2zf*m2zf;
     91      }
    8292    }
    8393  }
     
    93103      }
    94104      TVector< r_4 > spec = mspecmtx_.Row(i);
    95       for(sa_size_t f=1; f<spec.Size(); f++)  spec(f) += Zmod2(zp[f]);
    96      
     105      TVector< r_4 > sspec = sigspecmtx_.Row(i);
     106      for(sa_size_t f=1; f<spec.Size(); f++)  {
     107        r_4 m2zf=Zmod2(zp[f]);
     108        spec(f) += m2zf;
     109        sspec(f) += (m2zf*m2zf);       
     110      }     
    97111    }
    98112  }
     
    106120  mspecmtx_.Info()["NPAQSUM"] = nbpaq4mean_;
    107121  mspecmtx_ /= (double)nbpaq4mean_;
    108   char nfile[32];
     122  sigspecmtx_.Info()["NPAQSUM"] = nbpaq4mean_;
     123  sigspecmtx_ /= (double)nbpaq4mean_;
     124  sigspecmtx_ -= (mspecmtx_ && mspecmtx_);  // Mean(X^2) - [ Mean(X) ]^2
     125  char nfile[64];
     126  string flnm;
     127  {
    109128  sprintf(nfile,"mspecmtx%d.ppf",numfile_);
    110   string flnm=outpath_+nfile;
     129  flnm=outpath_+nfile;
    111130  POutPersist po(flnm);
    112131  po << mspecmtx_;
     132  }
     133  {
     134  sprintf(nfile,"sigspecmtx%d.ppf",numfile_);
     135  flnm=outpath_+nfile;
     136  POutPersist po(flnm);
     137  po << sigspecmtx_;
     138  }
    113139  cout << numfile_ << "-BRMeanSpecCalculator::SaveSpectra() NPaqProc="
    114        << totnbpaq_ << "  -> Mean spectra Matrix in " << flnm << endl;
     140       << totnbpaq_ << "  -> Mean/Sig spectra Matrix in " << flnm << " /sigspec...ppf" << endl;
    115141  numfile_++;  nbpaq4mean_=0;
    116   mspecmtx_ = (r_8)(0.);
     142  mspecmtx_ = (r_4)(0.);
     143  sigspecmtx_ = (r_4)(0.);
    117144  return;
    118145}
  • trunk/AddOn/TAcq/brproc.h

    r3872 r3881  
    5252  uint_8 totnbpaq_;
    5353  TMatrix< r_4 > mspecmtx_;    // Matrice des spectres moyennees
     54  TMatrix< r_4 > sigspecmtx_;    // Matrice des sigmas des spectres 
     55
    5456};
    5557
Note: See TracChangeset for help on using the changeset viewer.