Changeset 3946 in Sophya for trunk/AddOn
- Timestamp:
- Feb 7, 2011, 9:26:23 AM (15 years ago)
- Location:
- trunk/AddOn/TAcq
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/AddOn/TAcq/branap.cc
r3943 r3946 232 232 << " Bands: N=" << nbands_ << " First=" << bandfirst_ << " Last=" << bandlast_ 233 233 << endl; 234 cout << " force frequence median filtering (action gain)" << endl; 234 235 cout << " Spectra TimeWindow (Nb.Paquets) Size=" << spec_win_sz_ << " ExtensionSize=" << spw_ext_sz_ 235 236 << " MaxNbFile=" << nbmax_specwfiles_ << endl; -
trunk/AddOn/TAcq/brproc.cc
r3944 r3946 94 94 95 95 // cout << "(JEC) creation tuple de " << nchan*(1+numberOfBands_) << " doubles " << endl; 96 // CHECK : ATTENTION , on alloue une taille minimum pour le tableau xnt, reallocation si DefineDataTable() appele97 xnt_= new double[nchan*2];96 // xnt_=new double[nchan*(1+numberOfBands_)]; // CHECK : ATTENTION la taille depend de nombre de colonne du NTuple ! 97 xnt_=NULL; 98 98 } 99 99 … … 168 168 // xnt_=new double[nchan*2]; CHECK : faut-il reallouer ? 169 169 cout << "(JEC) creation tuple de " << nchan*(1+numberOfBands_) << " doubles " << endl; 170 if (xnt_) delete[] xnt_;171 170 xnt_=new double[nchan*(1+numberOfBands_)]; 172 171 cout << "(JEC) BRMeanSpecCalculator::DefineDataTable END" << endl; … … 320 319 // Boucle sur les numeros de voie (canaux) 321 320 for(sa_size_t i=0; i<spec_window_.SizeY(); i++) { 321 322 clnflg_(i,kz)=0; 323 322 324 double mean, sigma; 323 325 ////////BUG sa_size_t kz=PaqNumToArrayIndex(totnbpaq_); 324 326 double variance=0.; 325 327 variance=spec_window_(Range(1,Range::lastIndex()), Range(i), Range(kz)).Sum(); 326 xnt_[i]=variance;327 //Compute nomalized variance in bands freq.328 sa_size_t fMin; 329 sa_size_t fMax;330 int bandW = spec_window_.SizeX()/numberOfBands_;331 vector<double> varNomBinned(numberOfBands_);332 for (sa_size_t j=0; j<numberOfBands_; j++){ 333 f Min = j*bandW;334 fMax =fMin+bandW-1;335 varNomBinned[j]=spec_window_(Range(fMin,fMax), Range(i), Range(kz)).Sum();336 varNomBinned[j]/=(r_4)bandW;337 xnt_[spec_window_.SizeY()+i*numberOfBands_+j] = varNomBinned[j];338 }//eof 339 340 clnflg_(i,kz)=0; 341 for (sa_size_t j=ibandfirst_; j<=ibandlast_; j++){ 342 // cout << "(jec) var["<<j<<"] =" << varNomBinned[j]343 // << " min " << varmin_344 // << " max " << varmax_ << endl;345 if(varNomBinned[j]<varmin_) { clnflg_(i,kz)=10+j; nbadpaq_[i]++; break;}346 else if(varNomBinned[j]>varmax_) { clnflg_(i,kz)=100+j; nbadpaq_[i]++; break;}347 } 348 //cout << "clnflg_("<<i<<","<<kz<<"): " << clnflg_(i,kz) << endl;349 } 350 if (dtp_ ) dtp_->AddRow(xnt_);328 if(xnt_)xnt_[i]=variance; 329 if(numberOfBands_>0){ 330 //Compute nomalized variance in bands freq. 331 sa_size_t fMin; 332 sa_size_t fMax; 333 int bandW = spec_window_.SizeX()/numberOfBands_; 334 vector<double> varNomBinned(numberOfBands_); 335 for (sa_size_t j=ibandfirst_; j<=ibandlast_; j++){ 336 fMin = j*bandW; 337 fMax =fMin+bandW-1; 338 varNomBinned[j]=spec_window_(Range(fMin,fMax), Range(i), Range(kz)).Sum(); 339 varNomBinned[j]/=(r_4)bandW; 340 if(xnt_)xnt_[spec_window_.SizeY()+i*numberOfBands_+j] = varNomBinned[j]; 341 342 // cout << "(jec) var["<<j<<"] =" << varNomBinned[j] 343 // << " min " << varmin_ 344 // << " max " << varmax_ << endl; 345 if(varNomBinned[j]<varmin_) { clnflg_(i,kz)=10+j; nbadpaq_[i]++; break;} 346 else if(varNomBinned[j]>varmax_) { clnflg_(i,kz)=100+j; nbadpaq_[i]++; break;} 347 } 348 //cout << "clnflg_("<<i<<","<<kz<<"): " << clnflg_(i,kz) << endl; 349 }//if bands 350 }//loop on channels 351 352 if (dtp_ && xnt_) dtp_->AddRow(xnt_); 351 353 } 352 354 return; -
trunk/AddOn/TAcq/brprocGain.cc
r3943 r3946 49 49 50 50 uint_4 nb_octets_entrop = 0; //this value is valid for Dec. 2010 data at Nancay 51 51 52 const char* venvp = NULL; 52 53 venvp=getenv("BRANA_NBYTECUT"); … … 86 87 { 87 88 88 cout << "(JEC): BRGainCalculator ProcSpecWin: "<< nbtot_specwin_89 << " nbwin4mean = " << nbwin4mean_90 << endl;89 // cout << "(JEC): BRGainCalculator ProcSpecWin: "<< nbtot_specwin_ 90 // << " nbwin4mean = " << nbwin4mean_ 91 // << endl; 91 92 92 93 // cout<< "(Spec_window info) Start" << endl; … … 133 134 val2.begin()+val2.size()/2, 134 135 val2.end()); 135 medianFilterFreq(f) += *(val2.begin()+val2.size()/2); //Notice the "+" for later take the mean136 medianFilterFreq(f) = *(val2.begin()+val2.size()/2); //Notice the "+" for later take the mean 136 137 }//eo loop on frequencies 137 138 } else { … … 139 140 // medfiltspecmtx_.Row(i).Show(); 140 141 // medianFilterPaq.Transpose().Show(); 141 medfiltspecmtx_.Row(i) = medianFilterPaq.Transpose();142 medfiltspecmtx_.Row(i) += medianFilterPaq.Transpose(); 142 143 } 143 144 }//eo loop on channels -
trunk/AddOn/TAcq/specmfib.cc
r3943 r3946 92 92 new BRGainCalculator(mmgr, par.outpath_, par.nmean_, par.fgdatafft_, par.fgsinglechannel_); 93 93 procgain_p->SetPrintLevel(par.prtlevel_,par.prtmodulo_); 94 if(par.fgfreqfilter_) procgain_p->SetOnMedianFreqFilt(); 94 95 } 95 96
Note:
See TracChangeset
for help on using the changeset viewer.