Commit 9b518922 authored by Julien Malik's avatar Julien Malik

DOC: Dimension reduction examples improvements

parent f94c44eb
...@@ -29,15 +29,15 @@ ...@@ -29,15 +29,15 @@
namespace otb { namespace otb {
/** \class MNFImageFilter /** \class MNFImageFilter
* \brief Performs a Minimum Noise Fraction analysis of a vector image. * \brief Performs a Maximum Noise Fraction analysis of a vector image.
* *
* The internal structure of this filter is a filter-to-filter like structure. * The internal structure of this filter is a filter-to-filter like structure.
* The estimation of the covariance matrix has persistent capabilities... * The estimation of the covariance matrix is streamed
* *
* The high pass filter which has to be used for the noise estimation is templated * The high pass filter which has to be used for the noise estimation is templated
* for a better scalability... * for a better scalability.
* *
* TODO? Utiliser une 2e entree pour donner directement une image de bruit ?? * TODO? Utiliser une 2e entree pour donner directement une image de bruit ?
* *
* \sa otbStreamingStatisticsVectorImageFilter * \sa otbStreamingStatisticsVectorImageFilter
* \sa PCAImageFiler * \sa PCAImageFiler
......
...@@ -33,10 +33,13 @@ ...@@ -33,10 +33,13 @@
// \doxygen{otb}{FastICAImageFilter}. // \doxygen{otb}{FastICAImageFilter}.
// This filter computes a Fast Independant Components Analysis transform. // This filter computes a Fast Independant Components Analysis transform.
// //
// Like Principal Components Analysis, FastICA computes a set of // Like Principal Components Analysis, Independent Component Analysis
// \cite{jutten1991blind} computes a set of
// orthogonal linear combinations, but the criterion of Fast ICA is // orthogonal linear combinations, but the criterion of Fast ICA is
// different: instead of maximizing variance, it tries to maximize // different: instead of maximizing variance, it tries to maximize
// stastistical independance between components. In Fast ICA, // stastistical independance between components.
//
// In the Fast ICA algorithm \cite{hyvarinen1999fast},
// statistical independance is mesured by evaluating non-Gaussianity // statistical independance is mesured by evaluating non-Gaussianity
// of the components, and the maximization is done in an iterative way. // of the components, and the maximization is done in an iterative way.
......
...@@ -30,19 +30,19 @@ ...@@ -30,19 +30,19 @@
// Software Guide : BeginLatex // Software Guide : BeginLatex
// //
// This example illustrates the use of the // This example illustrates the use of the
// \doxygen{otb}{MNFImageFilter}. This filter computes a Minimum // \doxygen{otb}{MNFImageFilter}. This filter computes a Maximum
// Noise Fraction transform \cite{nielsen2011kernel} using an // Noise Fraction transform \cite{green1988transformation} using an
// efficient method based on the inner product in order to compute the // efficient method based on the inner product in order to compute the
// covariance matrix. // covariance matrix.
// //
// The Minimum Noise Fraction transform is a sequence of two Principal // The Maximum Noise Fraction transform is a sequence of two Principal
// Components Analysis transform. The first transform is based on an // Component Analysis transforms. The first transform is based on an
// estimated covariance matrix of the noise, and intends to whiten the // estimated covariance matrix of the noise, and intends to whiten the
// input image (noise with unit variance and no correlation between // input image (noise with unit variance and no correlation between
// bands). // bands).
// //
// The second Principal Components Analysis is then applied to the // The second Principal Component Analysis is then applied to the
// noise-whitened image, giving the Minimum Noise Fraction transform. // noise-whitened image, giving the Maximum Noise Fraction transform.
// //
// In this implementation, noise is estimated from a local window. // In this implementation, noise is estimated from a local window.
// //
...@@ -106,6 +106,17 @@ int main(int argc, char* argv[]) ...@@ -106,6 +106,17 @@ int main(int argc, char* argv[])
// Software Guide : BeginLatex // Software Guide : BeginLatex
// //
// In contrast with standard Principal Component Analysis, MNF
// needs an estimation of the noise correlation matrix
// in the dataset prior to transformation.
//
// A classical approach is to use spatial gradient images
// and infer the noise correlation matrix from it.
// The method of noise estimation can be customized
// by templating the \doxygen{otb}{MNFImageFilter}
// with the desired noise estimation method.
//
// In this implementation, noise is estimated from a local window.
// We define the type of the noise filter. // We define the type of the noise filter.
// //
// Software Guide : EndLatex // Software Guide : EndLatex
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
// \doxygen{otb}{MaximumAutocorrelationFactorImageFilter}, which // \doxygen{otb}{MaximumAutocorrelationFactorImageFilter}, which
// performs a Maximum Autocorrelation Factor transform \cite{nielsen2011kernel}. Like // performs a Maximum Autocorrelation Factor transform \cite{nielsen2011kernel}. Like
// PCA, MAF tries to find a set of orthogonal linear transform, but // PCA, MAF tries to find a set of orthogonal linear transform, but
// the criterion to maximize is the auto-correlation rather than the // the criterion to maximize is the spatial auto-correlation rather than the
// variance. // variance.
// //
// Auto-correlation is the correlation between the component and a // Auto-correlation is the correlation between the component and a
......
...@@ -30,11 +30,22 @@ ...@@ -30,11 +30,22 @@
// Software Guide : BeginLatex // Software Guide : BeginLatex
// //
// This example illustrates the use of the // This example illustrates the use of the
// \doxygen{otb}{NAPCAImageFilter}. // \doxygen{otb}{NAPCAImageFilter}. This filter computes a Noise-Adjusted
// This filter computes a Principal Component Analysis using an // Principal Component Analysis transform \cite{lee1990enhancement} using an
// efficient method based on the inner product in order to compute the // efficient method based on the inner product in order to compute the
// covariance matrix. // covariance matrix.
// //
// The Noise-Adjusted Principal Component Analysis transform is a sequence
// of two Principal Component Analysis transforms. The first transform is based
// on an estimated covariance matrix of the noise, and intends to whiten the
// input image (noise with unit variance and no correlation between
// bands).
//
// The second Principal Component Analysis is then applied to the
// noise-whitened image, giving the Maximum Noise Fraction transform.
//
// It is basically a reformulation of the Maximum Noise Fraction algorithm.
//
// The first step required to use this filter is to include its header file. // The first step required to use this filter is to include its header file.
// //
// Software Guide : EndLatex // Software Guide : EndLatex
...@@ -95,6 +106,17 @@ int main(int argc, char* argv[]) ...@@ -95,6 +106,17 @@ int main(int argc, char* argv[])
// Software Guide : BeginLatex // Software Guide : BeginLatex
// //
// In contrast with standard Principal Component Analysis, NA-PCA
// needs an estimation of the noise correlation matrix
// in the dataset prior to transformation.
//
// A classical approach is to use spatial gradient images
// and infer the noise correlation matrix from it.
// The method of noise estimation can be customized
// by templating the \doxygen{otb}{NAPCAImageFilter}
// with the desired noise estimation method.
//
// In this implementation, noise is estimated from a local window.
// We define the type of the noise filter. // We define the type of the noise filter.
// //
// Software Guide : EndLatex // Software Guide : EndLatex
...@@ -107,7 +129,8 @@ int main(int argc, char* argv[]) ...@@ -107,7 +129,8 @@ int main(int argc, char* argv[])
// Software Guide : BeginLatex // Software Guide : BeginLatex
// //
// We define the type for the filter. It is templated over the input // We define the type for the filter. It is templated over the input
// and the output image types and also the transformation direction. The // and the output image types, the noise estimation filter type,
// and also the transformation direction. The
// internal structure of this filter is a filter-to-filter like structure. // internal structure of this filter is a filter-to-filter like structure.
// We can now the instantiate the filter. // We can now the instantiate the filter.
// //
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment