Changeset 3946 in Sophya for trunk/AddOn


Ignore:
Timestamp:
Feb 7, 2011, 9:26:23 AM (15 years ago)
Author:
campagne
Message:

secure the code from non initialisation in certain options (JEC)

Location:
trunk/AddOn/TAcq
Files:
4 edited

Legend:

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

    r3943 r3946  
    232232       << " Bands: N=" <<  nbands_ << " First=" << bandfirst_ << " Last=" << bandlast_
    233233       << endl;
     234  cout << " force frequence median filtering (action gain)" << endl;
    234235  cout << " Spectra TimeWindow (Nb.Paquets) Size=" << spec_win_sz_ << " ExtensionSize=" << spw_ext_sz_
    235236       << " MaxNbFile=" << nbmax_specwfiles_ << endl;
  • trunk/AddOn/TAcq/brproc.cc

    r3944 r3946  
    9494 
    9595  //  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() appele
    97   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;
    9898}
    9999
     
    168168  //  xnt_=new double[nchan*2];  CHECK : faut-il reallouer ?
    169169  cout << "(JEC) creation tuple de " << nchan*(1+numberOfBands_) << " doubles " << endl;
    170   if (xnt_) delete[] xnt_;
    171170  xnt_=new double[nchan*(1+numberOfBands_)];
    172171  cout << "(JEC) BRMeanSpecCalculator::DefineDataTable END" << endl;
     
    320319    // Boucle sur les numeros de voie (canaux)
    321320    for(sa_size_t i=0; i<spec_window_.SizeY(); i++)  {
     321
     322      clnflg_(i,kz)=0;
     323
    322324      double mean, sigma;
    323325      ////////BUG      sa_size_t kz=PaqNumToArrayIndex(totnbpaq_);
    324326      double variance=0.;
    325327      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         fMin = 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_);
    351353  }
    352354  return;
  • trunk/AddOn/TAcq/brprocGain.cc

    r3943 r3946  
    4949
    5050  uint_4 nb_octets_entrop = 0; //this value is valid for Dec. 2010 data at Nancay
     51 
    5152  const char* venvp = NULL;
    5253  venvp=getenv("BRANA_NBYTECUT");
     
    8687{
    8788
    88   cout << "(JEC): BRGainCalculator ProcSpecWin: "<<   nbtot_specwin_
    89        << " nbwin4mean = " << nbwin4mean_
    90        << endl;
     89//   cout << "(JEC): BRGainCalculator ProcSpecWin: "<<   nbtot_specwin_
     90//        << " nbwin4mean = " << nbwin4mean_
     91//        << endl;
    9192 
    9293  //  cout<< "(Spec_window info) Start" << endl;
     
    133134                         val2.begin()+val2.size()/2,
    134135                         val2.end());
    135         medianFilterFreq(f) += *(val2.begin()+val2.size()/2); //Notice the "+" for later take the mean
     136        medianFilterFreq(f) = *(val2.begin()+val2.size()/2); //Notice the "+" for later take the mean
    136137      }//eo loop on frequencies
    137138    } else {
     
    139140      //      medfiltspecmtx_.Row(i).Show();
    140141      //      medianFilterPaq.Transpose().Show();
    141       medfiltspecmtx_.Row(i) = medianFilterPaq.Transpose();
     142      medfiltspecmtx_.Row(i) += medianFilterPaq.Transpose();
    142143    }
    143144  }//eo loop on channels
  • trunk/AddOn/TAcq/specmfib.cc

    r3943 r3946  
    9292        new BRGainCalculator(mmgr, par.outpath_, par.nmean_, par.fgdatafft_, par.fgsinglechannel_);
    9393      procgain_p->SetPrintLevel(par.prtlevel_,par.prtmodulo_);
     94      if(par.fgfreqfilter_) procgain_p->SetOnMedianFreqFilt();
    9495    }
    9596
Note: See TracChangeset for help on using the changeset viewer.