diff --git a/Code/ApplicationEngine/otbWrapperMapProjectionParametersHandler.cxx b/Code/ApplicationEngine/otbWrapperMapProjectionParametersHandler.cxx
index 630b58043ecac065a71a48173d34d9d38c63ac7b..23343511f472e93147bdd5e83255828d5580c456 100644
--- a/Code/ApplicationEngine/otbWrapperMapProjectionParametersHandler.cxx
+++ b/Code/ApplicationEngine/otbWrapperMapProjectionParametersHandler.cxx
@@ -28,8 +28,8 @@ namespace Wrapper
 
 void MapProjectionParametersHandler::AddMapProjectionParameters( Application::Pointer app, const std::string & key)
 {
-  app->AddParameter(ParameterType_Choice, key, "Output Map Projection");
-  app->SetParameterDescription(key,"Parameters of the ouptut map projection.");
+  app->AddParameter(ParameterType_Choice, key, "Output Cartographic Map Projection");
+  app->SetParameterDescription(key,"Parameters of the ouptut map projection to be used.");
     
   // utm
   std::ostringstream oss;
diff --git a/Testing/Fa/0000041-mean_shift.cxx b/Testing/Fa/0000041-mean_shift.cxx
deleted file mode 100644
index db93fec560bc01dc882babbfbf46fad7ae3c7268..0000000000000000000000000000000000000000
--- a/Testing/Fa/0000041-mean_shift.cxx
+++ /dev/null
@@ -1,80 +0,0 @@
-#include "otbImage.h"
-#include "otbVectorImage.h"
-#include "otbImageFileReader.h"
-#include "otbStreamingImageFileWriter.h"
-#include "otbMeanShiftVectorImageFilter.h"
-
-//Code adapted from submission from Christophe Simler
-// http://bugs.orfeo-toolbox.org/view.php?id=41
-
-int main(int argc, char *argv[])
-{
-
-  if (argc < 9)
-    {
-    std::cout <<
-    "Usage : inputImage rangeRadius spatialRadius minRegionSize outfilenamefiltered outfilenamesegmented outfilenamelabeled outfilenameboundary"
-              << std::endl;
-
-    return EXIT_FAILURE;
-    }
-
-  char * filename = argv[1];
-  int    rangeRadius = atoi(argv[2]);
-  int    spatialRadius = atoi(argv[3]);
-  int    minRegionSize = atoi(argv[4]);
-  char * outfilenamefiltered = argv[5];
-  char * outfilenamesegmented = argv[6];
-  char * outfilenamelabeled = argv[7];
-  char * outfilenameboundary = argv[8];
-
-  typedef otb::VectorImage<unsigned char, 2> ImageType;               // image d'entree, image filtree et image segmente
-  typedef otb::Image<int, 2>                 TLabeledOutput;          // image labelisee, image des contours (de l'image labellisee)
-
-  // lecture de l'image d'entree a partir d'un fichier
-  typedef otb::ImageFileReader<ImageType> ReaderType;
-  ReaderType::Pointer reader = ReaderType::New();
-  reader->SetFileName(filename);
-
-  // traitement avec le filtre
-  typedef otb::MeanShiftVectorImageFilter<ImageType, ImageType, TLabeledOutput> FilterType;
-  FilterType::Pointer filter = FilterType::New();
-  filter->SetRangeRadius(rangeRadius);
-  filter->SetSpatialRadius(spatialRadius);
-  filter->SetMinimumRegionSize(minRegionSize);
-
-  // sauvegarde de l'image filtree,
-  typedef otb::StreamingImageFileWriter<ImageType> WriterType1;
-  WriterType1::Pointer writer1 = WriterType1::New();
-  writer1->SetFileName(outfilenamefiltered);
-
-  // sauvegarde de l'image segmente,
-  typedef otb::StreamingImageFileWriter<ImageType> WriterType2;
-  WriterType2::Pointer writer2 = WriterType2::New();
-  writer2->SetFileName(outfilenamesegmented);
-
-  // sauvegarde de l'image labelisee
-  typedef otb::StreamingImageFileWriter<TLabeledOutput> WriterType3;
-  WriterType3::Pointer writer3 = WriterType3::New();
-  writer3->SetFileName(outfilenamelabeled);
-
-  // sauvegarde de l'image de contours
-  typedef otb::StreamingImageFileWriter<TLabeledOutput> WriterType4;
-  WriterType4::Pointer writer4 = WriterType4::New();
-  writer4->SetFileName(outfilenameboundary);
-
-  // construction du pipeline
-  filter->SetInput(reader->GetOutput());
-
-  writer1->SetInput(filter->GetOutput());                  // image filtree (*)
-  writer2->SetInput(filter->GetClusteredOutput());         // image segmente (clusterisee avec coherence spaciale ?) (*)
-  writer3->SetInput(filter->GetLabeledClusteredOutput());  // image des labels des clusters
-  writer4->SetInput(filter->GetClusterBoundariesOutput()); // image des contours des clusters (contours de l'image labelisee)
-
-  writer1->Update();
-  writer2->Update();
-  writer3->Update();
-  writer4->Update();
-
-  return 0;
-}
diff --git a/Testing/Fa/0000132-jpg.cxx b/Testing/Fa/0000132-jpg.cxx
deleted file mode 100644
index 6e46e54ed5648c1b31d62fea5ce934443e692b79..0000000000000000000000000000000000000000
--- a/Testing/Fa/0000132-jpg.cxx
+++ /dev/null
@@ -1,46 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include "otbVectorImage.h"
-#include "otbImageFileReader.h"
-
-//Code adapted from submission from Jordi INGLADA
-// http://bugs.orfeo-toolbox.org/view.php?id=132
-
-int main(int argc, char *argv[])
-{
-  if (argc < 1)
-    {
-    std::cout << "Usage : inputImage" << std::endl;
-    return EXIT_FAILURE;
-    }
-
-  char * filename = argv[1];
-
-  typedef double                          PixelType;
-  typedef otb::VectorImage<PixelType>     ImageType;
-  typedef otb::ImageFileReader<ImageType> ReaderType;
-
-  // check for input images
-  ReaderType::Pointer reader = ReaderType::New();
-  reader->SetFileName(filename);
-  reader->UpdateOutputInformation();
-  std::cout << reader << std::endl;
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/0000169-fftcomplextocomplex.cxx b/Testing/Fa/0000169-fftcomplextocomplex.cxx
deleted file mode 100644
index 9e89ef469fcafeb0f025fbbe73b2482db198c2f7..0000000000000000000000000000000000000000
--- a/Testing/Fa/0000169-fftcomplextocomplex.cxx
+++ /dev/null
@@ -1,30 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include "itkMacro.h"
-#include "itkFFTComplexToComplexImageFilter.h"
-
-int main(int argc, char * argv[])
-{
-  typedef itk::FFTComplexToComplexImageFilter <float, 2> FFTFilterType;
-
-  FFTFilterType::Pointer fftFilter =    FFTFilterType::New();
-  fftFilter->DebugOn();
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/0000209-SVMValidationLinearlySeparableProbEstimation.cxx b/Testing/Fa/0000209-SVMValidationLinearlySeparableProbEstimation.cxx
deleted file mode 100644
index 98d06da6f71263a6ab5e5b66a9a4f1aba906719f..0000000000000000000000000000000000000000
--- a/Testing/Fa/0000209-SVMValidationLinearlySeparableProbEstimation.cxx
+++ /dev/null
@@ -1,208 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-     This software is distributed WITHOUT ANY WARRANTY; without even
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-
-
-#include "itkMacro.h"
-#include "itkListSample.h"
-#include <iostream>
-
-#include "otbSVMSampleListModelEstimator.h"
-#include "otbSVMClassifier.h"
-#include "otbSVMKernels.h"
-
-#include "itkMersenneTwisterRandomVariateGenerator.h"
-#include "otbSVMClassifier.h"
-#include "otbConfusionMatrixCalculator.h"
-
-#include "otbMath.h"
-
-#include <fstream>
-
-/*
-This test show a problem with the SVM library using the probability
-estimation : bug 209.
-If the probability estimation is activated, the classifier isn't
-abble to find the hyperplan even if the sample are linearly
-seperable.
-cf. test leTvBug209_SVMValidationLinearlySeparableWithoutProbEstimate
-=> OK
-and leTvBug209_SVMValidationLinearlySeparableWithProbEstimate => KO
-http://bugs.orfeo-toolbox.org/view.php?id=209
-*/
-
-int main(int argc, char* argv[])
-{
-  if(argc != 14)
- {
-   std::cerr<<"Usage: "<<argv[0]<<" nbTrainingSamples nbValidationSamples positiveCenterX positiveCenterY negativeCenterX negativeCenterY positiveRadiusMin positiveRadiusMax negativeRadiusMin negativeRadiusMax kernel probEstimate"<<std::endl;
-   return EXIT_FAILURE;
- }
- unsigned int nbTrainingSamples = atoi(argv[2]);
- unsigned int nbValidationSamples = atoi(argv[3]);
- double cpx = atof(argv[4]);
- double cpy = atof(argv[5]);
- double cnx = atof(argv[6]);
- double cny = atof(argv[7]);
- double prmin = atof(argv[8]);
- double prmax = atof(argv[9]);
- double nrmin = atof(argv[10]);
- double nrmax = atof(argv[11]);
- unsigned int kernel = atoi(argv[12]);
- bool   probEstimate = atoi(argv[13]);
-
-  typedef double                                          InputPixelType;
-  typedef unsigned short                                  LabelType;
-
-  typedef itk::VariableLengthVector<InputPixelType>       SampleType;
-  typedef itk::Statistics::ListSample<SampleType>         ListSampleType;
-  typedef itk::FixedArray<LabelType, 1>                   TrainingSampleType;
-  typedef itk::Statistics::ListSample<TrainingSampleType> TrainingListSampleType;
-  typedef itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType;
-  typedef otb::SVMSampleListModelEstimator<ListSampleType, TrainingListSampleType> EstimatorType;
-  typedef otb::SVMClassifier<ListSampleType, LabelType>   ClassifierType;
-  typedef ClassifierType::OutputType                      ClassifierOutputType;
-  typedef otb::ConfusionMatrixCalculator
-      <TrainingListSampleType, TrainingListSampleType> ConfusionMatrixCalculatorType;
-
-
-  RandomGeneratorType::Pointer random = RandomGeneratorType::New();
-  random->SetSeed((unsigned int)0);
-
-  // First, generate training and validation sets
-  ListSampleType::Pointer trainingSamples = ListSampleType::New();
-  TrainingListSampleType::Pointer trainingLabels = TrainingListSampleType::New();
-  ListSampleType::Pointer validationSamples = ListSampleType::New();
-  TrainingListSampleType::Pointer validationLabels = TrainingListSampleType::New();
-
-  // Generate training set
-  //std::ofstream training("training.csv");
-  for(unsigned int i =0; i < nbTrainingSamples; ++i)
-  {
-    // Generate a positive sample
-    double angle = random->GetVariateWithOpenUpperRange( otb::CONST_2PI );
-    double radius = random->GetUniformVariate(prmin, prmax);
-    SampleType pSample(2);
-    pSample[0] = cpx+radius*vcl_sin(angle);
-    pSample[1] = cpy+radius*vcl_cos(angle);
-    TrainingSampleType label;
-    label[0]=1;
-    trainingSamples->PushBack(pSample);
-    trainingLabels->PushBack(label);
-
-    //training<<"1 1:"<<pSample[0]<<" 2:"<<pSample[1]<<std::endl;
-
-    // Generate a negative sample
-    angle = random->GetVariateWithOpenUpperRange( otb::CONST_2PI );
-    radius = random->GetUniformVariate(nrmin, nrmax);
-    SampleType nSample(2);
-    nSample[0] = cnx+radius*vcl_sin(angle);
-    nSample[1] = cny+radius*vcl_cos(angle);
-    label[0]=2;
-    trainingSamples->PushBack(nSample);
-    trainingLabels->PushBack(label);
-
-    //training<<"2 1:"<<nSample[0]<<" 2:"<<nSample[1]<<std::endl;
-
-  }
-  //training.close();
-
-  // Generate validation set
-
-  std::ofstream validation("validation.csv");
-  for(unsigned int i =0; i < nbValidationSamples; ++i)
-    {
-      // Generate a positive sample
-      double angle = random->GetVariateWithOpenUpperRange( otb::CONST_2PI );
-      double radius = random->GetUniformVariate(prmin, prmax);
-      SampleType pSample(2);
-      pSample[0] = cpx+radius*vcl_sin(angle);
-      pSample[1] = cpy+radius*vcl_cos(angle);
-      TrainingSampleType label;
-      label[0]=1;
-      validationSamples->PushBack(pSample);
-      validationLabels->PushBack(label);
-      //validation<<"1 1:"<<pSample[0]<<" 2:"<<pSample[1]<<std::endl;
-
-      // Generate a negative sample
-      angle = random->GetVariateWithOpenUpperRange( otb::CONST_2PI );
-      radius = random->GetUniformVariate(nrmin, nrmax);
-      SampleType nSample(2);
-      nSample[0] = cnx+radius*vcl_sin(angle);
-      nSample[1] = cny+radius*vcl_cos(angle);
-      label[0]=2;
-      validationSamples->PushBack(nSample);
-      validationLabels->PushBack(label);
-      //validation<<"2 1:"<<nSample[0]<<" 2:"<<nSample[1]<<std::endl;
-
-    }
-  //validation.close();
-
-  // Learn
-  EstimatorType::Pointer estimator = EstimatorType::New();
-  estimator->SetInputSampleList(trainingSamples);
-  estimator->SetTrainingSampleList(trainingLabels);
-
-  estimator->SetKernelType(kernel);
-  estimator->DoProbabilityEstimates(probEstimate);
-//  estimator->SetParametersOptimization(true);
-  estimator->Update();
-
-  //estimator->SaveModel("model.svm");
-
-  // Classify
-  ClassifierType::Pointer validationClassifier = ClassifierType::New();
-  validationClassifier->SetSample(validationSamples);
-  validationClassifier->SetNumberOfClasses(2);
-  validationClassifier->SetModel(estimator->GetModel());
-  validationClassifier->Update();
-
-  // Confusion
-  ClassifierOutputType::ConstIterator it = validationClassifier->GetOutput()->Begin();
-  ClassifierOutputType::ConstIterator itEnd = validationClassifier->GetOutput()->End();
-
-  TrainingListSampleType::Pointer classifierListLabel = TrainingListSampleType::New();
-
-  while (it != itEnd)
-  {
-    classifierListLabel->PushBack(it.GetClassLabel());
-    ++it;
-  }
-
-  ConfusionMatrixCalculatorType::Pointer confMatCalc =  ConfusionMatrixCalculatorType::New();
-
-  confMatCalc->SetReferenceLabels(validationLabels);
-  confMatCalc->SetProducedLabels(classifierListLabel);
-
-  confMatCalc->Update();
-
-  std::cout<<std::endl;
-  std::cout<<"Confusion matrix: "<<std::endl<< confMatCalc->GetConfusionMatrix()<<std::endl<<std::endl;
-  std::cout<<"Kappa Index: "<<std::endl<< confMatCalc->GetKappaIndex()<<std::endl<<std::endl;
-
-  if(confMatCalc->GetKappaIndex()!=1)
-  {
-    std::cerr<<"Kappa index should be 1."<<std::endl;
-    return EXIT_FAILURE;
-  }
-  else
-  {
-    return EXIT_SUCCESS;
-  }
-}
-
diff --git a/Testing/Fa/0000307-ExtractROICompareRegionsImplementations.cxx b/Testing/Fa/0000307-ExtractROICompareRegionsImplementations.cxx
deleted file mode 100644
index 10ac9755b5fe4133f8dff03b10679121ac7b12ec..0000000000000000000000000000000000000000
--- a/Testing/Fa/0000307-ExtractROICompareRegionsImplementations.cxx
+++ /dev/null
@@ -1,418 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-
-#include "otbImage.h"
-#include "otbVectorImage.h"
-
-#include "itkExtractImageFilter.h"
-#include "itkVectorIndexSelectionCastImageFilter.h"
-#include "otbExtractROI.h"
-#include "otbMultiChannelExtractROI.h"
-#include "otbMultiToMonoChannelExtractROI.h"
-
-
-typedef unsigned char PixelType;
-
-typedef otb::Image<PixelType>  ImageType;
-typedef otb::VectorImage<PixelType> VectorImageType;
-
-typedef ImageType::RegionType      RegionType;
-typedef ImageType::IndexType       IndexType;
-typedef IndexType::IndexValueType  IndexValueType;
-typedef ImageType::SizeType        SizeType;
-typedef SizeType::SizeValueType    SizeValueType;
-
-// ITK filters
-typedef itk::ExtractImageFilter<ImageType, ImageType>
-  ExtractImageFilterType;
-typedef itk::VectorIndexSelectionCastImageFilter<VectorImageType, ImageType>
-  VectorIndexSelectionCastImageFilterType;
-
-// OTB filters
-typedef otb::ExtractROI<PixelType, PixelType>
-  ExtractROIType;
-typedef otb::MultiChannelExtractROI<PixelType, PixelType>
-  MultiChannelExtractROIType;
-typedef otb::MultiToMonoChannelExtractROI<PixelType, PixelType>
-  MultiToMonoChannelExtractROIType;
-
-
-ImageType::Pointer makeImage(IndexValueType startX, IndexValueType startY, SizeValueType sizeX, SizeValueType sizeY)
-{
-  ImageType::Pointer im = ImageType::New();
-
-  RegionType region;
-
-  region.SetIndex(0, startX);
-  region.SetIndex(1, startY);
-  region.SetSize(0, sizeX);
-  region.SetSize(1, sizeY);
-
-  im->SetRegions(region);
-  im->Allocate();
-
-  return im;
-}
-
-VectorImageType::Pointer makeVectorImage(IndexValueType startX, IndexValueType startY, SizeValueType sizeX, SizeValueType sizeY, int nbChannel = 3)
-{
-  VectorImageType::Pointer im = VectorImageType::New();
-
-  RegionType region;
-
-  region.SetIndex(0, startX);
-  region.SetIndex(1, startY);
-  region.SetSize(0, sizeX);
-  region.SetSize(1, sizeY);
-
-  im->SetRegions(region);
-  im->SetNumberOfComponentsPerPixel(nbChannel);
-  im->Allocate();
-
-  return im;
-}
-
-int otbITKExtractImageFilterROITestRegion(int argc, char * argv[])
-{
-  ImageType::Pointer in;
-  RegionType extractionRegion;
-  ExtractImageFilterType::Pointer extract;
-
-  in = makeImage(0, 0, 100, 100);
-
-  extractionRegion.SetIndex(0, 50);
-  extractionRegion.SetIndex(1, 50);
-  extractionRegion.SetSize(0, 10);
-  extractionRegion.SetSize(1, 10);
-
-  extract = ExtractImageFilterType::New();
-  extract->SetInput(in);
-  extract->SetExtractionRegion(extractionRegion);
-  extract->UpdateOutputInformation();
-
-  std::cout << "Input LargestPossibleRegion : " << in->GetLargestPossibleRegion() << std::endl;
-  std::cout << "ExtractionRegion : " << extract->GetExtractionRegion() << std::endl;
-  std::cout << "Output LargestPossibleRegion : " << extract->GetOutput()->GetLargestPossibleRegion() << std::endl;
-
-  if (extract->GetOutput()->GetLargestPossibleRegion() != extract->GetExtractionRegion())
-    {
-    return EXIT_FAILURE;
-    }
-
-  in = makeImage(20, 20, 100, 100);
-
-  extractionRegion.SetIndex(0, 50);
-  extractionRegion.SetIndex(1, 50);
-  extractionRegion.SetSize(0, 10);
-  extractionRegion.SetSize(1, 10);
-
-  extract = ExtractImageFilterType::New();
-  extract->SetInput(in);
-  extract->SetExtractionRegion(extractionRegion);
-  extract->UpdateOutputInformation();
-
-  std::cout << "Input LargestPossibleRegion : " << in->GetLargestPossibleRegion() << std::endl;
-  std::cout << "ExtractionRegion : " << extract->GetExtractionRegion() << std::endl;
-  std::cout << "Output LargestPossibleRegion : " << extract->GetOutput()->GetLargestPossibleRegion() << std::endl;
-
-  if (extract->GetOutput()->GetLargestPossibleRegion() != extract->GetExtractionRegion())
-    {
-    return EXIT_FAILURE;
-    }
-
-  return EXIT_SUCCESS;
-}
-
-
-int otbITKVectorIndexSelectionCastTestRegion(int argc, char * argv[])
-{
-  VectorImageType::Pointer in;
-  RegionType extractionRegion;
-  VectorIndexSelectionCastImageFilterType::Pointer extract;
-
-  in = makeVectorImage(0, 0, 100, 100, 3);
-
-  extract = VectorIndexSelectionCastImageFilterType::New();
-  extract->SetInput(in);
-  extract->SetIndex(1);
-  extract->UpdateOutputInformation();
-
-  std::cout << "Input LargestPossibleRegion : " << in->GetLargestPossibleRegion() << std::endl;
-  std::cout << "Output LargestPossibleRegion : " << extract->GetOutput()->GetLargestPossibleRegion() << std::endl;
-
-  if (extract->GetOutput()->GetLargestPossibleRegion() != in->GetLargestPossibleRegion())
-    {
-    return EXIT_FAILURE;
-    }
-
-  in = makeVectorImage(50, 50, 100, 100, 3);
-
-  extract = VectorIndexSelectionCastImageFilterType::New();
-  extract->SetInput(in);
-  extract->SetIndex(1);
-  extract->UpdateOutputInformation();
-
-  std::cout << "Input LargestPossibleRegion : " << in->GetLargestPossibleRegion() << std::endl;
-  std::cout << "Output LargestPossibleRegion : " << extract->GetOutput()->GetLargestPossibleRegion() << std::endl;
-
-  if (extract->GetOutput()->GetLargestPossibleRegion() != in->GetLargestPossibleRegion())
-    {
-    return EXIT_FAILURE;
-    }
-
-  return EXIT_SUCCESS;
-}
-
-
-int otbMultiToMonoChannelExtractROITestRegion(int argc, char * argv[])
-{
-  VectorImageType::Pointer in;
-  RegionType extractionRegion;
-  MultiToMonoChannelExtractROIType::Pointer extract;
-
-  in = makeVectorImage(0, 0, 100, 100, 3);
-
-  extractionRegion.SetIndex(0, 50);
-  extractionRegion.SetIndex(1, 50);
-  extractionRegion.SetSize(0, 10);
-  extractionRegion.SetSize(1, 10);
-
-  extract = MultiToMonoChannelExtractROIType::New();
-  extract->SetInput(in);
-  extract->SetExtractionRegion(extractionRegion);
-  extract->UpdateOutputInformation();
-
-  std::cout << "Input LargestPossibleRegion : " << in->GetLargestPossibleRegion() << std::endl;
-  std::cout << "ExtractionRegion : " << extract->GetExtractionRegion() << std::endl;
-  std::cout << "Output LargestPossibleRegion : " << extract->GetOutput()->GetLargestPossibleRegion() << std::endl;
-
-  if (extract->GetOutput()->GetLargestPossibleRegion() != extract->GetExtractionRegion())
-    {
-    return EXIT_FAILURE;
-    }
-
-  in = makeVectorImage(20, 20, 100, 100, 3);
-
-  extractionRegion.SetIndex(0, 50);
-  extractionRegion.SetIndex(1, 50);
-  extractionRegion.SetSize(0, 10);
-  extractionRegion.SetSize(1, 10);
-
-  extract = MultiToMonoChannelExtractROIType::New();
-  extract->SetInput(in);
-  extract->SetExtractionRegion(extractionRegion);
-  extract->UpdateOutputInformation();
-
-  std::cout << "Input LargestPossibleRegion : " << in->GetLargestPossibleRegion() << std::endl;
-  std::cout << "ExtractionRegion : " << extract->GetExtractionRegion() << std::endl;
-  std::cout << "Output LargestPossibleRegion : " << extract->GetOutput()->GetLargestPossibleRegion() << std::endl;
-
-  if (extract->GetOutput()->GetLargestPossibleRegion() != extract->GetExtractionRegion())
-    {
-    return EXIT_FAILURE;
-    }
-
-  return EXIT_SUCCESS;
-}
-
-
-
-int otbMultiChannelExtractROITestRegion(int argc, char * argv[])
-{
-  VectorImageType::Pointer in;
-  RegionType extractionRegion;
-  MultiChannelExtractROIType::Pointer extract;
-
-  in = makeVectorImage(0, 0, 100, 100, 3);
-
-  extractionRegion.SetIndex(0, 50);
-  extractionRegion.SetIndex(1, 50);
-  extractionRegion.SetSize(0, 10);
-  extractionRegion.SetSize(1, 10);
-
-  extract = MultiChannelExtractROIType::New();
-  extract->SetInput(in);
-  extract->SetExtractionRegion(extractionRegion);
-  extract->UpdateOutputInformation();
-
-  std::cout << "Input LargestPossibleRegion : " << in->GetLargestPossibleRegion() << std::endl;
-  std::cout << "ExtractionRegion : " << extract->GetExtractionRegion() << std::endl;
-  std::cout << "Output LargestPossibleRegion : " << extract->GetOutput()->GetLargestPossibleRegion() << std::endl;
-
-  if (extract->GetOutput()->GetLargestPossibleRegion() != extract->GetExtractionRegion())
-    {
-    return EXIT_FAILURE;
-    }
-
-  in = makeVectorImage(20, 20, 100, 100, 3);
-
-  extractionRegion.SetIndex(0, 50);
-  extractionRegion.SetIndex(1, 50);
-  extractionRegion.SetSize(0, 10);
-  extractionRegion.SetSize(1, 10);
-
-  extract = MultiChannelExtractROIType::New();
-  extract->SetInput(in);
-  extract->SetExtractionRegion(extractionRegion);
-  extract->UpdateOutputInformation();
-
-  std::cout << "Input LargestPossibleRegion : " << in->GetLargestPossibleRegion() << std::endl;
-  std::cout << "ExtractionRegion : " << extract->GetExtractionRegion() << std::endl;
-  std::cout << "Output LargestPossibleRegion : " << extract->GetOutput()->GetLargestPossibleRegion() << std::endl;
-
-  if (extract->GetOutput()->GetLargestPossibleRegion() != extract->GetExtractionRegion())
-    {
-    return EXIT_FAILURE;
-    }
-
-  return EXIT_SUCCESS;
-}
-
-
-int otbExtractROITestRegion(int argc, char * argv[])
-{
-  ImageType::Pointer in;
-  RegionType extractionRegion;
-  ExtractROIType::Pointer extract;
-
-  in = makeImage(0, 0, 100, 100);
-
-  extractionRegion.SetIndex(0, 50);
-  extractionRegion.SetIndex(1, 50);
-  extractionRegion.SetSize(0, 10);
-  extractionRegion.SetSize(1, 10);
-
-  extract = ExtractROIType::New();
-  extract->SetInput(in);
-  extract->SetExtractionRegion(extractionRegion);
-  extract->UpdateOutputInformation();
-
-  std::cout << "Input LargestPossibleRegion : " << in->GetLargestPossibleRegion() << std::endl;
-  std::cout << "ExtractionRegion : " << extract->GetExtractionRegion() << std::endl;
-  std::cout << "Output LargestPossibleRegion : " << extract->GetOutput()->GetLargestPossibleRegion() << std::endl;
-
-  if (extract->GetOutput()->GetLargestPossibleRegion() != extract->GetExtractionRegion())
-    {
-    return EXIT_FAILURE;
-    }
-
-  in = makeImage(20, 20, 100, 100);
-
-  extractionRegion.SetIndex(0, 50);
-  extractionRegion.SetIndex(1, 50);
-  extractionRegion.SetSize(0, 10);
-  extractionRegion.SetSize(1, 10);
-
-  extract = ExtractROIType::New();
-  extract->SetInput(in);
-  extract->SetExtractionRegion(extractionRegion);
-  extract->UpdateOutputInformation();
-
-  std::cout << "Input LargestPossibleRegion : " << in->GetLargestPossibleRegion() << std::endl;
-  std::cout << "ExtractionRegion : " << extract->GetExtractionRegion() << std::endl;
-  std::cout << "Output LargestPossibleRegion : " << extract->GetOutput()->GetLargestPossibleRegion() << std::endl;
-
-  if (extract->GetOutput()->GetLargestPossibleRegion() != extract->GetExtractionRegion())
-    {
-    return EXIT_FAILURE;
-    }
-
-  return EXIT_SUCCESS;
-}
-
-
-
-int main(int argc, char * argv[])
-{
-  int unitaryResult;
-  int finalResult = EXIT_SUCCESS;
-
-  std::cout << "*******************************" << std::endl;
-  std::cout << "Starting test itk::ExtractImageFilter" << std::endl;
-  unitaryResult = otbITKExtractImageFilterROITestRegion(argc, argv);
-  if (unitaryResult == EXIT_FAILURE)
-    {
-    std::cout << "-> Testing itk::ExtractImageFilter FAILED" << std::endl;
-    finalResult = EXIT_FAILURE;
-    }
-  else
-    {
-    std::cout << "-> Testing itk::ExtractImageFilter OK" << std::endl;
-    }
-
-
-  std::cout << "*******************************" << std::endl;
-  std::cout << "Starting test itk::VectorIndexSelectionCast" << std::endl;
-  unitaryResult = otbITKVectorIndexSelectionCastTestRegion(argc, argv);
-  if (unitaryResult == EXIT_FAILURE)
-    {
-    std::cout << "-> Testing itk::VectorIndexSelectionCast FAILED" << std::endl;
-    finalResult = EXIT_FAILURE;
-    }
-  else
-    {
-    std::cout << "-> Testing itk::VectorIndexSelectionCast OK" << std::endl;
-    }
-
-
-  std::cout << "*******************************" << std::endl;
-  std::cout << "Starting test otb::MultiToMonoChannelExtractROI" << std::endl;
-  unitaryResult = otbMultiToMonoChannelExtractROITestRegion(argc, argv);
-  if (unitaryResult == EXIT_FAILURE)
-    {
-    std::cout << "-> Testing otb::MultiToMonoChannelExtractROI FAILED" << std::endl;
-    finalResult = EXIT_FAILURE;
-    }
-  else
-    {
-    std::cout << "-> Testing otb::MultiToMonoChannelExtractROI OK" << std::endl;
-    }
-
-
-  std::cout << "*******************************" << std::endl;
-  std::cout << "Starting test otb::MultiChannelExtractROI" << std::endl;
-  unitaryResult = otbMultiChannelExtractROITestRegion(argc, argv);
-  if (unitaryResult == EXIT_FAILURE)
-    {
-    std::cout << "-> Testing otb::MultiChannelExtractROI FAILED" << std::endl;
-    finalResult = EXIT_FAILURE;
-    }
-  else
-    {
-    std::cout << "-> Testing otb::MultiChannelExtractROI OK" << std::endl;
-    }
-
-
-  std::cout << "*******************************" << std::endl;
-  std::cout << "Starting test otb::ExtractROI" << std::endl;
-  unitaryResult = otbExtractROITestRegion(argc, argv);
-  if (unitaryResult == EXIT_FAILURE)
-    {
-    std::cout << "-> Testing otb::ExtractROI FAILED" << std::endl;
-    finalResult = EXIT_FAILURE;
-    }
-  else
-    {
-    std::cout << "-> Testing otb::ExtractROI OK" << std::endl;
-    }
-
-  return finalResult;
-
-}
-
diff --git a/Testing/Fa/0000428-CastImageFilterStreaming.cxx b/Testing/Fa/0000428-CastImageFilterStreaming.cxx
deleted file mode 100644
index 6831ca938240ec2933b6bd1f3858ebb889f48b65..0000000000000000000000000000000000000000
--- a/Testing/Fa/0000428-CastImageFilterStreaming.cxx
+++ /dev/null
@@ -1,60 +0,0 @@
-/*=========================================================================
-
- Program:   ORFEO Toolbox
- Language:  C++
- Date:      $Date$
- Version:   $Revision$
-
-
- Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
- See OTBCopyright.txt for details.
-
-
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE.  See the above copyright notices for more information.
-
- =========================================================================*/
-#include "otbImage.h"
-
-#include "otbImageFileReader.h"
-#include "otbStreamingImageFileWriter.h"
-
-#include "itkCastImageFilter.h"
-
-/**
- * This test reproduces a problem encountered with CastImageFilter and a streaming
- * writer. When the image to write is already loaded in memory and InPlaceOn() is
- * called, only the first stripe is repeated across the output image.
- * Issue number 0000428
- */
-int main(int argc, char* argv[])
-{
-  if (argc != 3)
-    {
-    std::cout << argv[0] << " <input image> <output image>" << std::endl;
-    return EXIT_FAILURE;
-    }
-  
-  typedef otb::Image<float, 2>                   ImageType;
-  typedef otb::ImageFileReader<ImageType>             ReaderType;
-  typedef otb::StreamingImageFileWriter<ImageType>    WriterType;
-  typedef itk::CastImageFilter<ImageType, ImageType>   CastFilterType;
-  
-  ReaderType::Pointer reader = ReaderType::New();
-  reader->SetFileName(argv[1]);
-  reader->Update();
-  
-  CastFilterType::Pointer caster = CastFilterType::New();
-  caster->SetInput( reader->GetOutput() );
-  caster->InPlaceOn();
-  
-  WriterType::Pointer writer = WriterType::New();
-  writer->SetInput(caster->GetOutput());
-  writer->SetFileName(argv[2]);
-  //writer->SetAutomaticTiledStreaming(1024);
-  writer->SetNumberOfDivisionsStrippedStreaming(10);
-  writer->Update();
-  
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/0000433-LineSegmentDetector_8b_16b_compare.cxx b/Testing/Fa/0000433-LineSegmentDetector_8b_16b_compare.cxx
deleted file mode 100644
index b2f7411626a23b1f158f8a2f94d952a4b338ca8d..0000000000000000000000000000000000000000
--- a/Testing/Fa/0000433-LineSegmentDetector_8b_16b_compare.cxx
+++ /dev/null
@@ -1,88 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include "otbImage.h"
-#include "otbLineSegmentDetector.h"
-
-#include "otbImageFileReader.h"
-#include "otbVectorDataFileWriter.h"
-#include "otbImageFileWriter.h"
-
-// Code showing difference between LSD with 8 and 16 bits images.
-// http://bugs.orfeo-toolbox.org/view.php?id=433
-
-int main(int argc, char *argv[])
-{
-  if (argc != 6)
-    {
-    std::cout << "Usage : <inputImage_8b> <inputImage_16b> <outputImage_8b> <outputImage_16b>" << std::endl;
-
-    return EXIT_FAILURE;
-    }
-
-  const char * infname8    = argv[2];
-  const char * infname16   = argv[3];
-  const char * outfname8   = argv[4];
-  const char * outfname16  = argv[5];
-
-  /** Typedefs */
-  typedef unsigned char                                               PixelType8;
-  typedef otb::Image<PixelType8>                                      ImageType8;
-  typedef otb::ImageFileReader<ImageType8>                            ReaderType8;
-  typedef otb::LineSegmentDetector<ImageType8, double>                LSDFilterType8;
-  typedef otb::ImageFileWriter<ImageType8>                            WriterType8;
-
-  typedef unsigned short                                              PixelType16;
-  typedef otb::Image<PixelType16>                                     ImageType16;
-  typedef otb::ImageFileReader<ImageType16>                           ReaderType16;
-  typedef otb::LineSegmentDetector<ImageType16, double>               LSDFilterType16;
-  typedef otb::ImageFileWriter<ImageType16>                           WriterType16;
-
-  typedef LSDFilterType8::VectorDataType                              VectorDataType;
-  typedef otb::VectorDataFileWriter<VectorDataType>                   VectorDataWriterType;
-
-  /** 8bits */
-  //Instantiation of smart pointer
-  ReaderType8::Pointer             reader8         = ReaderType8::New();
-  LSDFilterType8::Pointer          lsdFilter8      = LSDFilterType8::New();
-  //Reade the input image
-  reader8->SetFileName(infname8);
-  reader8->GenerateOutputInformation();
-  //LSD Detection
-  lsdFilter8->SetInput(reader8->GetOutput());
-  VectorDataWriterType::Pointer vdWriter8 = VectorDataWriterType::New();
-  vdWriter8->SetFileName(outfname8);
-  vdWriter8->SetInput(lsdFilter8->GetOutput());
-  vdWriter8->Update();
-
-  /** 16bits */
-  //Instantiation of smart pointer
-  ReaderType16::Pointer             reader16         = ReaderType16::New();
-  LSDFilterType16::Pointer          lsdFilter16      = LSDFilterType16::New();
-  //Reade the input image
-  reader16->SetFileName(infname16);
-  reader16->GenerateOutputInformation();
-  //LSD Detection
-  lsdFilter16->SetInput(reader16->GetOutput());
-  VectorDataWriterType::Pointer vdWriter16 = VectorDataWriterType::New();
-  vdWriter16->SetFileName(outfname16);
-  vdWriter16->SetInput(lsdFilter16->GetOutput());
-  vdWriter16->Update();
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/0000436-WrapperInputImage_GetImage.cxx b/Testing/Fa/0000436-WrapperInputImage_GetImage.cxx
deleted file mode 100644
index e542e2f593556bc79188df03c9ad291ed2015d32..0000000000000000000000000000000000000000
--- a/Testing/Fa/0000436-WrapperInputImage_GetImage.cxx
+++ /dev/null
@@ -1,54 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include "otbWrapperInputImageParameter.h"
-
-
-#include "otbImage.h"
-#include "otbLineSegmentDetector.h"
-
-#include "otbImageFileReader.h"
-#include "otbVectorDataFileWriter.h"
-#include "otbImageFileWriter.h"
-
-// Code showing a problem calling twice GetImputImageParameter
-// http://bugs.orfeo-toolbox.org/view.php?id=436
-
-int main(int argc, char *argv[])
-{
-  if (argc != 3)
-    {
-    std::cout << "Usage : <inputImage>" << std::endl;
-
-    return EXIT_FAILURE;
-    }
-
-  typedef otb::Wrapper::InputImageParameter InputImageParameterType;
-  InputImageParameterType::Pointer param = InputImageParameterType::New();
-  
-  param->SetFromFileName(argv[2]);
-
-  if( param->GetImage() != param->GetImage() )
-    {
-      return EXIT_FAILURE;
-    }
-  
-  
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/0000437-WriteImageCentOS.cxx b/Testing/Fa/0000437-WriteImageCentOS.cxx
deleted file mode 100644
index dbbfed069c7bdd13295c238987f037f65dc92732..0000000000000000000000000000000000000000
--- a/Testing/Fa/0000437-WriteImageCentOS.cxx
+++ /dev/null
@@ -1,59 +0,0 @@
-/*=========================================================================
-
- Program:   ORFEO Toolbox
- Language:  C++
- Date:      $Date$
- Version:   $Revision$
-
-
- Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
- See OTBCopyright.txt for details.
-
-
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE.  See the above copyright notices for more information.
-
- =========================================================================*/
-#include "otbImage.h"
-
-#include "otbImageFileReader.h"
-#include "otbStreamingImageFileWriter.h"
-
-#include "itkCastImageFilter.h"
-
-/**
- * This test reproduces a problem encountered with CentOS5.5 using 3.8.2 libTIFF version
- * Issue number 0000437
- */
-int main(int argc, char* argv[])
-{
-  if (argc != 3)
-    {
-    std::cout << argv[0] << " <input image> <output image>" << std::endl;
-    return EXIT_FAILURE;
-    }
-
-  typedef otb::Image<unsigned short, 2>                   ImageType;
-  typedef otb::ImageFileReader<ImageType>             ReaderType;
-  typedef otb::StreamingImageFileWriter<ImageType>    WriterType;
-  typedef itk::CastImageFilter<ImageType, ImageType>   CastFilterType;
-
-  ReaderType::Pointer reader = ReaderType::New();
-  reader->SetFileName(argv[1]);
-  reader->Update();
-
-  CastFilterType::Pointer caster = CastFilterType::New();
-  caster->SetInput( reader->GetOutput() );
-  caster->InPlaceOn();
-
-  WriterType::Pointer writer = WriterType::New();
-  writer->SetInput(caster->GetOutput());
-  writer->SetFileName(argv[2]);
-  //writer->SetAutomaticTiledStreaming(1024);
-  writer->WriteGeomFileOn();
-  writer->SetTileDimensionTiledStreaming(256);
-  writer->Update();
-  
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/000295-MeanShiftVectorImageFilterWithStreamingShrink.cxx b/Testing/Fa/000295-MeanShiftVectorImageFilterWithStreamingShrink.cxx
deleted file mode 100644
index 061e354aafbbfa794c107aae4ada9f1195e09f2e..0000000000000000000000000000000000000000
--- a/Testing/Fa/000295-MeanShiftVectorImageFilterWithStreamingShrink.cxx
+++ /dev/null
@@ -1,60 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-     This software is distributed WITHOUT ANY WARRANTY; without even
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-#include "itkMacro.h"
-#include "otbVectorImage.h"
-#include "otbImageFileReader.h"
-#include "otbImageFileWriter.h"
-#include "otbMeanShiftVectorImageFilter.h"
-#include "otbStreamingShrinkImageFilter.h"
-
-
-int main(int argc, char * argv[])
-{
-  const char *       infname                = argv[1];
-  const unsigned int spatialRadius          = atoi(argv[2]);
-  const double       rangeRadius            = atof(argv[3]);
-  const unsigned int minRegionSize          = atoi(argv[4]);
-  unsigned int       factor                 = atoi(argv[5]);
-
-  const unsigned int Dimension = 2;
-  typedef float                                           PixelType;
-  typedef otb::VectorImage<PixelType, Dimension>          ImageType;
-  typedef otb::ImageFileReader<ImageType>                 ReaderType;
-  typedef otb::MeanShiftVectorImageFilter<ImageType, ImageType> FilterType;
-  typedef otb::StreamingShrinkImageFilter<ImageType, ImageType> ShrinkType;
-
-  // Instantiating object
-  FilterType::Pointer filter   = FilterType::New();
-  ReaderType::Pointer reader   = ReaderType::New();
-  ShrinkType::Pointer shrinker = ShrinkType::New();
-
-  reader->SetFileName(infname);
-  
-    
-  filter->SetSpatialRadius(spatialRadius);
-  filter->SetRangeRadius(rangeRadius);
-  filter->SetMinimumRegionSize(minRegionSize);
-  filter->SetInput(reader->GetOutput());
-  filter->UpdateOutputInformation();
-
-  shrinker->SetInput(filter->GetOutput());
-  shrinker->SetShrinkFactor(factor);
-  shrinker->Update();
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/00134-feature_extraction.cxx b/Testing/Fa/00134-feature_extraction.cxx
deleted file mode 100644
index 5b2fd4f3491294b3c2578f081bacde651964910e..0000000000000000000000000000000000000000
--- a/Testing/Fa/00134-feature_extraction.cxx
+++ /dev/null
@@ -1,113 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-#if defined(_MSC_VER)
-#pragma warning ( disable : 4786 )
-#endif
-
-#include "otbImage.h"
-#include "otbImageFileReader.h"
-#include "otbImageFileWriter.h"
-#include "otbVectorImage.h"
-#include "otbImageList.h"
-#include "otbImageListToVectorImageFilter.h"
-#include "itkMeanImageFilter.h"
-#include "otbMultiToMonoChannelExtractROI.h"
-#include "otbMultiChannelExtractROI.h"
-#include "otbMultiChannelRAndNIRIndexImageFilter.h"
-#include "otbVegetationIndicesFunctor.h"
-
-int main(int argc, char* argv[])
-{
-  const char *       inputName   = argv[1];
-  const char *       outputName  = argv[2];
-  const unsigned int radius      = atoi(argv[3]);
-  const unsigned int id          = atoi(argv[4]);
-  const unsigned int size        = atoi(argv[5]);
-
-  typedef double                                PixelType;
-  typedef otb::Image<PixelType, 2>              ImageType;
-  typedef otb::VectorImage<PixelType, 2>        VectorImageType;
-  typedef otb::ImageFileReader<VectorImageType> ReaderType;
-  typedef otb::ImageFileWriter<VectorImageType> WriterType;
-
-  typedef otb::ImageList<ImageType>                                                             ImageListType;
-  typedef otb::ImageListToVectorImageFilter<ImageListType, VectorImageType>                     ListToImageFilterType;
-  typedef otb::MultiToMonoChannelExtractROI<PixelType, PixelType>                               ExtractorFilterType;
-  typedef otb::MultiChannelExtractROI<PixelType, PixelType>                                     MultiChannelExtractorFilterType;
-  typedef itk::MeanImageFilter<ImageType, ImageType>                                            MeanFilterType;
-  typedef otb::Functor::NDVI<PixelType, PixelType, PixelType>                                   NDVIFunctorType;
-  typedef otb::MultiChannelRAndNIRIndexImageFilter<VectorImageType, ImageType, NDVIFunctorType> NDVIFilterType;
-
-  ReaderType::Pointer                      reader    = ReaderType::New();
-  WriterType::Pointer                      writer    = WriterType::New();
-  ImageListType::Pointer                   imListOut = ImageListType::New();
-  ExtractorFilterType::Pointer             extract   = ExtractorFilterType::New();
-  MultiChannelExtractorFilterType::Pointer MCExtract = MultiChannelExtractorFilterType::New();
-  MeanFilterType::Pointer                  meanner   = MeanFilterType::New();
-  NDVIFilterType::Pointer                  ndvi      = NDVIFilterType::New();
-  ListToImageFilterType::Pointer           caster    = ListToImageFilterType::New();
-
-  reader->SetFileName(inputName);
-  reader->GenerateOutputInformation();
-
-  ImageType::RegionType region;
-  ImageType::SizeType   extSize;
-  ImageType::IndexType  extId;
-  extSize.Fill(size);
-  extId.Fill(id);
-  region.SetSize(extSize);
-  region.SetIndex(extId);
-  MCExtract->SetInput(reader->GetOutput());
-  MCExtract->SetExtractionRegion(region);
-  MCExtract->UpdateOutputInformation();
-
-  extract->SetInput(MCExtract->GetOutput());
-  extract->SetChannel(1);
-  extract->UpdateOutputInformation();
-
-  ImageType::SizeType rad;
-  rad[0] = radius;
-  rad[1] = radius;
-  meanner->SetInput(extract->GetOutput());
-  meanner->SetRadius(rad);
-
-  ndvi->SetInput(MCExtract->GetOutput());
-
-  imListOut->PushBack(meanner->GetOutput());
-  imListOut->PushBack(ndvi->GetOutput());
-
-  caster->SetInput(imListOut);
-  writer->SetInput(caster->GetOutput());
-  writer->SetFileName(outputName);
-  writer->Update();
-
-  /*** With 2 writers : OK */
-  /*
-  typedef otb::ImageFileWriter<ImageType>                             WriterMonoType;
-  WriterMonoType::Pointer w1 = WriterMonoType::New();
-  WriterMonoType::Pointer w2 = WriterMonoType::New();
-  w1->SetInput( imListOut->GetNthElement(0) );
-  w2->SetInput( imListOut->GetNthElement(1) );
-  w1->SetFileName("meaner.tif");
-  w2->SetFileName("ndvi.tif");
-  w1->Update();
-  w2->Update();
-  */
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/AlignementsQB.cxx b/Testing/Fa/AlignementsQB.cxx
deleted file mode 100644
index cf0f607a9def2e50242f193c57ccc52693f66027..0000000000000000000000000000000000000000
--- a/Testing/Fa/AlignementsQB.cxx
+++ /dev/null
@@ -1,140 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-     This software is distributed WITHOUT ANY WARRANTY; without even
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include <iostream>
-#include "itkPolyLineParametricPath.h"
-
-#include "otbImage.h"
-#include "otbImageFileWriter.h"
-#include "otbImageFileReader.h"
-#include "otbExtractROI.h"
-#include "otbImageToPathListAlignFilter.h"
-#include "otbDrawPathFilter.h"
-//#include "otbColorImageViewer.h"
-
-#include <stdio.h>
-
-int main(int argc, char ** argv)
-{
-  if (argc != 3)
-    {
-
-    std::cout << "Usage : " << argv[0] << " inputImage outputImage" << std::endl;
-    return 1;
-
-    }
-
-  const char * inputFilename  = argv[1];
-  const char * outputFilename = argv[2];
-
-  typedef unsigned char InputPixelType;
-  typedef unsigned char OutputPixelType;
-
-  const unsigned int Dimension = 2;
-
-  typedef otb::Image<InputPixelType,  Dimension> InputImageType;
-  typedef otb::Image<OutputPixelType, Dimension> OutputImageType;
-
-  typedef otb::ImageFileReader<InputImageType>  ReaderType;
-  typedef otb::ImageFileWriter<OutputImageType> WriterType;
-
-  ReaderType::Pointer reader = ReaderType::New();
-  WriterType::Pointer writer = WriterType::New();
-
-  reader->SetFileName(inputFilename);
-  writer->SetFileName(outputFilename);
-
-  reader->Update();
-
-  std::cout << "Lecture terminee" << std::endl;
-
-  typedef otb::ExtractROI<InputPixelType, InputPixelType> ROIFilterType;
-
-  ROIFilterType::Pointer roiFilter = ROIFilterType::New();
-
-  roiFilter->SetInput(reader->GetOutput());
-  roiFilter->SetStartX(10);
-  roiFilter->SetStartY(0);
-  roiFilter->SetSizeX(256);
-  roiFilter->SetSizeY(256);
-
-  roiFilter->Update();
-
-  std::cout << "Extraction ROI" << std::endl;
-
-  typedef itk::PolyLineParametricPath<Dimension>                    PathType;
-  typedef otb::ImageToPathListAlignFilter<InputImageType, PathType> ListAlignFilterType;
-
-  ListAlignFilterType::Pointer alignFilter = ListAlignFilterType::New();
-
-  alignFilter->SetInput(roiFilter->GetOutput());
-
-  alignFilter->Update();
-
-  std::cout << "Alignements termines" << std::endl;
-
-  typedef ROIFilterType::OutputImageType BackgroundImageType;
-
-  typedef otb::DrawPathFilter<BackgroundImageType, PathType, OutputImageType> DrawPathFilterType;
-
-  DrawPathFilterType::Pointer drawPathFilter = DrawPathFilterType::New();
-
-  typedef ListAlignFilterType::OutputPathListType ListType;
-
-  ListType* listePaths = alignFilter->GetOutput();
-
-  ListType::Iterator listIt = listePaths->Begin();
-
-  BackgroundImageType::Pointer backgroundImage = roiFilter->GetOutput();
-
-  roiFilter->Update();
-
-  unsigned int color = 0;
-
-  while (listIt != listePaths->End())
-    {
-
-    drawPathFilter->SetImageInput(backgroundImage);
-    drawPathFilter->SetInputPath(listIt.Get());
-    //drawPathFilter->SetPathValue( color );
-
-    drawPathFilter->Update();
-
-    backgroundImage = drawPathFilter->GetOutput();
-
-    ++listIt;
-    ++color;
-
-    }
-
-  writer->SetInput(drawPathFilter->GetOutput());
-
-  writer->Update();
-
-/*  typedef otb::ColorImageViewer<unsigned char, double>    ViewerType;
-  ViewerType                      viewer;
-
-  viewer.SetLabel( "Input Image" );
-  viewer.SetImage( drawPathFilter->GetOutput() );
-
-  viewer.Show();
-  Fl::run();
-*/
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/MapActivation.cxx b/Testing/Fa/MapActivation.cxx
deleted file mode 100644
index 480a543d9a8b9a22f29006646e5ded7d7c223b2e..0000000000000000000000000000000000000000
--- a/Testing/Fa/MapActivation.cxx
+++ /dev/null
@@ -1,194 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-     This software is distributed WITHOUT ANY WARRANTY; without even
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#if defined(_MSC_VER)
-#pragma warning ( disable : 4786 )
-#endif
-#include <iostream>
-#include <fstream>
-#include "otbVectorImage.h"
-#include "otbSOMMap.h"
-#include "otbImageFileReader.h"
-#include "otbImageFileWriter.h"
-#include "itkImageRegionIterator.h"
-#include "otbImage.h"
-
-#include "otbSOMMap.h"
-#include "otbSOM.h"
-#include "otbSOMActivationBuilder.h"
-#include "itkVectorExpandImageFilter.h"
-#include "itkVectorNearestNeighborInterpolateImageFunction.h"
-
-#include "itkExpandImageFilter.h"
-#include "itkNearestNeighborInterpolateImageFunction.h"
-
-#include "itkListSample.h"
-
-#include "otbSOMClassifier.h"
-#include "itkVariableLengthVector.h"
-#include "itkMembershipSample.h"
-
-int main(int argc, char* argv[])
-{
-
-  if (argc < 12)
-    {
-    std::cout << "Usage : " << argv[0] <<
-    " inputTabImage size radius NumberOfIterations BetaInit BetaEnd MaxWeight  MinWeight som actMap som" << std::endl;
-
-    return EXIT_FAILURE;
-    }
-
-  typedef otb::Image<double, 2> ListImageType;
-
-  typedef otb::ImageFileReader<ListImageType> TabReaderType;
-  TabReaderType::Pointer Tabreader = TabReaderType::New();
-  Tabreader->SetFileName(argv[1]);
-  Tabreader->Update();
-  ListImageType::Pointer tabreadImage = Tabreader->GetOutput();
-
-  typedef itk::ImageRegionIterator<ListImageType> IteratorType;
-  IteratorType It1(tabreadImage, tabreadImage->GetLargestPossibleRegion());
-  const int    nblines = 591; //const int)(tabreadImage->GetLargestPossibleRegion().GetSize()[1]);
-
-  const int nbcolonnes = 9; //(const int)tabreadImage->GetLargestPossibleRegion().GetSize()[0];
-
-  double vectTab[nblines][nbcolonnes];
-  std::cout << "lignes = " << nblines << " colonnes = " << nbcolonnes << std::endl;
-  for (It1.GoToBegin(); !It1.IsAtEnd(); ++It1)
-    {
-    vectTab[It1.GetIndex()[1]][It1.GetIndex()[0]] = It1.Get();
-    }
-
-  typedef itk::VariableLengthVector<double>                  MeasurementVectorType;
-  typedef itk::Statistics::ListSample<MeasurementVectorType> SampleType;
-  SampleType::Pointer liste = SampleType::New();
-
-  for (int j = 0; j < nblines; ++j)
-    {
-    MeasurementVectorType tab;
-    tab.SetSize(nbcolonnes);
-    for (int i = 0; i < nbcolonnes; ++i)
-      {
-      tab[i] = vectTab[j][i];
-      }
-    liste->PushBack(tab);
-    }
-  //   std::cout<<"liste: "<<liste->GetMeasurementVectorSize()<< " " << liste->GetMeasurementVector(1)
-  //   <<" " <<liste->GetMeasurementVector(2)<< " " <<liste->GetMeasurementVector(3)<<std::endl;
-
-  typedef itk::Statistics::EuclideanDistance<MeasurementVectorType> DistanceType;
-  typedef otb::SOMMap<MeasurementVectorType, DistanceType, 2>       MapType;
-
-  typedef otb::SOM<SampleType, MapType> SOMType;
-  SOMType::Pointer som = SOMType::New();
-  som->SetListSample(liste);
-  SOMType::SizeType som_size;
-  som_size[0] = atoi(argv[2]);
-  som_size[1] = atoi(argv[2]);
-  som->SetMapSize(som_size);
-  SOMType::SizeType radius;
-  radius[0] = atoi(argv[3]);
-  radius[1] = atoi(argv[3]);
-  som->SetNeighborhoodSizeInit(radius);
-
-  som->SetNumberOfIterations(atoi(argv[4]));
-  som->SetBetaInit(atoi(argv[5]));
-  som->SetBetaEnd(atoi(argv[6]));
-  som->SetMaxWeight(atoi(argv[7]));
-  som->SetMinWeight(atoi(argv[8]));
-  som->Update();
-
-  typedef otb::ImageFileWriter<MapType> SomWriterType;
-  SomWriterType::Pointer somwriter = SomWriterType::New();
-  somwriter->SetFileName(argv[9] /*"som.hd"*/);
-  somwriter->SetInput(som->GetOutput());
-  somwriter->Update();
-
-  typedef unsigned char OutputPixelType;
-
-  typedef otb::Image<OutputPixelType, 2>                                  OutputImageType;
-  typedef otb::ImageFileWriter<OutputImageType>                           ActivationWriterType;
-  typedef otb::SOMActivationBuilder<SampleType, MapType, OutputImageType> SOMActivationBuilderType;
-  SOMActivationBuilderType::Pointer somAct = SOMActivationBuilderType::New();
-  somAct->SetInput(som->GetOutput());
-  somAct->SetListSample(liste);
-
-  ActivationWriterType::Pointer actWriter = ActivationWriterType::New();
-  actWriter->SetFileName(argv[10] /*"actMap.png"*/);
-  actWriter->SetInput(somAct->GetOutput());
-  actWriter->Update();
-
-  //Classifier :
-
-  typedef otb::ImageFileReader<MapType>                          SOMReaderType;
-  typedef otb::SOMClassifier<SampleType, MapType, unsigned char> ClassifierType;
-
-  SOMReaderType::Pointer somreader = SOMReaderType::New();
-  somreader->SetFileName(argv[11] /*"som.mhd"*/);
-  somreader->Update();
-
-  ClassifierType::Pointer classifier = ClassifierType::New();
-
-  classifier->SetSample(liste);
-  classifier->SetMap(somreader->GetOutput());
-  classifier->Update();
-
-  ClassifierType::OutputType* membershipSample = classifier->GetOutput();
-  //   std::cout<<"liste: "<<membershipSample->GetMeasurementVectorSize()<< " " << membershipSample->GetMeasurementVector(1)<<std::endl;
-
-  ClassifierType::OutputType::ConstIterator m_iter =  membershipSample->Begin();
-  ClassifierType::OutputType::ConstIterator m_last =  membershipSample->End();
-
-  /*int count[16];
-  for(int i=0; i<16; ++i)
-  {
-  count[i]=0;
-  }
-  */
-  while (m_iter != m_last)
-    {
-//      std::cout<<" classlabel : "<<m_iter.GetClassLabel()<<
-//  " ClassSize= "<< membershipSample->GetClassSampleSize(m_iter.GetClassLabel()) <<
-//  " instance id = " << m_iter.GetInstanceIdentifier() <<
-//  " measurement vector = " << m_iter.GetMeasurementVector() <<
-//
-//  " class sample: "<< membershipSample->GetClassSample(m_iter.GetClassLabel())<<
-//  std::endl;
-    //count[m_iter.GetClassLabel()]++;
-    ++m_iter;
-    }
-
-  /*for(int i=0; i<16; ++i)
-    {
-    std::cout<<" classe: "<< i <<" nb elements= "<<count[i]<<std::endl;
-    }*/
-
-  int nbclass = membershipSample->GetNumberOfClasses();
-  std::cout << " nb of classes= " << nbclass << std::endl;
-
-  for (int i = 0; i < nbclass; ++i)
-    {
-    if (membershipSample->GetInternalClassLabel(i) != -1)
-      {
-      std::cout << "classlabel= " << i << "  classSize= " << membershipSample->GetClassSampleSize(i) << std::endl;
-      }
-    }
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/PolygonsVectorization.cxx b/Testing/Fa/PolygonsVectorization.cxx
deleted file mode 100644
index f9241cf82abdef8cbf160d75d46a36727916dda4..0000000000000000000000000000000000000000
--- a/Testing/Fa/PolygonsVectorization.cxx
+++ /dev/null
@@ -1,314 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-     This software is distributed WITHOUT ANY WARRANTY; without even
-     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-     PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include "itkMacro.h"
-#include "otbCommandLineArgumentParser.h"
-
-#include "otbImage.h"
-#include "otbVectorImage.h"
-#include "itkImageRegion.h"
-
-#include "otbPolygon.h"
-#include "otbObjectList.h"
-#include "otbPersistentVectorizationImageFilter.h"
-#include "itkRelabelComponentImageFilter.h"
-#include "itkConnectedComponentImageFilter.h"
-#include "itkRescaleIntensityImageFilter.h"
-
-/*
-#include "itkBinaryErodeImageFilter.h"
-#include "itkBinaryDilateImageFilter.h"
-#include "itkBinaryBallStructuringElement.h"
-//#include "itkBinaryMorphologicalClosingImageFilter.h"
-//#include "itkBinaryMorphologicalOpeningImageFilter.h"
-#include "itkMedianImageFilter.h"
-#include "otbRemoveObjectPreprocessingImageFilter.h"
-*/
-
-#include "otbImageFileReader.h"
-#include "otbImageFileWriter.h"
-#include "otbStreamingImageFileWriter.h"
-
-#include "otbStandardWriterWatcher.h"
-#include "otbStandardFilterWatcher.h"
-
-int main(int argc, char * argv[])
-{
-
-  typedef unsigned char PixelType;
-  typedef unsigned long LabelPixelType;
-  typedef unsigned char PixelTypeOutput;
-
-  typedef otb::Image<PixelType, 2>       SingleImageType;
-  typedef otb::Image<LabelPixelType, 2>  LabeledImageType;
-  typedef otb::Image<PixelTypeOutput, 2> OutputImageType;
-
-  typedef itk::ImageRegionIterator<LabeledImageType> IteratorType;
-
-  typedef otb::Polygon<double>             PolygonType;
-  typedef PolygonType::Pointer             PolygonPointerType;
-  typedef PolygonType::ContinuousIndexType PolygonIndexType;
-  typedef otb::ObjectList<PolygonType>     PolygonListType;
-  typedef PolygonListType::Pointer         PolygonListPointerType;
-  typedef itk::ImageRegion<2>              ImageRegionType;
-
-  typedef otb::PersistentVectorizationImageFilter<LabeledImageType, PolygonType> PersistentVectorizationFilterType;
-  typedef itk::RelabelComponentImageFilter<LabeledImageType, LabeledImageType>   RelabelFilterType;
-  typedef itk::ConnectedComponentImageFilter<LabeledImageType, LabeledImageType> ConnectedFilterType;
-  typedef itk::RescaleIntensityImageFilter<LabeledImageType, OutputImageType>    RescalerType;
-/*
-  typedef itk::BinaryBallStructuringElement< LabelPixelType, 2 >        StructuringElementType;
-  typedef itk::BinaryErodeImageFilter<LabeledImageType, LabeledImageType, StructuringElementType>   ErodeFilterType;
-  typedef itk::BinaryDilateImageFilter<LabeledImageType, LabeledImageType, StructuringElementType>  DilateFilterType;
-  typedef itk::MedianImageFilter<LabeledImageType, LabeledImageType> MedianFilterType;
-  typedef otb::RemoveObjectPreprocessingImageFilter<LabeledImageType>           PreprocessingFilterType;
-*/
-  typedef otb::ImageFileReader<LabeledImageType> ReaderType;
-  typedef otb::ImageFileWriter<OutputImageType>  WriterType;
-
-  //-----------------------------------------------------------------
-  //Command Line Argument Parser
-  try
-    {
-    typedef otb::CommandLineArgumentParser ParserType;
-    ParserType::Pointer parser = ParserType::New();
-
-    parser->SetProgramDescription("This program remove small objects");
-    parser->AddInputImage();
-    parser->AddOutputImage();
-    parser->AddOption("--surface", "objects surface limit. Default is 100", "-s", 1, false);
-    parser->AddOption("--outputText", "output text file name", "-ot", 1, false);
-
-    typedef otb::CommandLineArgumentParseResult ParserResultType;
-    ParserResultType::Pointer parseResult = ParserResultType::New();
-
-    try
-      {
-      parser->ParseCommandLine(argc, argv, parseResult);
-      }
-    catch (itk::ExceptionObject& err)
-      {
-      std::string descriptionException = err.GetDescription();
-      if (descriptionException.find("ParseCommandLine(): Help Parser")
-          != std::string::npos)
-        {
-        return EXIT_SUCCESS;
-        }
-      if (descriptionException.find("ParseCommandLine(): Version Parser")
-          != std::string::npos)
-        {
-        return EXIT_SUCCESS;
-        }
-      return EXIT_FAILURE;
-      }
-
-    //object under this value will be removed
-    double surfaceLimit;
-    if (parseResult->IsOptionPresent("--surface")) surfaceLimit = parseResult->GetParameterDouble("--surface");
-    else surfaceLimit = 100;
-
-    //-----------------------------------------------------------------
-    //read image
-    ReaderType::Pointer reader = ReaderType::New();
-    reader->SetFileName(parseResult->GetInputImage().c_str());
-    reader->UpdateOutputInformation();
-
-    ///////////////////////////////////////////////////////////////////
-    // Object Processing
-    ///////////////////////////////////////////////////////////////////
-
-    //-----------------------------------------------------------------
-    //Label the objects in a binary image
-    ConnectedFilterType::Pointer connectedFilter = ConnectedFilterType::New();
-    connectedFilter->SetInput(reader->GetOutput());
-
-    //-----------------------------------------------------------------
-    //Perform vectorization in a persistent way
-    PersistentVectorizationFilterType::Pointer persistentVectorization = PersistentVectorizationFilterType::New();
-    persistentVectorization->Reset();
-    persistentVectorization->SetInput(connectedFilter->GetOutput());
-    try
-      {
-      persistentVectorization->Update();
-      }
-    catch (itk::ExceptionObject& err)
-      {
-      std::cout << "\nExceptionObject caught !" << std::endl;
-      std::cout << err << std::endl;
-      return EXIT_FAILURE;
-      }
-
-    PolygonListPointerType OutputPolyList = persistentVectorization->GetPathList();
-
-    //Display results
-    std::cout << "nb objects found = " << OutputPolyList->Size() << std::endl;
-
-    //-------------------
-    //DEBUG
-    //-------------------
-    unsigned int  polygon = 0;
-    std::ofstream file;
-    if (parseResult->IsOptionPresent("--outputText"))
-      {
-      file.open(parseResult->GetParameterString("--outputText").c_str());
-      }
-
-    double minSize = -1;
-    //Initializing the minSize
-    if (OutputPolyList->Size() > 0)
-      {
-      minSize = OutputPolyList->GetNthElement(0)->GetArea();
-      }
-
-    while (polygon < OutputPolyList->Size())
-      {
-      ImageRegionType polygonRegion = OutputPolyList->GetNthElement(polygon)->GetBoundingRegion().GetImageRegion();
-      if (OutputPolyList->GetNthElement(polygon)->GetArea() < minSize)
-        {
-        minSize = OutputPolyList->GetNthElement(polygon)->GetArea();
-        }
-      if (parseResult->IsOptionPresent("--outputText"))
-        {
-        file << "polygon " << polygon << "\tnPoints="
-             << OutputPolyList->GetNthElement(polygon)->GetVertexList()->Size() << "\tsurface="
-             << OutputPolyList->GetNthElement(polygon)->GetArea() << "\tlength="
-             << OutputPolyList->GetNthElement(polygon)->GetLength() << "\tregion size="
-             << polygonRegion.GetSize() << "\tregion nb pixel="
-             << polygonRegion.GetNumberOfPixels() << std::endl;
-//       file << OutputPolyList->GetNthElement(polygon)<< std::endl << std::endl;
-        }
-      else
-        {
-        std::cout << "polygon " << polygon << "\tnPoints="
-                  << OutputPolyList->GetNthElement(polygon)->GetVertexList()->Size() << "\tsurface="
-                  << OutputPolyList->GetNthElement(polygon)->GetArea() << "\tlength="
-                  << OutputPolyList->GetNthElement(polygon)->GetLength() << "\tregion size="
-                  << polygonRegion.GetSize() << "\tregion nb pixel="
-                  << polygonRegion.GetNumberOfPixels() << std::endl;
-//       std::cout << OutputPolyList->GetNthElement(polygon)<< std::endl << std::endl;
-        }
-      polygon++;
-      }
-    if (parseResult->IsOptionPresent("--outputText"))
-      {
-      file.close();
-      }
-    //-------------------
-    // END DEBUG
-    //-------------------
-
-    //-----------------------------------------------------------------
-    //erase object
-    unsigned int i = 0;
-    std::cout << "erase ..." << std::endl;
-    while (i < OutputPolyList->Size())
-      {
-      if ((OutputPolyList->GetNthElement(i)->GetArea() > surfaceLimit)   //delete big polygon
-          || (OutputPolyList->GetNthElement(i)->GetArea() == 0))         //delete invalid polygon
-        OutputPolyList->Erase(i);
-      else ++i;
-      }
-
-    //Display results after erasure
-    std::cout << "nb objects found  = " << OutputPolyList->Size() << std::endl;
-    std::cout << "------------------------------------------------" << std::endl;
-
-    ///////////////////////////////////////////////////////////////////
-    // Output Image Writing
-    ///////////////////////////////////////////////////////////////////
-
-    //-----------------------------------------------------------------
-    //allocate the memory for the output file
-    LabeledImageType::Pointer outputImage = LabeledImageType::New();
-    outputImage->SetRegions(reader->GetOutput()->GetRequestedRegion());
-    outputImage->CopyInformation(reader->GetOutput());
-    outputImage->Allocate();
-    // copy input
-    IteratorType iit(reader->GetOutput(), reader->GetOutput()->GetRequestedRegion());
-    IteratorType oit(outputImage, outputImage->GetRequestedRegion());
-
-    for (iit.GoToBegin(), oit.GoToBegin(); !iit.IsAtEnd(); ++iit, ++oit)
-      oit.Set(iit.Get());
-
-    // erase small polygon
-    for (unsigned int i = 0; i < OutputPolyList->Size(); ++i)
-      {
-      std::cout << "polygon " << i << std::endl;
-      ImageRegionType polygonRegion = OutputPolyList->GetNthElement(i)->GetBoundingRegion().GetImageRegion();
-
-      IteratorType outputIt(outputImage, polygonRegion);
-
-      outputIt.GoToBegin();
-      while (!outputIt.IsAtEnd())
-        {
-        outputIt.Set(0);
-        ++outputIt;
-        }
-
-      }
-
-    //-----------------------------------------------------------------
-    //rescale image
-    RescalerType::Pointer rescaler = RescalerType::New();
-    rescaler->SetOutputMinimum(0);
-    rescaler->SetOutputMaximum(255);
-    rescaler->SetInput(outputImage);
-    rescaler->Update();
-
-    //-----------------------------------------------------------------
-    //write image
-    WriterType::Pointer writer = WriterType::New();
-    writer->SetFileName(parseResult->GetOutputImage().c_str());
-    writer->SetInput(rescaler->GetOutput());
-
-    try
-      {
-      otb::StandardWriterWatcher watcher(writer, "Remove small object");
-      writer->Update();
-      }
-    catch (itk::ExceptionObject& err)
-      {
-      std::cout << "ExceptionObject caught !" << std::endl;
-      std::cout << err << std::endl;
-      return EXIT_FAILURE;
-      }
-
-    if (minSize == 0)
-      {
-      return EXIT_FAILURE;
-      }
-
-    } //end block try global
-  catch (itk::ExceptionObject& err)
-    {
-    std::cout << "Following otbException catch :" << std::endl;
-    std::cout << err << std::endl;
-    return EXIT_FAILURE;
-    }
-  catch (std::bad_alloc& err)
-    {
-    std::cout << "Exception bad_alloc : " << (char*) err.what() << std::endl;
-    return EXIT_FAILURE;
-    }
-  catch (...)
-    {
-    std::cout << "Unknown Exception found !" << std::endl;
-    return EXIT_FAILURE;
-    }
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/SensorModelBorder.cxx b/Testing/Fa/SensorModelBorder.cxx
deleted file mode 100644
index a8261ba56529128a219a10ec611a1614404c24a5..0000000000000000000000000000000000000000
--- a/Testing/Fa/SensorModelBorder.cxx
+++ /dev/null
@@ -1,239 +0,0 @@
-/*=========================================================================
-
- Program:   ORFEO Toolbox
- Language:  C++
- Date:      $Date$
- Version:   $Revision$
-
-
- Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
- See OTBCopyright.txt for details.
-
-
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE.  See the above copyright notices for more information.
-
- =========================================================================*/
-
-#include <iomanip>
-#include <iostream>
-
-#include "otbVectorImage.h"
-#include "otbImageFileReader.h"
-#include "otbForwardSensorModel.h"
-#include "otbInverseSensorModel.h"
-
-// Exercise the Spot5 sensor model on the image border
-int main(int argc, char* argv[])
-{
-  if (argc != 3)
-    {
-    std::cout << argv[0] << " <input filename> <output filename>" << std::endl;
-
-    return EXIT_FAILURE;
-    }
-
-  char * filename = argv[1];
-  char*  outFilename = argv[2];
-
-
-  typedef otb::VectorImage<double, 2> ImageType;
-  typedef otb::ImageFileReader<ImageType> ReaderType;
-
-  ReaderType::Pointer reader = ReaderType::New();
-  reader->SetFileName(filename);
-  reader->UpdateOutputInformation();
-
-  ImageType::Pointer image = reader->GetOutput();
-  ImageType::RegionType region = image->GetLargestPossibleRegion();
-
-  typedef otb::ForwardSensorModel<double> ForwardSensorModelType;
-  ForwardSensorModelType::Pointer forwardSensorModel = ForwardSensorModelType::New();
-  forwardSensorModel->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist());
-  if (forwardSensorModel->IsValidSensorModel() == false)
-    {
-    std::cout << "Invalid Model pointer m_Model == NULL!\n The ossim keywordlist is invalid!" << std::endl;
-    return EXIT_FAILURE;
-    }
-  forwardSensorModel->SetAverageElevation(16.19688987731934);
-
-  typedef otb::InverseSensorModel<double> InverseSensorModelType;
-  InverseSensorModelType::Pointer inverseSensorModel = InverseSensorModelType::New();
-  inverseSensorModel->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist());
-  if (inverseSensorModel->IsValidSensorModel() == false)
-    {
-    std::cout << "Invalid Model pointer m_Model == NULL!\n The ossim keywordlist is invalid!" << std::endl;
-    return EXIT_FAILURE;
-    }
-  inverseSensorModel->SetAverageElevation(16.19688987731934);
-
-  const int radius = 10;
-  const double gridstep = 0.1;
-
-  itk::Point<double, 2> imagePoint;
-
-  // Test upper left corner
-  std::cout << " --- upper left corner ---" << std::endl;
-  for (imagePoint[0] = region.GetIndex(0) - radius; imagePoint[0] < region.GetIndex(0) + radius; imagePoint[0] += gridstep)
-    {
-
-    for (imagePoint[1] = region.GetIndex(1) - radius; imagePoint[1] < region.GetIndex(1) + radius; imagePoint[1] += gridstep)
-      {
-
-      itk::Point<double, 2> geoPoint;
-      geoPoint = forwardSensorModel->TransformPoint(imagePoint);
-      std::cout << "Image to geo: " << imagePoint << " -> " << geoPoint << "\n";
-
-      if (vnl_math_isnan(geoPoint[0]) || vnl_math_isnan(geoPoint[1]))
-        {
-        return EXIT_FAILURE;
-        }
-
-      itk::Point<double, 2> reversedImagePoint;
-      reversedImagePoint = inverseSensorModel->TransformPoint(geoPoint);
-
-      std::cout << "Geo to image: " << geoPoint << " -> " << reversedImagePoint << "\n";
-
-      if (vnl_math_isnan(reversedImagePoint[0]) || vnl_math_isnan(reversedImagePoint[1]))
-        {
-        return EXIT_FAILURE;
-        }
-      }
-    }
-
-  // Test lower left corner
-  std::cout << " --- lower left corner ---" << std::endl;
-  for (imagePoint[0] = region.GetIndex(0) - radius; imagePoint[0] < region.GetIndex(0) + radius; imagePoint[0] += gridstep)
-    {
-    for (imagePoint[1] = region.GetIndex(1) + region.GetSize(1) - radius; imagePoint[1] < region.GetIndex(1) + region.GetSize(1) + radius; imagePoint[1] += gridstep)
-      {
-
-      itk::Point<double, 2> geoPoint;
-      geoPoint = forwardSensorModel->TransformPoint(imagePoint);
-      std::cout << "Image to geo: " << imagePoint << " -> " << geoPoint << "\n";
-
-      if (vnl_math_isnan(geoPoint[0]) || vnl_math_isnan(geoPoint[1]))
-        {
-        return EXIT_FAILURE;
-        }
-
-      itk::Point<double, 2> reversedImagePoint;
-      reversedImagePoint = inverseSensorModel->TransformPoint(geoPoint);
-
-      std::cout << "Geo to image: " << geoPoint << " -> " << reversedImagePoint << "\n";
-
-      if (vnl_math_isnan(reversedImagePoint[0]) || vnl_math_isnan(reversedImagePoint[1]))
-        {
-        return EXIT_FAILURE;
-        }
-      }
-    }
-
-  // Test lower right corner
-  std::cout << " --- lower right corner ---" << std::endl;
-  for (imagePoint[0] = region.GetIndex(0) + region.GetSize(0) - radius; imagePoint[0] < region.GetIndex(0) + region.GetSize(0) + radius; imagePoint[0] += gridstep)
-    {
-    for (imagePoint[1] = region.GetIndex(1) + region.GetSize(1) - radius; imagePoint[1] < region.GetIndex(1) + region.GetSize(1) + radius; imagePoint[1] += gridstep)
-      {
-
-      itk::Point<double, 2> geoPoint;
-      geoPoint = forwardSensorModel->TransformPoint(imagePoint);
-      std::cout << "Image to geo: " << imagePoint << " -> " << geoPoint << "\n";
-
-      if (vnl_math_isnan(geoPoint[0]) || vnl_math_isnan(geoPoint[1]))
-        {
-        return EXIT_FAILURE;
-        }
-
-      itk::Point<double, 2> reversedImagePoint;
-      reversedImagePoint = inverseSensorModel->TransformPoint(geoPoint);
-
-      std::cout << "Geo to image: " << geoPoint << " -> " << reversedImagePoint << "\n";
-
-      if (vnl_math_isnan(reversedImagePoint[0]) || vnl_math_isnan(reversedImagePoint[1]))
-        {
-        return EXIT_FAILURE;
-        }
-      }
-    }
-
-  // Test upper right corner
-  std::cout << " --- upper right corner ---" << std::endl;
-  for (imagePoint[0] = region.GetIndex(0) + region.GetSize(0) - radius; imagePoint[0] < region.GetIndex(0) + region.GetSize(0) + radius; imagePoint[0] += gridstep)
-    {
-    for (imagePoint[1] = region.GetIndex(1) - radius; imagePoint[1] < region.GetIndex(1) + radius; imagePoint[1] += gridstep)
-      {
-
-      itk::Point<double, 2> geoPoint;
-      geoPoint = forwardSensorModel->TransformPoint(imagePoint);
-      std::cout << "Image to geo: " << imagePoint << " -> " << geoPoint << "\n";
-
-      if (vnl_math_isnan(geoPoint[0]) || vnl_math_isnan(geoPoint[1]))
-        {
-        return EXIT_FAILURE;
-        }
-
-      itk::Point<double, 2> reversedImagePoint;
-      reversedImagePoint = inverseSensorModel->TransformPoint(geoPoint);
-
-      std::cout << "Geo to image: " << geoPoint << " -> " << reversedImagePoint << "\n";
-
-      if (vnl_math_isnan(reversedImagePoint[0]) || vnl_math_isnan(reversedImagePoint[1]))
-        {
-        return EXIT_FAILURE;
-        }
-      }
-    }
-
-
-
-  // generat the output value along a segment crossing the lower image border
-  // at the center position
-  itk::Point<double, 2> imagePoint1;
-  imagePoint1[0] = region.GetIndex(0) + region.GetSize(0)/2;
-  imagePoint1[1] = region.GetIndex(1) + region.GetSize(1) - radius;
-
-  itk::Point<double, 2> imagePoint2;
-  imagePoint2[0] = region.GetIndex(0) + region.GetSize(0)/2;
-  imagePoint2[1] = region.GetIndex(1) + region.GetSize(1) + radius;
-
-  itk::Point<double, 2> geoPoint1, geoPoint2;
-  geoPoint1 = forwardSensorModel->TransformPoint(imagePoint1);
-  geoPoint2 = forwardSensorModel->TransformPoint(imagePoint2);
-
-  itk::Vector<double, 2> geoDir;
-  geoDir[0] = geoPoint2[0] - geoPoint1[0];
-  geoDir[1] = geoPoint2[1] - geoPoint1[1];
-
-  const int nbStep = 50;
-  itk::Vector<double, 2> geoStep = geoDir / nbStep;
-
-  std::ofstream file;
-  file.open(outFilename);
-
-  file << "# image_x image_y geo_x geo_y reversed_image_x reversed_image_y" << std::endl;
-  file << std::setprecision(15);
-
-  for (int i = 0; i < nbStep; ++i)
-    {
-    itk::Point<double, 2> geoPoint;
-    geoPoint[0] = geoPoint1[0] + geoStep[0] * i;
-    geoPoint[1] = geoPoint1[1] + geoStep[1] * i;
-
-    itk::Point<double, 2> reversedImagePoint;
-    reversedImagePoint = inverseSensorModel->TransformPoint(geoPoint);
-
-    file << geoPoint[0] << "\t" << geoPoint[1]  << "\t"
-         << reversedImagePoint[0] << "\t" << reversedImagePoint[1] << std::endl;
-
-    if (vnl_math_isnan(geoPoint[0]) || vnl_math_isnan(geoPoint[1]))
-      {
-      return EXIT_FAILURE;
-      }
-    }
-
-  file.close();
-
-  return EXIT_SUCCESS;
-}
diff --git a/Testing/Fa/StreamingStat.cxx b/Testing/Fa/StreamingStat.cxx
deleted file mode 100644
index 68c8a5b7eaa8ce182cfd3b505b2765f8a971e9a0..0000000000000000000000000000000000000000
--- a/Testing/Fa/StreamingStat.cxx
+++ /dev/null
@@ -1,33 +0,0 @@
-#include "otbImage.h"
-#include "otbVectorImage.h"
-#include "otbImageFileReader.h"
-#include "otbStreamingStatisticsImageFilter.h"
-#include "otbVectorImageTo3DScalarImageFilter.h"
-
-int main(int argc, char ** argv)
-{
-
-  typedef otb::Image<double, 2>                 ImageType;
-  typedef otb::Image<double, 3>                 Image3DType;
-  typedef otb::VectorImage<double, 2>           VectorImageType;
-  typedef otb::ImageFileReader<VectorImageType> ReaderType;
-
-  ReaderType::Pointer reader1 = ReaderType::New();
-  reader1->SetFileName(argv[1]);
-
-  typedef otb::VectorImageTo3DScalarImageFilter<VectorImageType, Image3DType>
-  VectorImageTo3DScalarImageFilterType;
-  VectorImageTo3DScalarImageFilterType::Pointer filter1 =
-    VectorImageTo3DScalarImageFilterType::New();
-
-  typedef otb::StreamingStatisticsImageFilter<Image3DType> statFilterType;
-  statFilterType::Pointer statFilter = statFilterType::New();
-
-  filter1->SetInput(reader1->GetOutput());
-//   filter1->Update();
-  statFilter->SetInput(filter1->GetOutput());
-  statFilter->Update();
-
-  std::cout << statFilter->GetMean() << std::endl;
-
-}
diff --git a/Testing/Fa/WriteUnsignedLong.cxx b/Testing/Fa/WriteUnsignedLong.cxx
deleted file mode 100644
index 42fbed4d0c0d5049db282c393d2982ea98913a9f..0000000000000000000000000000000000000000
--- a/Testing/Fa/WriteUnsignedLong.cxx
+++ /dev/null
@@ -1,89 +0,0 @@
-/*=========================================================================
-
-  Program:   ORFEO Toolbox
-  Language:  C++
-  Date:      $Date$
-  Version:   $Revision$
-
-
-  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
-  See OTBCopyright.txt for details.
-
-
-  This software is distributed WITHOUT ANY WARRANTY; without even
-  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-  PURPOSE.  See the above copyright notices for more information.
-
-=========================================================================*/
-
-#include "otbImage.h"
-#include "otbImageFileReader.h"
-#include "otbImageFileWriter.h"
-
-//TODO change the bug tracker url
-//http://bugs.orfeo-toolbox.org/view.php?id=406
-
-int main(int argc, char *argv[])
-{
-  char * filename = argv[1];
-
-  typedef unsigned long                   PixelType;
-  typedef otb::Image<PixelType, 2>        ImageType;
-  typedef otb::ImageFileReader<ImageType> ReaderType;
-  typedef otb::ImageFileWriter<ImageType> WriterType;
-
-  // check for input images
-  ImageType::Pointer image = ImageType::New();
-  WriterType::Pointer writer = WriterType::New();
-  ReaderType::Pointer reader = ReaderType::New();
-
-  ImageType::IndexType start;
-
-  start[0] =   0;  // first index on X
-  start[1] =   0;  // first index on Y
-
-  ImageType::SizeType size;
-
-  size[0]  = 10;  // size along X
-  size[1]  = 10;
-
-  ImageType::RegionType region;
-
-  region.SetSize(size);
-  region.SetIndex(start);
-  
-  image->SetRegions(region);
-  image->Allocate();
-
-  ImageType::PixelType initialValue = 0;
-  image->FillBuffer(initialValue);
-  
-  ImageType::IndexType pixelIndex;
-
-  pixelIndex[0] = 1;   // x position
-  pixelIndex[1] = 1;
-  
-  image->SetPixel(pixelIndex, initialValue + 1);
-
-  writer->SetInput(image);
-  writer->SetFileName(filename);
-  writer->Update();
-
-  reader->SetFileName(filename);
-  reader->Update();
-
-  ImageType::RegionType outputRegion;
-  outputRegion = reader->GetOutput()->GetLargestPossibleRegion();
-  
-  ImageType::SizeType outputSize;
-  outputSize = outputRegion.GetSize();
-  
-  if (reader->GetOutput()->GetPixel(pixelIndex) != initialValue + 1 )
-    {
-    return EXIT_FAILURE;
-    }
-  else
-    {
-    return EXIT_SUCCESS;
-    }
-}