continuing code correction for windows warning elimination
authorAlexandre Benoit <no@email>
Thu, 20 Oct 2011 13:03:45 +0000 (13:03 +0000)
committerAlexandre Benoit <no@email>
Thu, 20 Oct 2011 13:03:45 +0000 (13:03 +0000)
modules/contrib/src/basicretinafilter.cpp
modules/contrib/src/basicretinafilter.hpp
modules/contrib/src/magnoretinafilter.cpp
modules/contrib/src/parvoretinafilter.cpp
modules/contrib/src/retinafilter.cpp

index bdf9b4c..f6f1c23 100644 (file)
@@ -179,9 +179,9 @@ void BasicRetinaFilter::setLPfilterParameters(const float beta, const float tau,
                _alpha=0.0001f;
        }
 
-       float _temp =  (1+_beta)/(2*_mu*_alpha);
-       float _a = _filteringCoeficientsTable[tableOffset] = 1 + _temp - (float)sqrt( (1.0+_temp)*(1.0+_temp) - 1.0);
-       _filteringCoeficientsTable[1+tableOffset]=(1-_a)*(1-_a)*(1-_a)*(1-_a)/(1+_beta);
+       float _temp =  (1.0f+_beta)/(2.0f*_mu*_alpha);
+       float _a = _filteringCoeficientsTable[tableOffset] = 1.0f + _temp - (float)sqrt( (1.0f+_temp)*(1.0f+_temp) - 1.0f);
+       _filteringCoeficientsTable[1+tableOffset]=(1.0f-_a)*(1.0f-_a)*(1.0f-_a)*(1.0f-_a)/(1.0f+_beta);
        _filteringCoeficientsTable[2+tableOffset] =tau;
 
        //std::cout<<"BasicRetinaFilter::normal:"<<(1.0-_a)*(1.0-_a)*(1.0-_a)*(1.0-_a)/(1.0+_beta)<<" -> old:"<<(1-_a)*(1-_a)*(1-_a)*(1-_a)/(1+_beta)<<std::endl;
@@ -209,20 +209,20 @@ void BasicRetinaFilter::setProgressiveFilterConstants_CentredAccuracy(const floa
        unsigned int tableOffset=filterIndex*3;
 
        float _alpha=0.8f;
-       float _temp =  (1+_beta)/(2*_mu*_alpha);
-       float _a=_filteringCoeficientsTable[tableOffset] = 1 + _temp - (float)sqrt( (1.0+_temp)*(1.0+_temp) - 1.0);
-       _filteringCoeficientsTable[tableOffset+1]=(1-_a)*(1-_a)*(1-_a)*(1-_a)/(1+_beta);
+       float _temp =  (1.0f+_beta)/(2.0f*_mu*_alpha);
+       float _a=_filteringCoeficientsTable[tableOffset] = 1.0f + _temp - (float)sqrt( (1.0f+_temp)*(1.0f+_temp) - 1.0f);
+       _filteringCoeficientsTable[tableOffset+1]=(1.0f-_a)*(1.0f-_a)*(1.0f-_a)*(1.0f-_a)/(1.0f+_beta);
        _filteringCoeficientsTable[tableOffset+2] =tau;
 
-       float commonFactor=alpha0/(float)sqrt(_halfNBcolumns*_halfNBcolumns+_halfNBrows*_halfNBrows+1.0);
+       float commonFactor=alpha0/(float)sqrt(_halfNBcolumns*_halfNBcolumns+_halfNBrows*_halfNBrows+1.0f);
        //memset(_progressiveSpatialConstant, 255, _filterOutput.getNBpixels());
        for (unsigned int idColumn=0;idColumn<_halfNBcolumns; ++idColumn)
                for (unsigned int idRow=0;idRow<_halfNBrows; ++idRow)
                {
                        // computing local spatial constant
                        float localSpatialConstantValue=commonFactor*sqrt((float)(idColumn*idColumn)+(float)(idRow*idRow));
-                       if (localSpatialConstantValue>1)
-                               localSpatialConstantValue=1;
+                       if (localSpatialConstantValue>1.0f)
+                               localSpatialConstantValue=1.0f;
 
                        _progressiveSpatialConstant[_halfNBcolumns-1+idColumn+_filterOutput.getNBcolumns()*(_halfNBrows-1+idRow)]=localSpatialConstantValue;
                        _progressiveSpatialConstant[_halfNBcolumns-1-idColumn+_filterOutput.getNBcolumns()*(_halfNBrows-1+idRow)]=localSpatialConstantValue;
@@ -265,9 +265,9 @@ void BasicRetinaFilter::setProgressiveFilterConstants_CustomAccuracy(const float
                //alpha0=0.0001;
        }
        unsigned int tableOffset=filterIndex*3;
-       float _temp =  (1+_beta)/(2*_mu*_alpha);
-       float _a=_filteringCoeficientsTable[tableOffset] = 1 + _temp - (float)sqrt( (1.0+_temp)*(1.0+_temp) - 1.0);
-       _filteringCoeficientsTable[tableOffset+1]=(1-_a)*(1-_a)*(1-_a)*(1-_a)/(1+_beta);
+       float _temp =  (1.0f+_beta)/(2.0f*_mu*_alpha);
+       float _a=_filteringCoeficientsTable[tableOffset] = 1.0f + _temp - (float)sqrt( (1.0f+_temp)*(1.0f+_temp) - 1.0f);
+       _filteringCoeficientsTable[tableOffset+1]=(1.0f-_a)*(1.0f-_a)*(1.0f-_a)*(1.0f-_a)/(1.0f+_beta);
        _filteringCoeficientsTable[tableOffset+2] =tau;
 
        //memset(_progressiveSpatialConstant, 255, _filterOutput.getNBpixels());
@@ -283,7 +283,7 @@ void BasicRetinaFilter::setProgressiveFilterConstants_CustomAccuracy(const float
                        _progressiveSpatialConstant[index]=localSpatialConstantValue;
 
                        // computing local gain
-                       float localGain=(1-localSpatialConstantValue)*(1-localSpatialConstantValue)*(1-localSpatialConstantValue)*(1-localSpatialConstantValue)/(1+_beta);
+                       float localGain=(1.0f-localSpatialConstantValue)*(1.0f-localSpatialConstantValue)*(1.0f-localSpatialConstantValue)*(1.0f-localSpatialConstantValue)/(1.0f+_beta);
                        _progressiveGain[index]=localGain;
 
                        //std::cout<<commonFactor<<", "<<sqrt((_halfNBcolumns-1-idColumn)+(_halfNBrows-idRow-1))<<", "<<(_halfNBcolumns-1-idColumn)<<", "<<(_halfNBrows-idRow-1)<<", "<<localSpatialConstantValue<<std::endl;
@@ -345,7 +345,7 @@ void BasicRetinaFilter::_localLuminanceAdaptationPosNegValues(const float *input
        const float *localLuminancePTR=localLuminance;
        const float *inputFramePTR=inputFrame;
        float *outputFramePTR=outputFrame;
-       float factor=_maxInputValue*2/(float)CV_PI;
+       float factor=_maxInputValue*2.0f/(float)CV_PI;
        for (register unsigned int IDpixel=0 ; IDpixel<_filterOutput.getNBpixels() ; ++IDpixel, ++inputFramePTR)
        {
                float X0=*(localLuminancePTR++)*_localLuminanceFactor+_localLuminanceAddon;
index 6bce6d2..481ad2b 100644 (file)
@@ -267,7 +267,7 @@ public:
        * @param maxInputValue: the maximum amplitude value measured after local adaptation processing (c.f. function runFilter_LocalAdapdation & runFilter_LocalAdapdation_autonomous)
        * @param meanLuminance: the a priori meann luminance of the input data (should be 128 for 8bits images but can vary greatly in case of High Dynamic Range Images (HDRI)
        */
-       void setV0CompressionParameter(const float v0, const float maxInputValue, const float){ _v0=v0*maxInputValue; _localLuminanceFactor=v0; _localLuminanceAddon=maxInputValue*(1-v0); _maxInputValue=maxInputValue;};
+       void setV0CompressionParameter(const float v0, const float maxInputValue, const float){ _v0=v0*maxInputValue; _localLuminanceFactor=v0; _localLuminanceAddon=maxInputValue*(1.0f-v0); _maxInputValue=maxInputValue;};
 
        /**
        * update local luminance adaptation setup, initial maxInputValue is kept. This function should be applied for normal local adaptation (not for tone mapping operation)
@@ -280,7 +280,7 @@ public:
        * local luminance adaptation setup, this function should be applied for normal local adaptation (not for tone mapping operation)
        * @param v0: compression effect for the local luminance adaptation processing, set a value between 0.6 and 0.9 for best results, a high value yields to a high compression effect
        */
-       void setV0CompressionParameter(const float v0){ _v0=v0*_maxInputValue; _localLuminanceFactor=v0; _localLuminanceAddon=_maxInputValue*(1-v0);};
+       void setV0CompressionParameter(const float v0){ _v0=v0*_maxInputValue; _localLuminanceFactor=v0; _localLuminanceAddon=_maxInputValue*(1.0f-v0);};
 
        /**
        * local luminance adaptation setup, this function should be applied for local adaptation applied to tone mapping operation
@@ -288,7 +288,7 @@ public:
        * @param maxInputValue: the maximum amplitude value measured after local adaptation processing (c.f. function runFilter_LocalAdapdation & runFilter_LocalAdapdation_autonomous)
        * @param meanLuminance: the a priori meann luminance of the input data (should be 128 for 8bits images but can vary greatly in case of High Dynamic Range Images (HDRI)
        */
-       void setV0CompressionParameterToneMapping(const float v0, const float maxInputValue, const float meanLuminance=128.0){ _v0=v0*maxInputValue; _localLuminanceFactor=1; _localLuminanceAddon=meanLuminance*_v0; _maxInputValue=maxInputValue;};
+       void setV0CompressionParameterToneMapping(const float v0, const float maxInputValue, const float meanLuminance=128.0f){ _v0=v0*maxInputValue; _localLuminanceFactor=1.0f; _localLuminanceAddon=meanLuminance*_v0; _maxInputValue=maxInputValue;};
 
        /**
        * update compression parameters while keeping v0 parameter value
index 8285ef4..ea5fdf8 100644 (file)
@@ -144,7 +144,7 @@ void MagnoRetinaFilter::resize(const unsigned int NBrows, const unsigned int NBc
 
 void MagnoRetinaFilter::setCoefficientsTable(const float parasolCells_beta, const float parasolCells_tau, const float parasolCells_k, const float amacrinCellsTemporalCutFrequency, const float localAdaptIntegration_tau, const float localAdaptIntegration_k )
 {
-       _temporalCoefficient=(float)exp(-1.0/amacrinCellsTemporalCutFrequency);
+       _temporalCoefficient=(float)exp(-1.0f/amacrinCellsTemporalCutFrequency);
        // the first set of parameters is dedicated to the low pass filtering property of the ganglion cells
        BasicRetinaFilter::setLPfilterParameters(parasolCells_beta, parasolCells_tau, parasolCells_k, 0);
        // the second set of parameters is dedicated to the ganglion cells output intergartion for their local adaptation property
index 82c5c97..a6cbf1b 100644 (file)
@@ -216,11 +216,11 @@ void ParvoRetinaFilter::_OPL_OnOffWaysComputing()
        {
                float pixelDifference = *(photoreceptorsOutput_PTR++) -*(horizontalCellsOutput_PTR++);
                // test condition to allow write pixelDifference in ON or OFF buffer and 0 in the over
-               float isPositive=(float) (pixelDifference>0);
+               float isPositive=(float) (pixelDifference>0.0f);
 
                // ON and OFF channels writing step
                *(parvocellularOutputON_PTR++)=*(bipolarCellsON_PTR++) = isPositive*pixelDifference;
-               *(parvocellularOutputOFF_PTR++)=*(bipolarCellsOFF_PTR++)= (isPositive-1)*pixelDifference;
+               *(parvocellularOutputOFF_PTR++)=*(bipolarCellsOFF_PTR++)= (isPositive-1.0f)*pixelDifference;
        }
 }
 }
index 66aaf92..c187776 100644 (file)
@@ -210,10 +210,10 @@ namespace cv
                 if (distanceToCenter<minDistance)
                 {
                     float a=*(hybridParvoMagnoCoefTablePTR++)=0.5f+0.5f*(float)cos(CV_PI*distanceToCenter/minDistance);
-                    *(hybridParvoMagnoCoefTablePTR++)=1-a;
+                    *(hybridParvoMagnoCoefTablePTR++)=1.f-a;
                 }else
                 {
-                    *(hybridParvoMagnoCoefTablePTR++)=0;
+                    *(hybridParvoMagnoCoefTablePTR++)=0.f;
                     *(hybridParvoMagnoCoefTablePTR++)=1.f;
                 }
             }
@@ -233,7 +233,7 @@ namespace cv
         //this->setV0CompressionParameter(0.6, maxInputValue, meanValue); // keeps log compression sensitivity parameter (usefull for the tone mapping function)
         _ParvoRetinaFilter.setOPLandParvoFiltersParameters(0,OPLtemporalresponse1, OPLspatialResponse1, OPLassymetryGain, OPLtemporalresponse2, OPLspatialResponse2);
         _ParvoRetinaFilter.setV0CompressionParameter(0.9f, maxInputValue, meanValue);
-        _MagnoRetinaFilter.setCoefficientsTable(LPfilterGain, LPfilterTemporalresponse, LPfilterSpatialResponse, MovingContoursExtractorCoefficient, 0, 2*LPfilterSpatialResponse);
+        _MagnoRetinaFilter.setCoefficientsTable(LPfilterGain, LPfilterTemporalresponse, LPfilterSpatialResponse, MovingContoursExtractorCoefficient, 0, 2.0f*LPfilterSpatialResponse);
         _MagnoRetinaFilter.setV0CompressionParameter(0.7f, maxInputValue, meanValue);
 
         // stability controls value init