From f80b37998d1bd2f6d8e8f2c98565a3ef76fa979c Mon Sep 17 00:00:00 2001
From: Julien Michel <julien.michel@orfeo-toolbox.org>
Date: Wed, 18 Feb 2015 17:32:46 +0100
Subject: [PATCH] COMP: Removing unused itk fork filter in PendingPatches, and
 test using it

---
 .../itkFFTComplexToComplexImageFilter.h       | 121 ------------
 .../itkFFTComplexToComplexImageFilter.hxx     | 147 ---------------
 .../itkFFTWComplexToComplexImageFilter.h      | 157 ----------------
 .../itkFFTWComplexToComplexImageFilter.hxx    | 172 ------------------
 .../test/0000169-fftcomplextocomplex.cxx      |  32 ----
 5 files changed, 629 deletions(-)
 delete mode 100644 Modules/Adapters/ITKPendingPatches/include/itkFFTComplexToComplexImageFilter.h
 delete mode 100644 Modules/Adapters/ITKPendingPatches/include/itkFFTComplexToComplexImageFilter.hxx
 delete mode 100644 Modules/Adapters/ITKPendingPatches/include/itkFFTWComplexToComplexImageFilter.h
 delete mode 100644 Modules/Adapters/ITKPendingPatches/include/itkFFTWComplexToComplexImageFilter.hxx
 delete mode 100644 Modules/Core/ImageBase/test/0000169-fftcomplextocomplex.cxx

diff --git a/Modules/Adapters/ITKPendingPatches/include/itkFFTComplexToComplexImageFilter.h b/Modules/Adapters/ITKPendingPatches/include/itkFFTComplexToComplexImageFilter.h
deleted file mode 100644
index 69b22e4c10..0000000000
--- a/Modules/Adapters/ITKPendingPatches/include/itkFFTComplexToComplexImageFilter.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*=========================================================================
- *
- *  Copyright Insight Software Consortium
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *         http://www.apache.org/licenses/LICENSE-2.0.txt
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *=========================================================================*/
-#ifndef __itkFFTComplexToComplexImageFilter_h
-#define __itkFFTComplexToComplexImageFilter_h
-
-#include "itkImageToImageFilter.h"
-#include <complex>
-
-namespace itk
-{
-/** \class FFTComplexToComplexImageFilter
- *
- * \brief Implements an API to enable the Fourier transform or the inverse
- * Fourier transform of images with complex valued voxels to be computed.
- *
- * \ingroup FourierTransform
- *
- * \author Simon K. Warfield simon.warfield@childrens.harvard.edu
- *
- * \note Attribution Notice. This research work was made possible by
- * Grant Number R01 RR021885 (PI Simon K. Warfield, Ph.D.) from
- * the National Center for Research Resources (NCRR), a component of the
- * National Institutes of Health (NIH).  Its contents are solely the
- * responsibility of the authors and do not necessarily represent the
- * official view of NCRR or NIH.
- *
- * This class was taken from the Insight Journal paper:
- * http://hdl.handle.net/1926/326
- *
- * \ingroup FourierTransform
- *
- * \sa ForwardFFTImageFilter
- * \ingroup ITKReview
- *
- * \ingroup OTBITKPendingPatches
- */
-template< class TImage >
-class FFTComplexToComplexImageFilter:
-  public ImageToImageFilter< TImage, TImage >
-{
-public:
-  /** Input and output image types. */
-  typedef TImage ImageType;
-  typedef TImage InputImageType;
-  typedef TImage OutputImageType;
-
-  /** Standard class typedefs. */
-  typedef FFTComplexToComplexImageFilter                        Self;
-  typedef ImageToImageFilter< InputImageType, OutputImageType > Superclass;
-  typedef SmartPointer< Self >                                  Pointer;
-  typedef SmartPointer< const Self >                            ConstPointer;
-
-  itkStaticConstMacro(ImageDimension, unsigned int,
-                      InputImageType::ImageDimension);
-
-  /** Run-time type information (and related methods). */
-  itkTypeMacro(FFTComplexToComplexImageFilter, ImageToImageFilter);
-
-  /** Customized object creation methods that support configuration-based
-    * selection of FFT implementation.
-    *
-    * Default implementation is FFTW.
-    */
-  static Pointer New(void);
-
-  /** Transform Direction */
-  typedef enum {
-    DIRECT = 1,
-    INVERSE
-    }                                             TransformDirectionType;
-
-  /** Image type typedef support. */
-  typedef typename ImageType::SizeType ImageSizeType;
-
-  /** Set/Get the direction in which the transform will be applied.
-   * By selecting DIRECT, this filter will perform a direct Fourier Transform,
-   * By selecting INVERSE, this filter will perform an inverse Fourier Transform,
-   */
-  itkSetMacro(TransformDirection, TransformDirectionType);
-  itkGetConstMacro(TransformDirection, TransformDirectionType);
-
-protected:
-  FFTComplexToComplexImageFilter() {}
-  virtual ~FFTComplexToComplexImageFilter(){}
-
-  /** methods needed for the image filter pipeline */
-  virtual void GenerateOutputInformation(); // figure out allocation for output
-                                            // image
-
-  virtual void GenerateInputRequestedRegion();
-
-  virtual bool FullMatrix() = 0; // must be implemented in child
-
-private:
-  FFTComplexToComplexImageFilter(const Self &); //purposely not implemented
-  void operator=(const Self &);                 //purposely not implemented
-
-  TransformDirectionType m_TransformDirection;
-};
-} // end namespace itk
-
-#ifndef ITK_MANUAL_INSTANTIATION
-#include "itkFFTComplexToComplexImageFilter.hxx"
-#endif
-
-#endif
diff --git a/Modules/Adapters/ITKPendingPatches/include/itkFFTComplexToComplexImageFilter.hxx b/Modules/Adapters/ITKPendingPatches/include/itkFFTComplexToComplexImageFilter.hxx
deleted file mode 100644
index 8c688218e8..0000000000
--- a/Modules/Adapters/ITKPendingPatches/include/itkFFTComplexToComplexImageFilter.hxx
+++ /dev/null
@@ -1,147 +0,0 @@
-/*=========================================================================
- *
- *  Copyright Insight Software Consortium
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *         http://www.apache.org/licenses/LICENSE-2.0.txt
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *=========================================================================*/
-/**
- *
- * Attribution Notice. This research work was made possible by
- * Grant Number R01 RR021885 (PI Simon K. Warfield, Ph.D.) from
- * the National Center for Research Resources (NCRR), a component of the
- * National Institutes of Health (NIH).  Its contents are solely the
- * responsibility of the authors and do not necessarily represent the
- * official view of NCRR or NIH.
- *
- * This class was taken from the Insight Journal paper:
- * http://hdl.handle.net/1926/326
- *
- */
-#ifndef __itkFFTComplexToComplexImageFilter_hxx
-#define __itkFFTComplexToComplexImageFilter_hxx
-
-#include "itkFFTComplexToComplexImageFilter.h"
-
-#if defined( ITK_USE_FFTWD ) || defined( ITK_USE_FFTWF )
-#include "itkFFTWComplexToComplexImageFilter.h"
-#endif
-
-namespace itk
-{
-#if defined( ITK_USE_FFTWD ) || defined( ITK_USE_FFTWF )
-template< class TImage >
-class FFTWComplexToComplexImageFilter;
-#endif
-
-template< class TImage >
-typename FFTComplexToComplexImageFilter< TImage >::Pointer
-FFTComplexToComplexImageFilter< TImage >
-::New(void)
-{
-  Pointer smartPtr = ::itk::ObjectFactory< Self >::Create();
-
-#ifdef ITK_USE_FFTWD
-  if ( smartPtr.IsNull() )
-    {
-    if ( typeid( typename ImageType::PixelType::value_type ) == typeid( double ) )
-      {
-      smartPtr = dynamic_cast< Self * >(
-        FFTWComplexToComplexImageFilter< TImage >::New().GetPointer() );
-      }
-    }
-#endif
-#ifdef ITK_USE_FFTWF
-  if ( smartPtr.IsNull() )
-    {
-    if ( typeid( typename ImageType::PixelType::value_type ) == typeid( float ) )
-      {
-      smartPtr = dynamic_cast< Self * >(
-        FFTWComplexToComplexImageFilter< TImage >::New().GetPointer() );
-      }
-    }
-#endif
-
-  return smartPtr;
-}
-
-template< class TImage >
-void
-FFTComplexToComplexImageFilter< TImage >::GenerateOutputInformation()
-{
-  // call the superclass' implementation of this method
-  Superclass::GenerateOutputInformation();
-  //
-  // If this implementation returns a full result
-  // instead of a 'half-complex' matrix, then none of this
-  // is necessary
-  if ( this->FullMatrix() )
-    {
-    return;
-    }
-
-  // get pointers to the input and output
-  typename InputImageType::ConstPointer inputPtr  = this->GetInput();
-  typename OutputImageType::Pointer outputPtr = this->GetOutput();
-
-  if ( !inputPtr || !outputPtr )
-    {
-    return;
-    }
-
-  //
-  // This is all based on the same function in itk::ShrinkImageFilter
-  // ShrinkImageFilter also modifies the image spacing, but spacing
-  // has no meaning in the result of an FFT. For an IFFT, since the
-  // spacing is propagated to the complex result, we can use the spacing
-  // from the input to propagate back to the output.
-  unsigned int i;
-  const typename InputImageType::SizeType &   inputSize =
-    inputPtr->GetLargestPossibleRegion().GetSize();
-  const typename InputImageType::IndexType &  inputStartIndex =
-    inputPtr->GetLargestPossibleRegion().GetIndex();
-
-  typename OutputImageType::SizeType outputSize;
-  typename OutputImageType::IndexType outputStartIndex;
-
-  //
-  // Size of output FFT:C2C is the same as input
-  //
-
-  outputSize[0] = inputSize[0];
-  outputStartIndex[0] = inputStartIndex[0];
-
-  for ( i = 1; i < OutputImageType::ImageDimension; i++ )
-    {
-    outputSize[i] = inputSize[i];
-    outputStartIndex[i] = inputStartIndex[i];
-    }
-  typename OutputImageType::RegionType outputLargestPossibleRegion;
-  outputLargestPossibleRegion.SetSize(outputSize);
-  outputLargestPossibleRegion.SetIndex(outputStartIndex);
-
-  outputPtr->SetLargestPossibleRegion(outputLargestPossibleRegion);
-}
-
-template< class TImage >
-void
-FFTComplexToComplexImageFilter< TImage >::GenerateInputRequestedRegion()
-{
-  Superclass::GenerateInputRequestedRegion();
-  // get pointers to the input and output
-  typename InputImageType::Pointer inputPtr  =
-    const_cast< InputImageType * >( this->GetInput() );
-  inputPtr->SetRequestedRegionToLargestPossibleRegion();
-}
-}
-#endif
diff --git a/Modules/Adapters/ITKPendingPatches/include/itkFFTWComplexToComplexImageFilter.h b/Modules/Adapters/ITKPendingPatches/include/itkFFTWComplexToComplexImageFilter.h
deleted file mode 100644
index 60939ebd97..0000000000
--- a/Modules/Adapters/ITKPendingPatches/include/itkFFTWComplexToComplexImageFilter.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*=========================================================================
- *
- *  Copyright Insight Software Consortium
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *         http://www.apache.org/licenses/LICENSE-2.0.txt
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *=========================================================================*/
-#ifndef __itkFFTWComplexToComplexImageFilter_h
-#define __itkFFTWComplexToComplexImageFilter_h
-
-#include "itkFFTComplexToComplexImageFilter.h"
-#include "itkFFTWCommon.h"
-
-
-namespace itk
-{
-/** \class FFTWComplexToComplexImageFilter
- *  \brief Implements an API to enable the Fourier transform or the inverse
- *  Fourier transform of images with complex valued voxels to be computed using
- *  either FFTW from MIT or the FFTW interface in Intel MKL.
- * This filter is multithreaded and supports input images with sizes which are not
- * a power of two.
- *
- * This code was contributed in the Insight Journal paper:
- * "FFT Complex to Complex filters and helper classes"
- * by Warfield S.
- * http://hdl.handle.net/1926/326
- * http://www.insight-journal.org/browse/publication/128
- *
- * \author Simon K. Warfield simon.warfield@childrens.harvard.edu
- *
- * \note Attribution Notice. This research work was made possible by
- * Grant Number R01 RR021885 (PI Simon K. Warfield, Ph.D.) from
- * the National Center for Research Resources (NCRR), a component of the
- * National Institutes of Health (NIH).  Its contents are solely the
- * responsibility of the authors and do not necessarily represent the
- * official view of NCRR or NIH.
- *
- * \ingroup FourierTransform
- * \ingroup MultiThreaded
- * \ingroup ITKReview
- *
- * \sa FFTWGlobalConfiguration
- *
- * \ingroup OTBITKPendingPatches
- */
-template< class TImage >
-class ITK_EXPORT FFTWComplexToComplexImageFilter:
-  public FFTComplexToComplexImageFilter< TImage >
-{
-public:
-  typedef FFTWComplexToComplexImageFilter                      Self;
-  typedef FFTComplexToComplexImageFilter< TImage >             Superclass;
-  typedef SmartPointer< Self >                                 Pointer;
-  typedef SmartPointer< const Self >                           ConstPointer;
-
-  /** Standard class typedefs. */
-  typedef TImage                               ImageType;
-  typedef typename ImageType::PixelType        PixelType;
-  typedef typename Superclass::InputImageType  InputImageType;
-  typedef typename Superclass::OutputImageType OutputImageType;
-  typedef typename OutputImageType::RegionType OutputImageRegionType;
-
-  //
-  // the proxy type is a wrapper for the fftw API
-  // since the proxy is only defined over double and float,
-  // trying to use any other pixel type is inoperative, as
-  // is trying to use double if only the float FFTW version is
-  // configured in, or float if only double is configured.
-  //
-  typedef typename fftw::Proxy< typename PixelType::value_type > FFTWProxyType;
-
-  /** Method for creation through the object factory. */
-  itkNewMacro(Self);
-
-  /** Run-time type information (and related methods). */
-  itkTypeMacro(FFTWComplexToComplexImageFilter,
-               FFTComplexToComplexImageFilter);
-
-  itkStaticConstMacro(ImageDimension, unsigned int,
-                      ImageType::ImageDimension);
-
-  /** Image type typedef support. */
-  typedef typename ImageType::SizeType ImageSizeType;
-
-  //
-  // these should be defined in every FFT filter class
-  virtual bool FullMatrix();
-
-  /**
-   * Set/Get the behavior of wisdom plan creation. The default is
-   * provided by FFTWGlobalConfiguration::GetPlanRigor().
-   *
-   * The parameter is one of the FFTW planner rigor flags FFTW_ESTIMATE, FFTW_MEASURE,
-   * FFTW_PATIENT, FFTW_EXHAUSTIVE provided by FFTWGlobalConfiguration.
-   * /sa FFTWGlobalConfiguration
-   */
-  virtual void SetPlanRigor( const int & value )
-  {
-    // use that method to check the value
-    FFTWGlobalConfiguration::GetPlanRigorName( value );
-    if( m_PlanRigor != value )
-      {
-      m_PlanRigor = value;
-      this->Modified();
-      }
-  }
-  itkGetConstReferenceMacro( PlanRigor, int );
-  void SetPlanRigor( const std::string & name )
-  {
-    this->SetPlanRigor( FFTWGlobalConfiguration::GetPlanRigorValue( name ) );
-  }
-
-protected:
-  FFTWComplexToComplexImageFilter()
-    {
-    m_PlanRigor = FFTWGlobalConfiguration::GetPlanRigor();
-    }
-  virtual ~FFTWComplexToComplexImageFilter()
-    {
-    }
-
-  virtual void UpdateOutputData(DataObject *output);
-
-  virtual void BeforeThreadedGenerateData();
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, ThreadIdType threadId );
-
-  void PrintSelf(std::ostream & os, Indent indent) const;
-
-private:
-  FFTWComplexToComplexImageFilter(const Self&); //purposely not implemented
-  void operator=(const Self&); //purposely not implemented
-
-  bool m_CanUseDestructiveAlgorithm;
-
-  int m_PlanRigor;
-
-};
-
-
-} // namespace itk
-
-#ifndef ITK_MANUAL_INSTANTIATION
-#include "itkFFTWComplexToComplexImageFilter.hxx"
-#endif
-
-#endif //__itkFFTWComplexToComplexImageFilter_h
diff --git a/Modules/Adapters/ITKPendingPatches/include/itkFFTWComplexToComplexImageFilter.hxx b/Modules/Adapters/ITKPendingPatches/include/itkFFTWComplexToComplexImageFilter.hxx
deleted file mode 100644
index 4ff7e2385f..0000000000
--- a/Modules/Adapters/ITKPendingPatches/include/itkFFTWComplexToComplexImageFilter.hxx
+++ /dev/null
@@ -1,172 +0,0 @@
-/*=========================================================================
- *
- *  Copyright Insight Software Consortium
- *
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *         http://www.apache.org/licenses/LICENSE-2.0.txt
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *=========================================================================*/
-#ifndef __itkFFTWComplexToComplexImageFilter_hxx
-#define __itkFFTWComplexToComplexImageFilter_hxx
-
-#include "itkFFTWComplexToComplexImageFilter.h"
-#include <iostream>
-#include "itkIndent.h"
-#include "itkMetaDataObject.h"
-#include "itkImageRegionIterator.h"
-#include "itkProgressReporter.h"
-
-
-/*
- *
- * This code was contributed in the Insight Journal paper:
- * "FFT Complex to Complex filters and helper classes"
- * by Warfield S.
- * http://hdl.handle.net/1926/326
- * http://www.insight-journal.org/browse/publication/128
- *
- */
-
-namespace itk
-{
-
-template< class TImage >
-void
-FFTWComplexToComplexImageFilter< TImage >::
-BeforeThreadedGenerateData()
-{
-  // get pointers to the input and output
-  typename InputImageType::ConstPointer inputPtr  = this->GetInput();
-  typename OutputImageType::Pointer outputPtr = this->GetOutput();
-
-  if ( !inputPtr || !outputPtr )
-    {
-    return;
-    }
-
-  // we don't have a nice progress to report, but at least this simple line
-  // reports the beginning and the end of the process
-  ProgressReporter progress(this, 0, 1);
-
-  // allocate output buffer memory
-  outputPtr->SetBufferedRegion( outputPtr->GetRequestedRegion() );
-  outputPtr->Allocate();
-
-  const typename InputImageType::SizeType &   outputSize =
-    outputPtr->GetLargestPossibleRegion().GetSize();
-  const typename OutputImageType::SizeType & inputSize =
-    inputPtr->GetLargestPossibleRegion().GetSize();
-
-  // figure out sizes
-  // size of input and output aren't the same which is handled in the superclass,
-  // sort of.
-  // the input size and output size only differ in the fastest moving dimension
-  unsigned int total_outputSize = 1;
-  unsigned int total_inputSize = 1;
-
-  for ( unsigned i = 0; i < ImageDimension; i++ )
-    {
-    total_outputSize *= outputSize[i];
-    total_inputSize *= inputSize[i];
-    }
-
-  int transformDirection = 1;
-  if ( this->GetTransformDirection() == Superclass::INVERSE )
-    {
-    transformDirection = -1;
-    }
-
-  typename FFTWProxyType::PlanType plan;
-  typename FFTWProxyType::ComplexType * in = (typename FFTWProxyType::ComplexType*) inputPtr->GetBufferPointer();
-  typename FFTWProxyType::ComplexType * out = (typename FFTWProxyType::ComplexType*) outputPtr->GetBufferPointer();
-  int flags = m_PlanRigor;
-  if( !m_CanUseDestructiveAlgorithm )
-    {
-    // if the input is about to be destroyed, there is no need to force fftw
-    // to use an non destructive algorithm. If it is not released however,
-    // we must be careful to not destroy it.
-    flags = flags | FFTW_PRESERVE_INPUT;
-    }
-
-  int *sizes = new int[ImageDimension];
-  for(unsigned int i = 0; i < ImageDimension; i++)
-    {
-    sizes[(ImageDimension - 1) - i] = inputSize[i];
-    }
-
-  plan = FFTWProxyType::Plan_dft(ImageDimension,sizes,
-                                    in,
-                                    out,
-                                    transformDirection,
-                                    flags,
-                                    this->GetNumberOfThreads());
-  delete [] sizes;
-
-  FFTWProxyType::Execute(plan);
-  FFTWProxyType::DestroyPlan(plan);
-}
-
-template <class TImage>
-void
-FFTWComplexToComplexImageFilter< TImage >::
-ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, ThreadIdType itkNotUsed(threadId) )
-{
-  //
-  // Normalize the output if backward transform
-  //
-  if ( this->GetTransformDirection() == Superclass::INVERSE )
-    {
-    typedef ImageRegionIterator< OutputImageType >   IteratorType;
-    unsigned long total_outputSize = this->GetOutput()->GetRequestedRegion().GetNumberOfPixels();
-    IteratorType it(this->GetOutput(), outputRegionForThread);
-    while( !it.IsAtEnd() )
-      {
-      PixelType val = it.Value();
-      val /= total_outputSize;
-      it.Set(val);
-      ++it;
-      }
-    }
-}
-
-template< class TImage >
-bool
-FFTWComplexToComplexImageFilter< TImage >::FullMatrix()
-{
-  return false;
-}
-
-
-template< class TImage >
-void
-FFTWComplexToComplexImageFilter< TImage >::
-UpdateOutputData(DataObject * output)
-{
-  // we need to catch that information now, because it is changed later
-  // during the pipeline execution, and thus can't be grabbed in
-  // GenerateData().
-  m_CanUseDestructiveAlgorithm = this->GetInput()->GetReleaseDataFlag();
-  Superclass::UpdateOutputData( output );
-}
-
-template< class TImage >
-void
-FFTWComplexToComplexImageFilter< TImage >
-::PrintSelf(std::ostream & os, Indent indent) const
-{
-  Superclass::PrintSelf(os, indent);
-
-  os << indent << "PlanRigor: " << FFTWGlobalConfiguration::GetPlanRigorName(m_PlanRigor) << " (" << m_PlanRigor << ")" << std::endl;
-}
-
-} // namespace itk
-#endif // _itkFFTWComplexToComplexImageFilter_hxx
diff --git a/Modules/Core/ImageBase/test/0000169-fftcomplextocomplex.cxx b/Modules/Core/ImageBase/test/0000169-fftcomplextocomplex.cxx
deleted file mode 100644
index 08252ed3b7..0000000000
--- a/Modules/Core/ImageBase/test/0000169-fftcomplextocomplex.cxx
+++ /dev/null
@@ -1,32 +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 "otbImage.h"
-#include "itkFFTComplexToComplexImageFilter.h"
-
-int main(int argc, char * argv[])
-{
-  typedef otb::Image< std::complex<float>, 2 > ImageType;
-  typedef itk::FFTComplexToComplexImageFilter <ImageType> FFTFilterType;
-
-  FFTFilterType::Pointer fftFilter =    FFTFilterType::New();
-  fftFilter->DebugOn();
-
-  return EXIT_SUCCESS;
-}
-- 
GitLab