diff --git a/Code/BasicFilters/otbLocalGradientVectorImageFilter.h b/Code/BasicFilters/otbLocalGradientVectorImageFilter.h index b04c61ecdd211062b4336fb7e34ca2a89a022981..f58e523bdf79c3f104aec816003845e4480a3cc4 100644 --- a/Code/BasicFilters/otbLocalGradientVectorImageFilter.h +++ b/Code/BasicFilters/otbLocalGradientVectorImageFilter.h @@ -48,8 +48,8 @@ public: { output[i] = static_cast<typename TOutput::ValueType>( input.GetPixel(4)[i] - - input.GetPixel(5)[i] / 2. - - input.GetPixel(7)[i] / 2. ); + - input.GetPixel(1)[i] / 2. + - input.GetPixel(3)[i] / 2. ); } return output; } @@ -84,7 +84,11 @@ public: itkTypeMacro(LocalGradientVectorImageFilter, ImageToImageFilter); protected: - LocalGradientVectorImageFilter() { } + LocalGradientVectorImageFilter() + { + typename Superclass::RadiusType radius = {{1,1}}; + SetRadius( radius ); + } virtual ~LocalGradientVectorImageFilter() { } private: diff --git a/Code/Hyperspectral/otbMNFImageFilter.txx b/Code/Hyperspectral/otbMNFImageFilter.txx index 717482da840560ebf46a508ee4e9823144894edc..8b250542a53ce0ed7070c661ca30cd0e6ad2cf9a 100644 --- a/Code/Hyperspectral/otbMNFImageFilter.txx +++ b/Code/Hyperspectral/otbMNFImageFilter.txx @@ -329,11 +329,22 @@ MNFImageFilter< TInputImage, TOutputImage, TNoiseImageFilter, TDirectionOfTransf InternalMatrixType An = m_NoiseCovarianceMatrix.GetVnlMatrix(); InternalMatrixType W = An * Ax_inv; + std::cerr << "Matrice C \n"; + W.print( std::cerr ); + InternalMatrixType transf; vnl_vector<double> vectValP; vnl_symmetric_eigensystem_compute( W, transf, vectValP ); + std::cerr << "Matrice de transf\n"; + transf.print( std::cerr ); + + std::cerr << "VectPropres\n"; + for ( unsigned int i = 0; i < vectValP.size(); i++ ) + std::cerr << vectValP[i] << " "; + std::cerr << "\n"; + InternalMatrixType normMat //= transf.transpose() * An * transf; = transf.transpose() * Ax_inv * transf;