Ignore:
Timestamp:
03/16/06 15:04:03 (18 years ago)
Author:
mattausch
Message:

implemented first version of the visibility filter

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/Pvs.h

    r695 r704  
    109109 
    110110  /** Compute continuous PVS difference */ 
    111   void ComputeContinuousPvsDifference(const Pvs<T> &pvs, 
     111  void ComputeContinuousPvsDifference(Pvs<T> &pvs, 
    112112                                                                          float &pvsReduction, 
    113113                                                                          float &pvsEnlargement); 
     
    115115 
    116116  /** Compute continuous PVS difference */ 
    117   float GetPvsHomogenity(const Pvs<T> &pvs) { 
     117  float GetPvsHomogenity(Pvs<T> &pvs) { 
    118118        float  
    119119          pvsReduction, 
     
    142142template <typename T> 
    143143void 
    144 Pvs<T>::ComputeContinuousPvsDifference(const Pvs<T> &b, 
     144Pvs<T>::ComputeContinuousPvsDifference(Pvs<T> &b, 
    145145                                                                           float &pvsReduction, 
    146146                                                                           float &pvsEnlargement) 
    147147{ 
    148148  // Uses sum of log differences, which corresponds to entropy 
    149   std::map<T, PvsData<T>, LtSample<T> >::const_iterator it; 
    150    
    151   for (it = b.mEntries.begin(); it != b.mEntries.end(); ++ it) { 
     149  std::map<T, PvsData<T>, LtSample<T> >::iterator it; 
     150   
     151  for (it = b.mEntries.begin();  
     152          it != b.mEntries.end(); ++ it) { 
    152153        float bSumPdf = (*it).second.mSumPdf; 
    153154        float aSumPdf = 0.0f; 
    154155        PvsData<T> *data = Find((*it).first);            
    155156        if (data) { 
    156           aSumPdf = data->second.mSumPdf; 
     157          aSumPdf = data->mSumPdf; 
    157158          // mark this entry as processed to avoid double counting 
    158           data->second.mSumPdf = -aSumPdf; 
     159          data->mSumPdf = -aSumPdf; 
    159160        } 
    160161        float diff = bSumPdf - aSumPdf; 
     
    177178          PvsData<T> *data = b.Find((*it).first); 
    178179          if (data) { 
    179                 bSumPdf = data->second.mSumPdf; 
     180                bSumPdf = data->mSumPdf; 
    180181          } 
    181182          float diff = bSumPdf - aSumPdf; 
Note: See TracChangeset for help on using the changeset viewer.