diff --git a/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx b/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx
index 3e5cbf8e7a4ad2ecbac6182a3b42cf13e56c9141..1e5b2f19fc957523a9790769b3428e2c384da072 100644
--- a/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx
+++ b/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx
@@ -103,13 +103,13 @@ private:
     AddParameter(ParameterType_OutputImage, "out", "Output Image");
     SetParameterDescription("out", "output image. Components are ordered by decreasing eigenvalues.");
     MandatoryOff("out");
-    
+
     AddParameter(ParameterType_Choice, "rescale", "Rescale Output");
     SetParameterDescription("rescale", "Enable rescaling of the reduced output image.");
 
     MandatoryOff("rescale");
-    AddChoice("rescale.no","No rescale");
-    AddChoice("rescale.minmax","rescale to min max value");
+    AddChoice("rescale.no", "No rescale");
+    AddChoice("rescale.minmax", "rescale to min max value");
 
     AddParameter(ParameterType_Float, "rescale.minmax.outmin", "Output min value");
     AddParameter(ParameterType_Float, "rescale.minmax.outmax", "Output max value");
@@ -134,7 +134,7 @@ private:
     SetParameterDescription("method.pca.whiten", "Perform whitening and ensure uncorrelated outputs with unit component wise variances");
     SetParameterInt("method.pca.whiten", 1);
     MandatoryOff("method.pca.whiten");
-    
+
     AddChoice("method.napca", "NA-PCA");
     SetParameterDescription("method.napca", "Noise Adjusted Principal Component Analysis.");
     AddParameter(ParameterType_Int, "method.napca.radiusx", "Set the x radius of the sliding window");
@@ -146,7 +146,7 @@ private:
 
     AddChoice("method.maf", "MAF");
     SetParameterDescription("method.maf", "Maximum Autocorrelation Factor.");
-    
+
     AddChoice("method.ica", "ICA");
     SetParameterDescription("method.ica", "Independent Component Analysis using a stabilized fixed point FastICA algorithm.");
     AddParameter(ParameterType_Int, "method.ica.iter", "number of iterations");
@@ -175,8 +175,8 @@ private:
     MandatoryOff("nbcomp");
     SetMinimumParameterIntValue("nbcomp", 0);
 
-    AddParameter(ParameterType_Bool, "normalize", "Normalize");
-    SetParameterDescription("normalize", "Center and reduce data before Dimensionality reduction.");
+    AddParameter(ParameterType_Bool, "normalize", "Center and reduce data");
+    SetParameterDescription("normalize", "Center and reduce data before Dimensionality reduction (if this parameter is set to false, the data will be centered but not reduced.");
 
     AddParameter(ParameterType_OutputFilename, "outmatrix", "Transformation matrix output (text format)");
     SetParameterDescription("outmatrix", "Filename to store the transformation matrix (csv format)");
@@ -253,94 +253,95 @@ private:
       // PCA Algorithm
       case 0:
         {
-        otbAppLogINFO("Using the PCA Algorithm ");
-        PCAForwardFilterType::Pointer filter = PCAForwardFilterType::New();
-        m_ForwardFilter = filter;
-        PCAInverseFilterType::Pointer invFilter = PCAInverseFilterType::New();
-        m_InverseFilter = invFilter;
-
-        filter->SetInput(GetParameterFloatVectorImage("in"));
-        filter->SetNumberOfPrincipalComponentsRequired(nbComp);
-        filter->SetWhitening(GetParameterInt("method.pca.whiten"));
-        
-        // Center AND reduce the input data.
-        if (normalize)
-        {
-          filter->SetUseNormalization(true);
-          filter->SetUseVarianceForNormalization(true);
-        }
-        // Only center the input data.
-        else
-        {
-          filter->SetUseNormalization(true);
-          filter->SetUseVarianceForNormalization(false);
-        }
-        
-        m_ForwardFilter->GetOutput()->UpdateOutputInformation();
-        
-        //Write eigenvalues
-        std::ofstream outFile;
-        outFile.open(this->GetParameterString("method.pca.outeigenvalues"));
-        if (outFile.is_open())
+          otbAppLogINFO("Using the PCA Algorithm ");
+          PCAForwardFilterType::Pointer filter    = PCAForwardFilterType::New();
+          m_ForwardFilter                         = filter;
+          PCAInverseFilterType::Pointer invFilter = PCAInverseFilterType::New();
+          m_InverseFilter                         = invFilter;
+
+          filter->SetInput(GetParameterFloatVectorImage("in"));
+          filter->SetNumberOfPrincipalComponentsRequired(nbComp);
+          filter->SetWhitening(GetParameterInt("method.pca.whiten"));
+
+          // Center AND reduce the input data.
+          if (normalize)
           {
-          outFile << std::fixed;
-          outFile.precision(10);
+            filter->SetUseNormalization(true);
+            filter->SetUseVarianceForNormalization(true);
+          }
+          // Only center the input data.
+          else
+          {
+            filter->SetUseNormalization(true);
+            filter->SetUseVarianceForNormalization(false);
+          }
 
-          outFile << filter->GetEigenValues() << std::endl;;
-          outFile.close();
+          m_ForwardFilter->GetOutput()->UpdateOutputInformation();
+
+          // Write eigenvalues
+          std::ofstream outFile;
+          outFile.open(this->GetParameterString("method.pca.outeigenvalues"));
+          if (outFile.is_open())
+          {
+            outFile << std::fixed;
+            outFile.precision(10);
+
+            outFile << filter->GetEigenValues() << std::endl;
+            ;
+            outFile.close();
           }
-        
-        if (invTransform)
+
+          if (invTransform)
           {
-          invFilter->SetInput(m_ForwardFilter->GetOutput());
-          // Data has been centered and reduced by the forward filter
-          if (normalize)
+            invFilter->SetInput(m_ForwardFilter->GetOutput());
+            // Data has been centered and reduced by the forward filter
+            if (normalize)
             {
             otbAppLogINFO( << "Normalization MeanValue:"<<filter->GetMeanValues() );
             invFilter->SetMeanValues(filter->GetMeanValues());
             invFilter->SetStdDevValues(filter->GetStdDevValues());
             }
-          // Data has been centered by the forward filter
-          else
+            // Data has been centered by the forward filter
+            else
             {
-            invFilter->SetMeanValues(filter->GetMeanValues());
+              invFilter->SetMeanValues(filter->GetMeanValues());
             }
-          
-          invFilter->SetTransformationMatrix(filter->GetTransformationMatrix());
-          m_TransformationMatrix = invFilter->GetTransformationMatrix();
+
+            invFilter->SetTransformationMatrix(filter->GetTransformationMatrix());
+            m_TransformationMatrix = invFilter->GetTransformationMatrix();
           }
 
         m_TransformationMatrix = filter->GetTransformationMatrix();
-        
+
         otbAppLogINFO("PCA transform has been computed.");
         break;
         }
       case 1:
         {
-        otbAppLogINFO("Using the NA-PCA Algorithm ");
+          otbAppLogINFO("Using the NA-PCA Algorithm ");
 
-        // NA-PCA
+          // NA-PCA
 
-        unsigned int radiusX = static_cast<unsigned int> (GetParameterInt("method.napca.radiusx"));
-        unsigned int radiusY = static_cast<unsigned int> (GetParameterInt("method.napca.radiusy"));
+          unsigned int radiusX = static_cast<unsigned int>(GetParameterInt("method.napca.radiusx"));
+          unsigned int radiusY = static_cast<unsigned int>(GetParameterInt("method.napca.radiusy"));
 
-        // Noise filtering
-        NoiseFilterType::RadiusType radius = { { radiusX, radiusY } };
+          // Noise filtering
+          NoiseFilterType::RadiusType radius = {{radiusX, radiusY}};
 
-        NAPCAForwardFilterType::Pointer filter = NAPCAForwardFilterType::New();
-        m_ForwardFilter = filter;
-        NAPCAInverseFilterType::Pointer invFilter = NAPCAInverseFilterType::New();
-        m_InverseFilter = invFilter;
+          NAPCAForwardFilterType::Pointer filter    = NAPCAForwardFilterType::New();
+          m_ForwardFilter                           = filter;
+          NAPCAInverseFilterType::Pointer invFilter = NAPCAInverseFilterType::New();
+          m_InverseFilter                           = invFilter;
 
 
-        filter->SetInput(GetParameterFloatVectorImage("in"));
-        filter->SetNumberOfPrincipalComponentsRequired(nbComp);
-        filter->SetUseNormalization(normalize);
-        filter->GetNoiseImageFilter()->SetRadius(radius);
+          filter->SetInput(GetParameterFloatVectorImage("in"));
+          filter->SetNumberOfPrincipalComponentsRequired(nbComp);
+          filter->SetUseNormalization(normalize);
+          filter->GetNoiseImageFilter()->SetRadius(radius);
 
-        m_ForwardFilter->GetOutput()->UpdateOutputInformation();
-        
-        if (invTransform)
+          m_ForwardFilter->GetOutput()->UpdateOutputInformation();
+
+          if (invTransform)
           {
           otbAppLogDEBUG( << "Compute Inverse Transform");
           invFilter->SetInput(m_ForwardFilter->GetOutput());
@@ -363,32 +364,32 @@ private:
         }
       case 2:
         {
-        otbAppLogINFO("Using the MAF Algorithm ");
-        MAFForwardFilterType::Pointer filter = MAFForwardFilterType::New();
-        m_ForwardFilter = filter;
-        filter->SetInput(GetParameterFloatVectorImage("in"));
-        otbAppLogINFO( << "V :"<<std::endl<<filter->GetV()<<"Auto-Correlation :"<<std::endl <<filter->GetAutoCorrelation() );
+          otbAppLogINFO("Using the MAF Algorithm ");
+          MAFForwardFilterType::Pointer filter = MAFForwardFilterType::New();
+          m_ForwardFilter                      = filter;
+          filter->SetInput(GetParameterFloatVectorImage("in"));
+          otbAppLogINFO(<< "V :" << std::endl << filter->GetV() << "Auto-Correlation :" << std::endl << filter->GetAutoCorrelation());
 
-        break;
+          break;
         }
       case 3:
         {
-        otbAppLogINFO("Using the fast ICA Algorithm ");
+          otbAppLogINFO("Using the fast ICA Algorithm ");
 
-        unsigned int nbIterations = static_cast<unsigned int> (GetParameterInt("method.ica.iter"));
-        double mu = static_cast<double> (GetParameterFloat("method.ica.mu"));
+          unsigned int nbIterations = static_cast<unsigned int>(GetParameterInt("method.ica.iter"));
+          double       mu           = static_cast<double>(GetParameterFloat("method.ica.mu"));
 
-        ICAForwardFilterType::Pointer filter = ICAForwardFilterType::New();
-        m_ForwardFilter = filter;
-        ICAInverseFilterType::Pointer invFilter = ICAInverseFilterType::New();
-        m_InverseFilter = invFilter;
+          ICAForwardFilterType::Pointer filter    = ICAForwardFilterType::New();
+          m_ForwardFilter                         = filter;
+          ICAInverseFilterType::Pointer invFilter = ICAInverseFilterType::New();
+          m_InverseFilter                         = invFilter;
 
-        filter->SetInput(GetParameterFloatVectorImage("in"));
-        filter->SetNumberOfPrincipalComponentsRequired(nbComp);
-        filter->SetNumberOfIterations(nbIterations);
-        filter->SetMu(mu);
-        
-        switch (GetParameterInt("method.ica.g"))
+          filter->SetInput(GetParameterFloatVectorImage("in"));
+          filter->SetNumberOfPrincipalComponentsRequired(nbComp);
+          filter->SetNumberOfIterations(nbIterations);
+          filter->SetMu(mu);
+
+          switch (GetParameterInt("method.ica.g"))
           {
           // tanh
           case 0:
@@ -442,10 +443,10 @@ private:
           invFilter->SetPCATransformationMatrix(filter->GetPCATransformationMatrix());
           invFilter->SetTransformationMatrix(filter->GetTransformationMatrix());
           }
-        otbAppLogINFO("ICA transform has been computed.");
-        m_TransformationMatrix = filter->GetTransformationMatrix();
+          otbAppLogINFO("ICA transform has been computed.");
+          m_TransformationMatrix = filter->GetTransformationMatrix();
 
-        break;
+          break;
         }
 
       default:
@@ -480,53 +481,53 @@ private:
         std::ofstream outFile;
         outFile.open(this->GetParameterString("outmatrix"));
         if (outFile.is_open())
-          {
+        {
           outFile << std::fixed;
           outFile.precision(10);
 
           outFile << m_TransformationMatrix;
           outFile.close();
-          }
+        }
         }
       }
 
-    if (GetParameterString("rescale")=="no")
+      if (GetParameterString("rescale") == "no")
       {
       SetParameterOutputImage("out", m_ForwardFilter->GetOutput());
       }
     else
       {
-      otbAppLogINFO( "Starting Min/Max computation for rescaling" );
+        otbAppLogINFO("Starting Min/Max computation for rescaling");
 
-      m_MinMaxFilter = MinMaxFilterType::New();
-      m_MinMaxFilter->SetInput(m_ForwardFilter->GetOutput());
-      m_MinMaxFilter->GetStreamer()->SetAutomaticAdaptativeStreaming(GetParameterInt("ram"));
+        m_MinMaxFilter = MinMaxFilterType::New();
+        m_MinMaxFilter->SetInput(m_ForwardFilter->GetOutput());
+        m_MinMaxFilter->GetStreamer()->SetAutomaticAdaptativeStreaming(GetParameterInt("ram"));
 
-      AddProcess(m_MinMaxFilter->GetStreamer(), "Min/Max computing");
-      m_MinMaxFilter->Update();
+        AddProcess(m_MinMaxFilter->GetStreamer(), "Min/Max computing");
+        m_MinMaxFilter->Update();
 
-      otbAppLogINFO( << "Min/Max computation done : min=" << m_MinMaxFilter->GetMinimum()
-          << " max=" << m_MinMaxFilter->GetMaximum() )
+        otbAppLogINFO(<< "Min/Max computation done : min=" << m_MinMaxFilter->GetMinimum() << " max=" << m_MinMaxFilter->GetMaximum())
 
-      FloatVectorImageType::PixelType inMin, inMax;
+            FloatVectorImageType::PixelType inMin,
+            inMax;
 
-      m_RescaleFilter = RescaleImageFilterType::New();
-      m_RescaleFilter->SetInput(m_ForwardFilter->GetOutput());
-      m_RescaleFilter->SetAutomaticInputMinMaxComputation(false);
-      m_RescaleFilter->SetInputMinimum(m_MinMaxFilter->GetMinimum());
-      m_RescaleFilter->SetInputMaximum(m_MinMaxFilter->GetMaximum());
+        m_RescaleFilter = RescaleImageFilterType::New();
+        m_RescaleFilter->SetInput(m_ForwardFilter->GetOutput());
+        m_RescaleFilter->SetAutomaticInputMinMaxComputation(false);
+        m_RescaleFilter->SetInputMinimum(m_MinMaxFilter->GetMinimum());
+        m_RescaleFilter->SetInputMaximum(m_MinMaxFilter->GetMaximum());
 
-      FloatVectorImageType::PixelType outMin, outMax;
-      outMin.SetSize(m_ForwardFilter->GetOutput()->GetNumberOfComponentsPerPixel());
-      outMax.SetSize(m_ForwardFilter->GetOutput()->GetNumberOfComponentsPerPixel());
-      outMin.Fill(GetParameterFloat("rescale.minmax.outmin"));
-      outMax.Fill(GetParameterFloat("rescale.minmax.outmax"));
+        FloatVectorImageType::PixelType outMin, outMax;
+        outMin.SetSize(m_ForwardFilter->GetOutput()->GetNumberOfComponentsPerPixel());
+        outMax.SetSize(m_ForwardFilter->GetOutput()->GetNumberOfComponentsPerPixel());
+        outMin.Fill(GetParameterFloat("rescale.minmax.outmin"));
+        outMax.Fill(GetParameterFloat("rescale.minmax.outmax"));
 
-      m_RescaleFilter->SetOutputMinimum(outMin);
-      m_RescaleFilter->SetOutputMaximum(outMax);
-      m_RescaleFilter->UpdateOutputInformation();
+        m_RescaleFilter->SetOutputMinimum(outMin);
+        m_RescaleFilter->SetOutputMaximum(outMax);
+        m_RescaleFilter->UpdateOutputInformation();
 
-      SetParameterOutputImage("out", m_RescaleFilter->GetOutput());
+        SetParameterOutputImage("out", m_RescaleFilter->GetOutput());
       }
 
 
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbPCAImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbPCAImageFilter.h
index b90faae53679d0d806cc3886d10d72bdb465e762..3fbec43b0f57f17148931481aa6e87bcf10d249e 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbPCAImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbPCAImageFilter.h
@@ -97,7 +97,7 @@ public:
    */
   itkSetMacro(NumberOfPrincipalComponentsRequired, unsigned int);
   itkGetMacro(NumberOfPrincipalComponentsRequired, unsigned int);
-  
+
   itkSetMacro(Whitening, bool);
   itkGetMacro(Whitening, bool);