From 433134a12f1865dc0cc1b9917bc8e7282b64368a Mon Sep 17 00:00:00 2001
From: Julien Michel <julien.michel@c-s.fr>
Date: Tue, 6 Mar 2007 13:14:10 +0000
Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20structure=20de=20base=20pour?=
 =?UTF-8?q?=20le=20wrapping=20de=20l'otb.=20Les=20filtres=20itk=20sont=20d?=
 =?UTF-8?q?isponibles=20avec=20les=20image=20otb,=20les=20IO=20otbs=20ains?=
 =?UTF-8?q?i=20que=20la=20visu=20est=20disponible.=20Test=C3=A9=20avec=20p?=
 =?UTF-8?q?ython.=20Modification=20du=20otbTestMain.h=20pour=20support=20d?=
 =?UTF-8?q?'un=20nouveau=20type=20de=20pointeur.=20Corrections=20dans=20le?=
 =?UTF-8?q?=20code=20d'erreurs=20rep=C3=A9r=C3=A9es=20grace=20aux=20wrappi?=
 =?UTF-8?q?ng.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CMakeLists.txt                                |  14 +
 Code/Common/otbTestMain.h                     |  10 +
 Code/IO/otbBSQImageIO.h                       |   3 +-
 Code/IO/otbGDALImageIO.h                      |   3 +-
 Code/IO/otbLUMImageIO.h                       |   4 +-
 Code/IO/otbONERAImageIO.h                     |   4 +-
 Code/Visu/otbImageViewer.h                    |   5 +-
 Code/Visu/otbImageViewer.txx                  |   2 +-
 Wrapping/.NoDartCoverage                      |   0
 Wrapping/CMakeLists.txt                       |  71 ++
 Wrapping/CSwig/.NoDartCoverage                |   0
 Wrapping/CSwig/Algorithms/.NoDartCoverage     |   0
 Wrapping/CSwig/Algorithms/CMakeLists.txt      |  43 +
 Wrapping/CSwig/Algorithms/CVS/Entries         |  36 +
 Wrapping/CSwig/Algorithms/CVS/Repository      |   1 +
 Wrapping/CSwig/Algorithms/CVS/Root            |   1 +
 Wrapping/CSwig/Algorithms/CVS/Tag             |   1 +
 Wrapping/CSwig/Algorithms/CVS/Template        |  22 +
 .../CSwig/Algorithms/wrap_ITKAlgorithms.cxx   |  54 ++
 .../Algorithms/wrap_ITKAlgorithmsJava.cxx     |   2 +
 .../Algorithms/wrap_ITKAlgorithmsPython.cxx   |   2 +
 .../Algorithms/wrap_ITKAlgorithmsTcl.cxx      |   2 +
 .../wrap_itkCurvatureFlowImageFilter.cxx      |  41 +
 .../wrap_itkCurvesLevelSetImageFilter.cxx     |  36 +
 .../wrap_itkDemonsRegistrationFilter.cxx      |  41 +
 ...odesicActiveContourLevelSetImageFilter.cxx |  36 +
 .../wrap_itkHistogramMatchingImageFilter.cxx  |  37 +
 .../wrap_itkImageRegistrationMethod.cxx       |  40 +
 .../Algorithms/wrap_itkImageToImageMetric.cxx |  40 +
 .../Algorithms/wrap_itkLevelSetFunction.cxx   |  35 +
 ...tesMutualInformationImageToImageMetric.cxx |  40 +
 ...ocalSquareDifferenceImageToImageMetric.cxx |  40 +
 .../wrap_itkMeanSquaresImageToImageMetric.cxx |  40 +
 ...wrap_itkMinMaxCurvatureFlowImageFilter.cxx |  42 +
 ...MultiResolutionImageRegistrationMethod.cxx |  40 +
 ...itkMutualInformationImageToImageMetric.cxx |  40 +
 ...itkNarrowBandCurvesLevelSetImageFilter.cxx |  36 +
 .../wrap_itkNarrowBandLevelSetImageFilter.cxx |  40 +
 ...ormalizedCorrelationImageToImageMetric.cxx |  41 +
 .../wrap_itkOtsuThresholdImageCalculator.cxx  |  40 +
 ...rap_itkPDEDeformableRegistrationFilter.cxx |  41 +
 ...rsiveMultiResolutionPyramidImageFilter.cxx |  40 +
 ...rap_itkSegmentationLevelSetImageFilter.cxx |  36 +
 ...p_itkShapeDetectionLevelSetImageFilter.cxx |  36 +
 ...wrap_itkSparseFieldLevelSetImageFilter.cxx |  36 +
 ...ymmetricForcesDemonsRegistrationFilter.cxx |  41 +
 ...resholdSegmentationLevelSetImageFilter.cxx |  36 +
 .../CSwig/Algorithms/wrap_itkTreeNode.cxx     |  41 +
 .../CSwig/Algorithms/wrap_itkTreeNodeSO.cxx   |  35 +
 ...wrap_itkVoronoiSegmentationImageFilter.cxx |  44 +
 .../wrap_itkWatershedImageFilter.cxx          |  37 +
 Wrapping/CSwig/BasicFiltersA/.NoDartCoverage  |   0
 Wrapping/CSwig/BasicFiltersA/CMakeLists.txt   |  40 +
 Wrapping/CSwig/BasicFiltersA/CVS/Entries      |  36 +
 Wrapping/CSwig/BasicFiltersA/CVS/Repository   |   1 +
 Wrapping/CSwig/BasicFiltersA/CVS/Root         |   1 +
 Wrapping/CSwig/BasicFiltersA/CVS/Tag          |   1 +
 Wrapping/CSwig/BasicFiltersA/CVS/Template     |  22 +
 .../MakeConsistentWrappedClasses.sh           | 129 +++
 .../BasicFiltersA/wrap_ITKBasicFiltersA.cxx   |  54 ++
 .../wrap_ITKBasicFiltersAJava.cxx             |   2 +
 .../wrap_ITKBasicFiltersAPython.cxx           |   2 +
 .../wrap_ITKBasicFiltersATcl.cxx              |   2 +
 ..._itkAnisotropicDiffusionImageFilter_2D.cxx |  40 +
 ..._itkAnisotropicDiffusionImageFilter_3D.cxx |  40 +
 .../wrap_itkBinaryDilateImageFilter.cxx       |  47 +
 .../wrap_itkBinaryErodeImageFilter.cxx        |  46 +
 .../wrap_itkBinaryThresholdImageFilter.cxx    |  40 +
 .../wrap_itkCannyEdgeDetectionImageFilter.cxx |  36 +
 .../wrap_itkCastImageFilter_2D.cxx            |  92 ++
 .../wrap_itkCastImageFilter_3D.cxx            |  91 ++
 .../wrap_itkChangeInformationImageFilter.cxx  |  36 +
 ...wrap_itkConfidenceConnectedImageFilter.cxx |  40 +
 .../wrap_itkConnectedThresholdImageFilter.cxx |  40 +
 ...rvatureAnisotropicDiffusionImageFilter.cxx |  36 +
 ...ap_itkDanielssonDistanceMapImageFilter.cxx |  47 +
 .../wrap_itkExtractImageFilter.cxx            |  59 ++
 .../wrap_itkFastMarchingImageFilter.cxx       |  53 ++
 .../BasicFiltersA/wrap_itkFlipImageFilter.cxx |  36 +
 ...radientAnisotropicDiffusionImageFilter.cxx |  37 +
 .../wrap_itkGradientMagnitudeImageFilter.cxx  |  53 ++
 .../wrap_itkGrayscaleDilateImageFilter.cxx    |  48 +
 .../wrap_itkGrayscaleErodeImageFilter.cxx     |  48 +
 .../wrap_itkImportImageFilter.cxx             |  38 +
 .../wrap_itkIsolatedConnectedImageFilter.cxx  |  53 ++
 .../wrap_itkLaplacianImageFilter.cxx          |  34 +
 .../wrap_itkMinimumMaximumImageCalculator.cxx |  36 +
 .../wrap_itkMorphologyImageFilter.cxx         |  44 +
 ...ap_itkNeighborhoodConnectedImageFilter.cxx |  53 ++
 .../wrap_itkSobelEdgeDetectionImageFilter.cxx |  35 +
 .../wrap_itkTernaryMagnitudeImageFilter.cxx   |  56 ++
 Wrapping/CSwig/BasicFiltersB/.NoDartCoverage  |   0
 Wrapping/CSwig/BasicFiltersB/CMakeLists.txt   |  35 +
 Wrapping/CSwig/BasicFiltersB/CVS/Entries      |  31 +
 Wrapping/CSwig/BasicFiltersB/CVS/Repository   |   1 +
 Wrapping/CSwig/BasicFiltersB/CVS/Root         |   1 +
 Wrapping/CSwig/BasicFiltersB/CVS/Tag          |   1 +
 Wrapping/CSwig/BasicFiltersB/CVS/Template     |  22 +
 .../BasicFiltersB/wrap_ITKBasicFiltersB.cxx   |  53 ++
 .../wrap_ITKBasicFiltersBJava.cxx             |   2 +
 .../wrap_ITKBasicFiltersBPython.cxx           |   2 +
 .../wrap_ITKBasicFiltersBTcl.cxx              |   2 +
 .../BasicFiltersB/wrap_itkExpImageFilter.cxx  |  40 +
 .../wrap_itkExpNegativeImageFilter.cxx        |  40 +
 ...tMagnitudeRecursiveGaussianImageFilter.cxx |  40 +
 ...tkGradientRecursiveGaussianImageFilter.cxx |  40 +
 .../BasicFiltersB/wrap_itkMeanImageFilter.cxx |  41 +
 .../wrap_itkMedianImageFilter.cxx             |  53 ++
 .../wrap_itkMinimumMaximumImageFilter.cxx     |  42 +
 .../wrap_itkNaryAddImageFilter.cxx            |  40 +
 .../wrap_itkNormalizeImageFilter.cxx          |  51 ++
 .../wrap_itkPermuteAxesImageFilter.cxx        |  55 ++
 .../wrap_itkRandomImageSource.cxx             |  36 +
 .../wrap_itkRecursiveGaussianImageFilter.cxx  |  40 +
 .../wrap_itkRecursiveSeparableImageFilter.cxx |  40 +
 .../wrap_itkRegionOfInterestImageFilter.cxx   |  53 ++
 .../wrap_itkResampleImageFilter.cxx           |  40 +
 .../wrap_itkRescaleIntensityImageFilter.cxx   |  59 ++
 .../wrap_itkShiftScaleImageFilter.cxx         |  51 ++
 .../wrap_itkSigmoidImageFilter.cxx            |  52 ++
 ...kSmoothingRecursiveGaussianImageFilter.cxx |  40 +
 .../wrap_itkStatisticsImageFilter.cxx         |  36 +
 .../wrap_itkSubtractImageFilter.cxx           |  46 +
 .../wrap_itkThresholdImageFilter.cxx          |  40 +
 .../BasicFiltersB/wrap_itkVTKImageExport.cxx  |  51 ++
 .../BasicFiltersB/wrap_itkVTKImageImport.cxx  |  45 +
 Wrapping/CSwig/CMakeLists.txt                 | 821 ++++++++++++++++++
 Wrapping/CSwig/CommonA/.NoDartCoverage        |   0
 Wrapping/CSwig/CommonA/CMakeLists.txt         |  55 ++
 Wrapping/CSwig/CommonA/CVS/Entries            |  55 ++
 Wrapping/CSwig/CommonA/CVS/Repository         |   1 +
 Wrapping/CSwig/CommonA/CVS/Root               |   1 +
 Wrapping/CSwig/CommonA/CVS/Tag                |   1 +
 Wrapping/CSwig/CommonA/CVS/Template           |  22 +
 Wrapping/CSwig/CommonA/SwigExtras.i           |  90 ++
 Wrapping/CSwig/CommonA/SwigGetTclInterp.i     |  16 +
 Wrapping/CSwig/CommonA/itkCommand.i           |   8 +
 Wrapping/CSwig/CommonA/itkJavaCommand.h       |  13 +
 Wrapping/CSwig/CommonA/itkPyBuffer.h          | 109 +++
 Wrapping/CSwig/CommonA/itkPyBuffer.txx        | 166 ++++
 Wrapping/CSwig/CommonA/itkPyCommand.cxx       | 107 +++
 Wrapping/CSwig/CommonA/itkPyCommand.h         |  79 ++
 Wrapping/CSwig/CommonA/itkStringStream.cxx    |  60 ++
 Wrapping/CSwig/CommonA/itkStringStream.h      |  50 ++
 Wrapping/CSwig/CommonA/itkTclCommand.cxx      |  97 +++
 Wrapping/CSwig/CommonA/itkTclCommand.h        |  78 ++
 Wrapping/CSwig/CommonA/wrap_ITKCommonA.cxx    |  68 ++
 .../CSwig/CommonA/wrap_ITKCommonAJava.cxx     |   2 +
 .../CSwig/CommonA/wrap_ITKCommonAPython.cxx   |   3 +
 Wrapping/CSwig/CommonA/wrap_ITKCommonATcl.cxx |   3 +
 Wrapping/CSwig/CommonA/wrap_ITKCommonBase.cxx |  59 ++
 .../CSwig/CommonA/wrap_ITKInterpolators.cxx   | 117 +++
 Wrapping/CSwig/CommonA/wrap_ITKPyUtils.cxx    |  32 +
 Wrapping/CSwig/CommonA/wrap_ITKRegions.cxx    |  40 +
 Wrapping/CSwig/CommonA/wrap_ITKUtils.cxx      |  32 +
 Wrapping/CSwig/CommonA/wrap_SwigExtras.cxx    |  38 +
 Wrapping/CSwig/CommonA/wrap_itkArray.cxx      |  30 +
 .../wrap_itkBinaryBallStructuringElement.cxx  |  35 +
 .../CSwig/CommonA/wrap_itkContinuousIndex.cxx |  33 +
 ...itkDenseFiniteDifferenceImageFilter_2D.cxx |  50 ++
 ...itkDenseFiniteDifferenceImageFilter_3D.cxx |  50 ++
 .../CommonA/wrap_itkDifferenceImageFilter.cxx |  39 +
 .../CSwig/CommonA/wrap_itkEventObject.cxx     |  43 +
 .../wrap_itkFiniteDifferenceFunction.cxx      |  34 +
 ...wrap_itkFiniteDifferenceImageFilter_2D.cxx |  44 +
 ...wrap_itkFiniteDifferenceImageFilter_3D.cxx |  44 +
 Wrapping/CSwig/CommonA/wrap_itkFixedArray.cxx |  34 +
 .../CSwig/CommonA/wrap_itkFunctionBase.cxx    |  76 ++
 .../CommonA/wrap_itkImageConstIterator.cxx    |  59 ++
 .../CSwig/CommonA/wrap_itkImageFunction.cxx   |  42 +
 .../wrap_itkImageRegionConstIterator.cxx      |  59 ++
 .../CommonA/wrap_itkImageRegionIterator.cxx   |  59 ++
 .../CSwig/CommonA/wrap_itkImageSource.cxx     |  72 ++
 .../CommonA/wrap_itkImageToImageFilter_2D.cxx | 100 +++
 .../CommonA/wrap_itkImageToImageFilter_3D.cxx | 101 +++
 Wrapping/CSwig/CommonA/wrap_itkImage_2D.cxx   |  68 ++
 Wrapping/CSwig/CommonA/wrap_itkImage_3D.cxx   |  67 ++
 .../CommonA/wrap_itkInPlaceImageFilter_A.cxx  |  83 ++
 .../CommonA/wrap_itkInPlaceImageFilter_B.cxx  |  63 ++
 Wrapping/CSwig/CommonA/wrap_itkIndex.cxx      |  31 +
 Wrapping/CSwig/CommonA/wrap_itkLevelSet.cxx   |  69 ++
 .../CSwig/CommonA/wrap_itkNeighborhood.cxx    |  34 +
 Wrapping/CSwig/CommonA/wrap_itkPoint.cxx      |  30 +
 Wrapping/CSwig/CommonA/wrap_itkPyBuffer.cxx   |  39 +
 Wrapping/CSwig/CommonA/wrap_itkSize.cxx       |  30 +
 Wrapping/CSwig/CommonA/wrap_itkVector.cxx     |  30 +
 Wrapping/CSwig/CommonB/.NoDartCoverage        |   0
 Wrapping/CSwig/CommonB/CMakeLists.txt         |  26 +
 Wrapping/CSwig/CommonB/CVS/Entries            |  19 +
 Wrapping/CSwig/CommonB/CVS/Repository         |   1 +
 Wrapping/CSwig/CommonB/CVS/Root               |   1 +
 Wrapping/CSwig/CommonB/CVS/Tag                |   1 +
 Wrapping/CSwig/CommonB/CVS/Template           |  22 +
 Wrapping/CSwig/CommonB/wrap_ITKCommonB.cxx    |  38 +
 .../CSwig/CommonB/wrap_ITKCommonBJava.cxx     |   2 +
 .../CSwig/CommonB/wrap_ITKCommonBPython.cxx   |   3 +
 Wrapping/CSwig/CommonB/wrap_ITKCommonBTcl.cxx |   3 +
 .../wrap_ITKKernelDeformableTransforms.cxx    |  49 ++
 .../CSwig/CommonB/wrap_ITKRigidTransforms.cxx |  45 +
 .../CommonB/wrap_ITKSimilarityTransforms.cxx  |  35 +
 .../CSwig/CommonB/wrap_itkAffineTransform.cxx |  34 +
 ...tkAzimuthElevationToCartesianTransform.cxx |  34 +
 .../wrap_itkBSplineDeformableTransform.cxx    |  34 +
 .../CommonB/wrap_itkIdentityTransform.cxx     |  34 +
 .../wrap_itkMatrixOffsetTransformBase.cxx     |  34 +
 .../CSwig/CommonB/wrap_itkScaleTransform.cxx  |  37 +
 Wrapping/CSwig/CommonB/wrap_itkTransform.cxx  |  37 +
 .../CommonB/wrap_itkTranslationTransform.cxx  |  34 +
 .../CSwig/CommonB/wrap_itkVersorTransform.cxx |  33 +
 Wrapping/CSwig/IO/.NoDartCoverage             |   0
 Wrapping/CSwig/IO/CMakeLists.txt              |  24 +
 Wrapping/CSwig/IO/itkTkImageViewer2D.cxx      | 150 ++++
 Wrapping/CSwig/IO/itkTkImageViewer2D.h        |  97 +++
 Wrapping/CSwig/IO/wrap_IOBase.cxx             |  53 ++
 Wrapping/CSwig/IO/wrap_ITKIO.cxx              |  37 +
 Wrapping/CSwig/IO/wrap_ITKIOJava.cxx          |   3 +
 Wrapping/CSwig/IO/wrap_ITKIOPython.cxx        |   2 +
 Wrapping/CSwig/IO/wrap_ITKIOTcl.cxx           |   3 +
 .../CSwig/IO/wrap_itkImageFileReader_2D.cxx   |  41 +
 .../CSwig/IO/wrap_itkImageFileReader_3D.cxx   |  41 +
 .../CSwig/IO/wrap_itkImageFileWriter_2D.cxx   |  41 +
 .../CSwig/IO/wrap_itkImageFileWriter_3D.cxx   |  41 +
 .../CSwig/IO/wrap_itkImageSeriesReader.cxx    |  38 +
 .../CSwig/IO/wrap_itkImageSeriesWriter.cxx    |  34 +
 Wrapping/CSwig/IO/wrap_itkTkImageViewer2D.cxx |  30 +
 Wrapping/CSwig/Java/CMakeLists.txt            | 106 +++
 Wrapping/CSwig/Java/CVS/Entries               |   4 +
 Wrapping/CSwig/Java/CVS/Repository            |   1 +
 Wrapping/CSwig/Java/CVS/Root                  |   1 +
 Wrapping/CSwig/Java/CVS/Tag                   |   1 +
 Wrapping/CSwig/Java/CVS/Template              |  22 +
 Wrapping/CSwig/Java/ITKJavaJarDummyLibrary.c  |   3 +
 Wrapping/CSwig/Java/itkbase.java.in           |  75 ++
 Wrapping/CSwig/Master.mdx.in                  |   1 +
 Wrapping/CSwig/Numerics/.NoDartCoverage       |   0
 Wrapping/CSwig/Numerics/CMakeLists.txt        |  14 +
 Wrapping/CSwig/Numerics/CVS/Entries           |   9 +
 Wrapping/CSwig/Numerics/CVS/Repository        |   1 +
 Wrapping/CSwig/Numerics/CVS/Root              |   1 +
 Wrapping/CSwig/Numerics/CVS/Tag               |   1 +
 Wrapping/CSwig/Numerics/CVS/Template          |  22 +
 .../CSwig/Numerics/wrap_ITKCostFunctions.cxx  |  34 +
 Wrapping/CSwig/Numerics/wrap_ITKNumerics.cxx  |  28 +
 .../CSwig/Numerics/wrap_ITKNumericsJava.cxx   |   2 +
 .../CSwig/Numerics/wrap_ITKNumericsPython.cxx |   2 +
 .../CSwig/Numerics/wrap_ITKNumericsTcl.cxx    |   2 +
 .../CSwig/Numerics/wrap_ITKOptimizers.cxx     |  61 ++
 Wrapping/CSwig/Patented/CMakeLists.txt        |  19 +
 Wrapping/CSwig/Patented/CVS/Entries           |   8 +
 Wrapping/CSwig/Patented/CVS/Repository        |   1 +
 Wrapping/CSwig/Patented/CVS/Root              |   1 +
 Wrapping/CSwig/Patented/CVS/Tag               |   1 +
 Wrapping/CSwig/Patented/CVS/Template          |  22 +
 Wrapping/CSwig/Patented/wrap_ITKPatented.cxx  |  29 +
 .../CSwig/Patented/wrap_ITKPatentedJava.cxx   |   2 +
 .../CSwig/Patented/wrap_ITKPatentedPython.cxx |   2 +
 .../CSwig/Patented/wrap_ITKPatentedTcl.cxx    |   2 +
 ...impleFuzzyConnectednessImageFilterBase.cxx |  40 +
 ...pleFuzzyConnectednessScalarImageFilter.cxx |  44 +
 Wrapping/CSwig/Python/InsightToolkit.py       |   2 +
 Wrapping/CSwig/Python/OrfeoToolBox.py         |   2 +
 Wrapping/CSwig/Python/OrfeoToolBox.pyc        | Bin 0 -> 225 bytes
 Wrapping/CSwig/Python/itkalgorithms.py        |   5 +
 Wrapping/CSwig/Python/itkbase.py.in           |  76 ++
 Wrapping/CSwig/Python/itkbasicfilters.py      |   5 +
 Wrapping/CSwig/Python/itkcommon.py            |   5 +
 Wrapping/CSwig/Python/itkcommon.pyc           | Bin 0 -> 304 bytes
 Wrapping/CSwig/Python/itkdata.py              |  42 +
 Wrapping/CSwig/Python/itkio.py                |   4 +
 Wrapping/CSwig/Python/itkio.pyc               | Bin 0 -> 263 bytes
 Wrapping/CSwig/Python/itknumerics.py          |   4 +
 Wrapping/CSwig/Python/itktesting.py           |  45 +
 Wrapping/CSwig/Python/otbcommon.py            |   4 +
 Wrapping/CSwig/Python/otbcommon.pyc           | Bin 0 -> 273 bytes
 Wrapping/CSwig/Python/otbio.py                |   5 +
 Wrapping/CSwig/Python/otbio.pyc               | Bin 0 -> 263 bytes
 Wrapping/CSwig/Python/otbvisu.py              |   4 +
 Wrapping/CSwig/Python/vxlnumerics.py          |   5 +
 Wrapping/CSwig/Python/vxlnumerics.pyc         | Bin 0 -> 275 bytes
 Wrapping/CSwig/README                         |  76 ++
 Wrapping/CSwig/SwigInc.txt.in                 |   1 +
 Wrapping/CSwig/SwigRuntime/.NoDartCoverage    |   0
 Wrapping/CSwig/SwigRuntime/CMakeLists.txt     | 110 +++
 Wrapping/CSwig/SwigRuntime/CVS/Entries        |   7 +
 Wrapping/CSwig/SwigRuntime/CVS/Repository     |   1 +
 Wrapping/CSwig/SwigRuntime/CVS/Root           |   1 +
 Wrapping/CSwig/SwigRuntime/CVS/Tag            |   1 +
 Wrapping/CSwig/SwigRuntime/CVS/Template       |  22 +
 Wrapping/CSwig/SwigRuntime/JavaCWD.cxx        |  54 ++
 Wrapping/CSwig/SwigRuntime/JavaCWD.h          |   7 +
 Wrapping/CSwig/SwigRuntime/JavaCWD.i          |   5 +
 Wrapping/CSwig/SwigRuntime/swigrun.h          |   6 +
 Wrapping/CSwig/Tcl/.NoDartCoverage            |   0
 Wrapping/CSwig/Tcl/CMakeLists.txt             |  34 +
 Wrapping/CSwig/Tcl/CVS/Entries                |  11 +
 Wrapping/CSwig/Tcl/CVS/Repository             |   1 +
 Wrapping/CSwig/Tcl/CVS/Root                   |   1 +
 Wrapping/CSwig/Tcl/CVS/Tag                    |   1 +
 Wrapping/CSwig/Tcl/CVS/Template               |  22 +
 Wrapping/CSwig/Tcl/itkTclAppInit.cxx          | 198 +++++
 Wrapping/CSwig/Tcl/itkTclConfigure.h.in       |  13 +
 Wrapping/CSwig/Tcl/itkdata.tcl                |  44 +
 Wrapping/CSwig/Tcl/itkinteraction.tcl         | 128 +++
 Wrapping/CSwig/Tcl/itktesting.tcl             |  57 ++
 Wrapping/CSwig/Tcl/itkutils.tcl               |  92 ++
 Wrapping/CSwig/Tcl/itkwish                    | 102 +++
 Wrapping/CSwig/Tcl/pkgIndex.tcl.in            | 106 +++
 Wrapping/CSwig/Tests/CMakeLists.txt           |   1 +
 Wrapping/CSwig/Tests/CVS/Entries              |   4 +
 Wrapping/CSwig/Tests/CVS/Repository           |   1 +
 Wrapping/CSwig/Tests/CVS/Root                 |   1 +
 Wrapping/CSwig/Tests/CVS/Tag                  |   1 +
 Wrapping/CSwig/Tests/CVS/Template             |  22 +
 Wrapping/CSwig/Tests/Java/CVS/Entries         |   2 +
 Wrapping/CSwig/Tests/Java/CVS/Repository      |   1 +
 Wrapping/CSwig/Tests/Java/CVS/Root            |   1 +
 Wrapping/CSwig/Tests/Java/CVS/Tag             |   1 +
 Wrapping/CSwig/Tests/Java/CVS/Template        |  22 +
 .../Java/cannyEdgeDetectionImageFilter.java   |  24 +
 Wrapping/CSwig/Tests/Python/CVS/Entries       |   4 +
 Wrapping/CSwig/Tests/Python/CVS/Repository    |   1 +
 Wrapping/CSwig/Tests/Python/CVS/Root          |   1 +
 Wrapping/CSwig/Tests/Python/CVS/Tag           |   1 +
 Wrapping/CSwig/Tests/Python/CVS/Template      |  22 +
 .../Python/cannyEdgeDetectionImageFilter.py   |  16 +
 Wrapping/CSwig/Tests/Python/testDirectory.py  |  13 +
 Wrapping/CSwig/Tests/Python/testObject.py     |   3 +
 Wrapping/CSwig/Tests/Tcl/CMakeLists.txt       |   8 +
 Wrapping/CSwig/Tests/Tcl/CVS/Entries          |   6 +
 Wrapping/CSwig/Tests/Tcl/CVS/Repository       |   1 +
 Wrapping/CSwig/Tests/Tcl/CVS/Root             |   1 +
 Wrapping/CSwig/Tests/Tcl/CVS/Tag              |   1 +
 Wrapping/CSwig/Tests/Tcl/CVS/Template         |  22 +
 Wrapping/CSwig/Tests/Tcl/PrintAll.tcl         |  20 +
 Wrapping/CSwig/Tests/Tcl/randomImage.tcl      |  83 ++
 Wrapping/CSwig/Tests/Tcl/testDirectory.tcl    |  11 +
 Wrapping/CSwig/Tests/Tcl/testObject.tcl       |   4 +
 Wrapping/CSwig/VXLNumerics/.NoDartCoverage    |   0
 Wrapping/CSwig/VXLNumerics/CMakeLists.txt     |  21 +
 Wrapping/CSwig/VXLNumerics/CVS/Entries        |  20 +
 Wrapping/CSwig/VXLNumerics/CVS/Repository     |   1 +
 Wrapping/CSwig/VXLNumerics/CVS/Root           |   1 +
 Wrapping/CSwig/VXLNumerics/CVS/Tag            |   1 +
 Wrapping/CSwig/VXLNumerics/CVS/Template       |  22 +
 .../CSwig/VXLNumerics/wrap_VXLNumerics.cxx    |  37 +
 Wrapping/CSwig/VXLNumerics/wrap_VXLNumerics.h |  66 ++
 .../VXLNumerics/wrap_VXLNumericsJava.cxx      |   2 +
 .../VXLNumerics/wrap_VXLNumericsPerl.cxx      |   2 +
 .../VXLNumerics/wrap_VXLNumericsPython.cxx    |   2 +
 .../CSwig/VXLNumerics/wrap_VXLNumericsTcl.cxx |   2 +
 .../CSwig/VXLNumerics/wrap_vnl_c_vector.cxx   |  42 +
 .../VXLNumerics/wrap_vnl_diag_matrix.cxx      |  34 +
 .../VXLNumerics/wrap_vnl_file_matrix.cxx      |  39 +
 .../VXLNumerics/wrap_vnl_file_vector.cxx      |  37 +
 .../VXLNumerics/wrap_vnl_fortran_copy.cxx     |  45 +
 .../CSwig/VXLNumerics/wrap_vnl_matrix.cxx     |  24 +
 .../VXLNumerics/wrap_vnl_matrix_fixed.cxx     |  53 ++
 .../VXLNumerics/wrap_vnl_matrix_fixed_ref.cxx |  49 ++
 .../CSwig/VXLNumerics/wrap_vnl_matrix_ref.cxx |  39 +
 .../CSwig/VXLNumerics/wrap_vnl_vector.cxx     |   8 +
 .../CSwig/VXLNumerics/wrap_vnl_vector_ref.cxx |  39 +
 Wrapping/CSwig/empty.depend.in                |   0
 Wrapping/CSwig/itk.swg                        |  39 +
 .../itkCSwigBinaryBallStructuringElement.h    |  19 +
 Wrapping/CSwig/itkCSwigImages.h               |   4 +
 Wrapping/CSwig/itkCSwigMacros.h               |  60 ++
 Wrapping/CSwig/otbCSwigImages.h               | 106 +++
 Wrapping/CSwig/otbCSwigImages.h~              | 104 +++
 Wrapping/CSwig/otbCSwigMacros.h               |  68 ++
 Wrapping/CSwig/otbCSwigMacros.h~              |  60 ++
 Wrapping/CSwig/otbCommon/CMakeLists.txt       |  16 +
 Wrapping/CSwig/otbCommon/wrap_OTBCommon.cxx   |  30 +
 .../CSwig/otbCommon/wrap_OTBCommonJava.cxx    |   2 +
 .../CSwig/otbCommon/wrap_OTBCommonPython.cxx  |   3 +
 .../CSwig/otbCommon/wrap_OTBCommonTcl.cxx     |   3 +
 .../CSwig/otbCommon/wrap_itkImageSource.cxx   |  43 +
 Wrapping/CSwig/otbCommon/wrap_otbImage.cxx    |  50 ++
 .../CSwig/otbCommon/wrap_otbVectorImage.cxx   |  48 +
 Wrapping/CSwig/otbIO/CMakeLists.txt           |  18 +
 Wrapping/CSwig/otbIO/wrap_OTBIO.cxx           |  30 +
 Wrapping/CSwig/otbIO/wrap_OTBIOJava.cxx       |   3 +
 Wrapping/CSwig/otbIO/wrap_OTBIOPython.cxx     |   2 +
 Wrapping/CSwig/otbIO/wrap_OTBIOTcl.cxx        |   3 +
 Wrapping/CSwig/otbIO/wrap_otbIOBase.cxx       |  52 ++
 .../CSwig/otbIO/wrap_otbImageFileReader.cxx   |  51 ++
 .../CSwig/otbIO/wrap_otbImageFileWriter.cxx   |  52 ++
 Wrapping/CSwig/otbVisu/CMakeLists.txt         |  16 +
 Wrapping/CSwig/otbVisu/wrap_OTBVisu.cxx       |  28 +
 Wrapping/CSwig/otbVisu/wrap_OTBVisuJava.cxx   |   3 +
 Wrapping/CSwig/otbVisu/wrap_OTBVisuPython.cxx |   2 +
 Wrapping/CSwig/otbVisu/wrap_OTBVisuTcl.cxx    |   3 +
 .../CSwig/otbVisu/wrap_otbImageViewer.cxx     |  39 +
 Wrapping/CSwig/pythonfiles.sh.in              |   8 +
 Wrapping/CSwig/pythonfiles_install.cmake.in   |   6 +
 Wrapping/CSwig/swapItkAndOtbImages.py         |  14 +
 Wrapping/otbWrapSetup.cmake                   |  67 ++
 396 files changed, 12995 insertions(+), 8 deletions(-)
 create mode 100644 Wrapping/.NoDartCoverage
 create mode 100644 Wrapping/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/.NoDartCoverage
 create mode 100644 Wrapping/CSwig/Algorithms/.NoDartCoverage
 create mode 100755 Wrapping/CSwig/Algorithms/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/Algorithms/CVS/Entries
 create mode 100644 Wrapping/CSwig/Algorithms/CVS/Repository
 create mode 100644 Wrapping/CSwig/Algorithms/CVS/Root
 create mode 100644 Wrapping/CSwig/Algorithms/CVS/Tag
 create mode 100644 Wrapping/CSwig/Algorithms/CVS/Template
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_ITKAlgorithms.cxx
 create mode 100755 Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsJava.cxx
 create mode 100755 Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsPython.cxx
 create mode 100755 Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsTcl.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkCurvatureFlowImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkCurvesLevelSetImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkDemonsRegistrationFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkGeodesicActiveContourLevelSetImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkHistogramMatchingImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkImageRegistrationMethod.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkImageToImageMetric.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkLevelSetFunction.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkMattesMutualInformationImageToImageMetric.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkMeanReciprocalSquareDifferenceImageToImageMetric.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkMeanSquaresImageToImageMetric.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkMinMaxCurvatureFlowImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkMultiResolutionImageRegistrationMethod.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkMutualInformationImageToImageMetric.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkNarrowBandCurvesLevelSetImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkNarrowBandLevelSetImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkNormalizedCorrelationImageToImageMetric.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkOtsuThresholdImageCalculator.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkPDEDeformableRegistrationFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkRecursiveMultiResolutionPyramidImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkSegmentationLevelSetImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkShapeDetectionLevelSetImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkSparseFieldLevelSetImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkSymmetricForcesDemonsRegistrationFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkThresholdSegmentationLevelSetImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkTreeNode.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkTreeNodeSO.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkVoronoiSegmentationImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Algorithms/wrap_itkWatershedImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersA/.NoDartCoverage
 create mode 100755 Wrapping/CSwig/BasicFiltersA/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/BasicFiltersA/CVS/Entries
 create mode 100644 Wrapping/CSwig/BasicFiltersA/CVS/Repository
 create mode 100644 Wrapping/CSwig/BasicFiltersA/CVS/Root
 create mode 100644 Wrapping/CSwig/BasicFiltersA/CVS/Tag
 create mode 100644 Wrapping/CSwig/BasicFiltersA/CVS/Template
 create mode 100755 Wrapping/CSwig/BasicFiltersA/MakeConsistentWrappedClasses.sh
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersA.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersAJava.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersAPython.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersATcl.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkAnisotropicDiffusionImageFilter_2D.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkAnisotropicDiffusionImageFilter_3D.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryDilateImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryErodeImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryThresholdImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkCannyEdgeDetectionImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersA/wrap_itkCastImageFilter_2D.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersA/wrap_itkCastImageFilter_3D.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkChangeInformationImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkConfidenceConnectedImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkConnectedThresholdImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkCurvatureAnisotropicDiffusionImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkDanielssonDistanceMapImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkExtractImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersA/wrap_itkFastMarchingImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkFlipImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkGradientAnisotropicDiffusionImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersA/wrap_itkGradientMagnitudeImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkGrayscaleDilateImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkGrayscaleErodeImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkImportImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkIsolatedConnectedImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkLaplacianImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkMinimumMaximumImageCalculator.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersA/wrap_itkMorphologyImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersA/wrap_itkNeighborhoodConnectedImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkSobelEdgeDetectionImageFilter.cxx
 create mode 100755 Wrapping/CSwig/BasicFiltersA/wrap_itkTernaryMagnitudeImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/.NoDartCoverage
 create mode 100644 Wrapping/CSwig/BasicFiltersB/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/BasicFiltersB/CVS/Entries
 create mode 100644 Wrapping/CSwig/BasicFiltersB/CVS/Repository
 create mode 100644 Wrapping/CSwig/BasicFiltersB/CVS/Root
 create mode 100644 Wrapping/CSwig/BasicFiltersB/CVS/Tag
 create mode 100644 Wrapping/CSwig/BasicFiltersB/CVS/Template
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersB.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBJava.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBPython.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBTcl.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkExpImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkExpNegativeImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkGradientMagnitudeRecursiveGaussianImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkGradientRecursiveGaussianImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkMeanImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkMedianImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkMinimumMaximumImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkNaryAddImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkNormalizeImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkPermuteAxesImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkRandomImageSource.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkRecursiveGaussianImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkRecursiveSeparableImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkRegionOfInterestImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkResampleImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkRescaleIntensityImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkShiftScaleImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkSigmoidImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkSmoothingRecursiveGaussianImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkStatisticsImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkSubtractImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkThresholdImageFilter.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkVTKImageExport.cxx
 create mode 100644 Wrapping/CSwig/BasicFiltersB/wrap_itkVTKImageImport.cxx
 create mode 100755 Wrapping/CSwig/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/CommonA/.NoDartCoverage
 create mode 100755 Wrapping/CSwig/CommonA/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/CommonA/CVS/Entries
 create mode 100644 Wrapping/CSwig/CommonA/CVS/Repository
 create mode 100644 Wrapping/CSwig/CommonA/CVS/Root
 create mode 100644 Wrapping/CSwig/CommonA/CVS/Tag
 create mode 100644 Wrapping/CSwig/CommonA/CVS/Template
 create mode 100755 Wrapping/CSwig/CommonA/SwigExtras.i
 create mode 100755 Wrapping/CSwig/CommonA/SwigGetTclInterp.i
 create mode 100755 Wrapping/CSwig/CommonA/itkCommand.i
 create mode 100755 Wrapping/CSwig/CommonA/itkJavaCommand.h
 create mode 100644 Wrapping/CSwig/CommonA/itkPyBuffer.h
 create mode 100644 Wrapping/CSwig/CommonA/itkPyBuffer.txx
 create mode 100644 Wrapping/CSwig/CommonA/itkPyCommand.cxx
 create mode 100644 Wrapping/CSwig/CommonA/itkPyCommand.h
 create mode 100644 Wrapping/CSwig/CommonA/itkStringStream.cxx
 create mode 100644 Wrapping/CSwig/CommonA/itkStringStream.h
 create mode 100644 Wrapping/CSwig/CommonA/itkTclCommand.cxx
 create mode 100644 Wrapping/CSwig/CommonA/itkTclCommand.h
 create mode 100644 Wrapping/CSwig/CommonA/wrap_ITKCommonA.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_ITKCommonAJava.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_ITKCommonAPython.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_ITKCommonATcl.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_ITKCommonBase.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_ITKInterpolators.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_ITKPyUtils.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_ITKRegions.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_ITKUtils.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_SwigExtras.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkArray.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkBinaryBallStructuringElement.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkContinuousIndex.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkDenseFiniteDifferenceImageFilter_2D.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkDenseFiniteDifferenceImageFilter_3D.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkDifferenceImageFilter.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkEventObject.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceFunction.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceImageFilter_2D.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceImageFilter_3D.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkFixedArray.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkFunctionBase.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkImageConstIterator.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkImageFunction.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkImageRegionConstIterator.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkImageRegionIterator.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkImageSource.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkImageToImageFilter_2D.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkImageToImageFilter_3D.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkImage_2D.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkImage_3D.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkInPlaceImageFilter_A.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkInPlaceImageFilter_B.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkIndex.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkLevelSet.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkNeighborhood.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkPoint.cxx
 create mode 100644 Wrapping/CSwig/CommonA/wrap_itkPyBuffer.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkSize.cxx
 create mode 100755 Wrapping/CSwig/CommonA/wrap_itkVector.cxx
 create mode 100644 Wrapping/CSwig/CommonB/.NoDartCoverage
 create mode 100755 Wrapping/CSwig/CommonB/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/CommonB/CVS/Entries
 create mode 100644 Wrapping/CSwig/CommonB/CVS/Repository
 create mode 100644 Wrapping/CSwig/CommonB/CVS/Root
 create mode 100644 Wrapping/CSwig/CommonB/CVS/Tag
 create mode 100644 Wrapping/CSwig/CommonB/CVS/Template
 create mode 100755 Wrapping/CSwig/CommonB/wrap_ITKCommonB.cxx
 create mode 100644 Wrapping/CSwig/CommonB/wrap_ITKCommonBJava.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_ITKCommonBPython.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_ITKCommonBTcl.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_ITKKernelDeformableTransforms.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_ITKRigidTransforms.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_ITKSimilarityTransforms.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_itkAffineTransform.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_itkAzimuthElevationToCartesianTransform.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_itkBSplineDeformableTransform.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_itkIdentityTransform.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_itkMatrixOffsetTransformBase.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_itkScaleTransform.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_itkTransform.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_itkTranslationTransform.cxx
 create mode 100755 Wrapping/CSwig/CommonB/wrap_itkVersorTransform.cxx
 create mode 100644 Wrapping/CSwig/IO/.NoDartCoverage
 create mode 100755 Wrapping/CSwig/IO/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/IO/itkTkImageViewer2D.cxx
 create mode 100644 Wrapping/CSwig/IO/itkTkImageViewer2D.h
 create mode 100644 Wrapping/CSwig/IO/wrap_IOBase.cxx
 create mode 100644 Wrapping/CSwig/IO/wrap_ITKIO.cxx
 create mode 100755 Wrapping/CSwig/IO/wrap_ITKIOJava.cxx
 create mode 100755 Wrapping/CSwig/IO/wrap_ITKIOPython.cxx
 create mode 100755 Wrapping/CSwig/IO/wrap_ITKIOTcl.cxx
 create mode 100644 Wrapping/CSwig/IO/wrap_itkImageFileReader_2D.cxx
 create mode 100644 Wrapping/CSwig/IO/wrap_itkImageFileReader_3D.cxx
 create mode 100644 Wrapping/CSwig/IO/wrap_itkImageFileWriter_2D.cxx
 create mode 100644 Wrapping/CSwig/IO/wrap_itkImageFileWriter_3D.cxx
 create mode 100644 Wrapping/CSwig/IO/wrap_itkImageSeriesReader.cxx
 create mode 100644 Wrapping/CSwig/IO/wrap_itkImageSeriesWriter.cxx
 create mode 100644 Wrapping/CSwig/IO/wrap_itkTkImageViewer2D.cxx
 create mode 100755 Wrapping/CSwig/Java/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/Java/CVS/Entries
 create mode 100644 Wrapping/CSwig/Java/CVS/Repository
 create mode 100644 Wrapping/CSwig/Java/CVS/Root
 create mode 100644 Wrapping/CSwig/Java/CVS/Tag
 create mode 100644 Wrapping/CSwig/Java/CVS/Template
 create mode 100755 Wrapping/CSwig/Java/ITKJavaJarDummyLibrary.c
 create mode 100644 Wrapping/CSwig/Java/itkbase.java.in
 create mode 100755 Wrapping/CSwig/Master.mdx.in
 create mode 100644 Wrapping/CSwig/Numerics/.NoDartCoverage
 create mode 100755 Wrapping/CSwig/Numerics/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/Numerics/CVS/Entries
 create mode 100644 Wrapping/CSwig/Numerics/CVS/Repository
 create mode 100644 Wrapping/CSwig/Numerics/CVS/Root
 create mode 100644 Wrapping/CSwig/Numerics/CVS/Tag
 create mode 100644 Wrapping/CSwig/Numerics/CVS/Template
 create mode 100755 Wrapping/CSwig/Numerics/wrap_ITKCostFunctions.cxx
 create mode 100755 Wrapping/CSwig/Numerics/wrap_ITKNumerics.cxx
 create mode 100755 Wrapping/CSwig/Numerics/wrap_ITKNumericsJava.cxx
 create mode 100755 Wrapping/CSwig/Numerics/wrap_ITKNumericsPython.cxx
 create mode 100755 Wrapping/CSwig/Numerics/wrap_ITKNumericsTcl.cxx
 create mode 100755 Wrapping/CSwig/Numerics/wrap_ITKOptimizers.cxx
 create mode 100755 Wrapping/CSwig/Patented/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/Patented/CVS/Entries
 create mode 100644 Wrapping/CSwig/Patented/CVS/Repository
 create mode 100644 Wrapping/CSwig/Patented/CVS/Root
 create mode 100644 Wrapping/CSwig/Patented/CVS/Tag
 create mode 100644 Wrapping/CSwig/Patented/CVS/Template
 create mode 100644 Wrapping/CSwig/Patented/wrap_ITKPatented.cxx
 create mode 100755 Wrapping/CSwig/Patented/wrap_ITKPatentedJava.cxx
 create mode 100755 Wrapping/CSwig/Patented/wrap_ITKPatentedPython.cxx
 create mode 100755 Wrapping/CSwig/Patented/wrap_ITKPatentedTcl.cxx
 create mode 100644 Wrapping/CSwig/Patented/wrap_itkSimpleFuzzyConnectednessImageFilterBase.cxx
 create mode 100644 Wrapping/CSwig/Patented/wrap_itkSimpleFuzzyConnectednessScalarImageFilter.cxx
 create mode 100644 Wrapping/CSwig/Python/InsightToolkit.py
 create mode 100644 Wrapping/CSwig/Python/OrfeoToolBox.py
 create mode 100644 Wrapping/CSwig/Python/OrfeoToolBox.pyc
 create mode 100644 Wrapping/CSwig/Python/itkalgorithms.py
 create mode 100644 Wrapping/CSwig/Python/itkbase.py.in
 create mode 100644 Wrapping/CSwig/Python/itkbasicfilters.py
 create mode 100644 Wrapping/CSwig/Python/itkcommon.py
 create mode 100644 Wrapping/CSwig/Python/itkcommon.pyc
 create mode 100644 Wrapping/CSwig/Python/itkdata.py
 create mode 100644 Wrapping/CSwig/Python/itkio.py
 create mode 100644 Wrapping/CSwig/Python/itkio.pyc
 create mode 100644 Wrapping/CSwig/Python/itknumerics.py
 create mode 100644 Wrapping/CSwig/Python/itktesting.py
 create mode 100644 Wrapping/CSwig/Python/otbcommon.py
 create mode 100644 Wrapping/CSwig/Python/otbcommon.pyc
 create mode 100644 Wrapping/CSwig/Python/otbio.py
 create mode 100644 Wrapping/CSwig/Python/otbio.pyc
 create mode 100644 Wrapping/CSwig/Python/otbvisu.py
 create mode 100644 Wrapping/CSwig/Python/vxlnumerics.py
 create mode 100644 Wrapping/CSwig/Python/vxlnumerics.pyc
 create mode 100755 Wrapping/CSwig/README
 create mode 100755 Wrapping/CSwig/SwigInc.txt.in
 create mode 100644 Wrapping/CSwig/SwigRuntime/.NoDartCoverage
 create mode 100755 Wrapping/CSwig/SwigRuntime/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/SwigRuntime/CVS/Entries
 create mode 100644 Wrapping/CSwig/SwigRuntime/CVS/Repository
 create mode 100644 Wrapping/CSwig/SwigRuntime/CVS/Root
 create mode 100644 Wrapping/CSwig/SwigRuntime/CVS/Tag
 create mode 100644 Wrapping/CSwig/SwigRuntime/CVS/Template
 create mode 100755 Wrapping/CSwig/SwigRuntime/JavaCWD.cxx
 create mode 100755 Wrapping/CSwig/SwigRuntime/JavaCWD.h
 create mode 100755 Wrapping/CSwig/SwigRuntime/JavaCWD.i
 create mode 100755 Wrapping/CSwig/SwigRuntime/swigrun.h
 create mode 100644 Wrapping/CSwig/Tcl/.NoDartCoverage
 create mode 100755 Wrapping/CSwig/Tcl/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/Tcl/CVS/Entries
 create mode 100644 Wrapping/CSwig/Tcl/CVS/Repository
 create mode 100644 Wrapping/CSwig/Tcl/CVS/Root
 create mode 100644 Wrapping/CSwig/Tcl/CVS/Tag
 create mode 100644 Wrapping/CSwig/Tcl/CVS/Template
 create mode 100755 Wrapping/CSwig/Tcl/itkTclAppInit.cxx
 create mode 100644 Wrapping/CSwig/Tcl/itkTclConfigure.h.in
 create mode 100644 Wrapping/CSwig/Tcl/itkdata.tcl
 create mode 100644 Wrapping/CSwig/Tcl/itkinteraction.tcl
 create mode 100644 Wrapping/CSwig/Tcl/itktesting.tcl
 create mode 100644 Wrapping/CSwig/Tcl/itkutils.tcl
 create mode 100644 Wrapping/CSwig/Tcl/itkwish
 create mode 100644 Wrapping/CSwig/Tcl/pkgIndex.tcl.in
 create mode 100644 Wrapping/CSwig/Tests/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/Tests/CVS/Entries
 create mode 100644 Wrapping/CSwig/Tests/CVS/Repository
 create mode 100644 Wrapping/CSwig/Tests/CVS/Root
 create mode 100644 Wrapping/CSwig/Tests/CVS/Tag
 create mode 100644 Wrapping/CSwig/Tests/CVS/Template
 create mode 100644 Wrapping/CSwig/Tests/Java/CVS/Entries
 create mode 100644 Wrapping/CSwig/Tests/Java/CVS/Repository
 create mode 100644 Wrapping/CSwig/Tests/Java/CVS/Root
 create mode 100644 Wrapping/CSwig/Tests/Java/CVS/Tag
 create mode 100644 Wrapping/CSwig/Tests/Java/CVS/Template
 create mode 100755 Wrapping/CSwig/Tests/Java/cannyEdgeDetectionImageFilter.java
 create mode 100644 Wrapping/CSwig/Tests/Python/CVS/Entries
 create mode 100644 Wrapping/CSwig/Tests/Python/CVS/Repository
 create mode 100644 Wrapping/CSwig/Tests/Python/CVS/Root
 create mode 100644 Wrapping/CSwig/Tests/Python/CVS/Tag
 create mode 100644 Wrapping/CSwig/Tests/Python/CVS/Template
 create mode 100755 Wrapping/CSwig/Tests/Python/cannyEdgeDetectionImageFilter.py
 create mode 100644 Wrapping/CSwig/Tests/Python/testDirectory.py
 create mode 100755 Wrapping/CSwig/Tests/Python/testObject.py
 create mode 100644 Wrapping/CSwig/Tests/Tcl/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/Tests/Tcl/CVS/Entries
 create mode 100644 Wrapping/CSwig/Tests/Tcl/CVS/Repository
 create mode 100644 Wrapping/CSwig/Tests/Tcl/CVS/Root
 create mode 100644 Wrapping/CSwig/Tests/Tcl/CVS/Tag
 create mode 100644 Wrapping/CSwig/Tests/Tcl/CVS/Template
 create mode 100644 Wrapping/CSwig/Tests/Tcl/PrintAll.tcl
 create mode 100755 Wrapping/CSwig/Tests/Tcl/randomImage.tcl
 create mode 100755 Wrapping/CSwig/Tests/Tcl/testDirectory.tcl
 create mode 100755 Wrapping/CSwig/Tests/Tcl/testObject.tcl
 create mode 100644 Wrapping/CSwig/VXLNumerics/.NoDartCoverage
 create mode 100755 Wrapping/CSwig/VXLNumerics/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/VXLNumerics/CVS/Entries
 create mode 100644 Wrapping/CSwig/VXLNumerics/CVS/Repository
 create mode 100644 Wrapping/CSwig/VXLNumerics/CVS/Root
 create mode 100644 Wrapping/CSwig/VXLNumerics/CVS/Tag
 create mode 100644 Wrapping/CSwig/VXLNumerics/CVS/Template
 create mode 100755 Wrapping/CSwig/VXLNumerics/wrap_VXLNumerics.cxx
 create mode 100755 Wrapping/CSwig/VXLNumerics/wrap_VXLNumerics.h
 create mode 100755 Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsJava.cxx
 create mode 100755 Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsPerl.cxx
 create mode 100755 Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsPython.cxx
 create mode 100755 Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsTcl.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_c_vector.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_diag_matrix.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_file_matrix.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_file_vector.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_fortran_copy.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_fixed.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_fixed_ref.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_ref.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_vector.cxx
 create mode 100644 Wrapping/CSwig/VXLNumerics/wrap_vnl_vector_ref.cxx
 create mode 100755 Wrapping/CSwig/empty.depend.in
 create mode 100644 Wrapping/CSwig/itk.swg
 create mode 100755 Wrapping/CSwig/itkCSwigBinaryBallStructuringElement.h
 create mode 100755 Wrapping/CSwig/itkCSwigImages.h
 create mode 100755 Wrapping/CSwig/itkCSwigMacros.h
 create mode 100755 Wrapping/CSwig/otbCSwigImages.h
 create mode 100755 Wrapping/CSwig/otbCSwigImages.h~
 create mode 100755 Wrapping/CSwig/otbCSwigMacros.h
 create mode 100755 Wrapping/CSwig/otbCSwigMacros.h~
 create mode 100755 Wrapping/CSwig/otbCommon/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/otbCommon/wrap_OTBCommon.cxx
 create mode 100644 Wrapping/CSwig/otbCommon/wrap_OTBCommonJava.cxx
 create mode 100755 Wrapping/CSwig/otbCommon/wrap_OTBCommonPython.cxx
 create mode 100755 Wrapping/CSwig/otbCommon/wrap_OTBCommonTcl.cxx
 create mode 100644 Wrapping/CSwig/otbCommon/wrap_itkImageSource.cxx
 create mode 100644 Wrapping/CSwig/otbCommon/wrap_otbImage.cxx
 create mode 100644 Wrapping/CSwig/otbCommon/wrap_otbVectorImage.cxx
 create mode 100755 Wrapping/CSwig/otbIO/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/otbIO/wrap_OTBIO.cxx
 create mode 100755 Wrapping/CSwig/otbIO/wrap_OTBIOJava.cxx
 create mode 100755 Wrapping/CSwig/otbIO/wrap_OTBIOPython.cxx
 create mode 100755 Wrapping/CSwig/otbIO/wrap_OTBIOTcl.cxx
 create mode 100644 Wrapping/CSwig/otbIO/wrap_otbIOBase.cxx
 create mode 100644 Wrapping/CSwig/otbIO/wrap_otbImageFileReader.cxx
 create mode 100644 Wrapping/CSwig/otbIO/wrap_otbImageFileWriter.cxx
 create mode 100755 Wrapping/CSwig/otbVisu/CMakeLists.txt
 create mode 100644 Wrapping/CSwig/otbVisu/wrap_OTBVisu.cxx
 create mode 100755 Wrapping/CSwig/otbVisu/wrap_OTBVisuJava.cxx
 create mode 100755 Wrapping/CSwig/otbVisu/wrap_OTBVisuPython.cxx
 create mode 100755 Wrapping/CSwig/otbVisu/wrap_OTBVisuTcl.cxx
 create mode 100644 Wrapping/CSwig/otbVisu/wrap_otbImageViewer.cxx
 create mode 100644 Wrapping/CSwig/pythonfiles.sh.in
 create mode 100644 Wrapping/CSwig/pythonfiles_install.cmake.in
 create mode 100755 Wrapping/CSwig/swapItkAndOtbImages.py
 create mode 100644 Wrapping/otbWrapSetup.cmake

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8700272124..ea4de438ee 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -270,6 +270,17 @@ SET(OTB_STREAM_MAX_SIZE_BUFFER_FOR_STREAMING 8*2000*10 CACHE STRING "Max size bu
 MARK_AS_ADVANCED(OTB_STREAM_MAX_SIZE_BUFFER_FOR_STREAMING)
 
 
+
+#-----------------------------------------------------------------------------
+# Perform a setup of OTB Wrapping. This will provide CMake options for
+# individual wrapping as well as determine if CableSwig is required. If it is,
+# OTB_NEED_CableSwig will be set. This file also tries to locate CableSwig by
+# searching first in the source tree of OTB, and if that fails, it searches
+# for a binary built of CableSwig.
+#
+INCLUDE(${OTB_SOURCE_DIR}/Wrapping/otbsWrapSetup.cmake)
+
+
 #-----------------------------------------------------------------------------
 # Option for generate Patented examples  !!!
 OPTION(OTB_USE_PATENTED "Build patented examples. ITK must be genereted whith patented option (ITK_USE_PATENTED = ON)." OFF)
@@ -293,6 +304,9 @@ OPTION(BUILD_TESTING "Generer les tests." OFF)
 # Dispatch the build into the proper subdirectories.
 SUBDIRS(Utilities Code)
 
+SUBDIRS(Wrapping)
+
+
 IF (BUILD_EXAMPLES)
   SUBDIRS(Examples)
 ENDIF (BUILD_EXAMPLES)
diff --git a/Code/Common/otbTestMain.h b/Code/Common/otbTestMain.h
index e25b26d05b..33bcaadf06 100644
--- a/Code/Common/otbTestMain.h
+++ b/Code/Common/otbTestMain.h
@@ -359,6 +359,16 @@ bool isHexaPointerAddress(std::string str)
   		start = 2;
   		size = str.size();
   }
+  // if 01adress
+  else if(
+  		(str[0]==48) &&
+  		(str[1]==49) &&
+  		(str.size()==8))
+  {
+  		result = true;
+  		start = 2;
+  		size = str.size();
+  }
 
   unsigned int i(start);
   while(result&&(i<size))
diff --git a/Code/IO/otbBSQImageIO.h b/Code/IO/otbBSQImageIO.h
index 4d88fc704a..f1ffedee30 100755
--- a/Code/IO/otbBSQImageIO.h
+++ b/Code/IO/otbBSQImageIO.h
@@ -89,7 +89,8 @@ public:
    * that the IORegion has been set properly. */
   virtual void Write(const void* buffer);
 
-  void SampleImage(void* buffer,int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
+  // JULIEN: NOT USED, NOT IMPLEMENTED
+  // void SampleImage(void* buffer,int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
   
 protected:
   /** Construtor.*/
diff --git a/Code/IO/otbGDALImageIO.h b/Code/IO/otbGDALImageIO.h
index 41363b2981..e507eba912 100755
--- a/Code/IO/otbGDALImageIO.h
+++ b/Code/IO/otbGDALImageIO.h
@@ -112,7 +112,8 @@ public:
    * that the IORegion has been set properly. */
   virtual void Write(const void* buffer);
 
-  void SampleImage(void* buffer,int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
+  // JULIEN: NOT USED, NOT IMPLEMENTED
+  //void SampleImage(void* buffer,int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
   
 protected:
   /** Construtor.*/
diff --git a/Code/IO/otbLUMImageIO.h b/Code/IO/otbLUMImageIO.h
index f798f8b93b..f8123c9756 100755
--- a/Code/IO/otbLUMImageIO.h
+++ b/Code/IO/otbLUMImageIO.h
@@ -88,8 +88,8 @@ public:
   /** Writes the data to disk from the memory buffer provided. Make sure
    * that the IORegion has been set properly. */
   virtual void Write(const void* buffer);
-
-  void SampleImage(void* buffer,int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
+  // JULIEN: NOT USED, NOT IMPLEMENTED
+  //void SampleImage(void* buffer,int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
   
 protected:
   /** Construtor.*/
diff --git a/Code/IO/otbONERAImageIO.h b/Code/IO/otbONERAImageIO.h
index c1d4abc68a..52e8a87d4d 100644
--- a/Code/IO/otbONERAImageIO.h
+++ b/Code/IO/otbONERAImageIO.h
@@ -87,8 +87,8 @@ public:
   /** Writes the data to disk from the memory buffer provided. Make sure
    * that the IORegion has been set properly. */
   virtual void Write(const void* buffer);
-
-  void SampleImage(void* buffer,int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
+  // JULIEN: NOT USED, NOT IMPLEMENTED
+  //void SampleImage(void* buffer,int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
   
 protected:
   /** Construtor.*/
diff --git a/Code/Visu/otbImageViewer.h b/Code/Visu/otbImageViewer.h
index c10c0f6ed2..957cf830a4 100644
--- a/Code/Visu/otbImageViewer.h
+++ b/Code/Visu/otbImageViewer.h
@@ -123,7 +123,7 @@ class ITK_EXPORT ImageViewer
  
 
    /** Set the input image */
-  virtual void SetImage(itk::ImageBase<2> * img);
+  virtual void SetImage(ImageType * img);
   /** Show the viewer (Update) */
   virtual void Show(void);
    /** Hide all Image View Windows */
@@ -164,6 +164,9 @@ protected:
   ~ImageViewer();
  
  private:
+  ImageViewer(const Self&); //purposely not implemented
+  void operator=(const Self&); //purposely not implemented
+
   /// zoom widget component
   ZoomWidgetPointerType m_ZoomWidget;
   /// scroll widget component
diff --git a/Code/Visu/otbImageViewer.txx b/Code/Visu/otbImageViewer.txx
index 0f578e3849..4533eefe62 100644
--- a/Code/Visu/otbImageViewer.txx
+++ b/Code/Visu/otbImageViewer.txx
@@ -383,7 +383,7 @@ namespace otb
   template <class TPixel>
   void
   ImageViewer<TPixel>
-  ::SetImage(itk::ImageBase<2> * img)
+  ::SetImage(ImageType * img)
   {
     m_InputImage = dynamic_cast<ImageType *>( img );
   } 
diff --git a/Wrapping/.NoDartCoverage b/Wrapping/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CMakeLists.txt b/Wrapping/CMakeLists.txt
new file mode 100644
index 0000000000..daecf7ab42
--- /dev/null
+++ b/Wrapping/CMakeLists.txt
@@ -0,0 +1,71 @@
+IF("${OTB_COMMON_BUILD_TYPE}" MATCHES "SHARED")
+  SET(BUILD_SHARED_LIBS ON)
+ENDIF("${OTB_COMMON_BUILD_TYPE}" MATCHES "SHARED")
+
+#-----------------------------------------------------------------------------
+# Find wrapping language API libraries.
+IF(OTB_CSWIG_TCL)
+  FIND_PACKAGE(TCL)
+  # Hide useless settings provided by FindTCL.
+  FOREACH(entry TCL_LIBRARY_DEBUG
+                TK_LIBRARY_DEBUG
+                TCL_STUB_LIBRARY
+                TCL_STUB_LIBRARY_DEBUG
+                TK_STUB_LIBRARY
+                TK_STUB_LIBRARY_DEBUG
+                TK_WISH)
+    SET(${entry} "${${entry}}" CACHE INTERNAL "This value is not used by OTB.")
+  ENDFOREACH(entry)
+ENDIF(OTB_CSWIG_TCL)
+
+IF(OTB_CSWIG_PYTHON)
+  INCLUDE(${CMAKE_ROOT}/Modules/FindPythonLibs.cmake)
+  FIND_PROGRAM(PYTHON_EXECUTABLE
+    NAMES python python2.3 python2.2 python2.1 python2.0 python1.6 python1.5 
+    PATHS
+    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.3\\InstallPath]
+    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.2\\InstallPath]
+    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.1\\InstallPath]
+    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.0\\InstallPath]
+    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\1.6\\InstallPath]
+    [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\1.5\\InstallPath]
+    )
+  MARK_AS_ADVANCED(PYTHON_EXECUTABLE)
+ENDIF(OTB_CSWIG_PYTHON)
+
+IF(OTB_CSWIG_JAVA)
+  FIND_PACKAGE(Java)
+  FIND_PACKAGE(JNI)
+ENDIF(OTB_CSWIG_JAVA)
+
+IF(OTB_CSWIG_PERL)
+  FIND_PACKAGE(Perl)
+  FIND_PACKAGE(PerlLibs)
+ENDIF(OTB_CSWIG_PERL)
+
+MARK_AS_ADVANCED(OTB_CSWIG_PYTHON)
+MARK_AS_ADVANCED(OTB_CSWIG_TCL)
+MARK_AS_ADVANCED(OTB_CSWIG_JAVA)
+MARK_AS_ADVANCED(OTB_CSWIG_PERL)
+MARK_AS_ADVANCED(CABLE_INDEX)
+MARK_AS_ADVANCED(CSWIG)
+MARK_AS_ADVANCED(GCCXML)
+
+# set a variable to determine if 
+# the CSwig directory should be used
+SET(OTB_CSWIG_DIR 0)
+IF(OTB_CSWIG_TCL)
+  SET(OTB_CSWIG_DIR 1)
+ENDIF(OTB_CSWIG_TCL)
+IF(OTB_CSWIG_PYTHON)
+  SET(OTB_CSWIG_DIR 1)
+ENDIF(OTB_CSWIG_PYTHON)
+IF(OTB_CSWIG_JAVA)
+  SET(OTB_CSWIG_DIR 1)
+ENDIF(OTB_CSWIG_JAVA)
+
+IF(OTB_CSWIG_DIR)
+  SUBDIRS(CSwig)
+ENDIF(OTB_CSWIG_DIR)
+
+
diff --git a/Wrapping/CSwig/.NoDartCoverage b/Wrapping/CSwig/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/Algorithms/.NoDartCoverage b/Wrapping/CSwig/Algorithms/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/Algorithms/CMakeLists.txt b/Wrapping/CSwig/Algorithms/CMakeLists.txt
new file mode 100755
index 0000000000..382b44dc7a
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/CMakeLists.txt
@@ -0,0 +1,43 @@
+# create the ITKAlgorithmsTcl libraries
+SET(WRAP_SOURCES
+    wrap_itkCurvatureFlowImageFilter
+    wrap_itkDemonsRegistrationFilter
+    wrap_itkHistogramMatchingImageFilter
+    wrap_itkImageRegistrationMethod
+    wrap_itkImageToImageMetric
+    wrap_itkMattesMutualInformationImageToImageMetric
+    wrap_itkMeanSquaresImageToImageMetric
+    wrap_itkMinMaxCurvatureFlowImageFilter
+    wrap_itkMutualInformationImageToImageMetric
+    wrap_itkMultiResolutionImageRegistrationMethod
+    wrap_itkNormalizedCorrelationImageToImageMetric
+    wrap_itkOtsuThresholdImageCalculator
+    wrap_itkMeanReciprocalSquareDifferenceImageToImageMetric
+    wrap_itkRecursiveMultiResolutionPyramidImageFilter
+    wrap_itkThresholdSegmentationLevelSetImageFilter
+    wrap_itkGeodesicActiveContourLevelSetImageFilter
+    wrap_itkShapeDetectionLevelSetImageFilter
+#    wrap_itkCurvesLevelSetImageFilter
+#    wrap_itkNarrowBandLevelSetImageFilter
+    wrap_itkPDEDeformableRegistrationFilter
+#    wrap_itkNarrowBandCurvesLevelSetImageFilter
+    wrap_itkVoronoiSegmentationImageFilter
+    wrap_itkWatershedImageFilter
+    wrap_itkSegmentationLevelSetImageFilter
+    wrap_itkSparseFieldLevelSetImageFilter
+    wrap_itkSymmetricForcesDemonsRegistrationFilter
+    wrap_itkTreeNodeSO
+    wrap_itkLevelSetFunction
+)
+
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/Numerics/ITKNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonB/ITKCommonB.mdx"
+                       "${WrapOTB_BINARY_DIR}/BasicFiltersA/ITKBasicFiltersA.mdx"
+                       "${WrapOTB_BINARY_DIR}/BasicFiltersB/ITKBasicFiltersB.mdx"
+                       "${WrapOTB_BINARY_DIR}/Algorithms/ITKAlgorithms.mdx"
+)
+
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" ITKAlgorithms Algorithms 
+  "ITKNumerics;ITKCommonB;ITKCommonA;ITKBasicFiltersA;ITKBasicFiltersB" "" "")
diff --git a/Wrapping/CSwig/Algorithms/CVS/Entries b/Wrapping/CSwig/Algorithms/CVS/Entries
new file mode 100644
index 0000000000..9851f715b5
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/CVS/Entries
@@ -0,0 +1,36 @@
+/.NoDartCoverage/1.1/Sat Sep 25 17:38:41 2004//TITK-3-0-1
+/CMakeLists.txt/1.31/Fri Jun  3 08:37:35 2005//TITK-3-0-1
+/wrap_ITKAlgorithms.cxx/1.18/Fri Jun  3 08:37:35 2005//TITK-3-0-1
+/wrap_ITKAlgorithmsJava.cxx/1.2/Wed Feb 18 14:47:41 2004//TITK-3-0-1
+/wrap_ITKAlgorithmsPython.cxx/1.1/Tue May 13 20:28:38 2003//TITK-3-0-1
+/wrap_ITKAlgorithmsTcl.cxx/1.1/Tue May 13 20:28:38 2003//TITK-3-0-1
+/wrap_itkCurvatureFlowImageFilter.cxx/1.5/Wed Nov 26 02:01:03 2003//TITK-3-0-1
+/wrap_itkCurvesLevelSetImageFilter.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_itkDemonsRegistrationFilter.cxx/1.5/Fri Apr  1 16:30:14 2005//TITK-3-0-1
+/wrap_itkGeodesicActiveContourLevelSetImageFilter.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_itkHistogramMatchingImageFilter.cxx/1.5/Thu Jan 13 18:37:50 2005//TITK-3-0-1
+/wrap_itkImageRegistrationMethod.cxx/1.6/Wed Jan 19 16:45:43 2005//TITK-3-0-1
+/wrap_itkImageToImageMetric.cxx/1.4/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_itkLevelSetFunction.cxx/1.1/Tue Jan 25 22:50:35 2005//TITK-3-0-1
+/wrap_itkMattesMutualInformationImageToImageMetric.cxx/1.4/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_itkMeanReciprocalSquareDifferenceImageToImageMetric.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_itkMeanSquaresImageToImageMetric.cxx/1.4/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_itkMinMaxCurvatureFlowImageFilter.cxx/1.1/Wed Nov 26 02:01:03 2003//TITK-3-0-1
+/wrap_itkMultiResolutionImageRegistrationMethod.cxx/1.1/Tue Oct 14 17:59:55 2003//TITK-3-0-1
+/wrap_itkMutualInformationImageToImageMetric.cxx/1.4/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_itkNarrowBandCurvesLevelSetImageFilter.cxx/1.3/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_itkNarrowBandLevelSetImageFilter.cxx/1.2/Thu Jan 13 18:37:50 2005//TITK-3-0-1
+/wrap_itkNormalizedCorrelationImageToImageMetric.cxx/1.4/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_itkOtsuThresholdImageCalculator.cxx/1.4/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_itkPDEDeformableRegistrationFilter.cxx/1.3/Fri Apr  1 16:30:14 2005//TITK-3-0-1
+/wrap_itkRecursiveMultiResolutionPyramidImageFilter.cxx/1.2/Thu Nov  6 22:24:13 2003//TITK-3-0-1
+/wrap_itkSegmentationLevelSetImageFilter.cxx/1.1/Thu Jan 20 15:19:57 2005//TITK-3-0-1
+/wrap_itkShapeDetectionLevelSetImageFilter.cxx/1.4/Wed Jan 19 16:45:43 2005//TITK-3-0-1
+/wrap_itkSparseFieldLevelSetImageFilter.cxx/1.2/Tue Jan 25 16:40:03 2005//TITK-3-0-1
+/wrap_itkSymmetricForcesDemonsRegistrationFilter.cxx/1.1/Fri Jun  3 08:37:35 2005//TITK-3-0-1
+/wrap_itkThresholdSegmentationLevelSetImageFilter.cxx/1.5/Wed Jan 26 17:15:22 2005//TITK-3-0-1
+/wrap_itkTreeNode.cxx/1.1/Thu Jan 20 15:19:57 2005//TITK-3-0-1
+/wrap_itkTreeNodeSO.cxx/1.1/Fri Jan 14 15:27:23 2005//TITK-3-0-1
+/wrap_itkVoronoiSegmentationImageFilter.cxx/1.2/Thu Jan 13 18:37:50 2005//TITK-3-0-1
+/wrap_itkWatershedImageFilter.cxx/1.1/Fri Mar 26 12:57:10 2004//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/Algorithms/CVS/Repository b/Wrapping/CSwig/Algorithms/CVS/Repository
new file mode 100644
index 0000000000..911d45decb
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/Algorithms
diff --git a/Wrapping/CSwig/Algorithms/CVS/Root b/Wrapping/CSwig/Algorithms/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/Algorithms/CVS/Tag b/Wrapping/CSwig/Algorithms/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/Algorithms/CVS/Template b/Wrapping/CSwig/Algorithms/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithms.cxx b/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithms.cxx
new file mode 100644
index 0000000000..2dc151d197
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithms.cxx
@@ -0,0 +1,54 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKAlgorithms.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/03 08:37:35 $
+  Version:   $Revision: 1.18 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const package = ITK_WRAP_PACKAGE_NAME(ITK_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    ITK_WRAP_GROUP(itkCurvatureFlowImageFilter),
+    ITK_WRAP_GROUP(itkDemonsRegistrationFilter),
+    ITK_WRAP_GROUP(itkHistogramMatchingImageFilter),
+    ITK_WRAP_GROUP(itkImageRegistrationMethod),
+    ITK_WRAP_GROUP(itkImageToImageMetric),
+    ITK_WRAP_GROUP(itkMeanSquaresImageToImageMetric),
+    ITK_WRAP_GROUP(itkMutualInformationImageToImageMetric),
+    ITK_WRAP_GROUP(itkMultiResolutionImageRegistrationMethod),
+    ITK_WRAP_GROUP(itkNormalizedCorrelationImageToImageMetric),
+    ITK_WRAP_GROUP(itkOtsuThresholdImageCalculator),
+    ITK_WRAP_GROUP(itkMeanReciprocalSquareDifferenceImageToImageMetric),
+    ITK_WRAP_GROUP(itkThresholdSegmentationLevelSetImageFilter),
+    ITK_WRAP_GROUP(itkGeodesicActiveContourLevelSetImageFilter),
+    ITK_WRAP_GROUP(itkShapeDetectionLevelSetImageFilter),
+//     ITK_WRAP_GROUP(itkCurvesLevelSetImageFilter),
+//     ITK_WRAP_GROUP(itkNarrowBandLevelSetImageFilter),     
+//     ITK_WRAP_GROUP(itkNarrowBandCurvesLevelSetImageFilter),
+    ITK_WRAP_GROUP(itkMattesMutualInformationImageToImageMetric),
+    ITK_WRAP_GROUP(itkPDEDeformableRegistrationFilter),
+    ITK_WRAP_GROUP(itkRecursiveMultiResolutionPyramidImageFilter),
+    ITK_WRAP_GROUP(itkVoronoiSegmentationImageFilter),
+    ITK_WRAP_GROUP(itkWatershedImageFilter),
+    ITK_WRAP_GROUP(itkSegmentationLevelSetImageFilter),
+    ITK_WRAP_GROUP(itkTreeNodeSO),
+    ITK_WRAP_GROUP(itkSparseFieldLevelSetImageFilter),
+    ITK_WRAP_GROUP(itkSymmetricForcesDemonsRegistrationFilter),
+    ITK_WRAP_GROUP(itkLevelSetFunction)
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsJava.cxx b/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsJava.cxx
new file mode 100755
index 0000000000..9d81b644c5
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsJava.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKAlgorithmsJava"
+#include "wrap_ITKAlgorithms.cxx"
diff --git a/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsPython.cxx b/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsPython.cxx
new file mode 100755
index 0000000000..36771bcb0d
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsPython.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKAlgorithmsPython"
+#include "wrap_ITKAlgorithms.cxx"
diff --git a/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsTcl.cxx b/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsTcl.cxx
new file mode 100755
index 0000000000..28575f9e59
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_ITKAlgorithmsTcl.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKAlgorithmsTcl"
+#include "wrap_ITKAlgorithms.cxx"
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkCurvatureFlowImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkCurvatureFlowImageFilter.cxx
new file mode 100644
index 0000000000..dc18946ae9
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkCurvatureFlowImageFilter.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkCurvatureFlowImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/11/26 02:01:03 $
+  Version:   $Revision: 1.5 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkCurvatureFlowImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkCurvatureFlowImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(CurvatureFlowImageFilter, image::F2, image::F2,
+                     itkCurvatureFlowImageFilterF2F2);
+    ITK_WRAP_OBJECT2(CurvatureFlowImageFilter, image::F3, image::F3,
+                     itkCurvatureFlowImageFilterF3F3);
+
+    ITK_WRAP_OBJECT2(CurvatureFlowImageFilter, image::D2, image::D2,
+                     itkCurvatureFlowImageFilterD2D2);
+    ITK_WRAP_OBJECT2(CurvatureFlowImageFilter, image::D3, image::D3,
+                     itkCurvatureFlowImageFilterD3D3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkCurvesLevelSetImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkCurvesLevelSetImageFilter.cxx
new file mode 100644
index 0000000000..3a3da46704
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkCurvesLevelSetImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkCurvesLevelSetImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkCurvesLevelSetImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkCurvesLevelSetImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(CurvesLevelSetImageFilter, image::F2, image::F2,
+                     itkCurvesLevelSetImageFilterF2F2);
+    ITK_WRAP_OBJECT2(CurvesLevelSetImageFilter, image::F3, image::F3,
+                     itkCurvesLevelSetImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkDemonsRegistrationFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkDemonsRegistrationFilter.cxx
new file mode 100644
index 0000000000..7620467f6c
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkDemonsRegistrationFilter.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkDemonsRegistrationFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.5 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkDemonsRegistrationFilter.h"
+#include "itkVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkDemonsRegistrationFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT3(DemonsRegistrationFilter, image::F2, image::F2, image::VF2,
+                     itkDemonsRegistrationFilterF2F2);
+    ITK_WRAP_OBJECT3(DemonsRegistrationFilter, image::F3, image::F3, image::VF3,
+                     itkDemonsRegistrationFilterF3F3);
+    ITK_WRAP_OBJECT3(DemonsRegistrationFilter, image::US2, image::US2, image::VF2,
+                     itkDemonsRegistrationFilterUS2US2);
+    ITK_WRAP_OBJECT3(DemonsRegistrationFilter, image::US3, image::US3, image::VF3,
+                     itkDemonsRegistrationFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkGeodesicActiveContourLevelSetImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkGeodesicActiveContourLevelSetImageFilter.cxx
new file mode 100644
index 0000000000..bd5ae345fa
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkGeodesicActiveContourLevelSetImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkGeodesicActiveContourLevelSetImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkGeodesicActiveContourLevelSetImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkGeodesicActiveContourLevelSetImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(GeodesicActiveContourLevelSetImageFilter, image::F2, image::F2,
+                     itkGeodesicActiveContourLevelSetImageFilterF2F2);
+    ITK_WRAP_OBJECT2(GeodesicActiveContourLevelSetImageFilter, image::F3, image::F3,
+                     itkGeodesicActiveContourLevelSetImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkHistogramMatchingImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkHistogramMatchingImageFilter.cxx
new file mode 100644
index 0000000000..9eee803a26
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkHistogramMatchingImageFilter.cxx
@@ -0,0 +1,37 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkHistogramMatchingImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/13 18:37:50 $
+  Version:   $Revision: 1.5 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkHistogramMatchingImageFilter.h"
+#include "itkSpatialObject.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkHistogramMatchingImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(HistogramMatchingImageFilter, image::F2, image::F2,
+                     itkHistogramMatchingImageFilterF2F2);
+    ITK_WRAP_OBJECT2(HistogramMatchingImageFilter, image::F3, image::F3,
+                     itkHistogramMatchingImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkImageRegistrationMethod.cxx b/Wrapping/CSwig/Algorithms/wrap_itkImageRegistrationMethod.cxx
new file mode 100644
index 0000000000..0992e64073
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkImageRegistrationMethod.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageRegistrationMethod.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/19 16:45:43 $
+  Version:   $Revision: 1.6 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageRegistrationMethod.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageRegistrationMethod);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(ImageRegistrationMethod, image::F2, image::F2,
+                     itkImageRegistrationMethodF2F2);
+    ITK_WRAP_OBJECT2(ImageRegistrationMethod, image::F3, image::F3,
+                     itkImageRegistrationMethodF3F3);
+    ITK_WRAP_OBJECT2(ImageRegistrationMethod, image::US2, image::US2,
+                     itkImageRegistrationMethodUS2US2);
+    ITK_WRAP_OBJECT2(ImageRegistrationMethod, image::US3, image::US3,
+                     itkImageRegistrationMethodUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkImageToImageMetric.cxx b/Wrapping/CSwig/Algorithms/wrap_itkImageToImageMetric.cxx
new file mode 100644
index 0000000000..2d5c59bd90
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkImageToImageMetric.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageToImageMetric.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.4 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageToImageMetric.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageToImageMetric);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(ImageToImageMetric, image::F2, image::F2,
+                     itkImageToImageMetricF2F2);
+    ITK_WRAP_OBJECT2(ImageToImageMetric, image::F3, image::F3,
+                     itkImageToImageMetricF3F3);
+    ITK_WRAP_OBJECT2(ImageToImageMetric, image::US2, image::US2,
+                     itkImageToImageMetricUS2US2);
+    ITK_WRAP_OBJECT2(ImageToImageMetric, image::US3, image::US3,
+                     itkImageToImageMetricUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkLevelSetFunction.cxx b/Wrapping/CSwig/Algorithms/wrap_itkLevelSetFunction.cxx
new file mode 100644
index 0000000000..1b014d61d3
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkLevelSetFunction.cxx
@@ -0,0 +1,35 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkLevelSetFunction.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/25 22:50:35 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkLevelSetFunction.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkLevelSetFunction);
+  namespace wrappers
+  {
+    
+    ITK_WRAP_OBJECT1(LevelSetFunction,image::F2,itkLevelSetFunctionF2);
+    ITK_WRAP_OBJECT1(LevelSetFunction,image::F3,itkLevelSetFunctionF3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkMattesMutualInformationImageToImageMetric.cxx b/Wrapping/CSwig/Algorithms/wrap_itkMattesMutualInformationImageToImageMetric.cxx
new file mode 100644
index 0000000000..a418477ad6
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkMattesMutualInformationImageToImageMetric.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMattesMutualInformationImageToImageMetric.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.4 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMattesMutualInformationImageToImageMetric.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMattesMutualInformationImageToImageMetric);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(MattesMutualInformationImageToImageMetric, image::F2, image::F2,
+                     itkMattesMutualInformationImageToImageMetricF2F2);
+    ITK_WRAP_OBJECT2(MattesMutualInformationImageToImageMetric, image::F3, image::F3,
+                     itkMattesMutualInformationImageToImageMetricF3F3);
+    ITK_WRAP_OBJECT2(MattesMutualInformationImageToImageMetric, image::US2, image::US2,
+                     itkMattesMutualInformationImageToImageMetricUS2US2);
+    ITK_WRAP_OBJECT2(MattesMutualInformationImageToImageMetric, image::US3, image::US3,
+                     itkMattesMutualInformationImageToImageMetricUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkMeanReciprocalSquareDifferenceImageToImageMetric.cxx b/Wrapping/CSwig/Algorithms/wrap_itkMeanReciprocalSquareDifferenceImageToImageMetric.cxx
new file mode 100644
index 0000000000..99df927600
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkMeanReciprocalSquareDifferenceImageToImageMetric.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMeanReciprocalSquareDifferenceImageToImageMetric.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMeanReciprocalSquareDifferenceImageToImageMetric.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMeanReciprocalSquareDifferenceImageToImageMetric);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(MeanReciprocalSquareDifferenceImageToImageMetric, image::F2, image::F2,
+                     itkMeanReciprocalSquareDifferenceImageToImageMetricF2F2);
+    ITK_WRAP_OBJECT2(MeanReciprocalSquareDifferenceImageToImageMetric, image::F3, image::F3,
+                     itkMeanReciprocalSquareDifferenceImageToImageMetricF3F3);
+    ITK_WRAP_OBJECT2(MeanReciprocalSquareDifferenceImageToImageMetric, image::US2, image::US2,
+                     itkMeanReciprocalSquareDifferenceImageToImageMetricUS2US2);
+    ITK_WRAP_OBJECT2(MeanReciprocalSquareDifferenceImageToImageMetric, image::US3, image::US3,
+                     itkMeanReciprocalSquareDifferenceImageToImageMetricUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkMeanSquaresImageToImageMetric.cxx b/Wrapping/CSwig/Algorithms/wrap_itkMeanSquaresImageToImageMetric.cxx
new file mode 100644
index 0000000000..4601e5be35
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkMeanSquaresImageToImageMetric.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMeanSquaresImageToImageMetric.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.4 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMeanSquaresImageToImageMetric.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMeanSquaresImageToImageMetric);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(MeanSquaresImageToImageMetric, image::F2, image::F2,
+                     itkMeanSquaresImageToImageMetricF2F2);
+    ITK_WRAP_OBJECT2(MeanSquaresImageToImageMetric, image::F3, image::F3,
+                     itkMeanSquaresImageToImageMetricF3F3);
+    ITK_WRAP_OBJECT2(MeanSquaresImageToImageMetric, image::US2, image::US2,
+                     itkMeanSquaresImageToImageMetricUS2US2);
+    ITK_WRAP_OBJECT2(MeanSquaresImageToImageMetric, image::US3, image::US3,
+                     itkMeanSquaresImageToImageMetricUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkMinMaxCurvatureFlowImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkMinMaxCurvatureFlowImageFilter.cxx
new file mode 100644
index 0000000000..8b5ed28c16
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkMinMaxCurvatureFlowImageFilter.cxx
@@ -0,0 +1,42 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMinMaxCurvatureFlowImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/11/26 02:01:03 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMinMaxCurvatureFlowImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+//=================================
+//THIS FILE GENERATED WITH MakeConsistentWrappedClasses.sh
+//=================================
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMinMaxCurvatureFlowImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(MinMaxCurvatureFlowImageFilter, image::F2 , image::F2 , itkMinMaxCurvatureFlowImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(MinMaxCurvatureFlowImageFilter, image::D2 , image::D2 , itkMinMaxCurvatureFlowImageFilterD2D2  );
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(MinMaxCurvatureFlowImageFilter, image::F3 , image::F3 , itkMinMaxCurvatureFlowImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(MinMaxCurvatureFlowImageFilter, image::D3 , image::D3 , itkMinMaxCurvatureFlowImageFilterD3D3  );
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkMultiResolutionImageRegistrationMethod.cxx b/Wrapping/CSwig/Algorithms/wrap_itkMultiResolutionImageRegistrationMethod.cxx
new file mode 100644
index 0000000000..b09ea0d1ad
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkMultiResolutionImageRegistrationMethod.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMultiResolutionImageRegistrationMethod.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/10/14 17:59:55 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMultiResolutionImageRegistrationMethod.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMultiResolutionImageRegistrationMethod);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(MultiResolutionImageRegistrationMethod, image::F2, image::F2,
+                     itkMultiResolutionImageRegistrationMethodF2F2);
+    ITK_WRAP_OBJECT2(MultiResolutionImageRegistrationMethod, image::F3, image::F3,
+                     itkMultiResolutionImageRegistrationMethodF3F3);
+    ITK_WRAP_OBJECT2(MultiResolutionImageRegistrationMethod, image::US2, image::US2,
+                     itkMultiResolutionImageRegistrationMethodUS2US2);
+    ITK_WRAP_OBJECT2(MultiResolutionImageRegistrationMethod, image::US3, image::US3,
+                     itkMultiResolutionImageRegistrationMethodUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkMutualInformationImageToImageMetric.cxx b/Wrapping/CSwig/Algorithms/wrap_itkMutualInformationImageToImageMetric.cxx
new file mode 100644
index 0000000000..347b33a055
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkMutualInformationImageToImageMetric.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMutualInformationImageToImageMetric.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.4 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMutualInformationImageToImageMetric.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMutualInformationImageToImageMetric);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(MutualInformationImageToImageMetric, image::F2, image::F2,
+                     itkMutualInformationImageToImageMetricF2F2);
+    ITK_WRAP_OBJECT2(MutualInformationImageToImageMetric, image::F3, image::F3,
+                     itkMutualInformationImageToImageMetricF3F3);
+    ITK_WRAP_OBJECT2(MutualInformationImageToImageMetric, image::US2, image::US2,
+                     itkMutualInformationImageToImageMetricUS2US2);
+    ITK_WRAP_OBJECT2(MutualInformationImageToImageMetric, image::US3, image::US3,
+                     itkMutualInformationImageToImageMetricUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkNarrowBandCurvesLevelSetImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkNarrowBandCurvesLevelSetImageFilter.cxx
new file mode 100644
index 0000000000..6ffba01bbc
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkNarrowBandCurvesLevelSetImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkNarrowBandCurvesLevelSetImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.3 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkNarrowBandCurvesLevelSetImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkNarrowBandCurvesLevelSetImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(NarrowBandCurvesLevelSetImageFilter, image::F2, image::F2,
+                     itkNarrowBandCurvesLevelSetImageFilterF2F2);
+    ITK_WRAP_OBJECT2(NarrowBandCurvesLevelSetImageFilter, image::F3, image::F3,
+                     itkNarrowBandCurvesLevelSetImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkNarrowBandLevelSetImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkNarrowBandLevelSetImageFilter.cxx
new file mode 100644
index 0000000000..e64dbe4621
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkNarrowBandLevelSetImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkNarrowBandLevelSetImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/13 18:37:50 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkNarrowBandLevelSetImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkNarrowBandLevelSetImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(NarrowBandImageFilterBase, image::F2, image::F2,
+                     itkNarrowBandImageFilterBaseF2F2);
+    ITK_WRAP_OBJECT2(NarrowBandImageFilterBase, image::F3, image::F3,
+                     itkNarrowBandImageFilterBaseF3F3);
+    ITK_WRAP_OBJECT2(NarrowBandLevelSetImageFilter, image::F2, image::F2,
+                     itkNarrowBandLevelSetImageFilterF2F2);
+    ITK_WRAP_OBJECT2(NarrowBandLevelSetImageFilter, image::F3, image::F3,
+                     itkNarrowBandLevelSetImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkNormalizedCorrelationImageToImageMetric.cxx b/Wrapping/CSwig/Algorithms/wrap_itkNormalizedCorrelationImageToImageMetric.cxx
new file mode 100644
index 0000000000..b96f9da388
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkNormalizedCorrelationImageToImageMetric.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkNormalizedCorrelationImageToImageMetric.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.4 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkNormalizedCorrelationImageToImageMetric.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkNormalizedCorrelationImageToImageMetric);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(NormalizedCorrelationImageToImageMetric, image::F2, image::F2,
+                     itkNormalizedCorrelationImageToImageMetricF2F2);
+    ITK_WRAP_OBJECT2(NormalizedCorrelationImageToImageMetric, image::F3, image::F3,
+                     itkNormalizedCorrelationImageToImageMetricF3F3);
+    ITK_WRAP_OBJECT2(NormalizedCorrelationImageToImageMetric, image::US2, image::US2,
+                     itkNormalizedCorrelationImageToImageMetricUS2US2);
+    ITK_WRAP_OBJECT2(NormalizedCorrelationImageToImageMetric, image::US3, image::US3,
+                     itkNormalizedCorrelationImageToImageMetricUS3US3);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkOtsuThresholdImageCalculator.cxx b/Wrapping/CSwig/Algorithms/wrap_itkOtsuThresholdImageCalculator.cxx
new file mode 100644
index 0000000000..0d17441869
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkOtsuThresholdImageCalculator.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkOtsuThresholdImageCalculator.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.4 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkOtsuThresholdImageCalculator.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkOtsuThresholdImageCalculator);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(OtsuThresholdImageCalculator, image::F2,
+                     itkOtsuThresholdImageCalculatorF2);
+    ITK_WRAP_OBJECT1(OtsuThresholdImageCalculator, image::F3,
+                     itkOtsuThresholdImageCalculatorF3);
+    ITK_WRAP_OBJECT1(OtsuThresholdImageCalculator, image::US2,
+                     itkOtsuThresholdImageCalculatorUS2);
+    ITK_WRAP_OBJECT1(OtsuThresholdImageCalculator, image::US3,
+                     itkOtsuThresholdImageCalculatorUS3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkPDEDeformableRegistrationFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkPDEDeformableRegistrationFilter.cxx
new file mode 100644
index 0000000000..ccc215b443
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkPDEDeformableRegistrationFilter.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkPDEDeformableRegistrationFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.3 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkPDEDeformableRegistrationFilter.h"
+#include "itkVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkPDEDeformableRegistrationFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT3(PDEDeformableRegistrationFilter, image::F2, image::F2, image::VF2,
+                     itkPDEDeformableRegistrationFilterF2F2);
+    ITK_WRAP_OBJECT3(PDEDeformableRegistrationFilter, image::F3, image::F3, image::VF3,
+                     itkPDEDeformableRegistrationFilterF3F3);
+    ITK_WRAP_OBJECT3(PDEDeformableRegistrationFilter, image::US2, image::US2, image::VF2,
+                     itkPDEDeformableRegistrationFilterUS2US2);
+    ITK_WRAP_OBJECT3(PDEDeformableRegistrationFilter, image::US3, image::US3, image::VF3,
+                     itkPDEDeformableRegistrationFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkRecursiveMultiResolutionPyramidImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkRecursiveMultiResolutionPyramidImageFilter.cxx
new file mode 100644
index 0000000000..e8365d7979
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkRecursiveMultiResolutionPyramidImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkRecursiveMultiResolutionPyramidImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/11/06 22:24:13 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkRecursiveMultiResolutionPyramidImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkRecursiveMultiResolutionPyramidImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RecursiveMultiResolutionPyramidImageFilter, image::F2, image::F2,
+                     itkRecursiveMultiResolutionPyramidImageFilterF2F2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RecursiveMultiResolutionPyramidImageFilter, image::F3, image::F3,
+                     itkRecursiveMultiResolutionPyramidImageFilterF3F3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RecursiveMultiResolutionPyramidImageFilter, image::US2, image::US2,
+                     itkRecursiveMultiResolutionPyramidImageFilterUS2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RecursiveMultiResolutionPyramidImageFilter, image::US3, image::US3,
+                     itkRecursiveMultiResolutionPyramidImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkSegmentationLevelSetImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkSegmentationLevelSetImageFilter.cxx
new file mode 100644
index 0000000000..1cb784dc47
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkSegmentationLevelSetImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkSegmentationLevelSetImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/20 15:19:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkShapeDetectionLevelSetImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkSegmentationLevelSetImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(SegmentationLevelSetImageFilter, image::F2, image::F2,
+                     itkSegmentationLevelSetImageFilterF2F2);
+    ITK_WRAP_OBJECT2(SegmentationLevelSetImageFilter, image::F3, image::F3,
+                     itkSegmentationLevelSetImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkShapeDetectionLevelSetImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkShapeDetectionLevelSetImageFilter.cxx
new file mode 100644
index 0000000000..4c0eba4e33
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkShapeDetectionLevelSetImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkShapeDetectionLevelSetImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/19 16:45:43 $
+  Version:   $Revision: 1.4 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkShapeDetectionLevelSetImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkShapeDetectionLevelSetImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(ShapeDetectionLevelSetImageFilter, image::F2, image::F2,
+                     itkShapeDetectionLevelSetImageFilterF2F2);
+    ITK_WRAP_OBJECT2(ShapeDetectionLevelSetImageFilter, image::F3, image::F3,
+                     itkShapeDetectionLevelSetImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkSparseFieldLevelSetImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkSparseFieldLevelSetImageFilter.cxx
new file mode 100644
index 0000000000..aa9663711a
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkSparseFieldLevelSetImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkSparseFieldLevelSetImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/25 16:40:03 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkSparseFieldLevelSetImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkSparseFieldLevelSetImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(SparseFieldLevelSetImageFilter,image::F2,image::F2,
+                     itkSparseFieldLevelSetImageFilterF2F2);
+    ITK_WRAP_OBJECT2(SparseFieldLevelSetImageFilter,image::F3,image::F3,
+                     itkSparseFieldLevelSetImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkSymmetricForcesDemonsRegistrationFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkSymmetricForcesDemonsRegistrationFilter.cxx
new file mode 100644
index 0000000000..c40144d5d2
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkSymmetricForcesDemonsRegistrationFilter.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkSymmetricForcesDemonsRegistrationFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/03 08:37:35 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkSymmetricForcesDemonsRegistrationFilter.h"
+#include "itkVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkSymmetricForcesDemonsRegistrationFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT3(SymmetricForcesDemonsRegistrationFilter, image::F2, image::F2, image::VF2,
+                     itkSymmetricForcesDemonsRegistrationFilterF2F2);
+    ITK_WRAP_OBJECT3(SymmetricForcesDemonsRegistrationFilter, image::F3, image::F3, image::VF3,
+                     itkSymmetricForcesDemonsRegistrationFilterF3F3);
+    ITK_WRAP_OBJECT3(SymmetricForcesDemonsRegistrationFilter, image::US2, image::US2, image::VF2,
+                     itkSymmetricForcesDemonsRegistrationFilterUS2US2);
+    ITK_WRAP_OBJECT3(SymmetricForcesDemonsRegistrationFilter, image::US3, image::US3, image::VF3,
+                     itkSymmetricForcesDemonsRegistrationFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkThresholdSegmentationLevelSetImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkThresholdSegmentationLevelSetImageFilter.cxx
new file mode 100644
index 0000000000..66942450ef
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkThresholdSegmentationLevelSetImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkThresholdSegmentationLevelSetImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/26 17:15:22 $
+  Version:   $Revision: 1.5 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkThresholdSegmentationLevelSetImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkThresholdSegmentationLevelSetImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(ThresholdSegmentationLevelSetImageFilter, image::F3, image::F3,
+                     itkThresholdSegmentationLevelSetImageFilterF3F3);
+    ITK_WRAP_OBJECT2(ThresholdSegmentationLevelSetImageFilter, image::F2, image::F2,
+                     itkThresholdSegmentationLevelSetImageFilterF2F2);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkTreeNode.cxx b/Wrapping/CSwig/Algorithms/wrap_itkTreeNode.cxx
new file mode 100644
index 0000000000..2c4c92bc41
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkTreeNode.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkTreeNode.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/20 15:19:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkHistogramMatchingImageFilter.h"
+#include "itkSpatialObject.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace itkso
+{
+  typedef itk::SpatialObject<2> SO2;
+  typedef itk::SpatialObject<3> SO3;
+}
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkTreeNode);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(TreeNode,itkso::SO2 *,itkSOTreeNodeSO2);
+    ITK_WRAP_OBJECT1(TreeNode,itkso::SO3 *,itkSOTreeNodeSO3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkTreeNodeSO.cxx b/Wrapping/CSwig/Algorithms/wrap_itkTreeNodeSO.cxx
new file mode 100644
index 0000000000..acfc924dcb
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkTreeNodeSO.cxx
@@ -0,0 +1,35 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkTreeNodeSO.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/14 15:27:23 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkTreeNode.h"
+#include "itkSpatialObject.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkTreeNodeSO);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(TreeNode, itk::SpatialObject<2>*,itkTreeNodeSO2);
+    ITK_WRAP_OBJECT1(TreeNode, itk::SpatialObject<3>*,itkTreeNodeSO3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkVoronoiSegmentationImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkVoronoiSegmentationImageFilter.cxx
new file mode 100644
index 0000000000..c2110e9ac0
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkVoronoiSegmentationImageFilter.cxx
@@ -0,0 +1,44 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkVoronoiSegmentationImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/13 18:37:50 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkVoronoiSegmentationImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace itktraits
+{
+  typedef itk::DefaultDynamicMeshTraits<double,2,2,double,float,double> 
+  dynamicMeshTraitDouble;
+}
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkVoronoiSegmentationImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT3(PointSet,double,2,itktraits::dynamicMeshTraitDouble,itkPointSetDouble);
+    ITK_WRAP_OBJECT3(Mesh,double,2,itktraits::dynamicMeshTraitDouble,itkMeshDouble);
+    ITK_WRAP_OBJECT3(VoronoiSegmentationImageFilterBase,
+                     image::UC2, image::UC2, image::UC2,
+                     itkVoronoiSegmentationImageFilterBaseUC2UC2UC2);
+    ITK_WRAP_OBJECT3(VoronoiSegmentationImageFilter, image::UC2, image::UC2, image::UC2,
+                     itkVoronoiSegmentationImageFilterUC2UC2UC2);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Algorithms/wrap_itkWatershedImageFilter.cxx b/Wrapping/CSwig/Algorithms/wrap_itkWatershedImageFilter.cxx
new file mode 100644
index 0000000000..e35b1bedea
--- /dev/null
+++ b/Wrapping/CSwig/Algorithms/wrap_itkWatershedImageFilter.cxx
@@ -0,0 +1,37 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkWatershedImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/03/26 12:57:10 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkWatershedImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkWatershedImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(WatershedImageFilter, image::F2, itkWatershedImageFilterF2);
+    ITK_WRAP_OBJECT1(WatershedImageFilter, image::F3, itkWatershedImageFilterF3);
+     
+    ITK_WRAP_OBJECT1(WatershedImageFilter, image::D2, itkWatershedImageFilterD2);
+    ITK_WRAP_OBJECT1(WatershedImageFilter, image::D3, itkWatershedImageFilterD3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/.NoDartCoverage b/Wrapping/CSwig/BasicFiltersA/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/BasicFiltersA/CMakeLists.txt b/Wrapping/CSwig/BasicFiltersA/CMakeLists.txt
new file mode 100755
index 0000000000..4186165189
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/CMakeLists.txt
@@ -0,0 +1,40 @@
+# create the ITKBasicFiltersTcl libraries
+SET(WRAP_SOURCES
+  wrap_itkAnisotropicDiffusionImageFilter_2D
+  wrap_itkAnisotropicDiffusionImageFilter_3D
+  wrap_itkBinaryThresholdImageFilter
+  wrap_itkBinaryDilateImageFilter
+  wrap_itkBinaryErodeImageFilter
+  wrap_itkCannyEdgeDetectionImageFilter
+  wrap_itkCastImageFilter_2D
+  wrap_itkCastImageFilter_3D
+  wrap_itkConfidenceConnectedImageFilter
+  wrap_itkChangeInformationImageFilter
+  wrap_itkConnectedThresholdImageFilter
+  wrap_itkCurvatureAnisotropicDiffusionImageFilter
+  wrap_itkExtractImageFilter
+  wrap_itkFastMarchingImageFilter
+  wrap_itkFlipImageFilter
+  wrap_itkGradientAnisotropicDiffusionImageFilter
+  wrap_itkGradientMagnitudeImageFilter
+  wrap_itkGrayscaleDilateImageFilter
+  wrap_itkGrayscaleErodeImageFilter
+  wrap_itkDanielssonDistanceMapImageFilter
+  wrap_itkIsolatedConnectedImageFilter
+  wrap_itkImportImageFilter
+  wrap_itkLaplacianImageFilter
+  wrap_itkMinimumMaximumImageCalculator
+  wrap_itkMorphologyImageFilter
+  wrap_itkNeighborhoodConnectedImageFilter
+  wrap_itkSobelEdgeDetectionImageFilter
+  wrap_itkTernaryMagnitudeImageFilter
+)
+
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx"
+  "${WrapOTB_BINARY_DIR}/Numerics/ITKNumerics.mdx"
+  "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+  "${WrapOTB_BINARY_DIR}/CommonB/ITKCommonB.mdx"
+  "${WrapOTB_BINARY_DIR}/BasicFiltersA/ITKBasicFiltersA.mdx"
+  )
+
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" ITKBasicFiltersA BasicFiltersA "ITKNumerics;ITKCommonB;ITKCommonA" "" "ITKBasicFilters")
diff --git a/Wrapping/CSwig/BasicFiltersA/CVS/Entries b/Wrapping/CSwig/BasicFiltersA/CVS/Entries
new file mode 100644
index 0000000000..ff4e1ae99c
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/CVS/Entries
@@ -0,0 +1,36 @@
+/.NoDartCoverage/1.1/Sat Sep 25 17:38:20 2004//TITK-3-0-1
+/CMakeLists.txt/1.6/Mon Nov 21 19:18:44 2005//TITK-3-0-1
+/MakeConsistentWrappedClasses.sh/1.2/Wed Nov  2 21:45:13 2005//TITK-3-0-1
+/wrap_ITKBasicFiltersA.cxx/1.4/Mon Nov 21 19:18:44 2005//TITK-3-0-1
+/wrap_ITKBasicFiltersAJava.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_ITKBasicFiltersAPython.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_ITKBasicFiltersATcl.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkAnisotropicDiffusionImageFilter_2D.cxx/1.2/Thu Nov  3 13:45:42 2005//TITK-3-0-1
+/wrap_itkAnisotropicDiffusionImageFilter_3D.cxx/1.2/Thu Nov  3 13:45:42 2005//TITK-3-0-1
+/wrap_itkBinaryDilateImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkBinaryErodeImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkBinaryThresholdImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkCannyEdgeDetectionImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkCastImageFilter_2D.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkCastImageFilter_3D.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkChangeInformationImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkConfidenceConnectedImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkConnectedThresholdImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkCurvatureAnisotropicDiffusionImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkDanielssonDistanceMapImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkExtractImageFilter.cxx/1.2/Thu Apr 29 20:39:13 2004//TITK-3-0-1
+/wrap_itkFastMarchingImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkFlipImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkGradientAnisotropicDiffusionImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkGradientMagnitudeImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkGrayscaleDilateImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkGrayscaleErodeImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkImportImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkIsolatedConnectedImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkLaplacianImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkMinimumMaximumImageCalculator.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkMorphologyImageFilter.cxx/1.1/Mon Nov 21 19:18:12 2005//TITK-3-0-1
+/wrap_itkNeighborhoodConnectedImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkSobelEdgeDetectionImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+/wrap_itkTernaryMagnitudeImageFilter.cxx/1.1/Mon Apr 19 18:50:54 2004//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/BasicFiltersA/CVS/Repository b/Wrapping/CSwig/BasicFiltersA/CVS/Repository
new file mode 100644
index 0000000000..f0d64c1e01
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/BasicFiltersA
diff --git a/Wrapping/CSwig/BasicFiltersA/CVS/Root b/Wrapping/CSwig/BasicFiltersA/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/BasicFiltersA/CVS/Tag b/Wrapping/CSwig/BasicFiltersA/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/BasicFiltersA/CVS/Template b/Wrapping/CSwig/BasicFiltersA/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/BasicFiltersA/MakeConsistentWrappedClasses.sh b/Wrapping/CSwig/BasicFiltersA/MakeConsistentWrappedClasses.sh
new file mode 100755
index 0000000000..c67b456b52
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/MakeConsistentWrappedClasses.sh
@@ -0,0 +1,129 @@
+#!/bin/bash
+#This is a utilty script that is useful for generating a consistent set
+#of wrapping definitions.  In an attempt to make the interpreted environment
+#match the compiled environment as much as possible, it will be important
+#to keep all the wrapped functionallity consistent across filters.
+#
+
+Prefix=wrap_itk
+Postfix=.cxx
+
+
+MAKE_ALL_FILTER_TYPES="MedianImageFilter NeighborhoodConnectedImageFilter IsolatedConnectedImageFilter GradientMagnitudeImageFilter FastMarchingImageFilter RegionOfInterestImageFilter"
+
+MAKE_ONLY_FLOAT_TYPES=""
+
+for WRAP_OBJECT2_TARGET in ${MAKE_ALL_FILTER_TYPES}; do
+CURRFILE=${Prefix}${WRAP_OBJECT2_TARGET}${Postfix}
+DATESTAMP=`date '+%F-%R'`
+mv ${CURRFILE} ${CURRFILE}.${DATESTAMP}
+echo "Building ${CURRFILE}"
+cat > ${CURRFILE} << FILE_EOF
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    \$RCSfile: MakeConsistentWrappedClasses.sh,v ${WRAP_OBJECT2_TARGET}.cxx,v \$
+  Language:  C++
+  Date:      \$Date: 2005/11/02 21:45:13 $
+  Version:   \$Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImage.h"
+#include "itk${WRAP_OBJECT2_TARGET}.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+//=================================
+//THIS FILE GENERATED WITH $0
+//=================================
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itk${WRAP_OBJECT2_TARGET});
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::F2 , image::F2 , itk${WRAP_OBJECT2_TARGET}F2F2  );
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::D2 , image::D2 , itk${WRAP_OBJECT2_TARGET}D2D2  );
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::UC2, image::UC2, itk${WRAP_OBJECT2_TARGET}UC2UC2);
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::US2, image::US2, itk${WRAP_OBJECT2_TARGET}US2US2);
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::UI2, image::UI2, itk${WRAP_OBJECT2_TARGET}UI2UI2);
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::SC2, image::SC2, itk${WRAP_OBJECT2_TARGET}SC2SC2);
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::SS2, image::SS2, itk${WRAP_OBJECT2_TARGET}SS2SS2);
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::SI2, image::SI2, itk${WRAP_OBJECT2_TARGET}SI2SI2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::F3 , image::F3 , itk${WRAP_OBJECT2_TARGET}F3F3  );
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::D3 , image::D3 , itk${WRAP_OBJECT2_TARGET}D3D3  );
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::UC3, image::UC3, itk${WRAP_OBJECT2_TARGET}UC3UC3);
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::US3, image::US3, itk${WRAP_OBJECT2_TARGET}US3US3);
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::UI3, image::UI3, itk${WRAP_OBJECT2_TARGET}UI3UI3);
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::SC3, image::SC3, itk${WRAP_OBJECT2_TARGET}SC3SC3);
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::SS3, image::SS3, itk${WRAP_OBJECT2_TARGET}SS3SS3);
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::SI3, image::SI3, itk${WRAP_OBJECT2_TARGET}SI3SI3);
+  }
+}
+#endif
+FILE_EOF
+
+done
+
+for WRAP_OBJECT2_TARGET in ${MAKE_ONLY_FLOAT_TYPES}; do
+CURRFILE=${Prefix}${WRAP_OBJECT2_TARGET}${Postfix}
+echo "Building ${CURRFILE}"
+cat > ${CURRFILE} << FILE_EOF
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    \$RCSfile: MakeConsistentWrappedClasses.sh,v ${WRAP_OBJECT2_TARGET}.cxx,v \$
+  Language:  C++
+  Date:      \$Date: 2005/11/02 21:45:13 $
+  Version:   \$Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itk${WRAP_OBJECT2_TARGET}.h"
+#include "itkImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+//=================================
+//THIS FILE GENERATED WITH $0
+//=================================
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itk${WRAP_OBJECT2_TARGET});
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::F2 , image::F2 , itk${WRAP_OBJECT2_TARGET}F2F2  );
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::D2 , image::D2 , itk${WRAP_OBJECT2_TARGET}D2D2  );
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::F3 , image::F3 , itk${WRAP_OBJECT2_TARGET}F3F3  );
+    ITK_WRAP_OBJECT2(${WRAP_OBJECT2_TARGET}, image::D3 , image::D3 , itk${WRAP_OBJECT2_TARGET}D3D3  );
+  }
+}
+#endif
+FILE_EOF
+
+done
+
+
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersA.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersA.cxx
new file mode 100755
index 0000000000..46f97faa04
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersA.cxx
@@ -0,0 +1,54 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKBasicFiltersA.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/11/21 19:18:44 $
+  Version:   $Revision: 1.4 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const package = ITK_WRAP_PACKAGE_NAME(ITK_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    ITK_WRAP_GROUP(itkAnisotropicDiffusionImageFilter_2D),
+    ITK_WRAP_GROUP(itkAnisotropicDiffusionImageFilter_3D),
+    ITK_WRAP_GROUP(itkBinaryThresholdImageFilter),
+    ITK_WRAP_GROUP(itkBinaryDilateImageFilter),
+    ITK_WRAP_GROUP(itkBinaryErodeImageFilter),
+    ITK_WRAP_GROUP(itkCannyEdgeDetectionImageFilter),
+    ITK_WRAP_GROUP(itkCastImageFilter_2D),
+    ITK_WRAP_GROUP(itkCastImageFilter_3D),
+    ITK_WRAP_GROUP(itkChangeInformationImageFilter),
+    ITK_WRAP_GROUP(itkConfidenceConnectedImageFilter),
+    ITK_WRAP_GROUP(itkConnectedThresholdImageFilter),
+    ITK_WRAP_GROUP(itkCurvatureAnisotropicDiffusionImageFilter),
+    ITK_WRAP_GROUP(itkDanielssonDistanceMapImageFilter),
+    ITK_WRAP_GROUP(itkExtractImageFilter),
+    ITK_WRAP_GROUP(itkFastMarchingImageFilter),
+    ITK_WRAP_GROUP(itkFlipImageFilter),
+    ITK_WRAP_GROUP(itkGradientAnisotropicDiffusionImageFilter),
+    ITK_WRAP_GROUP(itkGradientMagnitudeImageFilter),
+    ITK_WRAP_GROUP(itkGrayscaleDilateImageFilter),
+    ITK_WRAP_GROUP(itkGrayscaleErodeImageFilter),
+    ITK_WRAP_GROUP(itkIsolatedConnectedImageFilter),
+    ITK_WRAP_GROUP(itkImportImageFilter),
+    ITK_WRAP_GROUP(itkLaplacianImageFilter),
+    ITK_WRAP_GROUP(itkMinimumMaximumImageCalculator),
+    ITK_WRAP_GROUP(itkMorphologyImageFilter),
+    ITK_WRAP_GROUP(itkNeighborhoodConnectedImageFilter),
+    ITK_WRAP_GROUP(itkSobelEdgeDetectionImageFilter),
+    ITK_WRAP_GROUP(itkTernaryMagnitudeImageFilter)
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersAJava.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersAJava.cxx
new file mode 100755
index 0000000000..98c4cb5eec
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersAJava.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKBasicFiltersAJava"
+#include "wrap_ITKBasicFiltersA.cxx"
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersAPython.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersAPython.cxx
new file mode 100755
index 0000000000..3909436c78
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersAPython.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKBasicFiltersAPython"
+#include "wrap_ITKBasicFiltersA.cxx"
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersATcl.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersATcl.cxx
new file mode 100755
index 0000000000..46d472ab99
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_ITKBasicFiltersATcl.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKBasicFiltersATcl"
+#include "wrap_ITKBasicFiltersA.cxx"
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkAnisotropicDiffusionImageFilter_2D.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkAnisotropicDiffusionImageFilter_2D.cxx
new file mode 100755
index 0000000000..acdfb14fcf
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkAnisotropicDiffusionImageFilter_2D.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkAnisotropicDiffusionImageFilter_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/11/03 13:45:42 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkAnisotropicDiffusionImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkAnisotropicDiffusionImageFilter_2D);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::F2 , image::F2 , itkAnisotropicDiffusionImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::D2 , image::D2 , itkAnisotropicDiffusionImageFilterD2D2  );
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::UC2, image::UC2, itkAnisotropicDiffusionImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::US2, image::US2, itkAnisotropicDiffusionImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::UI2, image::UI2, itkAnisotropicDiffusionImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::SC2, image::SC2, itkAnisotropicDiffusionImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::SS2, image::SS2, itkAnisotropicDiffusionImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::SI2, image::SI2, itkAnisotropicDiffusionImageFilterSI2SI2);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkAnisotropicDiffusionImageFilter_3D.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkAnisotropicDiffusionImageFilter_3D.cxx
new file mode 100755
index 0000000000..b4b564b511
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkAnisotropicDiffusionImageFilter_3D.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkAnisotropicDiffusionImageFilter_3D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/11/03 13:45:42 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkAnisotropicDiffusionImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkAnisotropicDiffusionImageFilter_3D);
+  namespace wrappers
+  {
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::F3 , image::F3 , itkAnisotropicDiffusionImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::D3 , image::D3 , itkAnisotropicDiffusionImageFilterD3D3  );
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::UC3, image::UC3, itkAnisotropicDiffusionImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::US3, image::US3, itkAnisotropicDiffusionImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::UI3, image::UI3, itkAnisotropicDiffusionImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::SC3, image::SC3, itkAnisotropicDiffusionImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::SS3, image::SS3, itkAnisotropicDiffusionImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(AnisotropicDiffusionImageFilter, image::SI3, image::SI3, itkAnisotropicDiffusionImageFilterSI3SI3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryDilateImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryDilateImageFilter.cxx
new file mode 100755
index 0000000000..32d5e0c4a3
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryDilateImageFilter.cxx
@@ -0,0 +1,47 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkBinaryDilateImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkBinaryDilateImageFilter.h"
+#include "itkBinaryBallStructuringElement.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+#include "itkCSwigBinaryBallStructuringElement.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkBinaryDilateImageFilter);
+  namespace wrappers
+  {
+    // NOTE: since both the BinaryDilateImageFilter and BinaryErodeImageFilter derive from the same superclass, only one of
+    //       them should do the wrapping WITH_SUPERCLASS.
+    //
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT3(BinaryDilateImageFilter, image::F2 , image::F2 , structuringElement::F2,   itkBinaryDilateImageFilterF2F2  );
+    ITK_WRAP_OBJECT3(BinaryDilateImageFilter, image::UC2, image::UC2, structuringElement::UC2,  itkBinaryDilateImageFilterUC2UC2);
+    ITK_WRAP_OBJECT3(BinaryDilateImageFilter, image::US2, image::US2, structuringElement::US2,  itkBinaryDilateImageFilterUS2US2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT3(BinaryDilateImageFilter, image::F3 , image::F3 , structuringElement::F3,   itkBinaryDilateImageFilterF3F3  );
+    ITK_WRAP_OBJECT3(BinaryDilateImageFilter, image::UC3, image::UC3, structuringElement::UC3,  itkBinaryDilateImageFilterUC3UC3);
+    ITK_WRAP_OBJECT3(BinaryDilateImageFilter, image::US3, image::US3, structuringElement::US3,  itkBinaryDilateImageFilterUS3US3);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryErodeImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryErodeImageFilter.cxx
new file mode 100755
index 0000000000..c594878c7c
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryErodeImageFilter.cxx
@@ -0,0 +1,46 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkBinaryErodeImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkBinaryErodeImageFilter.h"
+#include "itkBinaryBallStructuringElement.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+#include "itkCSwigBinaryBallStructuringElement.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkBinaryErodeImageFilter);
+  namespace wrappers
+  {
+    // NOTE: since both the BinaryDilateImageFilter and BinaryErodeImageFilter derive from the same superclass, only one of
+    //       them should do the wrapping WITH_SUPERCLASS.
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT3_WITH_SUPERCLASS(BinaryErodeImageFilter, image::F2 , image::F2 , structuringElement::F2,   itkBinaryErodeImageFilterF2F2  );
+    ITK_WRAP_OBJECT3_WITH_SUPERCLASS(BinaryErodeImageFilter, image::UC2, image::UC2, structuringElement::UC2,  itkBinaryErodeImageFilterUC2UC2);
+    ITK_WRAP_OBJECT3_WITH_SUPERCLASS(BinaryErodeImageFilter, image::US2, image::US2, structuringElement::US2,  itkBinaryErodeImageFilterUS2US2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT3_WITH_SUPERCLASS(BinaryErodeImageFilter, image::F3 , image::F3 , structuringElement::F3,   itkBinaryErodeImageFilterF3F3  );
+    ITK_WRAP_OBJECT3_WITH_SUPERCLASS(BinaryErodeImageFilter, image::UC3, image::UC3, structuringElement::UC3,  itkBinaryErodeImageFilterUC3UC3);
+    ITK_WRAP_OBJECT3_WITH_SUPERCLASS(BinaryErodeImageFilter, image::US3, image::US3, structuringElement::US3,  itkBinaryErodeImageFilterUS3US3);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryThresholdImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryThresholdImageFilter.cxx
new file mode 100755
index 0000000000..38b3c06a67
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkBinaryThresholdImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkBinaryThresholdImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkBinaryThresholdImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkBinaryThresholdImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(BinaryThresholdImageFilter, image::F2, image::US2, 
+                                     itkBinaryThresholdImageFilterF2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(BinaryThresholdImageFilter, image::US2, image::US2, 
+                                     itkBinaryThresholdImageFilterUS2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(BinaryThresholdImageFilter, image::F3, image::US3, 
+                                     itkBinaryThresholdImageFilterF3US3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(BinaryThresholdImageFilter, image::US3, image::US3, 
+                                     itkBinaryThresholdImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkCannyEdgeDetectionImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkCannyEdgeDetectionImageFilter.cxx
new file mode 100755
index 0000000000..f25f89e9ae
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkCannyEdgeDetectionImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkCannyEdgeDetectionImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkCannyEdgeDetectionImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkCannyEdgeDetectionImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(CannyEdgeDetectionImageFilter, image::F2, image::F2,
+                     itkCannyEdgeDetectionImageFilterF2F2);
+    ITK_WRAP_OBJECT2(CannyEdgeDetectionImageFilter, image::F3, image::F3,
+                     itkCannyEdgeDetectionImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkCastImageFilter_2D.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkCastImageFilter_2D.cxx
new file mode 100644
index 0000000000..bef4c7eac3
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkCastImageFilter_2D.cxx
@@ -0,0 +1,92 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkCastImageFilter_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkCastImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkCastImageFilter_2D);
+  namespace wrappers
+  {
+    //Cast to self
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F2, image::F2,
+                                     itkCastImageFilterF2F2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::D2, image::D2,
+                                     itkCastImageFilterD2D2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::UC2, image::UC2,
+                                     itkCastImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::US2, image::US2,
+                                     itkCastImageFilterUS2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::UI2, image::UI2,
+                                     itkCastImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SC2, image::SC2,
+                                     itkCastImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SS2, image::SS2,
+                                     itkCastImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SI2, image::SI2,
+                                     itkCastImageFilterSI2SI2);
+
+    //Double to/from float 2D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F2, image::D2,
+                                     itkCastImageFilterF2D2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::D2, image::F2,
+                                     itkCastImageFilterD2F2);
+
+    //Unsigned char to/from float 2D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F2, image::UC2,
+                                     itkCastImageFilterF2UC2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::UC2, image::F2,
+                                     itkCastImageFilterUC2F2);
+    //Unsigned short to/from float 2D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F2, image::US2,
+                                     itkCastImageFilterF2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::US2, image::F2,
+                                     itkCastImageFilterUS2F2);
+    //Unsigned int to/from float 2D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F2, image::UI2,
+                                     itkCastImageFilterF2UI2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::UI2, image::F2,
+                                     itkCastImageFilterUI2F2);
+
+    //Signed char to/from float 2D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F2, image::SC2,
+                                     itkCastImageFilterF2SC2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SC2, image::F2,
+                                     itkCastImageFilterSC2F2);
+    //Signed short to/from float 2D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F2, image::SS2,
+                                     itkCastImageFilterF2SS2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SS2, image::F2,
+                                     itkCastImageFilterSS2F2);
+    //Signed int to/from float 2D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F2, image::SI2,
+                                     itkCastImageFilterF2SI2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SI2, image::F2,
+                                     itkCastImageFilterSI2F2);
+    //Unsigned char to/from unsigned short 2D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::US2, image::UC2,
+                                     itkCastImageFilterUS2UC2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::UC2, image::US2,
+                                     itkCastImageFilterUC2US2);
+ 
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkCastImageFilter_3D.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkCastImageFilter_3D.cxx
new file mode 100644
index 0000000000..ec37c69bce
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkCastImageFilter_3D.cxx
@@ -0,0 +1,91 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkCastImageFilter_3D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkCastImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkCastImageFilter_3D);
+  namespace wrappers
+  {
+    //Cast to self
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F3, image::F3,
+                                     itkCastImageFilterF3F3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::D3, image::D3,
+                                     itkCastImageFilterD3D3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::UC3, image::UC3,
+                                     itkCastImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::US3, image::US3,
+                                     itkCastImageFilterUS3US3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::UI3, image::UI3,
+                                     itkCastImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SC3, image::SC3,
+                                     itkCastImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SS3, image::SS3,
+                                     itkCastImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SI3, image::SI3,
+                                     itkCastImageFilterSI3SI3);
+
+    //Double to/from float 3D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F3, image::D3,
+                                     itkCastImageFilterF3D3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::D3, image::F3,
+                                     itkCastImageFilterD3F3);
+
+    //Unsigned char to/from float 3D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F3, image::UC3,
+                                     itkCastImageFilterF3UC3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::UC3, image::F3,
+                                     itkCastImageFilterUC3F3);
+    //Unsigned short to/from float 3D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F3, image::US3,
+                                     itkCastImageFilterF3US3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::US3, image::F3,
+                                     itkCastImageFilterUS3F3);
+    //Unsigned int to/from float 3D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F3, image::UI3,
+                                     itkCastImageFilterF3UI3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::UI3, image::F3,
+                                     itkCastImageFilterUI3F3);
+
+    //Signed char to/from float 3D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F3, image::SC3,
+                                     itkCastImageFilterF3SC3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SC3, image::F3,
+                                     itkCastImageFilterSC3F3);
+    //Signed short to/from float 3D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F3, image::SS3,
+                                     itkCastImageFilterF3SS3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SS3, image::F3,
+                                     itkCastImageFilterSS3F3);
+    //Signed int to/from float 3D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::F3, image::SI3,
+                                     itkCastImageFilterF3SI3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::SI3, image::F3,
+                                     itkCastImageFilterSI3F3);
+    //Unsigned char to/from unsigned short 3D
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::US3, image::UC3,
+                                     itkCastImageFilterUS3UC3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(CastImageFilter, image::UC3, image::US3,
+                                     itkCastImageFilterUC3US3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkChangeInformationImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkChangeInformationImageFilter.cxx
new file mode 100755
index 0000000000..a0e944c9fa
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkChangeInformationImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkChangeInformationImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkChangeInformationImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkChangeInformationImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(ChangeInformationImageFilter, image::F2, itkChangeInformationImageFilterF2);
+    ITK_WRAP_OBJECT1(ChangeInformationImageFilter, image::F3, itkChangeInformationImageFilterF3);
+    ITK_WRAP_OBJECT1(ChangeInformationImageFilter, image::US2, itkChangeInformationImageFilterUS2);
+    ITK_WRAP_OBJECT1(ChangeInformationImageFilter, image::US3, itkChangeInformationImageFilterUS3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkConfidenceConnectedImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkConfidenceConnectedImageFilter.cxx
new file mode 100755
index 0000000000..8ab543f590
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkConfidenceConnectedImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkConfidenceConnectedImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkConfidenceConnectedImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkConfidenceConnectedImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(ConfidenceConnectedImageFilter, image::F2, image::F2,
+                     itkConfidenceConnectedImageFilterF2F2);
+    ITK_WRAP_OBJECT2(ConfidenceConnectedImageFilter, image::F3, image::F3,
+                     itkConfidenceConnectedImageFilterF3F3);
+    ITK_WRAP_OBJECT2(ConfidenceConnectedImageFilter, image::US2, image::US2,
+                     itkConfidenceConnectedImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(ConfidenceConnectedImageFilter, image::US3, image::US3,
+                     itkConfidenceConnectedImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkConnectedThresholdImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkConnectedThresholdImageFilter.cxx
new file mode 100755
index 0000000000..4fa805b82f
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkConnectedThresholdImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkConnectedThresholdImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkConnectedThresholdImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkConnectedThresholdImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(ConnectedThresholdImageFilter, image::F2, image::F2,
+                     itkConnectedThresholdImageFilterF2F2);
+    ITK_WRAP_OBJECT2(ConnectedThresholdImageFilter, image::F3, image::F3,
+                     itkConnectedThresholdImageFilterF3F3);
+    ITK_WRAP_OBJECT2(ConnectedThresholdImageFilter, image::US2, image::US2,
+                     itkConnectedThresholdImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(ConnectedThresholdImageFilter, image::US3, image::US3,
+                     itkConnectedThresholdImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkCurvatureAnisotropicDiffusionImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkCurvatureAnisotropicDiffusionImageFilter.cxx
new file mode 100755
index 0000000000..13155b3336
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkCurvatureAnisotropicDiffusionImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkCurvatureAnisotropicDiffusionImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkCurvatureAnisotropicDiffusionImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkCurvatureAnisotropicDiffusionImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(CurvatureAnisotropicDiffusionImageFilter, image::F2, image::F2,
+                     itkCurvatureAnisotropicDiffusionImageFilterF2F2);
+    ITK_WRAP_OBJECT2(CurvatureAnisotropicDiffusionImageFilter, image::F3, image::F3,
+                     itkCurvatureAnisotropicDiffusionImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkDanielssonDistanceMapImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkDanielssonDistanceMapImageFilter.cxx
new file mode 100755
index 0000000000..754a322351
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkDanielssonDistanceMapImageFilter.cxx
@@ -0,0 +1,47 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkDanielssonDistanceMapImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkDanielssonDistanceMapImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkDanielssonDistanceMapImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(DanielssonDistanceMapImageFilter, image::F2, image::F2,
+                     itkDanielssonDistanceMapImageFilterF2F2);
+    ITK_WRAP_OBJECT2(DanielssonDistanceMapImageFilter, image::F2, image::US2,
+                     itkDanielssonDistanceMapImageFilterF2US2);
+    ITK_WRAP_OBJECT2(DanielssonDistanceMapImageFilter, image::US2, image::F2,
+                     itkDanielssonDistanceMapImageFilterUS2F2);
+    ITK_WRAP_OBJECT2(DanielssonDistanceMapImageFilter, image::F3, image::F3,
+                     itkDanielssonDistanceMapImageFilterF3F3);
+    ITK_WRAP_OBJECT2(DanielssonDistanceMapImageFilter, image::F3, image::US3,
+                     itkDanielssonDistanceMapImageFilterF3US3);
+    ITK_WRAP_OBJECT2(DanielssonDistanceMapImageFilter, image::US2, image::US2,
+                     itkDanielssonDistanceMapImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(DanielssonDistanceMapImageFilter, image::US3, image::US3,
+                     itkDanielssonDistanceMapImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(DanielssonDistanceMapImageFilter, image::US3, image::F3,
+                     itkDanielssonDistanceMapImageFilterUS3F3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkExtractImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkExtractImageFilter.cxx
new file mode 100755
index 0000000000..d1ce390a7b
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkExtractImageFilter.cxx
@@ -0,0 +1,59 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkExtractImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/29 20:39:13 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkExtractImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkExtractImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(ExtractImageFilter,  image::F2,  image::F2,   itkExtractImageFilterF2F2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter,  image::D2,  image::D2,   itkExtractImageFilterD2D2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::UC2, image::UC2, itkExtractImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::US2, image::US2, itkExtractImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::UI2, image::UI2, itkExtractImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::SC2, image::SC2, itkExtractImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::SS2, image::SS2, itkExtractImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::SI2, image::SI2, itkExtractImageFilterSI2SI2);
+
+    ITK_WRAP_OBJECT2(ExtractImageFilter,  image::F3,  image::F3,   itkExtractImageFilterF3F3);
+    ITK_WRAP_OBJECT2(ExtractImageFilter,  image::D3,  image::D3,   itkExtractImageFilterD3D3);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::UC3, image::UC3, itkExtractImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::US3, image::US3, itkExtractImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::UI3, image::UI3, itkExtractImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::SC3, image::SC3, itkExtractImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::SS3, image::SS3, itkExtractImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::SI3, image::SI3, itkExtractImageFilterSI3SI3);
+
+    ITK_WRAP_OBJECT2(ExtractImageFilter,  image::F3,  image::F2,   itkExtractImageFilterF3F2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter,  image::D3,  image::D2,   itkExtractImageFilterD3D2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::UC3, image::UC2, itkExtractImageFilterUC3UC2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::US3, image::US2, itkExtractImageFilterUS3US2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::UI3, image::UI2, itkExtractImageFilterUI3UI2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::SC3, image::SC2, itkExtractImageFilterSC3SC2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::SS3, image::SS2, itkExtractImageFilterSS3SS2);
+    ITK_WRAP_OBJECT2(ExtractImageFilter, image::SI3, image::SI2, itkExtractImageFilterSI3SI2);
+
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkFastMarchingImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkFastMarchingImageFilter.cxx
new file mode 100644
index 0000000000..7b5fcfdf92
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkFastMarchingImageFilter.cxx
@@ -0,0 +1,53 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkFastMarchingImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkFastMarchingImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+//=================================
+//THIS FILE GENERATED WITH MakeConsistentWrappedClasses.sh
+//=================================
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkFastMarchingImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::F2 , image::F2 , itkFastMarchingImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::D2 , image::D2 , itkFastMarchingImageFilterD2D2  );
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::UC2, image::UC2, itkFastMarchingImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::US2, image::US2, itkFastMarchingImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::UI2, image::UI2, itkFastMarchingImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::SC2, image::SC2, itkFastMarchingImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::SS2, image::SS2, itkFastMarchingImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::SI2, image::SI2, itkFastMarchingImageFilterSI2SI2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::F3 , image::F3 , itkFastMarchingImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::D3 , image::D3 , itkFastMarchingImageFilterD3D3  );
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::UC3, image::UC3, itkFastMarchingImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::US3, image::US3, itkFastMarchingImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::UI3, image::UI3, itkFastMarchingImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::SC3, image::SC3, itkFastMarchingImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::SS3, image::SS3, itkFastMarchingImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(FastMarchingImageFilter, image::SI3, image::SI3, itkFastMarchingImageFilterSI3SI3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkFlipImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkFlipImageFilter.cxx
new file mode 100755
index 0000000000..1de32cff1b
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkFlipImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkFlipImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkFlipImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkFlipImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(FlipImageFilter, image::F2, itkFlipImageFilterF2);
+    ITK_WRAP_OBJECT1(FlipImageFilter, image::F3, itkFlipImageFilterF3);
+    ITK_WRAP_OBJECT1(FlipImageFilter, image::US2, itkFlipImageFilterUS2);
+    ITK_WRAP_OBJECT1(FlipImageFilter, image::US3, itkFlipImageFilterUS3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkGradientAnisotropicDiffusionImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkGradientAnisotropicDiffusionImageFilter.cxx
new file mode 100755
index 0000000000..6e69020a2e
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkGradientAnisotropicDiffusionImageFilter.cxx
@@ -0,0 +1,37 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkGradientAnisotropicDiffusionImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkGradientAnisotropicDiffusionImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkGradientAnisotropicDiffusionImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(GradientAnisotropicDiffusionImageFilter, image::F2, image::F2, 
+                                     itkGradientAnisotropicDiffusionImageFilterF2F2);
+    ITK_WRAP_OBJECT2(GradientAnisotropicDiffusionImageFilter, image::F3, image::F3, 
+                                     itkGradientAnisotropicDiffusionImageFilterF3F3);
+    
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkGradientMagnitudeImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkGradientMagnitudeImageFilter.cxx
new file mode 100644
index 0000000000..182ad76e2c
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkGradientMagnitudeImageFilter.cxx
@@ -0,0 +1,53 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkGradientMagnitudeImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkGradientMagnitudeImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+//=================================
+//THIS FILE GENERATED WITH MakeConsistentWrappedClasses.sh
+//=================================
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkGradientMagnitudeImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::F2 , image::F2 , itkGradientMagnitudeImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::D2 , image::D2 , itkGradientMagnitudeImageFilterD2D2  );
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::UC2, image::UC2, itkGradientMagnitudeImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::US2, image::US2, itkGradientMagnitudeImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::UI2, image::UI2, itkGradientMagnitudeImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::SC2, image::SC2, itkGradientMagnitudeImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::SS2, image::SS2, itkGradientMagnitudeImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::SI2, image::SI2, itkGradientMagnitudeImageFilterSI2SI2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::F3 , image::F3 , itkGradientMagnitudeImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::D3 , image::D3 , itkGradientMagnitudeImageFilterD3D3  );
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::UC3, image::UC3, itkGradientMagnitudeImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::US3, image::US3, itkGradientMagnitudeImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::UI3, image::UI3, itkGradientMagnitudeImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::SC3, image::SC3, itkGradientMagnitudeImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::SS3, image::SS3, itkGradientMagnitudeImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(GradientMagnitudeImageFilter, image::SI3, image::SI3, itkGradientMagnitudeImageFilterSI3SI3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkGrayscaleDilateImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkGrayscaleDilateImageFilter.cxx
new file mode 100755
index 0000000000..cc385e518b
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkGrayscaleDilateImageFilter.cxx
@@ -0,0 +1,48 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkGrayscaleDilateImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkGrayscaleDilateImageFilter.h"
+#include "itkBinaryBallStructuringElement.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+#include "itkCSwigBinaryBallStructuringElement.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkGrayscaleDilateImageFilter);
+  namespace wrappers
+  {
+
+    // NOTE: since both the GrayscaleDilateImageFilter and GrayscaleErodeImageFilter derive from the same superclass, only one of
+    //       them should do the wrapping WITH_SUPERCLASS.
+    //
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT3(GrayscaleDilateImageFilter, image::F2 , image::F2 , structuringElement::F2,   itkGrayscaleDilateImageFilterF2F2  );
+    ITK_WRAP_OBJECT3(GrayscaleDilateImageFilter, image::UC2, image::UC2, structuringElement::UC2,  itkGrayscaleDilateImageFilterUC2UC2);
+    ITK_WRAP_OBJECT3(GrayscaleDilateImageFilter, image::US2, image::US2, structuringElement::US2,  itkGrayscaleDilateImageFilterUS2US2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT3(GrayscaleDilateImageFilter, image::F3 , image::F3 , structuringElement::F3,   itkGrayscaleDilateImageFilterF3F3  );
+    ITK_WRAP_OBJECT3(GrayscaleDilateImageFilter, image::UC3, image::UC3, structuringElement::UC3,  itkGrayscaleDilateImageFilterUC3UC3);
+    ITK_WRAP_OBJECT3(GrayscaleDilateImageFilter, image::US3, image::US3, structuringElement::US3,  itkGrayscaleDilateImageFilterUS3US3);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkGrayscaleErodeImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkGrayscaleErodeImageFilter.cxx
new file mode 100755
index 0000000000..28617c9b97
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkGrayscaleErodeImageFilter.cxx
@@ -0,0 +1,48 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkGrayscaleErodeImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkGrayscaleErodeImageFilter.h"
+#include "itkBinaryBallStructuringElement.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+#include "itkCSwigBinaryBallStructuringElement.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkGrayscaleErodeImageFilter);
+  namespace wrappers
+  {
+
+    // NOTE: since both the GrayscaleDilateImageFilter and GrayscaleErodeImageFilter derive from the same superclass, only one of
+    //       them should do the wrapping WITH_SUPERCLASS.
+    //
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT3(GrayscaleErodeImageFilter, image::F2 , image::F2 , structuringElement::F2,   itkGrayscaleErodeImageFilterF2F2  );
+    ITK_WRAP_OBJECT3(GrayscaleErodeImageFilter, image::UC2, image::UC2, structuringElement::UC2,  itkGrayscaleErodeImageFilterUC2UC2);
+    ITK_WRAP_OBJECT3(GrayscaleErodeImageFilter, image::US2, image::US2, structuringElement::US2,  itkGrayscaleErodeImageFilterUS2US2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT3(GrayscaleErodeImageFilter, image::F3 , image::F3 , structuringElement::F3,   itkGrayscaleErodeImageFilterF3F3  );
+    ITK_WRAP_OBJECT3(GrayscaleErodeImageFilter, image::UC3, image::UC3, structuringElement::UC3,  itkGrayscaleErodeImageFilterUC3UC3);
+    ITK_WRAP_OBJECT3(GrayscaleErodeImageFilter, image::US3, image::US3, structuringElement::US3,  itkGrayscaleErodeImageFilterUS3US3);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkImportImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkImportImageFilter.cxx
new file mode 100755
index 0000000000..31389da498
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkImportImageFilter.cxx
@@ -0,0 +1,38 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImportImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImportImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImportImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2( ImportImageFilter, float,          2,  itkImportImageFilterF2  );
+    ITK_WRAP_OBJECT2( ImportImageFilter, unsigned char,  2,  itkImportImageFilterUC2 );
+    ITK_WRAP_OBJECT2( ImportImageFilter, unsigned short, 2,  itkImportImageFilterUS2 );
+    ITK_WRAP_OBJECT2( ImportImageFilter, float,          3,  itkImportImageFilterF3  );
+    ITK_WRAP_OBJECT2( ImportImageFilter, unsigned char,  3,  itkImportImageFilterUC3 );
+    ITK_WRAP_OBJECT2( ImportImageFilter, unsigned short, 3,  itkImportImageFilterUS3 );
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkIsolatedConnectedImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkIsolatedConnectedImageFilter.cxx
new file mode 100755
index 0000000000..c881b4759a
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkIsolatedConnectedImageFilter.cxx
@@ -0,0 +1,53 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkIsolatedConnectedImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkIsolatedConnectedImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+//=================================
+//THIS FILE GENERATED WITH MakeConsistentWrappedClasses.sh
+//=================================
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkIsolatedConnectedImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::F2 , image::F2 , itkIsolatedConnectedImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::D2 , image::D2 , itkIsolatedConnectedImageFilterD2D2  );
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::UC2, image::UC2, itkIsolatedConnectedImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::US2, image::US2, itkIsolatedConnectedImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::UI2, image::UI2, itkIsolatedConnectedImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::SC2, image::SC2, itkIsolatedConnectedImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::SS2, image::SS2, itkIsolatedConnectedImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::SI2, image::SI2, itkIsolatedConnectedImageFilterSI2SI2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::F3 , image::F3 , itkIsolatedConnectedImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::D3 , image::D3 , itkIsolatedConnectedImageFilterD3D3  );
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::UC3, image::UC3, itkIsolatedConnectedImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::US3, image::US3, itkIsolatedConnectedImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::UI3, image::UI3, itkIsolatedConnectedImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::SC3, image::SC3, itkIsolatedConnectedImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::SS3, image::SS3, itkIsolatedConnectedImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(IsolatedConnectedImageFilter, image::SI3, image::SI3, itkIsolatedConnectedImageFilterSI3SI3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkLaplacianImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkLaplacianImageFilter.cxx
new file mode 100755
index 0000000000..539c0ae7e2
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkLaplacianImageFilter.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkLaplacianImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkLaplacianImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkLaplacianImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(LaplacianImageFilter, image::F2, image::F2, itkLaplacianImageFilterF2F2);
+    ITK_WRAP_OBJECT2(LaplacianImageFilter, image::F3, image::F3, itkLaplacianImageFilterF3F3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkMinimumMaximumImageCalculator.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkMinimumMaximumImageCalculator.cxx
new file mode 100755
index 0000000000..b7254491b9
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkMinimumMaximumImageCalculator.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMinimumMaximumImageCalculator.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMinimumMaximumImageCalculator.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMinimumMaximumImageCalculator);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(MinimumMaximumImageCalculator, image::F2, itkMinimumMaximumImageCalculatorF2);
+    ITK_WRAP_OBJECT1(MinimumMaximumImageCalculator, image::F3, itkMinimumMaximumImageCalculatorF3);
+    ITK_WRAP_OBJECT1(MinimumMaximumImageCalculator, image::US2, itkMinimumMaximumImageCalculatorUS2);
+    ITK_WRAP_OBJECT1(MinimumMaximumImageCalculator, image::US3, itkMinimumMaximumImageCalculatorUS3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkMorphologyImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkMorphologyImageFilter.cxx
new file mode 100644
index 0000000000..18503b32a6
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkMorphologyImageFilter.cxx
@@ -0,0 +1,44 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMorphologyImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/11/21 19:18:12 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMorphologyImageFilter.h"
+#include "itkBinaryBallStructuringElement.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+#include "itkCSwigBinaryBallStructuringElement.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMorphologyImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT3(MorphologyImageFilter, image::F2 , image::F2 , structuringElement::F2,   itkMorphologyImageFilterF2F2  );
+    ITK_WRAP_OBJECT3(MorphologyImageFilter, image::UC2, image::UC2, structuringElement::UC2,  itkMorphologyImageFilterUC2UC2);
+    ITK_WRAP_OBJECT3(MorphologyImageFilter, image::US2, image::US2, structuringElement::US2,  itkMorphologyImageFilterUS2US2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT3(MorphologyImageFilter, image::F3 , image::F3 , structuringElement::F3,   itkMorphologyImageFilterF3F3  );
+    ITK_WRAP_OBJECT3(MorphologyImageFilter, image::UC3, image::UC3, structuringElement::UC3,  itkMorphologyImageFilterUC3UC3);
+    ITK_WRAP_OBJECT3(MorphologyImageFilter, image::US3, image::US3, structuringElement::US3,  itkMorphologyImageFilterUS3US3);
+  }
+}
+
+#endif
+
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkNeighborhoodConnectedImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkNeighborhoodConnectedImageFilter.cxx
new file mode 100644
index 0000000000..36a90edfc5
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkNeighborhoodConnectedImageFilter.cxx
@@ -0,0 +1,53 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkNeighborhoodConnectedImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkNeighborhoodConnectedImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+//=================================
+//THIS FILE GENERATED WITH MakeConsistentWrappedClasses.sh
+//=================================
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkNeighborhoodConnectedImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::F2 , image::F2 , itkNeighborhoodConnectedImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::D2 , image::D2 , itkNeighborhoodConnectedImageFilterD2D2  );
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::UC2, image::UC2, itkNeighborhoodConnectedImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::US2, image::US2, itkNeighborhoodConnectedImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::UI2, image::UI2, itkNeighborhoodConnectedImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::SC2, image::SC2, itkNeighborhoodConnectedImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::SS2, image::SS2, itkNeighborhoodConnectedImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::SI2, image::SI2, itkNeighborhoodConnectedImageFilterSI2SI2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::F3 , image::F3 , itkNeighborhoodConnectedImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::D3 , image::D3 , itkNeighborhoodConnectedImageFilterD3D3  );
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::UC3, image::UC3, itkNeighborhoodConnectedImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::US3, image::US3, itkNeighborhoodConnectedImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::UI3, image::UI3, itkNeighborhoodConnectedImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::SC3, image::SC3, itkNeighborhoodConnectedImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::SS3, image::SS3, itkNeighborhoodConnectedImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(NeighborhoodConnectedImageFilter, image::SI3, image::SI3, itkNeighborhoodConnectedImageFilterSI3SI3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkSobelEdgeDetectionImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkSobelEdgeDetectionImageFilter.cxx
new file mode 100755
index 0000000000..32d875e912
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkSobelEdgeDetectionImageFilter.cxx
@@ -0,0 +1,35 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkSobelEdgeDetectionImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkSobelEdgeDetectionImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkSobelEdgeDetectionImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(SobelEdgeDetectionImageFilter, image::F2, image::F2,
+                     itkSobelEdgeDetectionImageFilterF2F2);
+    ITK_WRAP_OBJECT2(SobelEdgeDetectionImageFilter, image::F3, image::F3,
+                     itkSobelEdgeDetectionImageFilterF3F3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersA/wrap_itkTernaryMagnitudeImageFilter.cxx b/Wrapping/CSwig/BasicFiltersA/wrap_itkTernaryMagnitudeImageFilter.cxx
new file mode 100755
index 0000000000..d4a01102f5
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersA/wrap_itkTernaryMagnitudeImageFilter.cxx
@@ -0,0 +1,56 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkTernaryMagnitudeImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/19 18:50:54 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkTernaryMagnitudeImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkTernaryMagnitudeImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT4_WITH_SUPERCLASS(TernaryMagnitudeImageFilter,
+                                     image::F2, 
+                                     image::F2, 
+                                     image::F2, 
+                                     image::F2, 
+                                     itkTernaryMagnitudeImageFilterF2F2);
+    ITK_WRAP_OBJECT4_WITH_SUPERCLASS(TernaryMagnitudeImageFilter,
+                                     image::F3,
+                                     image::F3,
+                                     image::F3,
+                                     image::F3, 
+                                     itkTernaryMagnitudeImageFilterF3F3);
+    ITK_WRAP_OBJECT4_WITH_SUPERCLASS(TernaryMagnitudeImageFilter,
+                                     image::US2, 
+                                     image::US2, 
+                                     image::US2, 
+                                     image::US2, 
+                                     itkTernaryMagnitudeImageFilterUS2US2);
+    ITK_WRAP_OBJECT4_WITH_SUPERCLASS(TernaryMagnitudeImageFilter,
+                                     image::US3,
+                                     image::US3,
+                                     image::US3,
+                                     image::US3, 
+                                     itkTernaryMagnitudeImageFilterUS3US3);
+    
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/.NoDartCoverage b/Wrapping/CSwig/BasicFiltersB/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/BasicFiltersB/CMakeLists.txt b/Wrapping/CSwig/BasicFiltersB/CMakeLists.txt
new file mode 100644
index 0000000000..d3d19e632a
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/CMakeLists.txt
@@ -0,0 +1,35 @@
+SET(WRAP_SOURCES
+  wrap_itkExpImageFilter
+  wrap_itkExpNegativeImageFilter
+  wrap_itkGradientMagnitudeRecursiveGaussianImageFilter
+  wrap_itkGradientRecursiveGaussianImageFilter
+  wrap_itkMeanImageFilter
+  wrap_itkMedianImageFilter
+  wrap_itkMinimumMaximumImageFilter
+  wrap_itkNaryAddImageFilter
+  wrap_itkNormalizeImageFilter
+  wrap_itkPermuteAxesImageFilter
+  wrap_itkRandomImageSource
+  wrap_itkRecursiveGaussianImageFilter
+  wrap_itkRecursiveSeparableImageFilter
+  wrap_itkRegionOfInterestImageFilter
+  wrap_itkResampleImageFilter
+  wrap_itkRescaleIntensityImageFilter
+  wrap_itkShiftScaleImageFilter
+  wrap_itkSigmoidImageFilter
+  wrap_itkSmoothingRecursiveGaussianImageFilter
+  wrap_itkStatisticsImageFilter
+  wrap_itkSubtractImageFilter
+  wrap_itkThresholdImageFilter
+  wrap_itkVTKImageExport
+  wrap_itkVTKImageImport
+)
+
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx"
+  "${WrapOTB_BINARY_DIR}/Numerics/ITKNumerics.mdx"
+  "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+  "${WrapOTB_BINARY_DIR}/CommonB/ITKCommonB.mdx"
+  "${WrapOTB_BINARY_DIR}/BasicFiltersB/ITKBasicFiltersB.mdx"
+  )
+
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" ITKBasicFiltersB BasicFiltersB "ITKNumerics;ITKCommonB;ITKCommonA" "" "ITKBasicFilters")
diff --git a/Wrapping/CSwig/BasicFiltersB/CVS/Entries b/Wrapping/CSwig/BasicFiltersB/CVS/Entries
new file mode 100644
index 0000000000..452d00d80c
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/CVS/Entries
@@ -0,0 +1,31 @@
+/.NoDartCoverage/1.1/Sat Sep 25 17:38:30 2004//TITK-3-0-1
+/CMakeLists.txt/1.5/Tue Jun  7 13:25:02 2005//TITK-3-0-1
+/wrap_ITKBasicFiltersB.cxx/1.3/Tue Jun  7 13:25:02 2005//TITK-3-0-1
+/wrap_ITKBasicFiltersBJava.cxx/1.1/Fri Apr  2 22:43:59 2004//TITK-3-0-1
+/wrap_ITKBasicFiltersBPython.cxx/1.1/Fri Apr  2 22:43:59 2004//TITK-3-0-1
+/wrap_ITKBasicFiltersBTcl.cxx/1.1/Fri Apr  2 22:43:59 2004//TITK-3-0-1
+/wrap_itkExpImageFilter.cxx/1.2/Thu Jan 13 18:37:50 2005//TITK-3-0-1
+/wrap_itkExpNegativeImageFilter.cxx/1.2/Thu Jan 13 18:37:50 2005//TITK-3-0-1
+/wrap_itkGradientMagnitudeRecursiveGaussianImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkGradientRecursiveGaussianImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkMeanImageFilter.cxx/1.1/Fri Apr  2 22:43:59 2004//TITK-3-0-1
+/wrap_itkMedianImageFilter.cxx/1.1/Fri Apr  2 22:43:59 2004//TITK-3-0-1
+/wrap_itkMinimumMaximumImageFilter.cxx/1.1/Tue Jun  7 13:25:02 2005//TITK-3-0-1
+/wrap_itkNaryAddImageFilter.cxx/1.1/Fri Apr  2 22:43:59 2004//TITK-3-0-1
+/wrap_itkNormalizeImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkPermuteAxesImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkRandomImageSource.cxx/1.1/Fri Apr  2 22:43:59 2004//TITK-3-0-1
+/wrap_itkRecursiveGaussianImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkRecursiveSeparableImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkRegionOfInterestImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkResampleImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkRescaleIntensityImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkShiftScaleImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkSigmoidImageFilter.cxx/1.2/Thu Jan 13 18:37:50 2005//TITK-3-0-1
+/wrap_itkSmoothingRecursiveGaussianImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkStatisticsImageFilter.cxx/1.1/Wed Apr 21 20:24:21 2004//TITK-3-0-1
+/wrap_itkSubtractImageFilter.cxx/1.1/Tue Jun  7 13:25:02 2005//TITK-3-0-1
+/wrap_itkThresholdImageFilter.cxx/1.1/Fri Apr  2 22:43:59 2004//TITK-3-0-1
+/wrap_itkVTKImageExport.cxx/1.2/Thu Jan 13 18:37:50 2005//TITK-3-0-1
+/wrap_itkVTKImageImport.cxx/1.2/Thu Jan 13 18:37:50 2005//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/BasicFiltersB/CVS/Repository b/Wrapping/CSwig/BasicFiltersB/CVS/Repository
new file mode 100644
index 0000000000..7b640d78ce
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/BasicFiltersB
diff --git a/Wrapping/CSwig/BasicFiltersB/CVS/Root b/Wrapping/CSwig/BasicFiltersB/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/BasicFiltersB/CVS/Tag b/Wrapping/CSwig/BasicFiltersB/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/BasicFiltersB/CVS/Template b/Wrapping/CSwig/BasicFiltersB/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersB.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersB.cxx
new file mode 100644
index 0000000000..feddda6173
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersB.cxx
@@ -0,0 +1,53 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKBasicFiltersB.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/07 13:25:02 $
+  Version:   $Revision: 1.3 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const package = ITK_WRAP_PACKAGE_NAME(ITK_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    ITK_WRAP_GROUP(itkExpImageFilter),
+    ITK_WRAP_GROUP(itkExpNegativeImageFilter),
+    ITK_WRAP_GROUP(itkGradientMagnitudeRecursiveGaussianImageFilter),
+    ITK_WRAP_GROUP(itkGradientRecursiveGaussianImageFilter),
+    ITK_WRAP_GROUP(itkMeanImageFilter),
+    ITK_WRAP_GROUP(itkMedianImageFilter),
+    ITK_WRAP_GROUP(itkMinimumMaximumImageFilter),
+    ITK_WRAP_GROUP(itkNaryAddImageFilter),
+    ITK_WRAP_GROUP(itkNormalizeImageFilter),
+    ITK_WRAP_GROUP(itkPermuteAxesImageFilter),
+    ITK_WRAP_GROUP(itkRandomImageSource),
+    ITK_WRAP_GROUP(itkRecursiveGaussianImageFilter),
+    ITK_WRAP_GROUP(itkRecursiveSeparableImageFilter),
+    ITK_WRAP_GROUP(itkRegionOfInterestImageFilter),
+    ITK_WRAP_GROUP(itkResampleImageFilter),
+    ITK_WRAP_GROUP(itkRescaleIntensityImageFilter),
+    ITK_WRAP_GROUP(itkShiftScaleImageFilter),
+    ITK_WRAP_GROUP(itkSigmoidImageFilter),
+    ITK_WRAP_GROUP(itkSmoothingRecursiveGaussianImageFilter),
+    ITK_WRAP_GROUP(itkStatisticsImageFilter),
+    ITK_WRAP_GROUP(itkSubtractImageFilter),
+    ITK_WRAP_GROUP(itkThresholdImageFilter),
+    ITK_WRAP_GROUP(itkVTKImageExport),
+    ITK_WRAP_GROUP(itkVTKImageImport)
+  };
+}
+#endif
+
+
+
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBJava.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBJava.cxx
new file mode 100644
index 0000000000..6a45e5453a
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBJava.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKBasicFiltersBJava"
+#include "wrap_ITKBasicFiltersB.cxx"
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBPython.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBPython.cxx
new file mode 100644
index 0000000000..136817166e
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBPython.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKBasicFiltersBPython"
+#include "wrap_ITKBasicFiltersB.cxx"
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBTcl.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBTcl.cxx
new file mode 100644
index 0000000000..4f50ecc115
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_ITKBasicFiltersBTcl.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKBasicFiltersBTcl"
+#include "wrap_ITKBasicFiltersB.cxx"
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkExpImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkExpImageFilter.cxx
new file mode 100644
index 0000000000..bd28b3e977
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkExpImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkExpImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/13 18:37:50 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkExpImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkExpImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(ExpImageFilter, image::F2, image::F2,
+                     itkExpImageFilterF2F2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(ExpImageFilter, image::F3, image::F3,
+                     itkExpImageFilterF3F3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(ExpImageFilter, image::US2, image::US2,
+                     itkExpImageFilterUS2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(ExpImageFilter, image::US3, image::US3,
+                     itkExpImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkExpNegativeImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkExpNegativeImageFilter.cxx
new file mode 100644
index 0000000000..1f0f94cd63
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkExpNegativeImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkExpNegativeImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/13 18:37:50 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkExpNegativeImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkExpNegativeImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(ExpNegativeImageFilter, image::F2, image::F2,
+                     itkExpNegativeImageFilterF2F2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(ExpNegativeImageFilter, image::F3, image::F3,
+                     itkExpNegativeImageFilterF3F3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(ExpNegativeImageFilter, image::US2, image::US2,
+                     itkExpNegativeImageFilterUS2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(ExpNegativeImageFilter, image::US3, image::US3,
+                     itkExpNegativeImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkGradientMagnitudeRecursiveGaussianImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkGradientMagnitudeRecursiveGaussianImageFilter.cxx
new file mode 100644
index 0000000000..3395b9f03e
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkGradientMagnitudeRecursiveGaussianImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkGradientMagnitudeRecursiveGaussianImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkGradientMagnitudeRecursiveGaussianImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkGradientMagnitudeRecursiveGaussianImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(GradientMagnitudeRecursiveGaussianImageFilter, image::F2, image::F2,
+                     itkGradientMagnitudeRecursiveGaussianImageFilterF2F2);
+    ITK_WRAP_OBJECT2(GradientMagnitudeRecursiveGaussianImageFilter, image::F3, image::F3,
+                     itkGradientMagnitudeRecursiveGaussianImageFilterF3F3);
+    ITK_WRAP_OBJECT2(GradientMagnitudeRecursiveGaussianImageFilter, image::US2, image::US2,
+                     itkGradientMagnitudeRecursiveGaussianImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(GradientMagnitudeRecursiveGaussianImageFilter, image::US3, image::US3,
+                     itkGradientMagnitudeRecursiveGaussianImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkGradientRecursiveGaussianImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkGradientRecursiveGaussianImageFilter.cxx
new file mode 100644
index 0000000000..f3d27e7178
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkGradientRecursiveGaussianImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkGradientRecursiveGaussianImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkGradientRecursiveGaussianImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkGradientRecursiveGaussianImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(GradientRecursiveGaussianImageFilter, image::F2,
+                     itkGradientRecursiveGaussianImageFilterF2);
+    ITK_WRAP_OBJECT1(GradientRecursiveGaussianImageFilter, image::F3,
+                     itkGradientRecursiveGaussianImageFilterF3);
+    ITK_WRAP_OBJECT1(GradientRecursiveGaussianImageFilter, image::US2,
+                     itkGradientRecursiveGaussianImageFilterUS2);
+    ITK_WRAP_OBJECT1(GradientRecursiveGaussianImageFilter, image::US3,
+                     itkGradientRecursiveGaussianImageFilterUS3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkMeanImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkMeanImageFilter.cxx
new file mode 100644
index 0000000000..c73bef8e8b
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkMeanImageFilter.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMeanImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/02 22:43:59 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMeanImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMeanImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(MeanImageFilter, image::F2, image::F2, 
+                     itkMeanImageFilterF2F2);
+    ITK_WRAP_OBJECT2(MeanImageFilter, image::US2, image::US2, 
+                     itkMeanImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(MeanImageFilter, image::F3, image::F3, 
+                     itkMeanImageFilterF3F3);
+    ITK_WRAP_OBJECT2(MeanImageFilter, image::US3, image::US3, 
+                     itkMeanImageFilterUS3US3);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkMedianImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkMedianImageFilter.cxx
new file mode 100644
index 0000000000..da4e9c6dae
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkMedianImageFilter.cxx
@@ -0,0 +1,53 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMedianImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/02 22:43:59 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMedianImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+//=================================
+//THIS FILE GENERATED WITH MakeConsistentWrappedClasses.sh
+//=================================
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMedianImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::F2 , image::F2 , itkMedianImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::D2 , image::D2 , itkMedianImageFilterD2D2  );
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::UC2, image::UC2, itkMedianImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::US2, image::US2, itkMedianImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::UI2, image::UI2, itkMedianImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::SC2, image::SC2, itkMedianImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::SS2, image::SS2, itkMedianImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::SI2, image::SI2, itkMedianImageFilterSI2SI2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::F3 , image::F3 , itkMedianImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::D3 , image::D3 , itkMedianImageFilterD3D3  );
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::UC3, image::UC3, itkMedianImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::US3, image::US3, itkMedianImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::UI3, image::UI3, itkMedianImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::SC3, image::SC3, itkMedianImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::SS3, image::SS3, itkMedianImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(MedianImageFilter, image::SI3, image::SI3, itkMedianImageFilterSI3SI3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkMinimumMaximumImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkMinimumMaximumImageFilter.cxx
new file mode 100644
index 0000000000..5f83273b19
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkMinimumMaximumImageFilter.cxx
@@ -0,0 +1,42 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMinimumMaximumImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/07 13:25:02 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMinimumMaximumImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMinimumMaximumImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT1(MinimumMaximumImageFilter, image::F2,
+                     itkMinimumMaximumImageFilterF2);
+    ITK_WRAP_OBJECT1(MinimumMaximumImageFilter, image::US2,
+                     itkMinimumMaximumImageFilterUS2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT1(MinimumMaximumImageFilter, image::F3,
+                     itkMinimumMaximumImageFilterF3);
+    ITK_WRAP_OBJECT1(MinimumMaximumImageFilter, image::US3,
+                     itkMinimumMaximumImageFilterUS3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkNaryAddImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkNaryAddImageFilter.cxx
new file mode 100644
index 0000000000..633899c69e
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkNaryAddImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkNaryAddImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/02 22:43:59 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkNaryAddImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkNaryAddImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(NaryAddImageFilter, image::F2, image::F2,
+                                     itkNaryAddImageFilterF2F2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(NaryAddImageFilter, image::F3, image::F3,
+                                     itkNaryAddImageFilterF3F3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(NaryAddImageFilter, image::US2, image::US2,
+                                     itkNaryAddImageFilterUS2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(NaryAddImageFilter, image::US3, image::US3,
+                                     itkNaryAddImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkNormalizeImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkNormalizeImageFilter.cxx
new file mode 100644
index 0000000000..0a2a3b591a
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkNormalizeImageFilter.cxx
@@ -0,0 +1,51 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkNormalizeImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkNormalizeImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkNormalizeImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(NormalizeImageFilter,  image::F2,  image::F2,   itkNormalizeImageFilterF2F2);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter,  image::D2,  image::D2,   itkNormalizeImageFilterD2D2);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::UC2, image::UC2, itkNormalizeImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::US2, image::US2, itkNormalizeImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::UI2, image::UI2, itkNormalizeImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::SC2, image::SC2, itkNormalizeImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::SS2, image::SS2, itkNormalizeImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::SI2, image::SI2, itkNormalizeImageFilterSI2SI2);
+
+    ITK_WRAP_OBJECT2(NormalizeImageFilter,  image::F3,  image::F3,   itkNormalizeImageFilterF3F3);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter,  image::D3,  image::D3,   itkNormalizeImageFilterD3D3);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::UC3, image::UC3, itkNormalizeImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::US3, image::US3, itkNormalizeImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::UI3, image::UI3, itkNormalizeImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::SC3, image::SC3, itkNormalizeImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::SS3, image::SS3, itkNormalizeImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(NormalizeImageFilter, image::SI3, image::SI3, itkNormalizeImageFilterSI3SI3);
+
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkPermuteAxesImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkPermuteAxesImageFilter.cxx
new file mode 100644
index 0000000000..2b705b1790
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkPermuteAxesImageFilter.cxx
@@ -0,0 +1,55 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkPermuteAxesImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkPermuteAxesImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkPermuteAxesImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::F2, itkPermuteAxesImageFilterF2);
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::F3, itkPermuteAxesImageFilterF3);
+
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::D2, itkPermuteAxesImageFilterD2);
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::D3, itkPermuteAxesImageFilterD3);
+
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::UC2, itkPermuteAxesImageFilterUC2);
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::UC3, itkPermuteAxesImageFilterUC3);
+
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::US2, itkPermuteAxesImageFilterUS2);
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::US3, itkPermuteAxesImageFilterUS3);
+
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::UI2, itkPermuteAxesImageFilterUI2);
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::UI3, itkPermuteAxesImageFilterUI3);
+
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::SC2, itkPermuteAxesImageFilterSC2);
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::SC3, itkPermuteAxesImageFilterSC3);
+
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::SS2, itkPermuteAxesImageFilterSS2);
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::SS3, itkPermuteAxesImageFilterSS3);
+
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::SI2, itkPermuteAxesImageFilterSI2);
+    ITK_WRAP_OBJECT1(PermuteAxesImageFilter, image::SI3, itkPermuteAxesImageFilterSI3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkRandomImageSource.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkRandomImageSource.cxx
new file mode 100644
index 0000000000..d85a33ef58
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkRandomImageSource.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkRandomImageSource.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/02 22:43:59 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkRandomImageSource.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkRandomImageSource);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(RandomImageSource, image::F2, itkRandomImageSourceF2);
+    ITK_WRAP_OBJECT1(RandomImageSource, image::F3, itkRandomImageSourceF3);
+    ITK_WRAP_OBJECT1(RandomImageSource, image::US2, itkRandomImageSourceUS2);
+    ITK_WRAP_OBJECT1(RandomImageSource, image::US3, itkRandomImageSourceUS3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkRecursiveGaussianImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkRecursiveGaussianImageFilter.cxx
new file mode 100644
index 0000000000..4958451831
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkRecursiveGaussianImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkRecursiveGaussianImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkRecursiveGaussianImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkRecursiveGaussianImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(RecursiveGaussianImageFilter, image::F2, image::F2,
+                     itkRecursiveGaussianImageFilterF2F2);
+    ITK_WRAP_OBJECT2(RecursiveGaussianImageFilter, image::F3, image::F3,
+                     itkRecursiveGaussianImageFilterF3F3);
+    ITK_WRAP_OBJECT2(RecursiveGaussianImageFilter, image::US2, image::US2,
+                     itkRecursiveGaussianImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(RecursiveGaussianImageFilter, image::US3, image::US3,
+                     itkRecursiveGaussianImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkRecursiveSeparableImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkRecursiveSeparableImageFilter.cxx
new file mode 100644
index 0000000000..efece15e8a
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkRecursiveSeparableImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkRecursiveSeparableImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkRecursiveSeparableImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkRecursiveSeparableImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(RecursiveSeparableImageFilter, image::F2, image::F2,
+                     itkRecursiveSeparableImageFilterF2F2);
+    ITK_WRAP_OBJECT2(RecursiveSeparableImageFilter, image::F3, image::F3,
+                     itkRecursiveSeparableImageFilterF3F3);
+    ITK_WRAP_OBJECT2(RecursiveSeparableImageFilter, image::US2, image::US2,
+                     itkRecursiveSeparableImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(RecursiveSeparableImageFilter, image::US3, image::US3,
+                     itkRecursiveSeparableImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkRegionOfInterestImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkRegionOfInterestImageFilter.cxx
new file mode 100644
index 0000000000..31d3f9c563
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkRegionOfInterestImageFilter.cxx
@@ -0,0 +1,53 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkRegionOfInterestImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkRegionOfInterestImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+//=================================
+//THIS FILE GENERATED WITH MakeConsistentWrappedClasses.sh
+//=================================
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkRegionOfInterestImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::F2 , image::F2 , itkRegionOfInterestImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::D2 , image::D2 , itkRegionOfInterestImageFilterD2D2  );
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::UC2, image::UC2, itkRegionOfInterestImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::US2, image::US2, itkRegionOfInterestImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::UI2, image::UI2, itkRegionOfInterestImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::SC2, image::SC2, itkRegionOfInterestImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::SS2, image::SS2, itkRegionOfInterestImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::SI2, image::SI2, itkRegionOfInterestImageFilterSI2SI2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::F3 , image::F3 , itkRegionOfInterestImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::D3 , image::D3 , itkRegionOfInterestImageFilterD3D3  );
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::UC3, image::UC3, itkRegionOfInterestImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::US3, image::US3, itkRegionOfInterestImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::UI3, image::UI3, itkRegionOfInterestImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::SC3, image::SC3, itkRegionOfInterestImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::SS3, image::SS3, itkRegionOfInterestImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(RegionOfInterestImageFilter, image::SI3, image::SI3, itkRegionOfInterestImageFilterSI3SI3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkResampleImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkResampleImageFilter.cxx
new file mode 100644
index 0000000000..692647c8cd
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkResampleImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkResampleImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkResampleImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkResampleImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(ResampleImageFilter, image::F2, image::F2,
+                     itkResampleImageFilterF2F2);
+    ITK_WRAP_OBJECT2(ResampleImageFilter, image::F3, image::F3,
+                     itkResampleImageFilterF3F3);
+    ITK_WRAP_OBJECT2(ResampleImageFilter, image::US2, image::US2,
+                     itkResampleImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(ResampleImageFilter, image::US3, image::US3,
+                     itkResampleImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkRescaleIntensityImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkRescaleIntensityImageFilter.cxx
new file mode 100644
index 0000000000..68ad12f629
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkRescaleIntensityImageFilter.cxx
@@ -0,0 +1,59 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkRescaleIntensityImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkRescaleIntensityImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkRescaleIntensityImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::F2, image::US2, 
+                                     itkRescaleIntensityImageFilterF2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::US2, image::F2, 
+                                     itkRescaleIntensityImageFilterUS2F2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::F2, image::F2, 
+                                     itkRescaleIntensityImageFilterF2F2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::F2, image::US2, 
+                                     itkRescaleIntensityImageFilterF2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::F2, image::UC2, 
+                                     itkRescaleIntensityImageFilterF2UC2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::US2, image::UC2, 
+                                     itkRescaleIntensityImageFilterUS2UC2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::US2, image::US2, 
+                                     itkRescaleIntensityImageFilterUS2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::F3, image::US3, 
+                                     itkRescaleIntensityImageFilterF3US3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::F3, image::F3, 
+                                     itkRescaleIntensityImageFilterF3F3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::US3, image::US3, 
+                                     itkRescaleIntensityImageFilterUS3US3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::US3, image::F3, 
+                                     itkRescaleIntensityImageFilterUS3F3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::F3, image::UC3, 
+                                     itkRescaleIntensityImageFilterF3UC3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(RescaleIntensityImageFilter, image::US3, image::UC3, 
+                                     itkRescaleIntensityImageFilterUS3UC3);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkShiftScaleImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkShiftScaleImageFilter.cxx
new file mode 100644
index 0000000000..4c2c266117
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkShiftScaleImageFilter.cxx
@@ -0,0 +1,51 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkShiftScaleImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkShiftScaleImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkShiftScaleImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(ShiftScaleImageFilter, image::F2, image::US2, 
+                     itkShiftScaleImageFilterF2US2);
+    ITK_WRAP_OBJECT2(ShiftScaleImageFilter, image::US2, image::F2, 
+                     itkShiftScaleImageFilterUS2F2);
+    ITK_WRAP_OBJECT2(ShiftScaleImageFilter, image::F2, image::F2, 
+                     itkShiftScaleImageFilterF2F2);
+    ITK_WRAP_OBJECT2(ShiftScaleImageFilter, image::F2, image::US2, 
+                     itkShiftScaleImageFilterF2US2);
+    ITK_WRAP_OBJECT2(ShiftScaleImageFilter, image::US2, image::US2, 
+                     itkShiftScaleImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(ShiftScaleImageFilter, image::F3, image::US3, 
+                     itkShiftScaleImageFilterF3US3);
+    ITK_WRAP_OBJECT2(ShiftScaleImageFilter, image::F3, image::F3, 
+                     itkShiftScaleImageFilterF3F3);
+    ITK_WRAP_OBJECT2(ShiftScaleImageFilter, image::US3, image::US3, 
+                     itkShiftScaleImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(ShiftScaleImageFilter, image::US3, image::F3, 
+                     itkShiftScaleImageFilterUS3F3);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkSigmoidImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkSigmoidImageFilter.cxx
new file mode 100644
index 0000000000..2a91f0b013
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkSigmoidImageFilter.cxx
@@ -0,0 +1,52 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkSigmoidImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/13 18:37:50 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkSigmoidImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkSigmoidImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::F2 , image::F2 , itkSigmoidImageFilterF2F2  );
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::D2 , image::D2 , itkSigmoidImageFilterD2D2  );
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::UC2, image::UC2, itkSigmoidImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::US2, image::US2, itkSigmoidImageFilterUS2US2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::UI2, image::UI2, itkSigmoidImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::SC2, image::SC2, itkSigmoidImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::SS2, image::SS2, itkSigmoidImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::SI2, image::SI2, itkSigmoidImageFilterSI2SI2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::F3 , image::F3 , itkSigmoidImageFilterF3F3  );
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::D3 , image::D3 , itkSigmoidImageFilterD3D3  );
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::UC3, image::UC3, itkSigmoidImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::US3, image::US3, itkSigmoidImageFilterUS3US3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::UI3, image::UI3, itkSigmoidImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::SC3, image::SC3, itkSigmoidImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::SS3, image::SS3, itkSigmoidImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2_WITH_SUPERCLASS(SigmoidImageFilter, image::SI3, image::SI3, itkSigmoidImageFilterSI3SI3);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkSmoothingRecursiveGaussianImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkSmoothingRecursiveGaussianImageFilter.cxx
new file mode 100644
index 0000000000..caf0f23438
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkSmoothingRecursiveGaussianImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkSmoothingRecursiveGaussianImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkSmoothingRecursiveGaussianImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkSmoothingRecursiveGaussianImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(SmoothingRecursiveGaussianImageFilter, image::F2, image::F2,
+                     itkSmoothingRecursiveGaussianImageFilterF2F2);
+    ITK_WRAP_OBJECT2(SmoothingRecursiveGaussianImageFilter, image::F3, image::F3,
+                     itkSmoothingRecursiveGaussianImageFilterF3F3);
+    ITK_WRAP_OBJECT2(SmoothingRecursiveGaussianImageFilter, image::US2, image::US2,
+                     itkSmoothingRecursiveGaussianImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(SmoothingRecursiveGaussianImageFilter, image::US3, image::US3,
+                     itkSmoothingRecursiveGaussianImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkStatisticsImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkStatisticsImageFilter.cxx
new file mode 100644
index 0000000000..fb1e235d9b
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkStatisticsImageFilter.cxx
@@ -0,0 +1,36 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkStatisticsImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/21 20:24:21 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkStatisticsImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkStatisticsImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(StatisticsImageFilter, image::F2, itkStatisticsImageFilterF2);
+    ITK_WRAP_OBJECT1(StatisticsImageFilter, image::F3, itkStatisticsImageFilterF3);
+    ITK_WRAP_OBJECT1(StatisticsImageFilter, image::US2, itkStatisticsImageFilterUS2);
+    ITK_WRAP_OBJECT1(StatisticsImageFilter, image::US3, itkStatisticsImageFilterUS3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkSubtractImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkSubtractImageFilter.cxx
new file mode 100644
index 0000000000..9948ed46dc
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkSubtractImageFilter.cxx
@@ -0,0 +1,46 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkSubtractImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/07 13:25:02 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkSubtractImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkSubtractImageFilter);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT3_WITH_SUPERCLASS(SubtractImageFilter, image::F2,
+                                     image::F2, image::F2,
+                                     itkSubtractImageFilterF2F2F2);
+    ITK_WRAP_OBJECT3_WITH_SUPERCLASS(SubtractImageFilter, image::US2,
+                                     image::US2, image::US2,
+                                     itkSubtractImageFilterUS2US2US2);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT3_WITH_SUPERCLASS(SubtractImageFilter, image::F3,
+                                     image::F3, image::F3,
+                                     itkSubtractImageFilterF3F3F3);
+    ITK_WRAP_OBJECT3_WITH_SUPERCLASS(SubtractImageFilter, image::US3,
+                                     image::US3, image::US3,
+                                     itkSubtractImageFilterUS3US3US3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkThresholdImageFilter.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkThresholdImageFilter.cxx
new file mode 100644
index 0000000000..c12b0aec39
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkThresholdImageFilter.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkThresholdImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/02 22:43:59 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkThresholdImageFilter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkThresholdImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(ThresholdImageFilter, image::F2,
+                                     itkThresholdImageFilterF2);
+    ITK_WRAP_OBJECT1(ThresholdImageFilter, image::US2,
+                                     itkThresholdImageFilterUS2);
+    ITK_WRAP_OBJECT1(ThresholdImageFilter, image::F3, 
+                                     itkThresholdImageFilterF3);
+    ITK_WRAP_OBJECT1(ThresholdImageFilter, image::US3, 
+                                     itkThresholdImageFilterUS3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkVTKImageExport.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkVTKImageExport.cxx
new file mode 100644
index 0000000000..4df367e277
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkVTKImageExport.cxx
@@ -0,0 +1,51 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkVTKImageExport.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/13 18:37:50 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkVTKImageExport.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkVTKImageExport);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT(VTKImageExportBase);
+    ITK_WRAP_OBJECT1(VTKImageExport, image::F2,
+                                     itkVTKImageExportF2);
+    ITK_WRAP_OBJECT1(VTKImageExport, image::UC2,
+                                     itkVTKImageExportUC2);
+    ITK_WRAP_OBJECT1(VTKImageExport, image::US2,
+                                     itkVTKImageExportUS2);
+    ITK_WRAP_OBJECT1(VTKImageExport, image::UL2,
+                                     itkVTKImageExportUL2);
+  
+    ITK_WRAP_OBJECT1(VTKImageExport, image::F3, 
+                                     itkVTKImageExportF3);
+    ITK_WRAP_OBJECT1(VTKImageExport, image::UC3, 
+                                     itkVTKImageExportUC3);
+    ITK_WRAP_OBJECT1(VTKImageExport, image::US3, 
+                                     itkVTKImageExportUS3);
+    ITK_WRAP_OBJECT1(VTKImageExport, image::UL3, 
+                                     itkVTKImageExportUL3);
+  
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/BasicFiltersB/wrap_itkVTKImageImport.cxx b/Wrapping/CSwig/BasicFiltersB/wrap_itkVTKImageImport.cxx
new file mode 100644
index 0000000000..446fb42626
--- /dev/null
+++ b/Wrapping/CSwig/BasicFiltersB/wrap_itkVTKImageImport.cxx
@@ -0,0 +1,45 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkVTKImageImport.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/01/13 18:37:50 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkVTKImageImport.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkVTKImageImport);
+  namespace wrappers
+  {
+
+    ITK_WRAP_OBJECT1(VTKImageImport, image::F2,
+                                     itkVTKImageImportF2);
+    ITK_WRAP_OBJECT1(VTKImageImport, image::UC2,
+                                     itkVTKImageImportUC2);
+    ITK_WRAP_OBJECT1(VTKImageImport, image::US2,
+                                     itkVTKImageImportUS2);
+    ITK_WRAP_OBJECT1(VTKImageImport, image::F3, 
+                                     itkVTKImageImportF3);
+    ITK_WRAP_OBJECT1(VTKImageImport, image::UC3, 
+                                     itkVTKImageImportUC3);
+    ITK_WRAP_OBJECT1(VTKImageImport, image::US3, 
+                                     itkVTKImageImportUS3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CMakeLists.txt b/Wrapping/CSwig/CMakeLists.txt
new file mode 100755
index 0000000000..236edfe7b8
--- /dev/null
+++ b/Wrapping/CSwig/CMakeLists.txt
@@ -0,0 +1,821 @@
+PROJECT(WrapOTB)
+
+IF(OTB_CSWIG_TCL)
+  SET(OTB_INCLUDE_DIRS_SYSTEM ${OTB_INCLUDE_DIRS_SYSTEM} ${TCL_INCLUDE_PATH} ${TK_INCLUDE_PATH})
+ENDIF(OTB_CSWIG_TCL)
+
+IF(OTB_CSWIG_PYTHON)
+  # Python include directory.
+  SET(OTB_INCLUDE_DIRS_SYSTEM ${OTB_INCLUDE_DIRS_SYSTEM}
+    ${PYTHON_INCLUDE_PATH})
+ENDIF(OTB_CSWIG_PYTHON)
+
+IF(OTB_CSWIG_JAVA)
+  # Java include directories.
+  SET(OTB_INCLUDE_DIRS_SYSTEM ${OTB_INCLUDE_DIRS_SYSTEM}
+      ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2} ${JAVA_AWT_INCLUDE_PATH})
+ENDIF(OTB_CSWIG_JAVA)
+
+# Choose an install location for the Java wrapper libraries.  This
+# must be next to the OTBCommon shared library.
+IF(WIN32)
+  SET(OTB_INSTALL_JAVA_LIBS_DIR /bin)
+ELSE(WIN32)
+  SET(OTB_INSTALL_JAVA_LIBS_DIR ${OTB_INSTALL_LIB_DIR})
+ENDIF(WIN32)
+
+# We have found CableSwig.  Use the settings.
+SET(CABLE_INDEX ${CableSwig_cableidx_EXE})
+SET(CSWIG ${CableSwig_cswig_EXE})
+SET(GCCXML ${CableSwig_gccxml_EXE})
+
+SET(OTB_WRAP_NEEDS_DEPEND 1)
+IF(${CMAKE_MAKE_PROGRAM} MATCHES make)
+  SET(OTB_WRAP_NEEDS_DEPEND 0)
+ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES make)
+SET(OTB_TOP ${OTB_SOURCE_DIR})
+SET(OTB_SWIG_DEFAULT_LIB ${OTB_TOP}/Utilities/CableSwig/Swig/Lib )
+
+SET(CSWIG_EXTRA_LINKFLAGS )
+IF(CMAKE_BUILD_TOOL MATCHES "(msdev|devenv|nmake)")
+  SET(CSWIG_EXTRA_LINKFLAGS "/IGNORE:4049")
+ENDIF(CMAKE_BUILD_TOOL MATCHES "(msdev|devenv|nmake)")
+
+IF(CMAKE_SYSTEM MATCHES "IRIX.*")
+  IF(CMAKE_CXX_COMPILER MATCHES "CC")
+    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -woff 1552")
+  ENDIF(CMAKE_CXX_COMPILER MATCHES "CC")
+ENDIF(CMAKE_SYSTEM MATCHES "IRIX.*")
+
+IF(CMAKE_COMPILER_IS_GNUCXX)
+  STRING(REGEX REPLACE "-Wcast-qual" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+
+SET(IGNORE_WARNINGS -w362 -w389 -w503 -w508 -w509 -w516)
+# define macros for wrapping commands
+MACRO(GCCXML_CREATE_XML_FILE Source Bin Input Output Library)
+# if the make program is not an IDE then include
+# the depend file in a way that will make cmake 
+# re-run if it changes
+   SET(CABLE_SWIG_DEPEND)
+   SET(CABLE_SWIG_DEPEND_REGENERATE)
+   IF(${CMAKE_MAKE_PROGRAM} MATCHES "make")
+     IF(EXISTS ${Bin}/${Output}.depend)
+     ELSE(EXISTS ${Bin}/${Output}.depend)
+       CONFIGURE_FILE(
+         ${OTB_SOURCE_DIR}/Wrapping/CSwig/empty.depend.in
+         ${Bin}/${Output}.depend @ONLY IMMEDIATE)
+     ENDIF(EXISTS ${Bin}/${Output}.depend)
+     INCLUDE(${Bin}/${Output}.depend)
+   ELSE(${CMAKE_MAKE_PROGRAM} MATCHES "make")
+# for IDE generators like MS dev only include the depend files
+# if they exist.   This is to prevent ecessive reloading of
+# workspaces after each build.   This also means
+# that the depends will not be correct until cmake
+# is run once after the build has completed once.
+# the depend files are created in the wrap tcl/python sections
+# when the .xml file is parsed.
+     INCLUDE(${Bin}/${Output}.depend OPTIONAL)
+   ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES "make")
+
+   IF(CABLE_SWIG_DEPEND)
+     # There are dependencies.  Make sure all the files are present.
+     # If not, force the rule to re-run to update the dependencies.
+     FOREACH(f ${CABLE_SWIG_DEPEND})
+       IF(EXISTS ${f})
+       ELSE(EXISTS ${f})
+         SET(CABLE_SWIG_DEPEND_REGENERATE 1)
+       ENDIF(EXISTS ${f})
+     ENDFOREACH(f)
+   ELSE(CABLE_SWIG_DEPEND)
+     # No dependencies, make the output depend on the dependency file
+     # itself, which should cause the rule to re-run.
+     SET(CABLE_SWIG_DEPEND_REGENERATE 1)
+   ENDIF(CABLE_SWIG_DEPEND)
+   IF(CABLE_SWIG_DEPEND_REGENERATE)
+     SET(CABLE_SWIG_DEPEND ${Bin}/${Output}.depend)
+     CONFIGURE_FILE(
+       ${OTB_SOURCE_DIR}/Wrapping/CSwig/empty.depend.in
+       ${Bin}/${Output}.depend @ONLY IMMEDIATE)
+   ENDIF(CABLE_SWIG_DEPEND_REGENERATE)
+
+   ADD_CUSTOM_COMMAND(
+   COMMENT "${Output} from "
+   SOURCE ${Source}/${Input}
+   COMMAND ${GCCXML}
+   ARGS -fxml-start=_cable_
+        -fxml=${Bin}/${Output} --gccxml-gcc-options ${SWIG_INC_FILE}
+        -DCSWIG -DCABLE_CONFIGURATION ${Source}/${Input}
+   TARGET ${Library}
+   OUTPUTS ${Bin}/${Output}
+   DEPENDS ${GCCXML} ${CABLE_SWIG_DEPEND})
+ENDMACRO(GCCXML_CREATE_XML_FILE)
+
+
+MACRO(CINDEX_CREATE_IDX_FILE Bin Input Output Library)
+   ADD_CUSTOM_COMMAND(
+   COMMENT "${Output} from "
+   SOURCE ${Bin}/${Input}
+   COMMAND ${CABLE_INDEX}
+   ARGS ${Bin}/${Input} ${Bin}/${Output}
+   TARGET ${Library}
+   OUTPUTS ${Bin}/${Output} 
+   DEPENDS ${Bin}/${Input} ${CABLE_INDEX}
+)
+ENDMACRO(CINDEX_CREATE_IDX_FILE)
+
+MACRO(CSWIG_CREATE_TCL_CXX_FILE Bin MasterIdx InputIdx InputXml OutputTclCxx Library LibraryIndexFiles)
+   SET(CINDEX)
+   FOREACH(MIDX ${MasterIdx})
+     SET(CINDEX ${CINDEX} -Cindex "${MIDX}")
+   ENDFOREACH(MIDX)
+
+   # Need dependency on ${OTB_BINARY_DIR}/itkConfigure.h so
+   # package is rebuilt when the OTB version changes.
+   ADD_CUSTOM_COMMAND(
+     COMMENT "${OutputTclCxx} from "
+     SOURCE ${Bin}/${InputIdx}
+     COMMAND ${CSWIG}
+     ARGS -l${OTB_TOP}/Wrapping/CSwig/itk.swg
+          -I${OTB_SWIG_DEFAULT_LIB}
+          -I${OTB_SWIG_DEFAULT_LIB}/tcl
+          -noruntime ${CINDEX} ${IGNORE_WARNINGS} -depend ${Bin}/${InputXml}.depend
+          -o ${Bin}/${OutputTclCxx} -tcl -pkgversion "${OTB_VERSION_STRING}" -c++ ${Bin}/${InputXml}
+     TARGET ${Library}
+     OUTPUTS ${Bin}/${OutputTclCxx}
+     DEPENDS ${LibraryIndexFiles} ${OTB_TOP}/Wrapping/CSwig/itk.swg ${Bin}/${InputXml} ${CSWIG} ${OTB_BINARY_DIR}/itkConfigure.h)
+#     MESSAGE("depends are ${CABLE_SWIG_DEPEND}")
+ENDMACRO(CSWIG_CREATE_TCL_CXX_FILE)
+
+MACRO(CSWIG_CREATE_PERL_CXX_FILE Bin MasterIdx InputIdx InputXml OutputPerlCxx Library LibraryIndexFiles)
+   SET(CINDEX)
+   FOREACH(MIDX ${MasterIdx})
+     SET(CINDEX ${CINDEX} -Cindex "${MIDX}")
+   ENDFOREACH(MIDX)
+
+   # Need dependency on ${OTB_BINARY_DIR}/itkConfigure.h so
+   # package is rebuilt when the OTB version changes.
+   ADD_CUSTOM_COMMAND(
+     COMMENT "${OutputPerlCxx} from "
+     SOURCE ${Bin}/${InputIdx}
+     COMMAND ${CSWIG}
+     ARGS -perl5 -l${OTB_TOP}/Wrapping/CSwig/itk.swg
+          -I${OTB_SWIG_DEFAULT_LIB}
+          -noruntime ${CINDEX} ${IGNORE_WARNINGS} -depend ${Bin}/${InputXml}.depend
+          -o ${Bin}/${OutputPerlCxx} -c++ ${Bin}/${InputXml}
+     TARGET ${Library}
+     OUTPUTS ${Bin}/${OutputPerlCxx}
+     DEPENDS ${LibraryIndexFiles} ${OTB_TOP}/Wrapping/CSwig/itk.swg ${Bin}/${InputXml} ${CSWIG} ${OTB_BINARY_DIR}/itkConfigure.h)
+ENDMACRO(CSWIG_CREATE_PERL_CXX_FILE)
+
+SET(OTB_CSWIG_PYTHON_NO_EXCEPTION_REGEX "(ContinuousIndex|Python)\\.xml$")
+SET(OTB_CSWIG_JAVA_NO_EXCEPTION_REGEX "(Java)\\.xml$")
+
+MACRO(CSWIG_CREATE_PYTHON_CXX_FILE Bin MasterIdx InputIdx InputXml OutputTclCxx Library LibraryIndexFiles)
+   SET(CINDEX)
+   FOREACH(MIDX ${MasterIdx})
+     SET(CINDEX ${CINDEX} -Cindex "${MIDX}")
+   ENDFOREACH(MIDX)
+   IF("${InputXml}" MATCHES "${OTB_CSWIG_PYTHON_NO_EXCEPTION_REGEX}")
+     SET(OTB_SWG_FILE "")
+   ELSE("${InputXml}" MATCHES "${OTB_CSWIG_PYTHON_NO_EXCEPTION_REGEX}")
+     SET(OTB_SWG_FILE "-l${OTB_TOP}/Wrapping/CSwig/itk.swg")
+   ENDIF("${InputXml}" MATCHES "${OTB_CSWIG_PYTHON_NO_EXCEPTION_REGEX}")
+   ADD_CUSTOM_COMMAND(
+     COMMENT "${OutputTclCxx} from "
+     SOURCE ${Bin}/${InputIdx}
+     COMMAND ${CSWIG}
+     ARGS ${OTB_SWG_FILE}
+          -I${OTB_SWIG_DEFAULT_LIB}
+          -I${OTB_SWIG_DEFAULT_LIB}/python
+          -noruntime ${CINDEX} ${IGNORE_WARNINGS} -depend ${Bin}/${InputXml}.depend
+          -outdir "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}"
+          -o ${Bin}/${OutputTclCxx} -python -c++ ${Bin}/${InputXml}
+     TARGET ${Library}
+     OUTPUTS ${Bin}/${OutputTclCxx}
+     DEPENDS ${LibraryIndexFiles}  ${OTB_TOP}/Wrapping/CSwig/itk.swg ${OTB_TOP}/Wrapping/CSwig/itk.swg ${Bin}/${InputXml} ${CSWIG} )
+ENDMACRO(CSWIG_CREATE_PYTHON_CXX_FILE)
+
+MACRO(CSWIG_CREATE_JAVA_CXX_FILE Bin MasterIdx InputIdx InputXml OutputTclCxx Library LibraryIndexFiles)
+   SET(CINDEX)
+   FOREACH(MIDX ${MasterIdx})
+     SET(CINDEX ${CINDEX} -Cindex "${MIDX}")
+   ENDFOREACH(MIDX)
+   IF("${InputXml}" MATCHES "${OTB_CSWIG_JAVA_NO_EXCEPTION_REGEX}")
+     SET(OTB_SWG_FILE "")
+   ELSE("${InputXml}" MATCHES "${OTB_CSWIG_JAVA_NO_EXCEPTION_REGEX}")
+     SET(OTB_SWG_FILE "-l${OTB_TOP}/Wrapping/CSwig/itk.swg")
+   ENDIF("${InputXml}" MATCHES "${OTB_CSWIG_JAVA_NO_EXCEPTION_REGEX}")
+   ADD_CUSTOM_COMMAND(
+     COMMENT "${OutputTclCxx} from "
+     SOURCE ${Bin}/${InputIdx}
+     COMMAND ${CSWIG}
+     ARGS -I${OTB_SWIG_DEFAULT_LIB}
+          -I${OTB_SWIG_DEFAULT_LIB}/java
+          ${OTB_SWG_FILE}
+          -noruntime ${CINDEX} ${IGNORE_WARNINGS} -depend ${Bin}/${InputXml}.depend
+          -outdir ${OTB_BINARY_DIR}/Wrapping/CSwig/Java/InsightToolkit
+          -o ${Bin}/${OutputTclCxx} -package InsightToolkit -java -c++ ${Bin}/${InputXml}
+     TARGET ${Library}
+     OUTPUTS ${Bin}/${OutputTclCxx}
+     DEPENDS ${LibraryIndexFiles} ${OTB_TOP}/Wrapping/CSwig/itk.swg  ${Bin}/${InputXml} ${CSWIG} )
+ENDMACRO(CSWIG_CREATE_JAVA_CXX_FILE)
+
+
+# macro to create .xml, .idx and Tcl.cxx files
+MACRO(WRAP_TCL_SOURCES Source Bin BaseName LibraryName MasterIdx LibraryIndexFiles)
+   GCCXML_CREATE_XML_FILE(${Source} ${Bin} ${BaseName}.cxx ${BaseName}.xml ${LibraryName})
+   CINDEX_CREATE_IDX_FILE(${Bin} ${BaseName}.xml  ${BaseName}.idx ${LibraryName})
+   CSWIG_CREATE_TCL_CXX_FILE(${Bin} "${MasterIdx}" ${BaseName}.idx ${BaseName}.xml
+                             ${BaseName}Tcl.cxx ${LibraryName} "${LibraryIndexFiles}")
+ENDMACRO(WRAP_TCL_SOURCES)
+
+# macro to create .xml, .idx and Tcl.cxx files
+MACRO(WRAP_PERL_SOURCES Source Bin BaseName LibraryName MasterIdx LibraryIndexFiles)
+   GCCXML_CREATE_XML_FILE(${Source} ${Bin} ${BaseName}.cxx ${BaseName}.xml ${LibraryName})
+   CINDEX_CREATE_IDX_FILE(${Bin} ${BaseName}.xml  ${BaseName}.idx ${LibraryName})
+   CSWIG_CREATE_PERL_CXX_FILE(${Bin} "${MasterIdx}" ${BaseName}.idx ${BaseName}.xml
+                             ${BaseName}Perl.cxx ${LibraryName} "${LibraryIndexFiles}")
+ENDMACRO(WRAP_PERL_SOURCES)
+
+# macro to create .xml, .idx and Python.cxx files
+MACRO(WRAP_PYTHON_SOURCES Source Bin BaseName LibraryName MasterIdx LibraryIndexFiles)
+   GCCXML_CREATE_XML_FILE(${Source} ${Bin} ${BaseName}.cxx ${BaseName}.xml ${LibraryName})
+   CINDEX_CREATE_IDX_FILE(${Bin} ${BaseName}.xml  ${BaseName}.idx ${LibraryName})
+   CSWIG_CREATE_PYTHON_CXX_FILE(${Bin} "${MasterIdx}" ${BaseName}.idx ${BaseName}.xml
+                             ${BaseName}Python.cxx ${LibraryName} "${LibraryIndexFiles}")
+ENDMACRO(WRAP_PYTHON_SOURCES)
+
+# macro to create .xml, .idx and Python.cxx files
+MACRO(WRAP_JAVA_SOURCES Source Bin BaseName LibraryName MasterIdx LibraryIndexFiles)
+   GCCXML_CREATE_XML_FILE(${Source} ${Bin} ${BaseName}.cxx ${BaseName}.xml ${LibraryName})
+   CINDEX_CREATE_IDX_FILE(${Bin} ${BaseName}.xml  ${BaseName}.idx ${LibraryName})
+   CSWIG_CREATE_JAVA_CXX_FILE(${Bin} "${MasterIdx}" ${BaseName}.idx ${BaseName}.xml
+                             ${BaseName}Java.cxx ${LibraryName} "${LibraryIndexFiles}")
+ENDMACRO(WRAP_JAVA_SOURCES)
+
+
+# make sure required stuff is set
+SET(CSWIG_MISSING_VALUES)
+IF(NOT CSWIG)
+   SET(CSWIG_MISSING_VALUES "${CSWIG_MISSING_VALUES} CSWIG ")
+ENDIF(NOT CSWIG)
+IF(NOT CABLE_INDEX)
+   SET(CSWIG_MISSING_VALUES "${CSWIG_MISSING_VALUES} CABLE_INDEX ")
+ENDIF(NOT CABLE_INDEX)
+IF(NOT GCCXML)
+   SET(CSWIG_MISSING_VALUES "${CSWIG_MISSING_VALUES} GCCXML ")
+ENDIF(NOT GCCXML)
+IF(CSWIG_MISSING_VALUES)
+  MESSAGE(SEND_ERROR "To use cswig wrapping, CSWIG, CABLE_INDEX, and GCCXML executables must be specified.  If they are all in the same directory, only specifiy one of them, and then run cmake configure again and the others should be found.\nCurrently, you are missing the following:\n ${CSWIG_MISSING_VALUES}")
+ENDIF(CSWIG_MISSING_VALUES)
+
+
+IF(OTB_CSWIG_PYTHON)
+  INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} )
+ENDIF(OTB_CSWIG_PYTHON)
+IF(OTB_CSWIG_TCL)
+  INCLUDE_DIRECTORIES(${TCL_INCLUDE_PATH} ${TK_INCLUDE_PATH})
+ENDIF(OTB_CSWIG_TCL)
+IF(OTB_CSWIG_PERL)
+  INCLUDE_DIRECTORIES(${PERL_INCLUDE_PATH})
+ENDIF(OTB_CSWIG_PERL)
+IF(OTB_CSWIG_JAVA)
+  INCLUDE_DIRECTORIES(${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2} ${JAVA_AWT_INCLUDE_PATH})
+ENDIF(OTB_CSWIG_JAVA)
+
+SET(SWIG_INC
+  ${TCL_INCLUDE_PATH}
+  ${OTB_INCLUDE_DIRS_BUILD_TREE}
+  ${OTB_INCLUDE_DIRS_BUILD_TREE_CXX}
+  ${OTB_INCLUDE_DIRS_SYSTEM}
+  ${OTB_TOP}/Wrapping/CSwig
+  ${OTB_TOP}/Wrapping/CSwig/CommonA
+  ${OTB_TOP}/Wrapping/CSwig/CommonB
+  ${OTB_TOP}/Wrapping/CSwig/VXLNumerics
+  ${OTB_TOP}/Wrapping/CSwig/Numerics
+  ${OTB_TOP}/Wrapping/CSwig/BasicFiltersA
+  ${OTB_TOP}/Wrapping/CSwig/BasicFiltersB
+  ${OTB_TOP}/Wrapping/CSwig/IO
+  ${OTB_TOP}/Wrapping/CSwig/Algorithms
+  ${OTB_TOP}/Wrapping/CSwig/otbIO
+  ${OTB_TOP}/Wrapping/CSwig/otbCommon
+   ${OTB_TOP}/Wrapping/CSwig/otbVisu
+  )
+ADD_DEFINITIONS(-DSWIG_GLOBAL)
+
+SET(OTB_KITS 
+VXLNumerics 
+CommonA CommonB 
+Numerics
+BasicFiltersA BasicFiltersB 
+IO 
+Algorithms
+otbIO
+otbCommon
+otbVisu
+  )
+SUBDIRS(SwigRuntime ${OTB_KITS} Tests)
+IF(OTB_CSWIG_JAVA)
+  SUBDIRS(Java)
+ENDIF(OTB_CSWIG_JAVA)
+
+
+IF(UNIX)
+  SET(OTB_CSWIG_LIBNAME_PREFIX "lib")
+ELSE(UNIX)
+  SET(OTB_CSWIG_LIBNAME_PREFIX "")
+ENDIF(UNIX)
+
+SET(OTB_CSWIG_PACKAGE_DIR_BUILD "${OTB_LIBRARY_PATH}")
+
+#-----------------------------------------------------------------------------
+# Configure pkgIndex.tcl for the build tree.
+SET(OTB_CSWIG_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES})
+SET(OTB_CSWIG_DATA_ROOT "${OTB_DATA_ROOT}")
+SET(OTB_CSWIG_TEST_ROOT "${OTB_BINARY_DIR}/Testing")
+SET(OTB_CSWIG_SCRIPT_DIR "${OTB_SOURCE_DIR}/Wrapping/CSwig/Tcl")
+
+IF(OTB_CSWIG_CONFIGURATION_TYPES)
+  FOREACH(config ${OTB_CSWIG_CONFIGURATION_TYPES})
+    SET(OTB_CSWIG_PACKAGE_DIR "${OTB_CSWIG_PACKAGE_DIR_BUILD}/${config}")
+    CONFIGURE_FILE("${OTB_SOURCE_DIR}/Wrapping/CSwig/Tcl/pkgIndex.tcl.in"
+                   "${OTB_BINARY_DIR}/Wrapping/CSwig/Tcl/${config}/pkgIndex.tcl"
+                   @ONLY IMMEDIATE)
+  ENDFOREACH(config)
+ELSE(OTB_CSWIG_CONFIGURATION_TYPES)
+  SET(OTB_CSWIG_PACKAGE_DIR "${OTB_CSWIG_PACKAGE_DIR_BUILD}")
+  CONFIGURE_FILE("${OTB_SOURCE_DIR}/Wrapping/CSwig/Tcl/pkgIndex.tcl.in"
+                 "${OTB_BINARY_DIR}/Wrapping/CSwig/Tcl/pkgIndex.tcl"
+                 @ONLY IMMEDIATE)
+ENDIF(OTB_CSWIG_CONFIGURATION_TYPES)
+
+#-----------------------------------------------------------------------------
+# Configure pkgIndex.tcl for the install tree.
+
+SET(OTB_CSWIG_SCRIPT_DIR "[file dirname [info script]]")
+SET(OTB_CSWIG_PACKAGE_DIR "[file dirname [file dirname [info script]]]")
+SET(OTB_CSWIG_DATA_ROOT "[file dirname [file dirname [info script]]]/Data")
+SET(OTB_CSWIG_TEST_ROOT "<NO_DEFAULT>")
+CONFIGURE_FILE("${OTB_SOURCE_DIR}/Wrapping/CSwig/Tcl/pkgIndex.tcl.in"
+               "${OTB_BINARY_DIR}/Wrapping/CSwig/Tcl/InstallOnly/Hide/pkgIndex.tcl"
+               IMMEDIATE @ONLY)
+INSTALL(FILES "${OTB_BINARY_DIR}/Wrapping/CSwig/Tcl/InstallOnly/Hide/pkgIndex.tcl"
+  DESTINATION ${OTB_INSTALL_LIB_DIR_CM24}/tcl
+  COMPONENT RuntimeLibraries)
+
+#-----------------------------------------------------------------------------
+# Configure python packages.
+SET(OTB_CSWIG_DATA_ROOT "'${OTB_DATA_ROOT}'")
+SET(OTB_CSWIG_TEST_ROOT "'${OTB_BINARY_DIR}/Testing'")
+IF(OTB_CSWIG_CONFIGURATION_TYPES)
+  FOREACH(config ${OTB_CSWIG_CONFIGURATION_TYPES})
+    SET(OTB_CSWIG_PACKAGE_DIR "'${OTB_CSWIG_PACKAGE_DIR_BUILD}/${config}'")
+    CONFIGURE_FILE("${OTB_SOURCE_DIR}/Wrapping/CSwig/Python/itkbase.py.in"
+                   "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/${config}/itkbase.py"
+                   @ONLY IMMEDIATE)
+  ENDFOREACH(config)
+ELSE(OTB_CSWIG_CONFIGURATION_TYPES)
+  SET(OTB_CSWIG_PACKAGE_DIR "'${OTB_CSWIG_PACKAGE_DIR_BUILD}'")
+  CONFIGURE_FILE("${OTB_SOURCE_DIR}/Wrapping/CSwig/Python/itkbase.py.in"
+                 "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/itkbase.py"
+                 @ONLY IMMEDIATE)
+ENDIF(OTB_CSWIG_CONFIGURATION_TYPES)
+
+# Handle out-of-source builds correctly.
+#
+#  1. Create a list of Python files to be installed/copied.
+#  2. Copy them to OTB_BINARY_DIR if it is different from OTB_SOURCE_DIR.
+#  3. Use Python's compileall to compile the copied files.
+#
+# *** Step 1 has to be done carefully to avoid missing out files ***
+IF(PYTHON_EXECUTABLE AND OTB_CSWIG_PYTHON)
+
+  # Deal with numarray package  Options
+  SET(CMAKE_MODULE_PATH ${OTB_SOURCE_DIR}/CMake)
+  OPTION(OTB_USE_PYTHON_NUMARRAY "Use the numarray python package" OFF)
+  MARK_AS_ADVANCED(OTB_USE_PYTHON_NUMARRAY)
+  IF( OTB_USE_PYTHON_NUMARRAY )
+      FIND_PACKAGE( NUMARRAY )
+  ENDIF( OTB_USE_PYTHON_NUMARRAY )
+
+  IF(PYTHON_NUMARRAY_FOUND)
+    INCLUDE_DIRECTORIES( ${PYTHON_NUMARRAY_INCLUDE_DIR} )
+    SET(SWIG_INC ${SWIG_INC} ${PYTHON_NUMARRAY_INCLUDE_DIR})
+  ENDIF(PYTHON_NUMARRAY_FOUND)
+
+
+  ADD_CUSTOM_TARGET(itkpython_pyc ALL echo "...")
+
+  # Make the necessary directories.
+  MAKE_DIRECTORY(${OTB_BINARY_DIR}/Wrapping/CSwig/Python)
+
+  # Now create a list of Python files.
+  SET(OTB_PYTHON_FILES)
+
+  # Wrapping/CSwig/Python/*.py
+  SET(OTB_PYTHON_FILES
+    ${OTB_PYTHON_FILES}
+    InsightToolkit
+    OrfeoToolBox
+    itkalgorithms
+    itkbasicfilters
+    itkcommon
+    itkio
+    itktesting
+    itkdata
+    itknumerics
+    vxlnumerics
+    otbio
+    otbcommon
+    otbvisu
+    )
+  # Done listing files.
+
+  # Now copy these files if necessary.
+  SET(OTB_PYTHON_SOURCE_FILES)
+  SET(OTB_PYTHON_OUTPUT_FILES)
+  IF(OTB_CSWIG_CONFIGURATION_TYPES)
+    FOREACH(file ${OTB_PYTHON_FILES})
+      SET(src "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/${CMAKE_CFG_INTDIR}/${file}.py")
+      SET(OTB_PYTHON_SOURCE_FILES ${OTB_PYTHON_SOURCE_FILES} ${src})
+    ENDFOREACH(file)
+  ELSE(OTB_CSWIG_CONFIGURATION_TYPES)
+    FOREACH(file ${OTB_PYTHON_FILES})
+      SET(src "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/${file}.py")
+      SET(OTB_PYTHON_SOURCE_FILES ${OTB_PYTHON_SOURCE_FILES} ${src})
+    ENDFOREACH(file)
+  ENDIF(OTB_CSWIG_CONFIGURATION_TYPES)
+  IF ("${OTB_BINARY_DIR}" MATCHES "^${OTB_SOURCE_DIR}$")
+    #MESSAGE("In source build -- no need to copy Python files.")
+  ELSE ("${OTB_BINARY_DIR}" MATCHES "^${OTB_SOURCE_DIR}$")
+    IF(OTB_CSWIG_CONFIGURATION_TYPES)
+      FOREACH(file ${OTB_PYTHON_FILES})
+        SET(src "${OTB_SOURCE_DIR}/Wrapping/CSwig/Python/${file}.py")
+        SET(tgt "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/${CMAKE_CFG_INTDIR}/${file}.py")
+        ADD_CUSTOM_COMMAND(SOURCE ${src}
+                           COMMAND ${CMAKE_COMMAND}
+                           ARGS -E copy ${src} ${tgt}
+                           OUTPUTS ${tgt}
+                           TARGET itkpython_pyc
+                           COMMENT "source copy")
+      ENDFOREACH(file)
+    ELSE(OTB_CSWIG_CONFIGURATION_TYPES)
+      FOREACH(file ${OTB_PYTHON_FILES})
+        SET(src "${OTB_SOURCE_DIR}/Wrapping/CSwig/Python/${file}.py")
+        SET(tgt "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/${file}.py")
+        ADD_CUSTOM_COMMAND(SOURCE ${src}
+              COMMAND ${CMAKE_COMMAND}
+                          ARGS -E copy ${src} ${tgt}
+                          OUTPUTS ${tgt}
+        TARGET itkpython_pyc
+                          COMMENT "source copy")
+      ENDFOREACH(file)
+    ENDIF(OTB_CSWIG_CONFIGURATION_TYPES)
+  ENDIF ("${OTB_BINARY_DIR}" MATCHES "^${OTB_SOURCE_DIR}$")
+
+  # Byte compile the Python files.
+  WRITE_FILE(${OTB_BINARY_DIR}/Wrapping/CSwig/Python/compile_all_itk
+        "import compileall\n"
+        "compileall.compile_dir('${OTB_BINARY_DIR}/Wrapping/CSwig/Python')\n"
+  "file = open('${OTB_BINARY_DIR}/Wrapping/CSwig/Python/itk_compile_complete', 'w')\n"
+  "file.write('Done')\n")
+
+  ADD_CUSTOM_COMMAND(
+    SOURCE ${OTB_BINARY_DIR}/Wrapping/CSwig/Python/compile_all_itk
+    COMMAND ${PYTHON_EXECUTABLE}
+    ARGS ${OTB_BINARY_DIR}/Wrapping/CSwig/Python/compile_all_itk
+    DEPENDS ${OTB_PYTHON_SOURCE_FILES}
+    OUTPUTS "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/itk_compile_complete"
+    TARGET itkpython_pyc
+    )
+
+  ADD_CUSTOM_COMMAND(
+    SOURCE itkpython_pyc
+    DEPENDS "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/itk_compile_complete"
+    TARGET itkpython_pyc
+    )
+
+ENDIF(PYTHON_EXECUTABLE AND OTB_CSWIG_PYTHON)
+
+IF(OTB_CSWIG_TCL)
+  SUBDIRS(Tcl)
+ENDIF(OTB_CSWIG_TCL)
+
+IF(OTB_CSWIG_PYTHON)
+  CONFIGURE_FILE(
+    "${WrapOTB_SOURCE_DIR}/pythonfiles_install.cmake.in"
+    "${WrapOTB_BINARY_DIR}/pythonfiles_install.cmake"
+    @ONLY IMMEDIATE)
+  ADD_CUSTOM_TARGET(python_install)
+  SET_TARGET_PROPERTIES(python_install PROPERTIES
+    POST_INSTALL_SCRIPT "${WrapOTB_BINARY_DIR}/pythonfiles_install.cmake")
+
+  # Install the package python files.
+  FOREACH(file ${OTB_PYTHON_FILES})
+    INSTALL(FILES "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/${file}.py"
+      DESTINATION ${OTB_INSTALL_LIB_DIR_CM24}/python
+      COMPONENT RuntimeLibraries)
+  ENDFOREACH(file)
+  
+  SET(OTB_CSWIG_PACKAGE_DIR "os.path.dirname(selfpath)")
+  SET(OTB_CSWIG_DATA_ROOT "os.path.join(os.path.dirname(selfpath),'Data')")
+  SET(OTB_CSWIG_TEST_ROOT "'<NO_DEFAULT>'")
+  CONFIGURE_FILE("${OTB_SOURCE_DIR}/Wrapping/CSwig/Python/itkbase.py.in"
+                 "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/InstallOnly/itkbase.py"
+                 @ONLY IMMEDIATE)
+  INSTALL(FILES "${OTB_BINARY_DIR}/Wrapping/CSwig/Python/InstallOnly/itkbase.py"
+    DESTINATION ${OTB_INSTALL_LIB_DIR_CM24}/python
+    COMPONENT RuntimeLibraries)
+ENDIF(OTB_CSWIG_PYTHON)
+
+
+MACRO(ITK_WRAP_LIBRARY WRAP_SOURCES LIBRARY_NAME DIRECTORY DEPEND_LIBRARY EXTRA_SOURCES OTB_LINK_LIBRARIES)
+  # loop over cable config files creating two lists:
+  # WRAP_TCL_SOURCES: list of generated files
+  SET(INDEX_FILE_CONTENT "%JavaLoader=InsightToolkit.itkbase.LoadLibrary(\"${LIBRARY_NAME}Java\")\n")
+  FOREACH(Source ${WRAP_SOURCES})
+    SET(WRAP_PERL_SOURCES ${WRAP_PERL_SOURCES} ${Source}Perl.cxx)
+    SET(WRAP_TCL_SOURCES ${WRAP_TCL_SOURCES} ${Source}Tcl.cxx)
+    SET(WRAP_PYTHON_SOURCES ${WRAP_PYTHON_SOURCES} ${Source}Python.cxx)
+    SET(WRAP_JAVA_SOURCES ${WRAP_JAVA_SOURCES} ${Source}Java.cxx)
+    STRING(REGEX REPLACE wrap_ "" JAVA_DEP ${Source})
+    SET(${LIBRARY_NAME}_JAVA_DEPENDS_INIT ${${LIBRARY_NAME}_JAVA_DEPENDS_INIT} ${JAVA_DEP}.java)
+    SET(ALL_IDX_FILES ${ALL_IDX_FILES} ${WrapOTB_BINARY_DIR}/${DIRECTORY}/${Source}.idx )
+    SET(INDEX_FILE_CONTENT "${INDEX_FILE_CONTENT}${WrapOTB_BINARY_DIR}/${DIRECTORY}/${Source}.idx\n")
+  ENDFOREACH(Source)
+  SET(${LIBRARY_NAME}_JAVA_DEPENDS  "${${LIBRARY_NAME}_JAVA_DEPENDS_INIT}" CACHE INTERNAL "" FORCE)
+  # add the package wrappers 
+  SET(WRAP_PERL_SOURCES ${WRAP_PERL_SOURCES} wrap_${LIBRARY_NAME}PerlPerl.cxx)
+  SET(WRAP_TCL_SOURCES ${WRAP_TCL_SOURCES} wrap_${LIBRARY_NAME}TclTcl.cxx)
+  SET(WRAP_PYTHON_SOURCES ${WRAP_PYTHON_SOURCES} wrap_${LIBRARY_NAME}PythonPython.cxx)
+  SET(WRAP_JAVA_SOURCES ${WRAP_JAVA_SOURCES} wrap_${LIBRARY_NAME}JavaJava.cxx)
+  IF(OTB_EXTRA_TCL_WRAP)
+    SET(WRAP_TCL_SOURCES ${WRAP_TCL_SOURCES} ${OTB_EXTRA_TCL_WRAP}Tcl.cxx)
+  ENDIF(OTB_EXTRA_TCL_WRAP)
+  IF(OTB_EXTRA_PYTHON_WRAP)
+    FOREACH( extraPython ${OTB_EXTRA_PYTHON_WRAP})
+      SET(WRAP_PYTHON_SOURCES ${WRAP_PYTHON_SOURCES} ${extraPython}Python.cxx)
+    ENDFOREACH( extraPython )
+  ENDIF(OTB_EXTRA_PYTHON_WRAP)
+  IF(OTB_EXTRA_JAVA_WRAP)
+    SET(WRAP_JAVA_SOURCES ${WRAP_JAVA_SOURCES} ${OTB_EXTRA_JAVA_WRAP}Java.cxx)
+  ENDIF(OTB_EXTRA_JAVA_WRAP)
+  IF(OTB_EXTRA_PERL_WRAP)
+    SET(WRAP_PERL_SOURCES ${WRAP_PERL_SOURCES} ${OTB_EXTRA_PERL_WRAP}Java.cxx)
+  ENDIF(OTB_EXTRA_PERL_WRAP)
+
+  # set the generated sources as generated
+  SET_SOURCE_FILES_PROPERTIES(
+    ${WRAP_PERL_SOURCES} 
+    ${WRAP_TCL_SOURCES} 
+    ${WRAP_PYTHON_SOURCES} 
+    ${WRAP_JAVA_SOURCES} GENERATED )
+  SET(EXTRA_LIBS ${OTB_LINK_LIBRARIES})
+  IF("${OTB_LINK_LIBRARIES}" MATCHES "^$")
+    SET(EXTRA_LIBS ${LIBRARY_NAME})
+  ENDIF("${OTB_LINK_LIBRARIES}" MATCHES "^$")
+  IF(OTB_CSWIG_TCL)
+    IF(OTB_SWIG_FILE)
+      SET(SWIG_INC ${SWIG_INC} ${TCL_INCLUDE_PATH})
+      SET_SOURCE_FILES_PROPERTIES(${OTB_SWIG_FILE_CXX}Tcl.cxx GENERATED)
+      SET(WRAP_FILE ${OTB_SWIG_FILE_CXX}Tcl.cxx )
+    ENDIF(OTB_SWIG_FILE)
+      
+    ADD_LIBRARY(${LIBRARY_NAME}Tcl SHARED 
+      ${WRAP_TCL_SOURCES} 
+      ${OTB_EXTRA_TCL_SOURCES} 
+      ${WRAP_FILE}
+      ${EXTRA_SOURCES})
+    IF(OTB_WRAP_NEEDS_DEPEND)
+      FOREACH(lib ${DEPEND_LIBRARY})
+        ADD_DEPENDENCIES(${LIBRARY_NAME}Tcl ${lib}Tcl)
+      ENDFOREACH(lib)
+    ENDIF(OTB_WRAP_NEEDS_DEPEND)
+    IF(OTB_LIBRARY_PROPERTIES)
+      SET_TARGET_PROPERTIES(${LIBRARY_NAME}Tcl PROPERTIES LINK_FLAGS "${CSWIG_EXTRA_LINKFLAGS}" ${OTB_LIBRARY_PROPERTIES})
+    ELSE(OTB_LIBRARY_PROPERTIES)
+    SET_TARGET_PROPERTIES(${LIBRARY_NAME}Tcl PROPERTIES LINK_FLAGS "${CSWIG_EXTRA_LINKFLAGS}")
+    ENDIF(OTB_LIBRARY_PROPERTIES)
+    TARGET_LINK_LIBRARIES(${LIBRARY_NAME}Tcl ${EXTRA_LIBS} SwigRuntimeTcl ${TCL_LIBRARY})
+    INSTALL(TARGETS ${LIBRARY_NAME}Tcl
+      RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries
+      LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeLibraries
+      ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT Development)
+    IF(OTB_SWIG_FILE)
+      ADD_CUSTOM_COMMAND(
+        COMMENT "run native swig on ${OTB_SWIG_FILE}"
+        SOURCE ${OTB_SWIG_FILE}
+        COMMAND ${CSWIG} 
+        ARGS -nocable -noruntime ${IGNORE_WARNINGS} -o ${WRAP_FILE}
+        -c++ ${OTB_SWIG_FILE} 
+        TARGET ${LIBRARY_NAME}Tcl
+        OUTPUTS ${WRAP_FILE}
+        DEPENDS ${OTB_SWIG_FILE} ${CSWIG})
+    ENDIF(OTB_SWIG_FILE)
+  ENDIF(OTB_CSWIG_TCL)
+
+
+  IF(OTB_CSWIG_PERL)
+    IF(OTB_SWIG_FILE)
+      SET(SWIG_INC ${SWIG_INC} ${PERL_INCLUDE_PATH})
+      SET_SOURCE_FILES_PROPERTIES(${OTB_SWIG_FILE_CXX}Perl.cxx GENERATED)
+      SET(WRAP_FILE ${OTB_SWIG_FILE_CXX}Perl.cxx )
+    ENDIF(OTB_SWIG_FILE)
+      
+    ADD_LIBRARY(${LIBRARY_NAME}Perl SHARED 
+      ${WRAP_PERL_SOURCES} 
+      ${OTB_EXTRA_PERL_SOURCES} 
+      ${WRAP_FILE}
+      ${EXTRA_SOURCES})
+    IF(OTB_LIBRARY_PROPERTIES)
+      SET_TARGET_PROPERTIES(${LIBRARY_NAME}Perl PROPERTIES LINK_FLAGS "${CSWIG_EXTRA_LINKFLAGS}" ${OTB_LIBRARY_PROPERTIES})
+    ELSE(OTB_LIBRARY_PROPERTIES)
+      SET_TARGET_PROPERTIES(${LIBRARY_NAME}Perl PROPERTIES LINK_FLAGS "${CSWIG_EXTRA_LINKFLAGS}")
+    ENDIF(OTB_LIBRARY_PROPERTIES)
+    TARGET_LINK_LIBRARIES(${LIBRARY_NAME}Perl ${EXTRA_LIBS} SwigRuntimePerl ${PERL_LIBRARY})
+    IF(OTB_WRAP_NEEDS_DEPEND)
+      FOREACH(lib ${DEPEND_LIBRARY})
+        ADD_DEPENDENCIES(${LIBRARY_NAME}Perl ${lib}Perl)
+      ENDFOREACH(lib)
+    ENDIF(OTB_WRAP_NEEDS_DEPEND)
+    INSTALL(TARGETS ${LIBRARY_NAME}Perl
+      RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries
+      LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeLibraries
+      ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT Development)
+    IF(OTB_SWIG_FILE)
+      ADD_CUSTOM_COMMAND(
+        COMMENT "run native swig on ${OTB_SWIG_FILE}"
+        SOURCE ${OTB_SWIG_FILE}
+        COMMAND ${CSWIG} 
+        ARGS -nocable -noruntime ${IGNORE_WARNINGS} -o ${WRAP_FILE}
+        -perl5 -c++ ${OTB_SWIG_FILE}
+        TARGET ${LIBRARY_NAME}Perl
+        OUTPUTS ${WRAP_FILE}
+        DEPENDS ${OTB_SWIG_FILE} ${CSWIG})
+    ENDIF(OTB_SWIG_FILE)
+  ENDIF(OTB_CSWIG_PERL)
+
+
+  IF(OTB_CSWIG_PYTHON)  
+    IF(OTB_SWIG_FILE)
+      SET(SWIG_INC ${SWIG_INC} ${PYTHON_INCLUDE_PATH})
+      SET_SOURCE_FILES_PROPERTIES(${OTB_SWIG_FILE_CXX}Python.cxx GENERATED)
+      SET(WRAP_FILE ${OTB_SWIG_FILE_CXX}Python.cxx )
+    ENDIF(OTB_SWIG_FILE)
+    
+    ADD_LIBRARY(_${LIBRARY_NAME}Python MODULE
+      ${WRAP_PYTHON_SOURCES}
+      ${OTB_EXTRA_PYTHON_SOURCES}
+      ${WRAP_FILE}
+      ${EXTRA_SOURCES})
+    IF(OTB_WRAP_NEEDS_DEPEND)
+      FOREACH(lib ${DEPEND_LIBRARY})
+        ADD_DEPENDENCIES(_${LIBRARY_NAME}Python _${lib}Python)
+      ENDFOREACH(lib)
+    ENDIF(OTB_WRAP_NEEDS_DEPEND)
+    IF(OTB_LIBRARY_PROPERTIES)
+      SET_TARGET_PROPERTIES( _${LIBRARY_NAME}Python PROPERTIES PREFIX "" ${OTB_LIBRARY_PROPERTIES})
+    ELSE(OTB_LIBRARY_PROPERTIES)
+    SET_TARGET_PROPERTIES( _${LIBRARY_NAME}Python PROPERTIES PREFIX "")
+    ENDIF(OTB_LIBRARY_PROPERTIES)
+    TARGET_LINK_LIBRARIES(_${LIBRARY_NAME}Python ${EXTRA_LIBS} SwigRuntimePython ${PYTHON_LIBRARY})
+#    INSTALL(TARGETS _${LIBRARY_NAME}Python
+#      RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries
+#      LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeLibraries
+#      ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT Development)
+    IF(OTB_SWIG_FILE)
+      ADD_CUSTOM_COMMAND(
+        COMMENT "run native swig on ${OTB_SWIG_FILE}"
+        SOURCE ${OTB_SWIG_FILE}
+        COMMAND ${CSWIG} 
+        ARGS -nocable -noruntime ${IGNORE_WARNINGS} -o ${WRAP_FILE}
+         -outdir "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}"
+         -python -c++ ${OTB_SWIG_FILE}
+        TARGET _${LIBRARY_NAME}Python
+        OUTPUTS ${WRAP_FILE}
+        DEPENDS ${OTB_SWIG_FILE} ${CSWIG})
+    ENDIF(OTB_SWIG_FILE)
+  ENDIF(OTB_CSWIG_PYTHON)
+
+  IF(OTB_CSWIG_JAVA)  
+    IF(OTB_SWIG_FILE)
+      SET(SWIG_INC ${SWIG_INC} ${JAVA_INCLUDE_PATH})
+      SET_SOURCE_FILES_PROPERTIES(${OTB_SWIG_FILE_CXX}Java.cxx GENERATED)
+      SET(WRAP_FILE ${OTB_SWIG_FILE_CXX}Java.cxx )
+    ENDIF(OTB_SWIG_FILE)
+    MAKE_DIRECTORY("${OTB_BINARY_DIR}/Wrapping/CSwig/Java/InsightToolkit")
+    ADD_LIBRARY(${LIBRARY_NAME}Java MODULE 
+      ${WRAP_JAVA_SOURCES} 
+      ${OTB_EXTRA_JAVA_SOURCES} 
+      ${WRAP_FILE}
+      ${EXTRA_SOURCES})
+    TARGET_LINK_LIBRARIES(${LIBRARY_NAME}Java ${JAVA_LIBRARY} ${EXTRA_LIBS} )   
+    IF(OTB_WRAP_NEEDS_DEPEND)
+      FOREACH(lib ${DEPEND_LIBRARY})
+        ADD_DEPENDENCIES(${LIBRARY_NAME}Java ${lib}Java)
+      ENDFOREACH(lib)
+    ENDIF(OTB_WRAP_NEEDS_DEPEND)
+    IF(OTB_LIBRARY_PROPERTIES)
+      SET_TARGET_PROPERTIES(${LIBRARY_NAME}Java PROPERTIES ${OTB_LIBRARY_PROPERTIES})
+    ENDIF(OTB_LIBRARY_PROPERTIES)
+    INSTALL(TARGETS ${LIBRARY_NAME}Java
+      RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries
+      LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeLibraries
+      ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT Development)
+    IF(OTB_SWIG_FILE)
+      ADD_CUSTOM_COMMAND(
+        COMMENT "run native swig on ${OTB_SWIG_FILE}"
+        SOURCE ${OTB_SWIG_FILE}
+        COMMAND ${CSWIG} 
+        ARGS -nocable -noruntime ${IGNORE_WARNINGS} -o ${WRAP_FILE} 
+        -I${OTB_TOP}/Code/Common -DOTBCommon_EXPORT=
+        -outdir ${OTB_BINARY_DIR}/Wrapping/CSwig/Java/InsightToolkit
+        -package InsightToolkit -java -c++ ${OTB_SWIG_FILE}
+        TARGET ${LIBRARY_NAME}Java
+        OUTPUTS ${WRAP_FILE}
+        DEPENDS ${OTB_SWIG_FILE} ${CSWIG})
+    ENDIF(OTB_SWIG_FILE)
+  ENDIF(OTB_CSWIG_JAVA)
+  
+  CONFIGURE_FILE(
+    ${WrapOTB_SOURCE_DIR}/Master.mdx.in
+    ${WrapOTB_BINARY_DIR}/${DIRECTORY}/${LIBRARY_NAME}.mdx IMMEDIATE
+    )
+
+  SET(SWIG_INC_FILE ${WrapOTB_BINARY_DIR}/${DIRECTORY}/SwigInc.txt)
+  SET(SWIG_INC_CONTENTS)
+  FOREACH(dir ${SWIG_INC})
+    SET(SWIG_INC_CONTENTS "${SWIG_INC_CONTENTS}-I${dir}\n")
+  ENDFOREACH(dir)
+  CONFIGURE_FILE(${WrapOTB_SOURCE_DIR}/SwigInc.txt.in ${SWIG_INC_FILE}
+    @ONLY IMMEDIATE)
+  
+  FOREACH(Source ${WRAP_SOURCES})
+    IF(OTB_CSWIG_TCL)
+      # tcl 
+      WRAP_TCL_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY}
+        ${Source} ${LIBRARY_NAME}Tcl "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+    ENDIF(OTB_CSWIG_TCL)
+
+    IF(OTB_CSWIG_PERL)
+      # tcl 
+      WRAP_PERL_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY}
+        ${Source} ${LIBRARY_NAME}Perl "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+    ENDIF(OTB_CSWIG_PERL)
+    
+    IF(OTB_CSWIG_PYTHON)
+      # python
+      WRAP_PYTHON_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY} 
+        ${Source} _${LIBRARY_NAME}Python "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+    ENDIF(OTB_CSWIG_PYTHON)
+    
+    IF(OTB_CSWIG_JAVA)
+      # java
+      WRAP_JAVA_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY}
+        ${Source} ${LIBRARY_NAME}Java "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+    ENDIF(OTB_CSWIG_JAVA)
+  ENDFOREACH(Source)
+  
+  
+  # wrap the package files for tcl and python
+  IF(OTB_CSWIG_TCL)
+    # tcl 
+    WRAP_TCL_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY}
+      wrap_${LIBRARY_NAME}Tcl ${LIBRARY_NAME}Tcl "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+    IF(OTB_EXTRA_TCL_WRAP)
+      WRAP_TCL_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY}
+        "${OTB_EXTRA_TCL_WRAP}" ${LIBRARY_NAME}Tcl "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+    ENDIF(OTB_EXTRA_TCL_WRAP)
+  ENDIF(OTB_CSWIG_TCL)
+
+  IF(OTB_CSWIG_PERL)
+    # perl
+    WRAP_PERL_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY}
+      wrap_${LIBRARY_NAME}Perl ${LIBRARY_NAME}Perl "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+    IF(OTB_EXTRA_PERL_WRAP)
+      WRAP_PERL_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY}
+        "${OTB_EXTRA_PERL_WRAP}" ${LIBRARY_NAME}Perl "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+    ENDIF(OTB_EXTRA_PERL_WRAP)
+  ENDIF(OTB_CSWIG_PERL)
+
+  IF(OTB_CSWIG_PYTHON)
+    # python
+    WRAP_PYTHON_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY}
+      wrap_${LIBRARY_NAME}Python _${LIBRARY_NAME}Python "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+    IF(OTB_EXTRA_PYTHON_WRAP)
+      FOREACH( extraPython ${OTB_EXTRA_PYTHON_WRAP})
+        WRAP_PYTHON_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY}
+          ${extraPython} _${LIBRARY_NAME}Python "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+      ENDFOREACH( extraPython )
+    ENDIF(OTB_EXTRA_PYTHON_WRAP)
+
+  ENDIF(OTB_CSWIG_PYTHON)
+
+  IF(OTB_CSWIG_JAVA)
+    # python
+    WRAP_JAVA_SOURCES(${OTB_TOP}/Wrapping/CSwig/${DIRECTORY} ${WrapOTB_BINARY_DIR}/${DIRECTORY}
+      wrap_${LIBRARY_NAME}Java ${LIBRARY_NAME}Java "${MASTER_INDEX_FILES}" "${ALL_IDX_FILES}")
+  ENDIF(OTB_CSWIG_JAVA)
+
+ENDMACRO(ITK_WRAP_LIBRARY)
diff --git a/Wrapping/CSwig/CommonA/.NoDartCoverage b/Wrapping/CSwig/CommonA/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/CommonA/CMakeLists.txt b/Wrapping/CSwig/CommonA/CMakeLists.txt
new file mode 100755
index 0000000000..acb2d1ca4e
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/CMakeLists.txt
@@ -0,0 +1,55 @@
+# create a list of cable config files for wrapping
+SET(WRAP_SOURCES
+  wrap_ITKCommonBase
+  wrap_ITKInterpolators
+  wrap_ITKRegions
+  wrap_SwigExtras
+  wrap_itkArray
+  wrap_itkBinaryBallStructuringElement
+  wrap_itkContinuousIndex
+  wrap_itkDenseFiniteDifferenceImageFilter_2D
+  wrap_itkDenseFiniteDifferenceImageFilter_3D
+  wrap_itkDifferenceImageFilter
+  wrap_itkEventObject
+  wrap_itkFiniteDifferenceFunction
+  wrap_itkFiniteDifferenceImageFilter_2D
+  wrap_itkFiniteDifferenceImageFilter_3D
+  wrap_itkFixedArray
+  wrap_itkFunctionBase
+  wrap_itkImage_2D
+  wrap_itkImage_3D
+  wrap_itkImageFunction
+  wrap_itkImageConstIterator
+  wrap_itkImageRegionIterator
+  wrap_itkImageRegionConstIterator
+  wrap_itkImageSource
+  wrap_itkImageToImageFilter_2D
+  wrap_itkImageToImageFilter_3D
+  wrap_itkInPlaceImageFilter_A
+  wrap_itkInPlaceImageFilter_B
+  wrap_itkIndex
+  wrap_itkLevelSet
+  wrap_itkNeighborhood
+  wrap_itkPoint
+  wrap_itkSize
+  wrap_itkVector
+)
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+)
+SET(OTB_SWIG_FILE ${OTB_TOP}/Wrapping/CSwig/CommonA/SwigExtras.i)
+SET(OTB_SWIG_FILE_CXX ${WrapOTB_BINARY_DIR}/CommonA/SwigExtras_wrap)
+SET(OTB_EXTRA_TCL_SOURCES itkTclCommand.cxx)
+SET(OTB_EXTRA_PYTHON_SOURCES itkPyCommand.cxx)
+SET(OTB_EXTRA_PYTHON_WRAP wrap_ITKPyUtils )
+
+IF(PYTHON_NUMARRAY_FOUND)
+  SET(OTB_EXTRA_PYTHON_WRAP ${OTB_EXTRA_PYTHON_WRAP} wrap_itkPyBuffer )
+ENDIF(PYTHON_NUMARRAY_FOUND)
+
+SET(OTB_EXTRA_TCL_WRAP wrap_ITKUtils)
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" ITKCommonA CommonA "VXLNumerics" itkStringStream.cxx "ITKCommon;OTBIO")
+
diff --git a/Wrapping/CSwig/CommonA/CVS/Entries b/Wrapping/CSwig/CommonA/CVS/Entries
new file mode 100644
index 0000000000..addbd13320
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/CVS/Entries
@@ -0,0 +1,55 @@
+/.NoDartCoverage/1.1/Fri Apr  1 14:38:32 2005//TITK-3-0-1
+/CMakeLists.txt/1.3/Tue May 10 14:37:07 2005//TITK-3-0-1
+/SwigExtras.i/1.2/Fri Apr 22 17:05:30 2005//TITK-3-0-1
+/SwigGetTclInterp.i/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/itkCommand.i/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/itkJavaCommand.h/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/itkPyBuffer.h/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/itkPyBuffer.txx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/itkPyCommand.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/itkPyCommand.h/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/itkStringStream.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/itkStringStream.h/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/itkTclCommand.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/itkTclCommand.h/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKCommonA.cxx/1.3/Tue May 10 14:37:07 2005//TITK-3-0-1
+/wrap_ITKCommonAJava.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKCommonAPython.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKCommonATcl.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKCommonBase.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKInterpolators.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKPyUtils.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKRegions.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKUtils.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_SwigExtras.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkArray.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkBinaryBallStructuringElement.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkContinuousIndex.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkDenseFiniteDifferenceImageFilter_2D.cxx/1.1/Tue May 10 14:37:07 2005//TITK-3-0-1
+/wrap_itkDenseFiniteDifferenceImageFilter_3D.cxx/1.1/Tue May 10 14:37:07 2005//TITK-3-0-1
+/wrap_itkDifferenceImageFilter.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkEventObject.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkFiniteDifferenceFunction.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkFiniteDifferenceImageFilter_2D.cxx/1.1/Tue May 10 14:37:07 2005//TITK-3-0-1
+/wrap_itkFiniteDifferenceImageFilter_3D.cxx/1.1/Tue May 10 14:37:07 2005//TITK-3-0-1
+/wrap_itkFixedArray.cxx/1.2/Thu Oct 27 20:22:55 2005//TITK-3-0-1
+/wrap_itkFunctionBase.cxx/1.2/Fri Apr  1 14:50:41 2005//TITK-3-0-1
+/wrap_itkImageConstIterator.cxx/1.2/Fri Apr  1 16:30:14 2005//TITK-3-0-1
+/wrap_itkImageFunction.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkImageRegionConstIterator.cxx/1.2/Fri Apr  1 16:30:14 2005//TITK-3-0-1
+/wrap_itkImageRegionIterator.cxx/1.2/Fri Apr  1 16:30:14 2005//TITK-3-0-1
+/wrap_itkImageSource.cxx/1.2/Fri Apr  1 16:30:14 2005//TITK-3-0-1
+/wrap_itkImageToImageFilter_2D.cxx/1.2/Fri Apr  1 16:30:14 2005//TITK-3-0-1
+/wrap_itkImageToImageFilter_3D.cxx/1.2/Fri Apr  1 16:30:14 2005//TITK-3-0-1
+/wrap_itkImage_2D.cxx/1.2/Fri Apr  1 16:30:14 2005//TITK-3-0-1
+/wrap_itkImage_3D.cxx/1.2/Fri Apr  1 16:30:14 2005//TITK-3-0-1
+/wrap_itkInPlaceImageFilter_A.cxx/1.2/Fri Apr  1 16:30:15 2005//TITK-3-0-1
+/wrap_itkInPlaceImageFilter_B.cxx/1.1/Fri Apr  1 14:53:33 2005//TITK-3-0-1
+/wrap_itkIndex.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkLevelSet.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkNeighborhood.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkPoint.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkPyBuffer.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkSize.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkVector.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/CommonA/CVS/Repository b/Wrapping/CSwig/CommonA/CVS/Repository
new file mode 100644
index 0000000000..68775ad48e
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/CommonA
diff --git a/Wrapping/CSwig/CommonA/CVS/Root b/Wrapping/CSwig/CommonA/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/CommonA/CVS/Tag b/Wrapping/CSwig/CommonA/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/CommonA/CVS/Template b/Wrapping/CSwig/CommonA/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/CommonA/SwigExtras.i b/Wrapping/CSwig/CommonA/SwigExtras.i
new file mode 100755
index 0000000000..55869aae8b
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/SwigExtras.i
@@ -0,0 +1,90 @@
+%module(directors="1") SwigExtras
+%include "typemaps.i"
+%include "carrays.i"
+%array_functions(unsigned long, ULArray);
+%array_functions(int, IArray);
+%array_functions(float, FArray);
+%array_functions(double, DArray);
+%array_class(unsigned long, ULArrayClass);
+%array_class(int, IArrayClass);
+%array_class(float, FArrayClass);
+%array_class(double, DArrayClass);
+#ifdef SWIGTCL
+Tcl_Interp* GetInterp(Tcl_Interp* interp);
+%{
+Tcl_Interp* GetInterp(Tcl_Interp* interp)
+{
+  return interp;
+}
+%}
+#endif
+
+// Create swig version of std::list with
+// a specialization for std::string.  
+// This is because list<std::string> is used
+// in the wrapper interface of ITK and for java
+// this creates SWIGTYPE_p_*.java files that are
+// too big for windows file systems.   But if the
+// class is wrapped, the shorter name StringList is used.
+
+%{
+#include <list>
+%}
+namespace std {
+  template<class T> class list {
+  public:
+    list();
+    unsigned int size() const;
+    bool empty() const;
+    void clear();
+    void push_back(std::string x); 
+  };
+  template<> class list<std::string> {
+    // add specialized typemaps here
+  public:
+    list();
+    unsigned int size() const;
+    bool empty() const;
+    void clear();
+    void push_back(std::string x); 
+    %extend {
+      std::string get(int i) 
+        {
+        std::list<std::string>::iterator j = self->begin();
+        while(i)
+          {
+          j++;
+          i--;
+          }
+        return *j;
+        }
+    }
+  };
+}
+
+/* See wrap_SwigExtras.cxx. */
+%include stl.i
+%template(StringVector) std::vector<std::string>;
+%template(StringList) std::list<std::string>;
+#ifdef SWIGJAVA
+%feature("director") itkJavaCommand;
+%{
+#include "itkJavaCommand.h"
+%}
+
+// import fake itk command
+// because itkCommand will be wrapped elsewhere by cableswig
+%import "itkCommand.i"
+
+//  create an itkJavaCommand that has an Execute method that
+// can be overriden in java, and used as an itkCommand
+class itkJavaCommand : public itkCommand
+{
+public: 
+  virtual void Execute();
+};
+
+%pragma(java) jniclasscode=%{
+  static { InsightToolkit.itkbase.LoadLibrary("ITKCommonAJava"); }
+%}
+#endif
diff --git a/Wrapping/CSwig/CommonA/SwigGetTclInterp.i b/Wrapping/CSwig/CommonA/SwigGetTclInterp.i
new file mode 100755
index 0000000000..92f056e6a7
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/SwigGetTclInterp.i
@@ -0,0 +1,16 @@
+%module SwigGetTclInterp
+%include "typemaps.i"
+%include "carrays.i"
+%array_functions(unsigned long, ULArray);
+%array_functions(int, IArray);
+%array_functions(float, FArray);
+%array_functions(double, DArray);
+#ifdef SWIGTCL
+Tcl_Interp* GetInterp(Tcl_Interp* interp);
+%{
+Tcl_Interp* GetInterp(Tcl_Interp* interp)
+{
+  return interp;
+}
+#endif
+%}
diff --git a/Wrapping/CSwig/CommonA/itkCommand.i b/Wrapping/CSwig/CommonA/itkCommand.i
new file mode 100755
index 0000000000..752a84e887
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/itkCommand.i
@@ -0,0 +1,8 @@
+// This is needed for a reference in SwigExtras.i
+// The actuall itkCommand wrapping is done in wrap_ITKCommonBase.cxx by
+// CableSwig
+class itkCommand
+{
+public:
+  virtual ~itkCommand() {}
+};
diff --git a/Wrapping/CSwig/CommonA/itkJavaCommand.h b/Wrapping/CSwig/CommonA/itkJavaCommand.h
new file mode 100755
index 0000000000..e25ed64f0c
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/itkJavaCommand.h
@@ -0,0 +1,13 @@
+#ifndef itkJavaCommand_h
+#define itkJavaCommand_h
+#include "itkCommand.h"
+typedef itk::Command itkCommand;
+
+class itkJavaCommand : public  itk::Command
+{
+public:
+  virtual void Execute(itk::Object *, const itk::EventObject&){ this->Execute();};
+  virtual void Execute(const itk::Object *, const itk::EventObject&){ this->Execute();}; 
+  virtual void Execute(){};
+};
+#endif
diff --git a/Wrapping/CSwig/CommonA/itkPyBuffer.h b/Wrapping/CSwig/CommonA/itkPyBuffer.h
new file mode 100644
index 0000000000..2393d7b5d2
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/itkPyBuffer.h
@@ -0,0 +1,109 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkPyBuffer.h,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifndef _itkPyBuffer_h
+#define _itkPyBuffer_h
+
+#include "itkObject.h"
+#include "itkObjectFactory.h"
+#include "itkImportImageFilter.h"
+
+// The python header defines _POSIX_C_SOURCE without a preceding #undef
+#undef _POSIX_C_SOURCE
+#include <Python.h>
+#include <arrayobject.h>
+
+
+
+namespace itk
+{
+
+/** \Class PyBuffer
+ *  \brief Helper class for converting C buffers into python arrays.
+ * 
+ *  This class will receive a C buffer and create the equivalen python
+ *  array. This permits to pass image buffers into python arrays from
+ *  the Numeric python package.
+ *
+ */
+
+template <typename TImage>
+class PyBuffer : public Object
+{
+public:
+  ///! Standard "Self" typedef.
+  typedef PyBuffer         Self;
+
+  ///! Smart pointer typedef support.
+  typedef SmartPointer<Self>  Pointer;
+
+  ///! Run-time type information (and related methods).
+  itkTypeMacro(PyBuffer,Object);
+
+  ///! Method for creation through the object factory.
+  itkNewMacro(Self);
+
+  /// Type of the image from where the buffer will be converted
+  typedef TImage                              ImageType;
+  typedef typename ImageType::PixelType       PixelType;
+  typedef typename ImageType::SizeType        SizeType;
+  typedef typename ImageType::IndexType       IndexType;
+  typedef typename ImageType::RegionType      RegionType;
+  typedef typename ImageType::PointType       PointType;
+  typedef typename ImageType::SpacingType     SpacingType;
+
+
+   /** Image dimension. */
+  itkStaticConstMacro(ImageDimension, unsigned int,
+                      ImageType::ImageDimension);
+ 
+  /// Type of the import image filter
+  typedef ImportImageFilter< PixelType, 
+                             ImageDimension >   ImporterType;
+
+  typedef typename ImporterType::Pointer   ImporterPointer;
+  
+  /** 
+   * Get an Array with the content of the image buffer
+   */
+  PyObject * GetArrayFromImage(const ImageType * image);
+
+  /** 
+   * Get an ITK image from a Python array
+   */
+  const ImageType * GetImageFromArray( PyObject *obj );
+
+
+protected:
+  PyBuffer();
+  ~PyBuffer();
+  PyBuffer(const Self&);     // Not implemented.
+  void operator=(const Self&); // Not implemented.
+
+private:
+  PyObject          *obj;
+  ImporterPointer    m_Importer;
+};
+
+
+} // namespace itk
+
+#ifndef ITK_MANUAL_INSTANTIATION
+#include "itkPyBuffer.txx"
+#endif
+
+#endif // _itkPyBuffer_h
+
diff --git a/Wrapping/CSwig/CommonA/itkPyBuffer.txx b/Wrapping/CSwig/CommonA/itkPyBuffer.txx
new file mode 100644
index 0000000000..afc595b7fb
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/itkPyBuffer.txx
@@ -0,0 +1,166 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkPyBuffer.txx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifndef _itkPyBuffer_txx
+#define _itkPyBuffer_txx
+
+#include "itkPyBuffer.h"
+
+namespace itk
+{
+
+template<typename TImage>
+PyBuffer<TImage>
+::PyBuffer()
+{
+    this->obj = NULL;
+    this->m_Importer = ImporterType::New();
+    
+    import_libnumarray();
+}
+
+template<typename TImage>
+PyBuffer<TImage>
+::~PyBuffer()
+{
+    if (this->obj)
+    {
+        Py_DECREF(this->obj);
+    }
+    this->obj = NULL;
+}
+
+    
+template<typename TImage>
+PyObject * 
+PyBuffer<TImage>
+::GetArrayFromImage( const ImageType * image )
+{
+   if( !image )
+     {
+     itkExceptionMacro("Input image is null");
+     }
+
+   PixelType * buffer = const_cast< PixelType *>( image->GetBufferPointer() );
+
+   char * data = (char *)( buffer );
+   
+   int dimensions[ ImageDimension ];
+
+   SizeType size = image->GetBufferedRegion().GetSize();
+
+   for(unsigned int d=0; d < ImageDimension; d++ )
+     {
+     dimensions[d] = size[d];
+     }
+
+   int item_type = 0;  // TODO find a way of doing this through pixel traits
+   
+   this->obj = PyArray_FromDimsAndData( ImageDimension, dimensions, item_type, data );
+
+   return this->obj;
+}
+
+
+
+template<typename TImage>
+const typename PyBuffer<TImage>::ImageType * 
+PyBuffer<TImage>
+::GetImageFromArray( PyObject *obj )
+{
+    if (obj != this->obj)
+    {
+        if (this->obj)
+        {
+            // get rid of our reference
+            Py_DECREF(this->obj);
+        }
+
+        // store the new object
+        this->obj = obj;
+
+        if (this->obj)
+        {
+            // take out reference (so that the calling code doesn't
+            // have to keep a binding to the callable around)
+            Py_INCREF(this->obj);
+        }
+    }
+    
+
+    int element_type = PyArray_DOUBLE;  // change this with pixel traits.
+
+    PyArrayObject * parray = 
+          (PyArrayObject *) PyArray_ContiguousFromObject( 
+                                                    this->obj, 
+                                                    element_type,
+                                                    ImageDimension,
+                                                    ImageDimension  );
+
+    if( parray == NULL )
+      {
+      itkExceptionMacro("Contiguous array couldn't be created from input python object");
+      }
+
+    const unsigned int imageDimension = parray->nd;
+    
+    SizeType size;
+
+    unsigned int numberOfPixels = 1;
+
+    for( unsigned int d=0; d<imageDimension; d++ )
+      {
+      size[d]         = parray->dimensions[d];
+      numberOfPixels *= parray->dimensions[d];
+      }
+
+    IndexType start;
+    start.Fill( 0 );
+
+    RegionType region;
+    region.SetIndex( start );
+    region.SetSize( size );
+
+    PointType origin;
+    origin.Fill( 0.0 );
+
+    SpacingType spacing;
+    spacing.Fill( 1.0 );
+
+    this->m_Importer->SetRegion( region );
+    this->m_Importer->SetOrigin( origin );
+    this->m_Importer->SetSpacing( spacing );
+
+    const bool importImageFilterWillOwnTheBuffer = false;
+    
+    PixelType * data = (PixelType *)parray->data;
+    
+    this->m_Importer->SetImportPointer( 
+                        data,
+                        numberOfPixels,
+                        importImageFilterWillOwnTheBuffer );
+
+    this->m_Importer->Update();
+    
+    return this->m_Importer->GetOutput();
+}
+
+
+
+} // namespace itk
+
+#endif
+
diff --git a/Wrapping/CSwig/CommonA/itkPyCommand.cxx b/Wrapping/CSwig/CommonA/itkPyCommand.cxx
new file mode 100644
index 0000000000..801f412c99
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/itkPyCommand.cxx
@@ -0,0 +1,107 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkPyCommand.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkPyCommand.h"
+
+namespace itk
+{
+
+PyCommand::PyCommand()
+{
+    this->obj = NULL;
+}
+
+PyCommand::~PyCommand()
+{
+    if (this->obj)
+    {
+        Py_DECREF(this->obj);
+    }
+    this->obj = NULL;
+}
+    
+void PyCommand::SetCommandCallable(PyObject *obj)
+{
+    if (obj != this->obj)
+    {
+        if (this->obj)
+        {
+            // get rid of our reference
+            Py_DECREF(this->obj);
+        }
+
+        // store the new object
+        this->obj = obj;
+
+        if (this->obj)
+        {
+            // take out reference (so that the calling code doesn't
+            // have to keep a binding to the callable around)
+            Py_INCREF(this->obj);
+        }
+    }
+}
+
+void PyCommand::Execute(Object *, const EventObject&)
+{
+    this->PyExecute();
+}
+
+
+void PyCommand::Execute(const Object*, const EventObject&)
+{
+    this->PyExecute();
+
+}
+
+void PyCommand::PyExecute()
+{
+    // make sure that the CommandCallable is in fact callable
+    if (!PyCallable_Check(this->obj))
+    {
+        // we throw a standard ITK exception: this makes it possible for
+        // our standard CableSwig exception handling logic to take this
+        // through to the invoking Python process
+        itkExceptionMacro(<<"CommandCallable is not a callable Python object, "
+                          <<"or it has not been set.");
+    }
+    else
+    {
+        PyObject *result;
+
+        result = PyEval_CallObject(this->obj, (PyObject *)NULL);
+
+        if (result)
+        {
+            Py_DECREF(result);
+        }
+        else
+        {
+            // there was a Python error.  Clear the error by printing to stdout
+            PyErr_Print();
+            // make sure the invoking Python code knows there was a problem
+            // by raising an exception
+            itkExceptionMacro(<<"There was an error executing the "
+                              <<"CommandCallable.");
+        }
+    }
+}
+
+
+
+} // namespace itk
+
+
diff --git a/Wrapping/CSwig/CommonA/itkPyCommand.h b/Wrapping/CSwig/CommonA/itkPyCommand.h
new file mode 100644
index 0000000000..add31b761f
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/itkPyCommand.h
@@ -0,0 +1,79 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkPyCommand.h,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifndef _itkPyCommand_h
+#define _itkPyCommand_h
+
+#include "itkCommand.h"
+
+// The python header defines _POSIX_C_SOURCE without a preceding #undef
+#undef _POSIX_C_SOURCE
+#include <Python.h>
+
+namespace itk
+{
+
+/** \Class PyCommand
+ *  \brief Command subclass that calls a Python callable object, e.g.
+ *  a Python function.
+ * 
+ * With this class, arbitrary Python callable objects (e.g. functions)
+ * can be associated with an instance to be used in AddObserver calls.
+ * This is analogous to itk::TclCommand, but then a tad more flexible. ;)
+ *
+ * This class was contributed by Charl P. Botha <cpbotha |AT| ieee.org>
+ */
+class PyCommand : public Command
+{
+public:
+  ///! Standard "Self" typedef.
+  typedef PyCommand         Self;
+
+  ///! Smart pointer typedef support.
+  typedef SmartPointer<Self>  Pointer;
+
+  ///! Run-time type information (and related methods).
+  itkTypeMacro(PyCommand,Command);
+
+  ///! Method for creation through the object factory.
+  itkNewMacro(Self);
+
+  /** 
+   * Assign a Python callable object to be used.  You don't have to keep
+   * a binding to the callable, PyCommand will also take out a reference
+   * to make sure the Callable sticks around.
+   */
+  void SetCommandCallable(PyObject *obj);
+
+  void Execute(Object *, const EventObject&);
+  void Execute(const Object *, const EventObject&);
+
+protected:
+  PyCommand();
+  ~PyCommand();
+  void PyExecute();
+  PyCommand(const Self&);     // Not implemented.
+  void operator=(const Self&); // Not implemented.
+
+private:
+  PyObject *obj;
+};
+
+
+} // namespace itk
+
+#endif // _itkPyCommand_h
+
diff --git a/Wrapping/CSwig/CommonA/itkStringStream.cxx b/Wrapping/CSwig/CommonA/itkStringStream.cxx
new file mode 100644
index 0000000000..dc2d6540c4
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/itkStringStream.cxx
@@ -0,0 +1,60 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkStringStream.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkStringStream.h"
+#include <iostream>
+
+namespace itk
+{
+
+/**
+ * Default constructor.  Use this to create a re-usable instance.
+ */
+StringStream::StringStream()
+{
+}
+
+
+/**
+ * Destructor will set the  result to the string value if an
+ * interpreter was provided to the constructor, and GetString() and
+ * Reset() were never called.
+ */
+StringStream::~StringStream() 
+{
+}
+
+
+/**
+ * Get the string that has been written to the stream.  This disables
+ * further writing until Reset() is called.
+ */
+const char* StringStream::GetString()
+{
+  m_String = this->str();
+  return m_String.c_str();
+}
+
+
+/**
+ * Reset the stream to accept new input starting from an empty string.
+ */
+void StringStream::Reset()
+{
+  this->seekp(0, std::ios::beg);    
+}
+
+} // namespace itk
diff --git a/Wrapping/CSwig/CommonA/itkStringStream.h b/Wrapping/CSwig/CommonA/itkStringStream.h
new file mode 100644
index 0000000000..6b2e32f7dc
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/itkStringStream.h
@@ -0,0 +1,50 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkStringStream.h,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifndef _itkTclStringStream_h
+#define _itkTclStringStream_h
+
+// Need to include at least one ITK header.
+#include "itkMacro.h"
+
+
+namespace itk
+{
+
+/** \Class StringStream
+ *  \brief Provides access to C++ ostreams.
+ */
+class StringStream: public itk::OStringStream
+{
+public:
+  typedef StringStream Self;
+  typedef itk::OStringStream Superclass;
+  
+  StringStream();
+  ~StringStream();
+  std::ostream& GetStream() { return *this;}
+  const char* GetString();
+  void Reset();
+private:
+  std::string m_String;
+  StringStream(const StringStream&); // Not implemented.
+  void operator=(const StringStream&); // Not implemented.
+  
+};
+
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/itkTclCommand.cxx b/Wrapping/CSwig/CommonA/itkTclCommand.cxx
new file mode 100644
index 0000000000..4eae279c43
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/itkTclCommand.cxx
@@ -0,0 +1,97 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkTclCommand.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkTclCommand.h"
+
+namespace itk
+{
+
+TclCommand::TclCommand()
+{
+  m_Interpreter = 0;
+}
+
+
+///! Set the interpreter in which the command is to be invoked.
+void TclCommand::SetInterpreter(Tcl_Interp* interp)
+{
+  m_Interpreter = interp;
+}
+
+
+///! Get the interpreter in which the command will be invoked.
+Tcl_Interp* TclCommand::GetInterpreter() const
+{
+  return m_Interpreter;
+}
+
+
+///! Set the command to invoke in the interpreter.
+void TclCommand::SetCommandString(const char* commandString)
+{
+  m_CommandString = commandString;
+}
+
+
+///! Get the command that will be invoked in the interpreter.
+const char* TclCommand::GetCommandString() const
+{
+  return m_CommandString.c_str();
+}
+
+
+///! Execute the callback to the Tcl interpreter.
+void TclCommand::Execute(Object*, const EventObject &)
+{
+  this->TclExecute();
+}
+
+
+///! Execute the callback to the Tcl interpreter with a const LightObject
+void TclCommand::Execute(const Object*, const EventObject & )
+{
+  this->TclExecute();
+}
+
+
+/**
+ * Invokes the registered command in the Tcl interpreter.  Reports
+ * command errors as ITK warnings.
+ */
+void TclCommand::TclExecute() const
+{
+  // Make sure an interpreter has been assigned.
+  if(!m_Interpreter)
+    {
+    itkWarningMacro("Error in itk/tcl callback:\n" <<
+                    m_CommandString.c_str() << std::endl <<
+                    "invoked with no interpreter!");
+    return;
+    }
+
+  // Try to evaluate the command in the interpreter.
+  if(Tcl_GlobalEval(m_Interpreter,
+                    const_cast<char*>(m_CommandString.c_str())) == TCL_ERROR)
+    {
+    const char* errorInfo = Tcl_GetVar(m_Interpreter, "errorInfo", 0);
+    if(!errorInfo) { errorInfo = ""; }
+    itkWarningMacro("Error returned from itk/tcl callback:\n" <<
+                    m_CommandString.c_str() << std::endl << errorInfo <<
+                    " at line number " << m_Interpreter->errorLine);
+    }
+}
+
+} // namespace itk
diff --git a/Wrapping/CSwig/CommonA/itkTclCommand.h b/Wrapping/CSwig/CommonA/itkTclCommand.h
new file mode 100644
index 0000000000..d4f50df81b
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/itkTclCommand.h
@@ -0,0 +1,78 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkTclCommand.h,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifndef _itkTclCommand_h
+#define _itkTclCommand_h
+
+#include "itkCommand.h"
+
+#include <tcl.h>
+
+namespace itk
+{
+
+/** \Class TclCommand
+ *  \brief Command subclass that calls back to a Tcl interpreter.
+ *
+ * TclCommand can be given a string and a Tcl interpreter.  When it is
+ * invoked, it will invoke the string in the Tcl interpreter as a
+ * command.  This can be used to create arbitrary Tcl event callbacks
+ * in ITK Tcl scripts.
+ */
+
+class TclCommand : public Command
+{
+public:
+  ///! Standard "Self" typedef.
+  typedef TclCommand         Self;
+
+  ///! Smart pointer typedef support.
+  typedef SmartPointer<Self>  Pointer;
+
+  ///! Run-time type information (and related methods).
+  itkTypeMacro(TclCommand,Command);
+
+  ///! Method for creation through the object factory.
+  itkNewMacro(Self);
+
+  void SetInterpreter(Tcl_Interp*);
+  Tcl_Interp* GetInterpreter() const;
+  void SetCommandString(const char*);
+  const char* GetCommandString() const;
+  void Execute(Object*, const EventObject & );
+  void Execute(const Object*, const EventObject & );
+
+protected:
+  TclCommand();
+  ~TclCommand() {}
+  TclCommand(const Self&);     // Not implemented.
+  void operator=(const Self&); // Not implemented.
+
+  void TclExecute() const;
+  
+private:
+  ///! The Tcl interpreter in which the command will be invoked.
+  Tcl_Interp* m_Interpreter;
+  
+  ///! The command to invoke in the Tcl interpreter.
+  std::string m_CommandString;
+};
+
+
+} // namespace itk
+
+#endif // _itkTclCommand_h
+
diff --git a/Wrapping/CSwig/CommonA/wrap_ITKCommonA.cxx b/Wrapping/CSwig/CommonA/wrap_ITKCommonA.cxx
new file mode 100644
index 0000000000..48fe1ebaf4
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_ITKCommonA.cxx
@@ -0,0 +1,68 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKCommonA.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/05/10 14:37:07 $
+  Version:   $Revision: 1.3 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const package = ITK_WRAP_PACKAGE_NAME(ITK_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    ITK_WRAP_GROUP(ITKCommonBase),
+    ITK_WRAP_GROUP(ITKInterpolators),
+    ITK_WRAP_GROUP(ITKRegions),
+    ITK_WRAP_GROUP(itkArray),
+    ITK_WRAP_GROUP(itkBinaryBallStructuringElement),
+    ITK_WRAP_GROUP(itkContinuousIndex),
+    ITK_WRAP_GROUP(itkDifferenceImageFilter),
+    ITK_WRAP_GROUP(itkDenseFiniteDifferenceImageFilter_2D),
+    ITK_WRAP_GROUP(itkDenseFiniteDifferenceImageFilter_3D),
+    ITK_WRAP_GROUP(itkEventObjectGroup), 
+    ITK_WRAP_GROUP(itkFiniteDifferenceFunction),
+    ITK_WRAP_GROUP(itkFiniteDifferenceImageFilter_2D),
+    ITK_WRAP_GROUP(itkFiniteDifferenceImageFilter_3D),
+    ITK_WRAP_GROUP(itkFixedArray),
+    ITK_WRAP_GROUP(itkFunctionBase),
+    ITK_WRAP_GROUP(itkImage_2D),
+    ITK_WRAP_GROUP(itkImage_3D),
+    ITK_WRAP_GROUP(itkImageSource),
+    ITK_WRAP_GROUP(itkImageConstIterator),
+    ITK_WRAP_GROUP(itkImageRegionIterator),
+    ITK_WRAP_GROUP(itkImageRegionConstIterator),
+    ITK_WRAP_GROUP(itkImageFunction),
+    ITK_WRAP_GROUP(itkImageToImageFilter_2D),
+    ITK_WRAP_GROUP(itkImageToImageFilter_3D),
+    ITK_WRAP_GROUP(itkInPlaceImageFilter_A),
+    ITK_WRAP_GROUP(itkInPlaceImageFilter_B),
+    ITK_WRAP_GROUP(itkIndex),
+    ITK_WRAP_GROUP(itkLevelSet),
+    ITK_WRAP_GROUP(itkNeighborhood),
+    ITK_WRAP_GROUP(itkPoint),
+    ITK_WRAP_GROUP(itkSize),
+#ifdef OTB_TCL_WRAP
+    ITK_WRAP_GROUP(ITKUtils),
+#endif
+#ifdef OTB_PYTHON_WRAP
+    ITK_WRAP_GROUP(ITKPyUtils),
+#ifdef OTB_PYTHON_NUMERICS
+    ITK_WRAP_GROUP(itkPyBuffer),
+#endif
+#endif
+    "SwigExtras",
+    ITK_WRAP_GROUP(itkVector)
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_ITKCommonAJava.cxx b/Wrapping/CSwig/CommonA/wrap_ITKCommonAJava.cxx
new file mode 100644
index 0000000000..b7e80184e9
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_ITKCommonAJava.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKCommonAJava"
+#include "wrap_ITKCommonA.cxx"
diff --git a/Wrapping/CSwig/CommonA/wrap_ITKCommonAPython.cxx b/Wrapping/CSwig/CommonA/wrap_ITKCommonAPython.cxx
new file mode 100755
index 0000000000..3ff1e9f66f
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_ITKCommonAPython.cxx
@@ -0,0 +1,3 @@
+#define ITK_WRAP_PACKAGE "ITKCommonAPython"
+#define ITK_PYTHON_WRAP
+#include "wrap_ITKCommonA.cxx"
diff --git a/Wrapping/CSwig/CommonA/wrap_ITKCommonATcl.cxx b/Wrapping/CSwig/CommonA/wrap_ITKCommonATcl.cxx
new file mode 100755
index 0000000000..41624d5bd4
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_ITKCommonATcl.cxx
@@ -0,0 +1,3 @@
+#define ITK_WRAP_PACKAGE "ITKCommonATcl"
+#define ITK_TCL_WRAP
+#include "wrap_ITKCommonA.cxx"
diff --git a/Wrapping/CSwig/CommonA/wrap_ITKCommonBase.cxx b/Wrapping/CSwig/CommonA/wrap_ITKCommonBase.cxx
new file mode 100755
index 0000000000..505e8d0d58
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_ITKCommonBase.cxx
@@ -0,0 +1,59 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKCommonBase.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkCommand.h"
+#include "itkDataObject.h"
+#include "itkDirectory.h"
+#include "itkLightObject.h"
+#include "itkObject.h"
+#include "itkLightProcessObject.h"
+#include "itkProcessObject.h"
+#include "itkOutputWindow.h"
+#include "itkVersion.h"
+#include "itkTimeStamp.h"
+#include "itkStringStream.h"
+#include "itkDynamicLoader.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(ITKCommonBase);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT(Command);
+    ITK_WRAP_OBJECT(DataObject);
+    ITK_WRAP_OBJECT(Directory);
+    ITK_WRAP_OBJECT(DynamicLoader);
+    ITK_WRAP_OBJECT(LightObject);
+    ITK_WRAP_OBJECT(Object);
+    ITK_WRAP_OBJECT(ObjectFactoryBase);
+    ITK_WRAP_OBJECT(LightProcessObject);
+    ITK_WRAP_OBJECT(ProcessObject);
+    ITK_WRAP_OBJECT(OutputWindow);
+    ITK_WRAP_OBJECT(Version);
+    typedef itk::TimeStamp itkTimeStamp;
+    typedef itk::StringStream itkStringStream;
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_ITKInterpolators.cxx b/Wrapping/CSwig/CommonA/wrap_ITKInterpolators.cxx
new file mode 100755
index 0000000000..a0b170a809
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_ITKInterpolators.cxx
@@ -0,0 +1,117 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKInterpolators.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkNearestNeighborInterpolateImageFunction.h"
+#include "itkLinearInterpolateImageFunction.h"
+#include "itkBSplineInterpolateImageFunction.h"
+#include "itkBSplineResampleImageFunction.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(ITKInterpolators);
+  namespace wrappers
+  {
+    // wrap InterpolateImageFunction and two super classes up
+    ITK_WRAP_OBJECT2(InterpolateImageFunction, image::F2,
+                                       double, 
+                                       itkInterpolateImageFunctionF2D);
+    ITK_WRAP_OBJECT2(InterpolateImageFunction, image::F3, 
+                                       double, 
+                                       itkInterpolateImageFunctionF3D);
+    ITK_WRAP_OBJECT2(InterpolateImageFunction, image::US2, 
+                                       double, 
+                                       itkInterpolateImageFunctionUS2D);
+    ITK_WRAP_OBJECT2(InterpolateImageFunction, image::US3,
+                                       double, 
+                                       itkInterpolateImageFunctionUS3D);
+    
+    // wrap LinearInterpolateImageFunction
+    ITK_WRAP_OBJECT2(LinearInterpolateImageFunction, image::F2, double, 
+                     itkLinearInterpolateImageFunctionF2D);
+    ITK_WRAP_OBJECT2(LinearInterpolateImageFunction, image::F3, double, 
+                     itkLinearInterpolateImageFunctionF3D);
+    ITK_WRAP_OBJECT2(LinearInterpolateImageFunction, image::US2, double, 
+                     itkLinearInterpolateImageFunctionUS2D);
+    ITK_WRAP_OBJECT2(LinearInterpolateImageFunction, image::US3, double, 
+                     itkLinearInterpolateImageFunctionUS3D);
+
+    // wrap NearestNeighborInterpolateImageFunction 
+    ITK_WRAP_OBJECT2(NearestNeighborInterpolateImageFunction, image::F2,
+                     double, 
+                     itkNearestNeighborInterpolateImageFunctionF2D);
+    ITK_WRAP_OBJECT2(NearestNeighborInterpolateImageFunction, image::F3, 
+                     double, 
+                     itkNearestNeighborInterpolateImageFunctionF3D);
+    ITK_WRAP_OBJECT2(NearestNeighborInterpolateImageFunction, image::US2,
+                     double, 
+                     itkNearestNeighborInterpolateImageFunctionUS2D);
+    ITK_WRAP_OBJECT2(NearestNeighborInterpolateImageFunction, image::US3,
+                     double, 
+                     itkNearestNeighborInterpolateImageFunctionUS3D);
+    
+    // wrap BSplineInterpolateImageFunction 
+    ITK_WRAP_OBJECT2(BSplineInterpolateImageFunction, image::F2,
+                     double, 
+                     itkBSplineInterpolateImageFunctionF2D);
+    ITK_WRAP_OBJECT2(BSplineInterpolateImageFunction, image::F3, 
+                     double, 
+                     itkBSplineInterpolateImageFunctionF3D);
+    ITK_WRAP_OBJECT2(BSplineInterpolateImageFunction, image::US2,
+                     double, 
+                     itkBSplineInterpolateImageFunctionUS2D);
+    ITK_WRAP_OBJECT2(BSplineInterpolateImageFunction, image::US3,
+                     double, 
+                     itkBSplineInterpolateImageFunctionUS3D);
+
+    ITK_WRAP_OBJECT3(BSplineInterpolateImageFunction, image::F2,
+                     double,float, 
+                     itkBSplineInterpolateImageFunctionF2DF);
+    ITK_WRAP_OBJECT3(BSplineInterpolateImageFunction, image::F3, 
+                     double,float, 
+                     itkBSplineInterpolateImageFunctionF3DF);
+    ITK_WRAP_OBJECT3(BSplineInterpolateImageFunction, image::US2,
+                     double,unsigned short, 
+                     itkBSplineInterpolateImageFunctionUS2DUS);
+    ITK_WRAP_OBJECT3(BSplineInterpolateImageFunction, image::US3,
+                     double,unsigned short, 
+                     itkBSplineInterpolateImageFunctionUS3DUS);
+
+
+    // wrap BSplineResampleImageFunction 
+    ITK_WRAP_OBJECT2(BSplineResampleImageFunction, image::F2,
+                     double, 
+                     itkBSplineResampleImageFunctionF2D);
+    ITK_WRAP_OBJECT2(BSplineResampleImageFunction, image::F3, 
+                     double, 
+                     itkBSplineResampleImageFunctionF3D);
+    ITK_WRAP_OBJECT2(BSplineResampleImageFunction, image::US2,
+                     double, 
+                     itkBSplineResampleImageFunctionUS2D);
+    ITK_WRAP_OBJECT2(BSplineResampleImageFunction, image::US3,
+                     double, 
+                     itkBSplineResampleImageFunctionUS3D);
+
+
+
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_ITKPyUtils.cxx b/Wrapping/CSwig/CommonA/wrap_ITKPyUtils.cxx
new file mode 100644
index 0000000000..c78ee61711
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_ITKPyUtils.cxx
@@ -0,0 +1,32 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKPyUtils.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkPyCommand.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(ITKPyUtils);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT(PyCommand);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_ITKRegions.cxx b/Wrapping/CSwig/CommonA/wrap_ITKRegions.cxx
new file mode 100755
index 0000000000..6c56d46637
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_ITKRegions.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKRegions.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkRegion.h"
+#include "itkImageRegion.h"
+#include "itkMeshRegion.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(ITKRegions);
+  namespace wrappers
+  {
+    typedef itk::Region itkRegion;
+    typedef itk::MeshRegion itkMeshRegion;
+    typedef itk::ImageRegion<2>::ImageRegion itkImageRegion2;
+    typedef itk::ImageRegion<3>::ImageRegion itkImageRegion3;
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_ITKUtils.cxx b/Wrapping/CSwig/CommonA/wrap_ITKUtils.cxx
new file mode 100644
index 0000000000..f784b7e63e
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_ITKUtils.cxx
@@ -0,0 +1,32 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKUtils.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkTclCommand.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(ITKUtils);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT(TclCommand);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_SwigExtras.cxx b/Wrapping/CSwig/CommonA/wrap_SwigExtras.cxx
new file mode 100644
index 0000000000..d50004e0cd
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_SwigExtras.cxx
@@ -0,0 +1,38 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_SwigExtras.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 <vector>
+#include <string>
+#include <list>
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = "SwigExtras";
+  namespace renames
+  {
+    typedef std::vector<std::string>::vector StringVector;
+    typedef std::list<std::string>::list StringList;
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkArray.cxx b/Wrapping/CSwig/CommonA/wrap_itkArray.cxx
new file mode 100755
index 0000000000..e3c9c36ddb
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkArray.cxx
@@ -0,0 +1,30 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkArray.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkArray.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkArray);
+  namespace wrappers
+  {
+    typedef itk::Array<double >::Array itkArrayD;
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkBinaryBallStructuringElement.cxx b/Wrapping/CSwig/CommonA/wrap_itkBinaryBallStructuringElement.cxx
new file mode 100755
index 0000000000..b7ecd61910
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkBinaryBallStructuringElement.cxx
@@ -0,0 +1,35 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkBinaryBallStructuringElement.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkBinaryBallStructuringElement.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigBinaryBallStructuringElement.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkBinaryBallStructuringElement);
+  namespace wrappers
+  {
+    typedef structuringElement::F2     itkBinaryBallStructuringElementF2;
+    typedef structuringElement::F3     itkBinaryBallStructuringElementF3;
+    typedef structuringElement::UC2    itkBinaryBallStructuringElementUC2;
+    typedef structuringElement::UC3    itkBinaryBallStructuringElementUC3;
+    typedef structuringElement::US2    itkBinaryBallStructuringElementUS2;
+    typedef structuringElement::US3    itkBinaryBallStructuringElementUS3;
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkContinuousIndex.cxx b/Wrapping/CSwig/CommonA/wrap_itkContinuousIndex.cxx
new file mode 100755
index 0000000000..8c79e76d47
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkContinuousIndex.cxx
@@ -0,0 +1,33 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkContinuousIndex.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkContinuousIndex.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkContinuousIndex);
+  namespace wrappers
+  {
+    typedef itk::ContinuousIndex<double, 2> itkContinuousIndexD2;
+    typedef itk::ContinuousIndex<double, 3> itkContinuousIndexD3;
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkDenseFiniteDifferenceImageFilter_2D.cxx b/Wrapping/CSwig/CommonA/wrap_itkDenseFiniteDifferenceImageFilter_2D.cxx
new file mode 100644
index 0000000000..239eaf578d
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkDenseFiniteDifferenceImageFilter_2D.cxx
@@ -0,0 +1,50 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkDenseFiniteDifferenceImageFilter_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/05/10 14:37:07 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkDenseFiniteDifferenceImageFilter.h"
+#include "itkVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = 
+  ITK_WRAP_GROUP(itkDenseFiniteDifferenceImageFilter_2D);
+  namespace wrappers
+  {
+    // vector image wrapped Filters 
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter,
+                     image::VF2, image::VF2, 
+                     itkDenseFiniteDifferenceImageFilterVF2VF2);
+
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::F2 , image::F2 , itkDenseFiniteDifferenceImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::D2 , image::D2 , itkDenseFiniteDifferenceImageFilterD2D2  );
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::UC2, image::UC2, itkDenseFiniteDifferenceImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::US2, image::US2, itkDenseFiniteDifferenceImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::UI2, image::UI2, itkDenseFiniteDifferenceImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::SC2, image::SC2, itkDenseFiniteDifferenceImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::SS2, image::SS2, itkDenseFiniteDifferenceImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::SI2, image::SI2, itkDenseFiniteDifferenceImageFilterSI2SI2);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::F2 , image::VF2 ,itkDenseFiniteDifferenceImageFilterF2VF2  );
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::US2, image::VF2, itkDenseFiniteDifferenceImageFilterUS2VF2);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkDenseFiniteDifferenceImageFilter_3D.cxx b/Wrapping/CSwig/CommonA/wrap_itkDenseFiniteDifferenceImageFilter_3D.cxx
new file mode 100644
index 0000000000..15fca2eacd
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkDenseFiniteDifferenceImageFilter_3D.cxx
@@ -0,0 +1,50 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkDenseFiniteDifferenceImageFilter_3D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/05/10 14:37:07 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkDenseFiniteDifferenceImageFilter.h"
+#include "itkVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = 
+  ITK_WRAP_GROUP(itkDenseFiniteDifferenceImageFilter_3D);
+  namespace wrappers
+  {
+    // vector image wrapped Filters 
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter,
+                     image::VF3, image::VF3, 
+                     itkDenseFiniteDifferenceImageFilterVF3VF3);
+
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::F3 , image::F3 , itkDenseFiniteDifferenceImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::D3 , image::D3 , itkDenseFiniteDifferenceImageFilterD3D3  );
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::UC3, image::UC3, itkDenseFiniteDifferenceImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::US3, image::US3, itkDenseFiniteDifferenceImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::UI3, image::UI3, itkDenseFiniteDifferenceImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::SC3, image::SC3, itkDenseFiniteDifferenceImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::SS3, image::SS3, itkDenseFiniteDifferenceImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::SI3, image::SI3, itkDenseFiniteDifferenceImageFilterSI3SI3);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::F3 , image::VF3 ,itkDenseFiniteDifferenceImageFilterF3VF3);
+    ITK_WRAP_OBJECT2(DenseFiniteDifferenceImageFilter, image::US3, image::VF3, itkDenseFiniteDifferenceImageFilterUS3VF3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkDifferenceImageFilter.cxx b/Wrapping/CSwig/CommonA/wrap_itkDifferenceImageFilter.cxx
new file mode 100755
index 0000000000..c1fc51d502
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkDifferenceImageFilter.cxx
@@ -0,0 +1,39 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkDifferenceImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkDifferenceImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkDifferenceImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(DifferenceImageFilter, image::F2, image::F2,
+                       itkDifferenceImageFilterF2);
+    ITK_WRAP_OBJECT2(DifferenceImageFilter, image::F3, image::F3,
+                       itkDifferenceImageFilterF3);
+    ITK_WRAP_OBJECT2(DifferenceImageFilter, image::US2, image::US2,
+                       itkDifferenceImageFilterUS2);
+    ITK_WRAP_OBJECT2(DifferenceImageFilter, image::US3, image::US3,
+                       itkDifferenceImageFilterUS3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkEventObject.cxx b/Wrapping/CSwig/CommonA/wrap_itkEventObject.cxx
new file mode 100755
index 0000000000..8f0f910e12
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkEventObject.cxx
@@ -0,0 +1,43 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkEventObject.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkEventObject.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkEventObjectGroup);
+  namespace wrappers
+  {
+    typedef itk::EventObject itkEventObject;
+    typedef itk::NoEvent itkNoEvent;
+    typedef itk::AnyEvent itkAnyEvent;
+    typedef itk::DeleteEvent itkDeleteEvent;
+    typedef itk::StartEvent itkStartEvent;
+    typedef itk::EndEvent itkEndEvent;
+    typedef itk::ProgressEvent itkProgressEvent;
+    typedef itk::ExitEvent itkExitEvent;
+    typedef itk::ModifiedEvent itkModifiedEvent;
+    typedef itk::IterationEvent itkIterationEvent;
+    typedef itk::PickEvent itkPickEvent;
+    typedef itk::StartPickEvent itkStartPickEvent;
+    typedef itk::EndPickEvent itkEndPickEvent;
+    typedef itk::AbortCheckEvent itkAbortCheckEvent;
+    typedef itk::UserEvent itkUserEvent;
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceFunction.cxx b/Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceFunction.cxx
new file mode 100755
index 0000000000..e22b4cc0e2
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceFunction.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkFiniteDifferenceFunction.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkFiniteDifferenceFunction.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkFiniteDifferenceFunction);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(FiniteDifferenceFunction,image::F2, itkFiniteDifferenceFunctionF2);
+    ITK_WRAP_OBJECT1(FiniteDifferenceFunction,image::F3, itkFiniteDifferenceFunctionF3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceImageFilter_2D.cxx b/Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceImageFilter_2D.cxx
new file mode 100644
index 0000000000..57d1d52a0b
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceImageFilter_2D.cxx
@@ -0,0 +1,44 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkFiniteDifferenceImageFilter_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/05/10 14:37:07 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkFiniteDifferenceImageFilter.h"
+#include "itkVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkFiniteDifferenceImageFilter_2D);
+  namespace wrappers
+  {
+    //===========2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::F2 , image::F2 , itkFiniteDifferenceImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::D2 , image::D2 , itkFiniteDifferenceImageFilterD2D2  );
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::UC2, image::UC2, itkFiniteDifferenceImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::US2, image::US2, itkFiniteDifferenceImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::UI2, image::UI2, itkFiniteDifferenceImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::SC2, image::SC2, itkFiniteDifferenceImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::SS2, image::SS2, itkFiniteDifferenceImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::SI2, image::SI2, itkFiniteDifferenceImageFilterSI2SI2);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::F2 , image::VF2 ,itkFiniteDifferenceImageFilterF2VF2 );
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::VF2 , image::VF2 ,itkFiniteDifferenceImageFilterVF2VF2 );
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::US2, image::VF2, itkFiniteDifferenceImageFilterUS2VF2);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceImageFilter_3D.cxx b/Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceImageFilter_3D.cxx
new file mode 100644
index 0000000000..3a488da877
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkFiniteDifferenceImageFilter_3D.cxx
@@ -0,0 +1,44 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkFiniteDifferenceImageFilter_3D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/05/10 14:37:07 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkFiniteDifferenceImageFilter.h"
+#include "itkVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkFiniteDifferenceImageFilter_3D);
+  namespace wrappers
+  {
+    //===========3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::F3 , image::F3 , itkFiniteDifferenceImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::D3 , image::D3 , itkFiniteDifferenceImageFilterD3D3  );
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::UC3, image::UC3, itkFiniteDifferenceImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::US3, image::US3, itkFiniteDifferenceImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::UI3, image::UI3, itkFiniteDifferenceImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::SC3, image::SC3, itkFiniteDifferenceImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::SS3, image::SS3, itkFiniteDifferenceImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::SI3, image::SI3, itkFiniteDifferenceImageFilterSI3SI3);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::F3 , image::VF3 ,itkFiniteDifferenceImageFilterF3VF3);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::VF3 , image::VF3 ,itkFiniteDifferenceImageFilterVF3VF3);
+    ITK_WRAP_OBJECT2(FiniteDifferenceImageFilter, image::US3, image::VF3, itkFiniteDifferenceImageFilterUS3VF3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkFixedArray.cxx b/Wrapping/CSwig/CommonA/wrap_itkFixedArray.cxx
new file mode 100755
index 0000000000..d67c3e0d53
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkFixedArray.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkFixedArray.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/10/27 20:22:55 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkFixedArray.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkFixedArray);
+  namespace wrappers
+  {
+    typedef itk::FixedArray<double, 2 >::FixedArray itkFixedArrayD2;
+    typedef itk::FixedArray<double, 3 >::FixedArray itkFixedArrayD3;
+    typedef itk::FixedArray<unsigned int, 2 >::FixedArray itkFixedArrayUI2;
+    typedef itk::FixedArray<unsigned int, 3 >::FixedArray itkFixedArrayUI3;
+    typedef itk::FixedArray<bool, 2 >::FixedArray itkFixedArrayB2;
+    typedef itk::FixedArray<bool, 3 >::FixedArray itkFixedArrayB3;
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkFunctionBase.cxx b/Wrapping/CSwig/CommonA/wrap_itkFunctionBase.cxx
new file mode 100644
index 0000000000..a1f51fc4b3
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkFunctionBase.cxx
@@ -0,0 +1,76 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkFunctionBase.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 14:50:41 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkFunctionBase.h"
+#include "itkArray.h"
+#include "itkPoint.h"
+#include "itkContinuousIndex.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkFunctionBase);
+  namespace wrappers
+  {
+
+    ITK_WRAP_OBJECT2(FunctionBase, image::F2, double, itkFunctionBaseIF2D);
+    ITK_WRAP_OBJECT2(FunctionBase, image::F3, double, itkFunctionBaseIF3D);
+    ITK_WRAP_OBJECT2(FunctionBase, image::US2, double, itkFunctionBaseIUS2D);
+    ITK_WRAP_OBJECT2(FunctionBase, image::US3, double, itkFunctionBaseIUS3D);
+    ITK_WRAP_OBJECT2(FunctionBase, double, double, itkFunctionBaseDD);
+
+    namespace point
+    {
+    typedef ::itk::Point< float,  2 > F2;
+    typedef ::itk::Point< float,  3 > F3;
+    typedef ::itk::Point< double, 2 > D2;
+    typedef ::itk::Point< double, 3 > D3;
+    }
+    // wrap FunctionBase 
+    ITK_WRAP_OBJECT2(FunctionBase, point::F2, double, itkFunctionBasePF2D);
+    ITK_WRAP_OBJECT2(FunctionBase, point::F3, double, itkFunctionBasePF3D);
+    ITK_WRAP_OBJECT2(FunctionBase, point::D2, double, itkFunctionBasePD2D);
+    ITK_WRAP_OBJECT2(FunctionBase, point::D3, double, itkFunctionBasePD3D);
+
+
+    // the following types are needed for the BSplineInterpolationWeightFunction
+    namespace continuousIndex
+    {
+    typedef ::itk::ContinuousIndex< float,  2 > F2;
+    typedef ::itk::ContinuousIndex< float,  3 > F3;
+    typedef ::itk::ContinuousIndex< double, 2 > D2;
+    typedef ::itk::ContinuousIndex< double, 3 > D3;
+    }
+ 
+    namespace array
+    {
+    typedef ::itk::Array< double > D;
+    typedef ::itk::Array< float  > F;
+    }
+ 
+    ITK_WRAP_OBJECT2(FunctionBase, continuousIndex::F2, array::D, itkFunctionBaseCIF2AD);
+    ITK_WRAP_OBJECT2(FunctionBase, continuousIndex::F3, array::D, itkFunctionBaseCIPF3AD);
+    ITK_WRAP_OBJECT2(FunctionBase, continuousIndex::D2, array::D, itkFunctionBaseCIPD2AD);
+    ITK_WRAP_OBJECT2(FunctionBase, continuousIndex::D3, array::D, itkFunctionBaseCIPD3AD);
+
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkImageConstIterator.cxx b/Wrapping/CSwig/CommonA/wrap_itkImageConstIterator.cxx
new file mode 100644
index 0000000000..feeb561726
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkImageConstIterator.cxx
@@ -0,0 +1,59 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageConstIterator.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageConstIterator.h"
+#include "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageConstIterator);
+
+#define ITK_WRAP_ITERATOR(name, arg1, wrapname)  typedef itk::name<arg1 > wrapname; 
+  
+  namespace wrappers
+  {
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::F2 , itkImageConstIteratorF2 );
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::D2 , itkImageConstIteratorD2 );
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::UC2, itkImageConstIteratorUC2);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::US2, itkImageConstIteratorUS2);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::UI2, itkImageConstIteratorUI2);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::UL2, itkImageConstIteratorUL2);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::SC2, itkImageConstIteratorSC2);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::SS2, itkImageConstIteratorSS2);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::SI2, itkImageConstIteratorSI2);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::VF2 , itkImageConstIteratorVF2 );
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::CVF2 , itkImageConstIteratorCVF2 );
+
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::F3 , itkImageConstIteratorF3 );
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::D3 , itkImageConstIteratorD3 );
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::UC3, itkImageConstIteratorUC3);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::US3, itkImageConstIteratorUS3);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::UI3, itkImageConstIteratorUI3);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::UL3, itkImageConstIteratorUL3);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::SC3, itkImageConstIteratorSC3);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::SS3, itkImageConstIteratorSS3);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::SI3, itkImageConstIteratorSI3);
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::VF3 , itkImageConstIteratorVF3 );
+    ITK_WRAP_ITERATOR(ImageConstIterator, image::CVF3 , itkImageConstIteratorCVF3 );
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkImageFunction.cxx b/Wrapping/CSwig/CommonA/wrap_itkImageFunction.cxx
new file mode 100644
index 0000000000..737b40a083
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkImageFunction.cxx
@@ -0,0 +1,42 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageFunction.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageFunction.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageFunction);
+  namespace wrappers
+  {
+    // wrap ImageFunction 
+    ITK_WRAP_OBJECT3(ImageFunction, image::F2, double, float, itkImageFunctionF2DF);
+    ITK_WRAP_OBJECT3(ImageFunction, image::F3, double, float, itkImageFunctionF3DF);
+    ITK_WRAP_OBJECT3(ImageFunction, image::US2, double, float, itkImageFunctionUS2DF);
+    ITK_WRAP_OBJECT3(ImageFunction, image::US3, double, float, itkImageFunctionUS3DF);
+
+    ITK_WRAP_OBJECT3(ImageFunction, image::F2, double, double, itkImageFunctionF2DD);
+    ITK_WRAP_OBJECT3(ImageFunction, image::F3, double, double, itkImageFunctionF3DD);
+    ITK_WRAP_OBJECT3(ImageFunction, image::US2, double, double, itkImageFunctionUS2DD);
+    ITK_WRAP_OBJECT3(ImageFunction, image::US3, double, double, itkImageFunctionUS3DD);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkImageRegionConstIterator.cxx b/Wrapping/CSwig/CommonA/wrap_itkImageRegionConstIterator.cxx
new file mode 100644
index 0000000000..5fe0835aa1
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkImageRegionConstIterator.cxx
@@ -0,0 +1,59 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageRegionConstIterator.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageRegionConstIterator.h"
+#include "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageRegionConstIterator);
+
+#define ITK_WRAP_ITERATOR(name, arg1, wrapname)  typedef itk::name<arg1 > wrapname; 
+  
+  namespace wrappers
+  {
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::F2 , itkImageRegionConstIteratorF2 );
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::D2 , itkImageRegionConstIteratorD2 );
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::UC2, itkImageRegionConstIteratorUC2);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::US2, itkImageRegionConstIteratorUS2);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::UI2, itkImageRegionConstIteratorUI2);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::UL2, itkImageRegionConstIteratorUL2);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::SC2, itkImageRegionConstIteratorSC2);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::SS2, itkImageRegionConstIteratorSS2);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::SI2, itkImageRegionConstIteratorSI2);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::VF2 , itkImageRegionConstIteratorVF2 );
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::CVF2 , itkImageRegionConstIteratorCVF2 );
+
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::F3 , itkImageRegionConstIteratorF3 );
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::D3 , itkImageRegionConstIteratorD3 );
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::UC3, itkImageRegionConstIteratorUC3);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::US3, itkImageRegionConstIteratorUS3);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::UI3, itkImageRegionConstIteratorUI3);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::UL3, itkImageRegionConstIteratorUL3);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::SC3, itkImageRegionConstIteratorSC3);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::SS3, itkImageRegionConstIteratorSS3);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::SI3, itkImageRegionConstIteratorSI3);
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::VF3 , itkImageRegionConstIteratorVF3 );
+    ITK_WRAP_ITERATOR(ImageRegionConstIterator, image::CVF3 , itkImageRegionConstIteratorCVF3 );
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkImageRegionIterator.cxx b/Wrapping/CSwig/CommonA/wrap_itkImageRegionIterator.cxx
new file mode 100644
index 0000000000..4430e81202
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkImageRegionIterator.cxx
@@ -0,0 +1,59 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageRegionIterator.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageRegionIterator.h"
+#include "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageRegionIterator);
+
+#define ITK_WRAP_ITERATOR(name, arg1, wrapname)  typedef itk::name<arg1 > wrapname; 
+  
+  namespace wrappers
+  {
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::F2 , itkImageRegionIteratorF2 );
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::D2 , itkImageRegionIteratorD2 );
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::UC2, itkImageRegionIteratorUC2);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::US2, itkImageRegionIteratorUS2);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::UI2, itkImageRegionIteratorUI2);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::UL2, itkImageRegionIteratorUL2);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::SC2, itkImageRegionIteratorSC2);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::SS2, itkImageRegionIteratorSS2);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::SI2, itkImageRegionIteratorSI2);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::VF2 , itkImageRegionIteratorVF2 );
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::CVF2 , itkImageRegionIteratorCVF2 );
+
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::F3 , itkImageRegionIteratorF3 );
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::D3 , itkImageRegionIteratorD3 );
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::UC3, itkImageRegionIteratorUC3);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::US3, itkImageRegionIteratorUS3);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::UI3, itkImageRegionIteratorUI3);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::UL3, itkImageRegionIteratorUL3);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::SC3, itkImageRegionIteratorSC3);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::SS3, itkImageRegionIteratorSS3);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::SI3, itkImageRegionIteratorSI3);
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::VF3 , itkImageRegionIteratorVF3 );
+    ITK_WRAP_ITERATOR(ImageRegionIterator, image::CVF3 , itkImageRegionIteratorCVF3 );
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkImageSource.cxx b/Wrapping/CSwig/CommonA/wrap_itkImageSource.cxx
new file mode 100644
index 0000000000..066477b3dd
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkImageSource.cxx
@@ -0,0 +1,72 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageSource.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageToImageFilter.h"
+#include "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageSource);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(ImageSource, image::F2 , itkImageSourceF2 );
+    ITK_WRAP_OBJECT1(ImageSource, image::D2 , itkImageSourceD2 );
+    ITK_WRAP_OBJECT1(ImageSource, image::UC2, itkImageSourceUC2);
+    ITK_WRAP_OBJECT1(ImageSource, image::US2, itkImageSourceUS2);
+    ITK_WRAP_OBJECT1(ImageSource, image::UI2, itkImageSourceUI2);
+    ITK_WRAP_OBJECT1(ImageSource, image::UL2, itkImageSourceUL2);
+    ITK_WRAP_OBJECT1(ImageSource, image::SC2, itkImageSourceSC2);
+    ITK_WRAP_OBJECT1(ImageSource, image::SS2, itkImageSourceSS2);
+    ITK_WRAP_OBJECT1(ImageSource, image::SI2, itkImageSourceSI2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VF2 , itkImageSourceVF2 );
+    ITK_WRAP_OBJECT1(ImageSource, image::CVF2 , itkImageSourceCVF2 );
+    ITK_WRAP_OBJECT1(ImageSource, image::CVD2 , itkImageSourceCVD2 );
+
+    ITK_WRAP_OBJECT1(ImageSource, image::F3 , itkImageSourceF3 );
+    ITK_WRAP_OBJECT1(ImageSource, image::D3 , itkImageSourceD3 );
+    ITK_WRAP_OBJECT1(ImageSource, image::UC3, itkImageSourceUC3);
+    ITK_WRAP_OBJECT1(ImageSource, image::US3, itkImageSourceUS3);
+    ITK_WRAP_OBJECT1(ImageSource, image::UI3, itkImageSourceUI3);
+    ITK_WRAP_OBJECT1(ImageSource, image::UL3, itkImageSourceUL3);
+    ITK_WRAP_OBJECT1(ImageSource, image::SC3, itkImageSourceSC3);
+    ITK_WRAP_OBJECT1(ImageSource, image::SS3, itkImageSourceSS3);
+    ITK_WRAP_OBJECT1(ImageSource, image::SI3, itkImageSourceSI3);
+    ITK_WRAP_OBJECT1(ImageSource, image::VF3 , itkImageSourceVF3 );
+    ITK_WRAP_OBJECT1(ImageSource, image::CVF3 , itkImageSourceCVF3 );
+    ITK_WRAP_OBJECT1(ImageSource, image::CVD3 , itkImageSourceCVD3 );
+    ITK_WRAP_OBJECT1(ImageSource, image::V2F3 , itkImageSourceV2F3 );
+
+    ITK_WRAP_OBJECT1(ImageSource, image::VIF2 , itkImageSourceVIF2 );
+    ITK_WRAP_OBJECT1(ImageSource, image::VID2 , itkImageSourceVID2 );
+    ITK_WRAP_OBJECT1(ImageSource, image::VIUC2, itkImageSourceVIUC2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VIUS2, itkImageSourceVIUS2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VIUI2, itkImageSourceVIUI2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VIUL2, itkImageSourceVIUL2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VISC2, itkImageSourceVISC2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VISS2, itkImageSourceVISS2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VISI2, itkImageSourceVISI2);
+
+
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkImageToImageFilter_2D.cxx b/Wrapping/CSwig/CommonA/wrap_itkImageToImageFilter_2D.cxx
new file mode 100755
index 0000000000..e9ecd9f5ca
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkImageToImageFilter_2D.cxx
@@ -0,0 +1,100 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageToImageFilter_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageToImageFilter.h"
+#include "otbImage.h"
+#include "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageToImageFilter_2D);
+  namespace wrappers
+  {
+    // to self
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2, image::F2, itkImageToImageFilterF2F2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::D2, image::D2, itkImageToImageFilterD2D2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UC2, image::UC2, itkImageToImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US2, image::US2, itkImageToImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UI2, image::UI2, itkImageToImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SC2, image::SC2, itkImageToImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SS2, image::SS2, itkImageToImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SI2, image::SI2, itkImageToImageFilterSI2SI2);
+
+    // 3D --> 2D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3, image::F2, itkImageToImageFilterF3F2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::D3, image::D2, itkImageToImageFilterD3D2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UC3, image::UC2, itkImageToImageFilterUC3UC2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US3, image::US2, itkImageToImageFilterUS3US2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UI3, image::UI2, itkImageToImageFilterUI3UI2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SC3, image::SC2, itkImageToImageFilterSC3SC2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SS3, image::SS2, itkImageToImageFilterSS3SS2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SI3, image::SI2, itkImageToImageFilterSI3SI2);
+
+    //Double to/from float 2D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2, image::D2, itkImageToImageFilterF2D2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::D2, image::F2, itkImageToImageFilterD2F2);
+
+    //Unsigned char to/from float 2D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2, image::UC2, itkImageToImageFilterF2UC2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UC2, image::F2, itkImageToImageFilterUC2F2);
+    //Unsigned short to/from float 2D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2, image::US2, itkImageToImageFilterF2US2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US2, image::F2, itkImageToImageFilterUS2F2);
+    //Unsigned int to/from float 2D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2, image::UI2, itkImageToImageFilterF2UI2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UI2, image::F2, itkImageToImageFilterUI2F2);
+
+    //Signed char to/from float 2D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2, image::SC2, itkImageToImageFilterF2SC2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SC2, image::F2, itkImageToImageFilterSC2F2);
+    //Signed short to/from float 2D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2, image::SS2, itkImageToImageFilterF2SS2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SS2, image::F2, itkImageToImageFilterSS2F2);
+    //Signed int to/from float 2D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2, image::SI2, itkImageToImageFilterF2SI2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SI2, image::F2, itkImageToImageFilterSI2F2);
+    //Unsigned char to/from unsigned short 2D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US2, image::UC2, itkImageToImageFilterUS2UC2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UC2, image::US2, itkImageToImageFilterUC2US2);
+
+    //Unsigned short to CovariantVector
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US2, image::CVD2, itkImageToImageFilterUS2CVD2);
+
+    // float to unsigned long
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2, image::UL2, itkImageToImageFilterF2UL2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::D2, image::UL2, itkImageToImageFilterD2UL2);
+    
+
+    // Image to Image of vectors
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2 , image::VF2 ,itkImageToImageFilterF2VF2 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US2, image::VF2, itkImageToImageFilterUS2VF2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2 , image::CVF2 ,itkImageToImageFilterF2CVF2 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2 , image::CVD2 ,itkImageToImageFilterF2CVD2 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US2, image::CVF2, itkImageToImageFilterUS2CVF2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::V2F2, image::V2F2, itkImageToImageFilterV2F2V2F2);
+
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2 , image::VF3 ,itkImageToImageFilterF2VF3 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US2, image::VF3, itkImageToImageFilterUS2VF3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2 , image::CVF3 ,itkImageToImageFilterF2CVF3 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US2, image::CVF3, itkImageToImageFilterUS2CVF3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::V2F2, image::V2F3, itkImageToImageFilterV2F2V2F3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkImageToImageFilter_3D.cxx b/Wrapping/CSwig/CommonA/wrap_itkImageToImageFilter_3D.cxx
new file mode 100755
index 0000000000..b78bb909a0
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkImageToImageFilter_3D.cxx
@@ -0,0 +1,101 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageToImageFilter_3D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageToImageFilter.h"
+#include "otbImage.h"
+#include "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageToImageFilter_3D);
+  namespace wrappers
+  {
+    // to self
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3, image::F3, itkImageToImageFilterF3F3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::D3, image::D3, itkImageToImageFilterD3D3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UC3, image::UC3, itkImageToImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US3, image::US3, itkImageToImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UI3, image::UI3, itkImageToImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SC3, image::SC3, itkImageToImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SS3, image::SS3, itkImageToImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SI3, image::SI3, itkImageToImageFilterSI3SI3);
+
+    // 2D-->3D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F2, image::F3, itkImageToImageFilterF2F3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::D2, image::D3, itkImageToImageFilterD2D3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UC2, image::UC3, itkImageToImageFilterUC2UC3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US2, image::US3, itkImageToImageFilterUS2US3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UI2, image::UI3, itkImageToImageFilterUI2UI3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SC2, image::SC3, itkImageToImageFilterSC2SC3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SS2, image::SS3, itkImageToImageFilterSS2SS3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SI2, image::SI3, itkImageToImageFilterSI2SI3);
+
+    //Double to/from float 3D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3, image::D3, itkImageToImageFilterF3D3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::D3, image::F3, itkImageToImageFilterD3F3);
+
+    //Unsigned char to/from float 3D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3, image::UC3, itkImageToImageFilterF3UC3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UC3, image::F3, itkImageToImageFilterUC3F3);
+    //Unsigned short to/from float 3D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3, image::US3, itkImageToImageFilterF3US3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US3, image::F3, itkImageToImageFilterUS3F3);
+    //Unsigned int to/from float 3D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3, image::UI3, itkImageToImageFilterF3UI3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UI3, image::F3, itkImageToImageFilterUI3F3);
+
+    //Signed char to/from float 3D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3, image::SC3, itkImageToImageFilterF3SC3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SC3, image::F3, itkImageToImageFilterSC3F3);
+    //Signed short to/from float 3D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3, image::SS3, itkImageToImageFilterF3SS3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SS3, image::F3, itkImageToImageFilterSS3F3);
+    //Signed int to/from float 3D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3, image::SI3, itkImageToImageFilterF3SI3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::SI3, image::F3, itkImageToImageFilterSI3F3);
+    //Unsigned char to/from unsigned short 3D
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US3, image::UC3, itkImageToImageFilterUS3UC3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::UC3, image::US3, itkImageToImageFilterUC3US3);
+
+    // float to unsigned long
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3, image::UL3, itkImageToImageFilterF3UL3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::D3, image::UL3, itkImageToImageFilterD3UL3);
+
+    //Unsigned short to CovariantVector
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US3, image::CVD3, itkImageToImageFilterUS3CVD3);
+
+    // Image to Image of vectors
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3 , image::VF3 ,itkImageToImageFilterF3VF3 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::VF3 , image::VF3 ,itkImageToImageFilterVF3VF3 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US3, image::VF3, itkImageToImageFilterUS3VF3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3 , image::CVF3 ,itkImageToImageFilterF3CVF3 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US3, image::CVF3, itkImageToImageFilterUS3CVF3);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::V2F3, image::V2F3, itkImageToImageFilterV2F3V2F3);
+
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3 , image::VF2 ,itkImageToImageFilterF3VF2 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US3, image::VF2, itkImageToImageFilterUS3VF2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3 , image::CVF2 ,itkImageToImageFilterF3CVF2 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::US3, image::CVF2, itkImageToImageFilterUS3CVF2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::V2F3, image::V2F2, itkImageToImageFilterV2F3V2F2);
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3 , image::CVF3 ,itkImageToImageFilterF3CVF3 );
+    ITK_WRAP_OBJECT2(ImageToImageFilter, image::F3 , image::CVD3 ,itkImageToImageFilterF3CVD3 );
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkImage_2D.cxx b/Wrapping/CSwig/CommonA/wrap_itkImage_2D.cxx
new file mode 100644
index 0000000000..1e2bd2cf50
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkImage_2D.cxx
@@ -0,0 +1,68 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImage_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImage.h"
+#include "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "otbCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImage_2D);
+  namespace wrappers
+  {
+
+    ITK_WRAP_OBJECT1(ImageBase, 2, itkImageBase2);
+    ITK_WRAP_OBJECT2(Image, float, 2, itkImageF2);
+    ITK_WRAP_OBJECT2(Image, double, 2, itkImageD2);
+    ITK_WRAP_OBJECT2(Image, unsigned char, 2, itkImageUC2);
+    ITK_WRAP_OBJECT2(Image, unsigned short, 2, itkImageUS2);
+    ITK_WRAP_OBJECT2(Image, unsigned int, 2, itkImageUI2);
+    ITK_WRAP_OBJECT2(Image, unsigned long, 2, itkImageUL2);
+    ITK_WRAP_OBJECT2(Image, signed char, 2, itkImageSC2);
+    ITK_WRAP_OBJECT2(Image, signed short, 2, itkImageSS2);
+    ITK_WRAP_OBJECT2(Image, signed int, 2, itkImageSI2);
+
+    ITK_WRAP_OBJECT2(Image, itkvector::F2, 2, itkImageVF2);
+    ITK_WRAP_OBJECT2(Image, itkvector::D2, 2, itkImageVD2);
+    ITK_WRAP_OBJECT2(Image, covariantvector::F2, 2, itkImageCVF2);
+    ITK_WRAP_OBJECT2(Image, covariantvector::D2, 2, itkImageCVD2);
+
+
+//    typedef image::F2::PixelContainer::Self itkImageF_PixelContainer;
+//    typedef image::D2::PixelContainer::Self itkImageD_PixelContainer;
+//    typedef image::UC2::PixelContainer::Self itkImageUC_PixelContainer;
+//    typedef image::US2::PixelContainer::Self itkImageUS_PixelContainer;
+//    typedef image::UI2::PixelContainer::Self itkImageUI_PixelContainer;
+//    typedef image::SC2::PixelContainer::Self itkImageSC_PixelContainer;
+//    typedef image::SS2::PixelContainer::Self itkImageSS_PixelContainer;
+//    typedef image::SI2::PixelContainer::Self itkImageSI_PixelContainer;
+
+//    typedef itkImageF_PixelContainer::Pointer::SmartPointer itkImageF_PixelContainer_Pointer;
+//    typedef itkImageD_PixelContainer::Pointer::SmartPointer itkImageD_PixelContainer_Pointer;
+//    typedef itkImageUC_PixelContainer::Pointer::SmartPointer itkImageUC_PixelContainer_Pointer;
+//    typedef itkImageUS_PixelContainer::Pointer::SmartPointer itkImageUS_PixelContainer_Pointer;
+//    typedef itkImageUI_PixelContainer::Pointer::SmartPointer itkImageUI_PixelContainer_Pointer;
+//    typedef itkImageSC_PixelContainer::Pointer::SmartPointer itkImageSC_PixelContainer_Pointer;
+//    typedef itkImageSS_PixelContainer::Pointer::SmartPointer itkImageSS_PixelContainer_Pointer;
+//    typedef itkImageSI_PixelContainer::Pointer::SmartPointer itkImageSI_PixelContainer_Pointer;
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkImage_3D.cxx b/Wrapping/CSwig/CommonA/wrap_itkImage_3D.cxx
new file mode 100644
index 0000000000..e85ef5ea4d
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkImage_3D.cxx
@@ -0,0 +1,67 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImage_3D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImage.h"
+#include "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImage_3D);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(ImageBase, 3, itkImageBase3);
+    ITK_WRAP_OBJECT2(Image, float, 3, itkImageF3);
+    ITK_WRAP_OBJECT2(Image, double, 3, itkImageD3);
+    ITK_WRAP_OBJECT2(Image, unsigned char, 3, itkImageUC3);
+    ITK_WRAP_OBJECT2(Image, unsigned short, 3, itkImageUS3);
+    ITK_WRAP_OBJECT2(Image, unsigned int, 3, itkImageUI3);
+    ITK_WRAP_OBJECT2(Image, unsigned long, 3, itkImageUL3);
+    ITK_WRAP_OBJECT2(Image, signed char, 3, itkImageSC3);
+    ITK_WRAP_OBJECT2(Image, signed short, 3, itkImageSS3);
+    ITK_WRAP_OBJECT2(Image, signed int, 3, itkImageSI3);
+
+    ITK_WRAP_OBJECT2(Image, itkvector::F3, 3, itkImageVF3);
+    ITK_WRAP_OBJECT2(Image, itkvector::D3, 3, itkImageVD3);
+    ITK_WRAP_OBJECT2(Image, covariantvector::F3, 3, itkImageCVF3);
+    ITK_WRAP_OBJECT2(Image, covariantvector::D3, 3, itkImageCVD3);
+
+
+//    typedef image::F2::PixelContainer::Self itkImageF_PixelContainer;
+//    typedef image::D2::PixelContainer::Self itkImageD_PixelContainer;
+//    typedef image::UC2::PixelContainer::Self itkImageUC_PixelContainer;
+//    typedef image::US2::PixelContainer::Self itkImageUS_PixelContainer;
+//    typedef image::UI2::PixelContainer::Self itkImageUI_PixelContainer;
+//    typedef image::SC2::PixelContainer::Self itkImageSC_PixelContainer;
+//    typedef image::SS2::PixelContainer::Self itkImageSS_PixelContainer;
+//    typedef image::SI2::PixelContainer::Self itkImageSI_PixelContainer;
+
+//    typedef itkImageF_PixelContainer::Pointer::SmartPointer itkImageF_PixelContainer_Pointer;
+//    typedef itkImageD_PixelContainer::Pointer::SmartPointer itkImageD_PixelContainer_Pointer;
+//    typedef itkImageUC_PixelContainer::Pointer::SmartPointer itkImageUC_PixelContainer_Pointer;
+//    typedef itkImageUS_PixelContainer::Pointer::SmartPointer itkImageUS_PixelContainer_Pointer;
+//    typedef itkImageUI_PixelContainer::Pointer::SmartPointer itkImageUI_PixelContainer_Pointer;
+//    typedef itkImageSC_PixelContainer::Pointer::SmartPointer itkImageSC_PixelContainer_Pointer;
+//    typedef itkImageSS_PixelContainer::Pointer::SmartPointer itkImageSS_PixelContainer_Pointer;
+//    typedef itkImageSI_PixelContainer::Pointer::SmartPointer itkImageSI_PixelContainer_Pointer;
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkInPlaceImageFilter_A.cxx b/Wrapping/CSwig/CommonA/wrap_itkInPlaceImageFilter_A.cxx
new file mode 100644
index 0000000000..7e64bb749e
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkInPlaceImageFilter_A.cxx
@@ -0,0 +1,83 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkInPlaceImageFilter_A.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:15 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkInPlaceImageFilter.h"
+#include "itkVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkInPlaceImageFilter_A);
+  namespace wrappers
+  {
+    //===========Same type 2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2 , image::F2 , itkInPlaceImageFilterF2F2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::D2 , image::D2 , itkInPlaceImageFilterD2D2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UC2, image::UC2, itkInPlaceImageFilterUC2UC2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US2, image::US2, itkInPlaceImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UI2, image::UI2, itkInPlaceImageFilterUI2UI2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UI2, image::F2,  itkInPlaceImageFilterUI2F2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SC2, image::SC2, itkInPlaceImageFilterSC2SC2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SS2, image::SS2, itkInPlaceImageFilterSS2SS2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SI2, image::SI2, itkInPlaceImageFilterSI2SI2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2 , image::VF2, itkInPlaceImageFilterF2VF2 );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::VF2 , image::VF2, itkInPlaceImageFilterVF2VF2 );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US2, image::VF2, itInPlaceeImageFilterUS2VF2);
+
+    //===========Same type 3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3 , image::F3 , itkInPlaceImageFilterF3F3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::D3 , image::D3 , itkInPlaceImageFilterD3D3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UC3, image::UC3, itkInPlaceImageFilterUC3UC3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US3, image::US3, itkInPlaceImageFilterUS3US3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UI3, image::UI3, itkInPlaceImageFilterUI3UI3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UI3, image::F3,  itkInPlaceImageFilterUI3F3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SC3, image::SC3, itkInPlaceImageFilterSC3SC3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SS3, image::SS3, itkInPlaceImageFilterSS3SS3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SI3, image::SI3, itkInPlaceImageFilterSI3SI3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3 , image::VF3, itkInPlaceImageFilterF3VF3 );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::VF3 , image::VF3, itkInPlaceImageFilterVF3VF3 );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US3, image::VF3, itInPlaceeImageFilterUS3VF3);
+
+    //===========Same type 2D->3D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2 , image::F3 , itkInPlaceImageFilterF2F3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::D2 , image::D3 , itkInPlaceImageFilterD2D3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UC2, image::UC3, itkInPlaceImageFilterUC2UC3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US2, image::US3, itkInPlaceImageFilterUS2US3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UI2, image::UI3, itkInPlaceImageFilterUI2UI3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SC2, image::SC3, itkInPlaceImageFilterSC2SC3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SS2, image::SS3, itkInPlaceImageFilterSS2SS3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SI2, image::SI3, itkInPlaceImageFilterSI2SI3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2 , image::VF3, itkInPlaceImageFilterF2VF3 );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US2, image::VF3, itInPlaceeImageFilterUS2VF3);
+
+    //===========Same type 3D->2D Wrapped Filters==============
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3 , image::F2 , itkInPlaceImageFilterF3F2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::D3 , image::D2 , itkInPlaceImageFilterD3D2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UC3, image::UC2, itkInPlaceImageFilterUC3UC2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US3, image::US2, itkInPlaceImageFilterUS3US2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UI3, image::UI2, itkInPlaceImageFilterUI3UI2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SC3, image::SC2, itkInPlaceImageFilterSC3SC2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SS3, image::SS2, itkInPlaceImageFilterSS3SS2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SI3, image::SI2, itkInPlaceImageFilterSI3SI2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3 , image::VF2, itkInPlaceImageFilterF3VF2 );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US3, image::VF2, itInPlaceeImageFilterUS3VF2);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkInPlaceImageFilter_B.cxx b/Wrapping/CSwig/CommonA/wrap_itkInPlaceImageFilter_B.cxx
new file mode 100644
index 0000000000..ae5e40ae08
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkInPlaceImageFilter_B.cxx
@@ -0,0 +1,63 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkInPlaceImageFilter_B.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 14:53:33 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkInPlaceImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkInPlaceImageFilter_B);
+  namespace wrappers
+  {
+    //===== Mixed types InPlaceImageFilters 2D ImageFilters
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2,  image::UC2, itkInPlaceImageFilterF2UC2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2,  image::US2, itkInPlaceImageFilterF2US2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2,  image::UI2, itkInPlaceImageFilterF2UI2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2,  image::SC2, itkInPlaceImageFilterF2SC2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2,  image::SI2, itkInPlaceImageFilterF2SI2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2,  image::SS2, itkInPlaceImageFilterF2SS2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F2 , image::D2 , itkInPlaceImageFilterF2D2   );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::D2 , image::F2 , itkInPlaceImageFilterD2F2   );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US2, image::F2,  itkInPlaceImageFilterUS2F2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US2, image::UC2,  itkInPlaceImageFilterUS2UC2);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UC2, image::F2,  itkInPlaceImageFilterUC2F2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UC2, image::US2, itkInPlaceImageFilterUC2US2 );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SC2, image::F2,  itkInPlaceImageFilterSC2F2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SS2, image::F2,  itkInPlaceImageFilterSS2F2  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SI2, image::F2,  itkInPlaceImageFilterSI2F2  );
+    //===== Mixed types InPlaceImageFilters 3D ImageFilters
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3,  image::UC3, itkInPlaceImageFilterF3UC3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3,  image::US3, itkInPlaceImageFilterF3US3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3,  image::UI3, itkInPlaceImageFilterF3UI3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3,  image::SC3, itkInPlaceImageFilterF3SC3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3,  image::SI3, itkInPlaceImageFilterF3SI3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3,  image::SS3, itkInPlaceImageFilterF3SS3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::F3 , image::D3 , itkInPlaceImageFilterF3D3   );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::D3 , image::F3 , itkInPlaceImageFilterD3F3   );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US3, image::F3,  itkInPlaceImageFilterUS3F3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::US3, image::UC3,  itkInPlaceImageFilterUS3UC3);
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UC3, image::F3,  itkInPlaceImageFilterUC3F3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::UC3, image::US3, itkInPlaceImageFilterUC3US3 );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SC3, image::F3,  itkInPlaceImageFilterSC3F3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SS3, image::F3,  itkInPlaceImageFilterSS3F3  );
+    ITK_WRAP_OBJECT2(InPlaceImageFilter, image::SI3, image::F3,  itkInPlaceImageFilterSI3F3  );
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkIndex.cxx b/Wrapping/CSwig/CommonA/wrap_itkIndex.cxx
new file mode 100755
index 0000000000..d928e5f7a9
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkIndex.cxx
@@ -0,0 +1,31 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkIndex.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkIndex.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkIndex);
+  namespace wrappers
+  {
+    typedef itk::Index<2 >::Index itkIndex2;
+    typedef itk::Index<3 >::Index itkIndex3;
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkLevelSet.cxx b/Wrapping/CSwig/CommonA/wrap_itkLevelSet.cxx
new file mode 100644
index 0000000000..13738ead6e
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkLevelSet.cxx
@@ -0,0 +1,69 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkLevelSet.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkLevelSet.h"
+#include "itkVectorContainer.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _LSN_ {
+    typedef itk::LevelSetNode<float         , 2 >::LevelSetNode itkLevelSetNodeF2 ;
+    typedef itk::LevelSetNode<double        , 2 >::LevelSetNode itkLevelSetNodeD2 ;
+    typedef itk::LevelSetNode<unsigned char , 2 >::LevelSetNode itkLevelSetNodeUC2;
+    typedef itk::LevelSetNode<unsigned short, 2 >::LevelSetNode itkLevelSetNodeUS2;
+    typedef itk::LevelSetNode<unsigned int  , 2 >::LevelSetNode itkLevelSetNodeUI2;
+    typedef itk::LevelSetNode<signed char   , 2 >::LevelSetNode itkLevelSetNodeSC2;
+    typedef itk::LevelSetNode<signed short  , 2 >::LevelSetNode itkLevelSetNodeSS2;
+    typedef itk::LevelSetNode<signed int    , 2 >::LevelSetNode itkLevelSetNodeSI2;
+    typedef itk::LevelSetNode<float         , 3 >::LevelSetNode itkLevelSetNodeF3 ;
+    typedef itk::LevelSetNode<double        , 3 >::LevelSetNode itkLevelSetNodeD3 ;
+    typedef itk::LevelSetNode<unsigned char , 3 >::LevelSetNode itkLevelSetNodeUC3;
+    typedef itk::LevelSetNode<unsigned short, 3 >::LevelSetNode itkLevelSetNodeUS3;
+    typedef itk::LevelSetNode<unsigned int  , 3 >::LevelSetNode itkLevelSetNodeUI3;
+    typedef itk::LevelSetNode<signed char   , 3 >::LevelSetNode itkLevelSetNodeSC3;
+    typedef itk::LevelSetNode<signed short  , 3 >::LevelSetNode itkLevelSetNodeSS3;
+    typedef itk::LevelSetNode<signed int    , 3 >::LevelSetNode itkLevelSetNodeSI3;
+}
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkLevelSet);
+  namespace wrappers
+  {
+
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeF2, itkNodeContainerF2);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeD2, itkNodeContainerD2);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeUC2, itkNodeContainerUC2);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeUS2, itkNodeContainerUS2);
+     
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeUI2, itkNodeContainerUI2);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeSC2, itkNodeContainerSC2);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeSS2, itkNodeContainerSS2);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeSI2, itkNodeContainerSI2);
+     
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeF3, itkNodeContainerF3);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeD3, itkNodeContainerD3);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeUC3, itkNodeContainerUC3);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeUS3, itkNodeContainerUS3);
+     
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeUI3, itkNodeContainerUI3);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeSC3, itkNodeContainerSC3);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeSS3, itkNodeContainerSS3);
+    ITK_WRAP_OBJECT2(VectorContainer, unsigned int, _LSN_::itkLevelSetNodeSI3, itkNodeContainerSI3);     
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkNeighborhood.cxx b/Wrapping/CSwig/CommonA/wrap_itkNeighborhood.cxx
new file mode 100755
index 0000000000..d5232c8423
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkNeighborhood.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkNeighborhood.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkNeighborhood.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkNeighborhood);
+  namespace wrappers
+  {
+    typedef itk::Neighborhood<float, 2 >::Self itkNeighborhoodF2;
+    typedef itk::Neighborhood<float, 3 >::Self itkNeighborhoodF3;
+    typedef itk::Neighborhood<unsigned char, 2 >::Self itkNeighborhoodUC2;
+    typedef itk::Neighborhood<unsigned char, 3 >::Self itkNeighborhoodUC3;
+    typedef itk::Neighborhood<unsigned short, 2 >::Self itkNeighborhoodUS2;
+    typedef itk::Neighborhood<unsigned short, 3 >::Self itkNeighborhoodUS3;
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkPoint.cxx b/Wrapping/CSwig/CommonA/wrap_itkPoint.cxx
new file mode 100755
index 0000000000..f4677c1f70
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkPoint.cxx
@@ -0,0 +1,30 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkPoint.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkPoint.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkPoint);
+  namespace wrappers
+  { 
+    typedef itk::Point<double, 2 >::Point itkPointD2;
+    typedef itk::Point<double, 3 >::Point itkPointD3;
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkPyBuffer.cxx b/Wrapping/CSwig/CommonA/wrap_itkPyBuffer.cxx
new file mode 100644
index 0000000000..acdb300785
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkPyBuffer.cxx
@@ -0,0 +1,39 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkPyBuffer.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkPyBuffer.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkPyBuffer);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(PyBuffer, image::F2 ,     itkPyBufferF2 );
+    ITK_WRAP_OBJECT1(PyBuffer, image::US2,     itkPyBufferUS2 );
+    ITK_WRAP_OBJECT1(PyBuffer, image::UC2,     itkPyBufferUC2 );
+
+    ITK_WRAP_OBJECT1(PyBuffer, image::F3 ,     itkPyBufferF3 );
+    ITK_WRAP_OBJECT1(PyBuffer, image::US3,     itkPyBufferUS3 );
+    ITK_WRAP_OBJECT1(PyBuffer, image::UC3,     itkPyBufferUC3 );
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkSize.cxx b/Wrapping/CSwig/CommonA/wrap_itkSize.cxx
new file mode 100755
index 0000000000..a530468c53
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkSize.cxx
@@ -0,0 +1,30 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkSize.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkSize.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkSize);
+  namespace wrappers
+  {
+    typedef itk::Size<2 >::Size itkSize2;
+    typedef itk::Size<3 >::Size itkSize3;
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonA/wrap_itkVector.cxx b/Wrapping/CSwig/CommonA/wrap_itkVector.cxx
new file mode 100755
index 0000000000..e87ac44ad8
--- /dev/null
+++ b/Wrapping/CSwig/CommonA/wrap_itkVector.cxx
@@ -0,0 +1,30 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkVector.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkVector);
+  namespace wrappers
+  {
+    typedef itk::Vector<double, 2 >::Vector itkVectorD2;
+    typedef itk::Vector<double, 3 >::Vector itkVectorD3;
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/.NoDartCoverage b/Wrapping/CSwig/CommonB/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/CommonB/CMakeLists.txt b/Wrapping/CSwig/CommonB/CMakeLists.txt
new file mode 100755
index 0000000000..99daa3149d
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/CMakeLists.txt
@@ -0,0 +1,26 @@
+# create a list of cable config files for wrapping
+SET(WRAP_SOURCES
+  wrap_ITKKernelDeformableTransforms
+  wrap_ITKRigidTransforms
+  wrap_ITKSimilarityTransforms
+  wrap_itkAffineTransform
+  wrap_itkAzimuthElevationToCartesianTransform
+  wrap_itkBSplineDeformableTransform
+  wrap_itkIdentityTransform
+  wrap_itkMatrixOffsetTransformBase
+  wrap_itkScaleTransform
+  wrap_itkTransform
+  wrap_itkTranslationTransform
+  wrap_itkVersorTransform
+)
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonB/ITKCommonB.mdx"
+#                       "${WrapOTB_BINARY_DIR}/otbCommon/OTBCommon.mdx"
+)
+
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" ITKCommonB CommonB "ITKCommonA;VXLNumerics" "" "ITKCommon")
+
diff --git a/Wrapping/CSwig/CommonB/CVS/Entries b/Wrapping/CSwig/CommonB/CVS/Entries
new file mode 100644
index 0000000000..ec751c8eb1
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/CVS/Entries
@@ -0,0 +1,19 @@
+/.NoDartCoverage/1.1/Fri Apr  1 14:38:32 2005//TITK-3-0-1
+/CMakeLists.txt/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKCommonB.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKCommonBJava.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKCommonBPython.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKCommonBTcl.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKKernelDeformableTransforms.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKRigidTransforms.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_ITKSimilarityTransforms.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkAffineTransform.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkAzimuthElevationToCartesianTransform.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkBSplineDeformableTransform.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkIdentityTransform.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkMatrixOffsetTransformBase.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkScaleTransform.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkTransform.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkTranslationTransform.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+/wrap_itkVersorTransform.cxx/1.1/Fri Mar 25 13:17:57 2005//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/CommonB/CVS/Repository b/Wrapping/CSwig/CommonB/CVS/Repository
new file mode 100644
index 0000000000..bc6b263ec4
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/CommonB
diff --git a/Wrapping/CSwig/CommonB/CVS/Root b/Wrapping/CSwig/CommonB/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/CommonB/CVS/Tag b/Wrapping/CSwig/CommonB/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/CommonB/CVS/Template b/Wrapping/CSwig/CommonB/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/CommonB/wrap_ITKCommonB.cxx b/Wrapping/CSwig/CommonB/wrap_ITKCommonB.cxx
new file mode 100755
index 0000000000..bfe02199db
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_ITKCommonB.cxx
@@ -0,0 +1,38 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKCommonB.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const package = ITK_WRAP_PACKAGE_NAME(ITK_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    ITK_WRAP_GROUP(ITKKernelDeformableTransforms),
+    ITK_WRAP_GROUP(ITKRigidTransforms),
+    ITK_WRAP_GROUP(ITKSimilarityTransforms),
+    ITK_WRAP_GROUP(itkAffineTransform),
+    ITK_WRAP_GROUP(itkAzimuthElevationToCartesianTransform),
+    ITK_WRAP_GROUP(itkBSplineDeformableTransform),
+    ITK_WRAP_GROUP(itkIdentityTransform),
+    ITK_WRAP_GROUP(itkScaleTransform),
+    ITK_WRAP_GROUP(itkTranslationTransform),
+    ITK_WRAP_GROUP(itkTransform),
+    ITK_WRAP_GROUP(itkMatrixOffsetTransformBase),
+    ITK_WRAP_GROUP(itkVersorTransformGroup)
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_ITKCommonBJava.cxx b/Wrapping/CSwig/CommonB/wrap_ITKCommonBJava.cxx
new file mode 100644
index 0000000000..7233e0f93c
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_ITKCommonBJava.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKCommonBJava"
+#include "wrap_ITKCommonB.cxx"
diff --git a/Wrapping/CSwig/CommonB/wrap_ITKCommonBPython.cxx b/Wrapping/CSwig/CommonB/wrap_ITKCommonBPython.cxx
new file mode 100755
index 0000000000..306c02cc95
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_ITKCommonBPython.cxx
@@ -0,0 +1,3 @@
+#define ITK_WRAP_PACKAGE "ITKCommonBPython"
+#define ITK_PYTHON_WRAP
+#include "wrap_ITKCommonB.cxx"
diff --git a/Wrapping/CSwig/CommonB/wrap_ITKCommonBTcl.cxx b/Wrapping/CSwig/CommonB/wrap_ITKCommonBTcl.cxx
new file mode 100755
index 0000000000..1f38865875
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_ITKCommonBTcl.cxx
@@ -0,0 +1,3 @@
+#define ITK_WRAP_PACKAGE "ITKCommonBTcl"
+#define ITK_TCL_WRAP
+#include "wrap_ITKCommonB.cxx"
diff --git a/Wrapping/CSwig/CommonB/wrap_ITKKernelDeformableTransforms.cxx b/Wrapping/CSwig/CommonB/wrap_ITKKernelDeformableTransforms.cxx
new file mode 100755
index 0000000000..e3a2c75cba
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_ITKKernelDeformableTransforms.cxx
@@ -0,0 +1,49 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKKernelDeformableTransforms.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkKernelTransform.h"
+#include "itkElasticBodyReciprocalSplineKernelTransform.h"
+#include "itkElasticBodySplineKernelTransform.h"
+#include "itkThinPlateR2LogRSplineKernelTransform.h"
+#include "itkThinPlateSplineKernelTransform.h"
+#include "itkVolumeSplineKernelTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_2(x, d1) \
+  ITK_WRAP_OBJECT2(x, double, d1, itk##x##d1)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(ITKKernelDeformableTransforms);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_2(ElasticBodyReciprocalSplineKernelTransform, 2);
+    ITK_WRAP_TRANSFORM_2(ElasticBodyReciprocalSplineKernelTransform, 3);
+    ITK_WRAP_TRANSFORM_2(ElasticBodySplineKernelTransform, 2);
+    ITK_WRAP_TRANSFORM_2(ElasticBodySplineKernelTransform, 3);
+    ITK_WRAP_TRANSFORM_2(KernelTransform, 2);
+    ITK_WRAP_TRANSFORM_2(KernelTransform, 3);
+    ITK_WRAP_TRANSFORM_2(ThinPlateR2LogRSplineKernelTransform, 2);
+    ITK_WRAP_TRANSFORM_2(ThinPlateR2LogRSplineKernelTransform, 3);
+    ITK_WRAP_TRANSFORM_2(ThinPlateSplineKernelTransform, 2);
+    ITK_WRAP_TRANSFORM_2(ThinPlateSplineKernelTransform, 3);
+    ITK_WRAP_TRANSFORM_2(VolumeSplineKernelTransform, 2);
+    ITK_WRAP_TRANSFORM_2(VolumeSplineKernelTransform, 3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_ITKRigidTransforms.cxx b/Wrapping/CSwig/CommonB/wrap_ITKRigidTransforms.cxx
new file mode 100755
index 0000000000..85b3192547
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_ITKRigidTransforms.cxx
@@ -0,0 +1,45 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKRigidTransforms.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkCenteredRigid2DTransform.h"
+#include "itkEuler2DTransform.h"
+#include "itkQuaternionRigidTransform.h"
+#include "itkRigid2DTransform.h"
+#include "itkRigid3DPerspectiveTransform.h"
+#include "itkRigid3DTransform.h"
+#include "itkVersorRigid3DTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_1(x) \
+  ITK_WRAP_OBJECT1(x, double, itk##x)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(ITKRigidTransforms);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_1(CenteredRigid2DTransform);
+    ITK_WRAP_TRANSFORM_1(Euler2DTransform);
+    ITK_WRAP_TRANSFORM_1(QuaternionRigidTransform);
+    ITK_WRAP_TRANSFORM_1(Rigid2DTransform);
+    ITK_WRAP_TRANSFORM_1(Rigid3DPerspectiveTransform);
+    ITK_WRAP_TRANSFORM_1(Rigid3DTransform);
+    ITK_WRAP_TRANSFORM_1(VersorRigid3DTransform);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_ITKSimilarityTransforms.cxx b/Wrapping/CSwig/CommonB/wrap_ITKSimilarityTransforms.cxx
new file mode 100755
index 0000000000..b05944ef79
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_ITKSimilarityTransforms.cxx
@@ -0,0 +1,35 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKSimilarityTransforms.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkSimilarity2DTransform.h"
+#include "itkCenteredSimilarity2DTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_1(x) \
+  ITK_WRAP_OBJECT1(x, double, itk##x)
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(ITKSimilarityTransforms);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_1(Similarity2DTransform);
+    ITK_WRAP_TRANSFORM_1(CenteredSimilarity2DTransform);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_itkAffineTransform.cxx b/Wrapping/CSwig/CommonB/wrap_itkAffineTransform.cxx
new file mode 100755
index 0000000000..429cb24bff
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_itkAffineTransform.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkAffineTransform.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkAffineTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_2(x, d1) \
+  ITK_WRAP_OBJECT2(x, double, d1, itk##x##d1)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkAffineTransform);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_2(AffineTransform, 2);
+    ITK_WRAP_TRANSFORM_2(AffineTransform, 3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_itkAzimuthElevationToCartesianTransform.cxx b/Wrapping/CSwig/CommonB/wrap_itkAzimuthElevationToCartesianTransform.cxx
new file mode 100755
index 0000000000..5eb3729038
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_itkAzimuthElevationToCartesianTransform.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkAzimuthElevationToCartesianTransform.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkAzimuthElevationToCartesianTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_2(x, d1) \
+  ITK_WRAP_OBJECT2(x, double, d1, itk##x##d1)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkAzimuthElevationToCartesianTransform);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_2(AzimuthElevationToCartesianTransform, 2);
+    ITK_WRAP_TRANSFORM_2(AzimuthElevationToCartesianTransform, 3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_itkBSplineDeformableTransform.cxx b/Wrapping/CSwig/CommonB/wrap_itkBSplineDeformableTransform.cxx
new file mode 100755
index 0000000000..0469f179e9
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_itkBSplineDeformableTransform.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkBSplineDeformableTransform.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkBSplineDeformableTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_3(x, d1, d2) \
+  ITK_WRAP_OBJECT3(x, double, d1, d2, itk##x##d1##d2)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkBSplineDeformableTransform);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_3(BSplineDeformableTransform, 2, 3);
+    ITK_WRAP_TRANSFORM_3(BSplineDeformableTransform, 3, 3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_itkIdentityTransform.cxx b/Wrapping/CSwig/CommonB/wrap_itkIdentityTransform.cxx
new file mode 100755
index 0000000000..4e82c1d3c5
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_itkIdentityTransform.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkIdentityTransform.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkIdentityTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_2(x, d1) \
+  ITK_WRAP_OBJECT2(x, double, d1, itk##x##d1)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkIdentityTransform);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_2(IdentityTransform, 2);
+    ITK_WRAP_TRANSFORM_2(IdentityTransform, 3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_itkMatrixOffsetTransformBase.cxx b/Wrapping/CSwig/CommonB/wrap_itkMatrixOffsetTransformBase.cxx
new file mode 100755
index 0000000000..bdb86c6083
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_itkMatrixOffsetTransformBase.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkMatrixOffsetTransformBase.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkMatrixOffsetTransformBase.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_3(x, d1, d2) \
+  ITK_WRAP_OBJECT3(x, double, d1, d2, itk##x##d1##d2)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkMatrixOffsetTransformBase);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_3(MatrixOffsetTransformBase, 2, 2);
+    ITK_WRAP_TRANSFORM_3(MatrixOffsetTransformBase, 3, 3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_itkScaleTransform.cxx b/Wrapping/CSwig/CommonB/wrap_itkScaleTransform.cxx
new file mode 100755
index 0000000000..44aeab8a58
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_itkScaleTransform.cxx
@@ -0,0 +1,37 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkScaleTransform.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkScaleTransform.h"
+#include "itkScaleLogarithmicTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_2(x, d1) \
+  ITK_WRAP_OBJECT2(x, double, d1, itk##x##d1)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkScaleTransform);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_2(ScaleTransform, 2);
+    ITK_WRAP_TRANSFORM_2(ScaleTransform, 3);
+    ITK_WRAP_TRANSFORM_2(ScaleLogarithmicTransform, 2);
+    ITK_WRAP_TRANSFORM_2(ScaleLogarithmicTransform, 3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_itkTransform.cxx b/Wrapping/CSwig/CommonB/wrap_itkTransform.cxx
new file mode 100755
index 0000000000..25494e83f4
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_itkTransform.cxx
@@ -0,0 +1,37 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkTransform.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkTransformBase.h"
+#include "itkTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_3(x, d1, d2) \
+  ITK_WRAP_OBJECT3(x, double, d1, d2, itk##x##d1##d2)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkTransform);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT(TransformBase);
+    ITK_WRAP_TRANSFORM_3(Transform, 2, 2);
+    ITK_WRAP_TRANSFORM_3(Transform, 3, 2);
+    ITK_WRAP_TRANSFORM_3(Transform, 3, 3);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_itkTranslationTransform.cxx b/Wrapping/CSwig/CommonB/wrap_itkTranslationTransform.cxx
new file mode 100755
index 0000000000..2a00c963e2
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_itkTranslationTransform.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkTranslationTransform.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkTranslationTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_2(x, d1) \
+  ITK_WRAP_OBJECT2(x, double, d1, itk##x##d1)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkTranslationTransform);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_2(TranslationTransform, 2);
+    ITK_WRAP_TRANSFORM_2(TranslationTransform, 3);  
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/CommonB/wrap_itkVersorTransform.cxx b/Wrapping/CSwig/CommonB/wrap_itkVersorTransform.cxx
new file mode 100755
index 0000000000..a2dcfd99fa
--- /dev/null
+++ b/Wrapping/CSwig/CommonB/wrap_itkVersorTransform.cxx
@@ -0,0 +1,33 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkVersorTransform.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkVersorTransform.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+#define ITK_WRAP_TRANSFORM_1(x) \
+  ITK_WRAP_OBJECT1(x, double, itk##x)
+    
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkVersorTransformGroup);
+  namespace wrappers
+  {
+    ITK_WRAP_TRANSFORM_1(VersorTransform);
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/IO/.NoDartCoverage b/Wrapping/CSwig/IO/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/IO/CMakeLists.txt b/Wrapping/CSwig/IO/CMakeLists.txt
new file mode 100755
index 0000000000..9e1922f705
--- /dev/null
+++ b/Wrapping/CSwig/IO/CMakeLists.txt
@@ -0,0 +1,24 @@
+# create the ITKIOTcl libraries
+SET(WRAP_SOURCES
+    wrap_IOBase
+    wrap_itkImageFileReader_2D
+    wrap_itkImageFileReader_3D
+    wrap_itkImageFileWriter_2D
+    wrap_itkImageFileWriter_3D
+    wrap_itkImageSeriesReader
+    wrap_itkImageSeriesWriter
+)
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/Numerics/ITKNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonB/ITKCommonB.mdx"
+                       "${WrapOTB_BINARY_DIR}/BasicFiltersA/ITKBasicFiltersA.mdx"
+                       "${WrapOTB_BINARY_DIR}/BasicFiltersB/ITKBasicFiltersB.mdx"
+                       "${WrapOTB_BINARY_DIR}/IO/ITKIO.mdx"
+)
+SET(ITK_EXTRA_TCL_SOURCES itkTkImageViewer2D.cxx)
+SET(ITK_EXTRA_TCL_WRAP wrap_itkTkImageViewer2D)
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" ITKIO IO "ITKNumerics;ITKCommonA;ITKCommonB" "" "")
+IF(ITK_CSWIG_TCL)
+  TARGET_LINK_LIBRARIES(ITKIOTcl ${TK_LIBRARY})
+ENDIF(ITK_CSWIG_TCL)
diff --git a/Wrapping/CSwig/IO/itkTkImageViewer2D.cxx b/Wrapping/CSwig/IO/itkTkImageViewer2D.cxx
new file mode 100644
index 0000000000..c0e2126422
--- /dev/null
+++ b/Wrapping/CSwig/IO/itkTkImageViewer2D.cxx
@@ -0,0 +1,150 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkTkImageViewer2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkTkImageViewer2D.h"
+
+#include <tk.h>
+
+namespace itk
+{
+
+TkImageViewer2D::TkImageViewer2D()
+{
+  m_Interpreter = 0;
+  
+  // Setup the internal pipeline.
+  m_FlipFilter = FlipFilter::New();
+  FlipFilter::FlipAxesArrayType axes;
+  axes[0] = false;
+  axes[1] = true;
+  m_FlipFilter->SetFlipAxes(axes);
+  m_RescaleFilter = RescaleFilter::New();
+  m_RescaleFilter->SetInput(m_FlipFilter->GetOutput());
+  m_RescaleFilter->SetOutputMinimum(0);
+  m_RescaleFilter->SetOutputMaximum(255);
+}
+
+TkImageViewer2D::~TkImageViewer2D()
+{
+}
+
+//----------------------------------------------------------------------------
+void TkImageViewer2D::SetInterpreter(Tcl_Interp* interp)
+{
+  m_Interpreter = interp;
+}
+
+//----------------------------------------------------------------------------
+Tcl_Interp* TkImageViewer2D::GetInterpreter() const
+{
+  return m_Interpreter;
+}
+
+//----------------------------------------------------------------------------
+void TkImageViewer2D::SetImageName(const char* name)
+{
+  m_ImageName = name;
+}
+
+//----------------------------------------------------------------------------
+const char* TkImageViewer2D::GetImageName() const
+{
+  return m_ImageName.c_str();
+}
+
+//----------------------------------------------------------------------------
+void TkImageViewer2D::SetCanvasName(const char* name)
+{
+  m_CanvasName = name;
+}
+
+//----------------------------------------------------------------------------
+const char* TkImageViewer2D::GetCanvasName() const
+{
+  return m_CanvasName.c_str();
+}
+
+//----------------------------------------------------------------------------
+void TkImageViewer2D::SetInput(InputImageType* image)
+{
+  this->Superclass::SetNthInput(0, image);
+}
+
+//----------------------------------------------------------------------------
+TkImageViewer2D::InputImageType* TkImageViewer2D::GetInput()
+{
+  DataObject* input = this->Superclass::GetInput(0);
+  return dynamic_cast<InputImageType*>(input);
+}
+
+//----------------------------------------------------------------------------
+void TkImageViewer2D::Draw()
+{
+  // Make sure we have an input image.
+  InputImageType* input = this->GetInput();
+  if(!input) { return; }
+  
+  // Connect our input to the internal pipeline.
+  m_FlipFilter->SetInput(input);
+  
+  // Bring the image up to date.
+  RescaleFilter::OutputImageType* image = m_RescaleFilter->GetOutput();
+  image->UpdateOutputInformation();
+  image->SetRequestedRegion(image->GetLargestPossibleRegion());
+  image->Update();
+  
+  // Get the size of the image.
+  itk::Size<2> size = image->GetLargestPossibleRegion().GetSize();
+  int width = static_cast<int>(size[0]);
+  int height = static_cast<int>(size[1]);
+  
+  // Setup the size 
+  Tk_PhotoHandle photo =
+    Tk_FindPhoto(m_Interpreter, const_cast<char*>(m_ImageName.c_str()));
+  Tk_PhotoSetSize(photo, width, height);
+  
+  OStringStream command;
+  command << m_CanvasName.c_str() << " configure -scrollregion \"1 1 "
+          << width << " " << height << "\"";
+  std::string cmdstr = command.str();
+  char* cmd = new char[cmdstr.length()+1];
+  strcpy(cmd, cmdstr.c_str());
+  Tcl_GlobalEval(m_Interpreter, cmd);
+  delete [] cmd;
+  
+  // Copy the image data to the Tk photo.
+  unsigned char* buffer =
+    reinterpret_cast<unsigned char*>(image->GetBufferPointer());
+  
+  Tk_PhotoImageBlock block;
+  block.pixelPtr = buffer;
+  block.width = width;
+  block.height = height;
+  block.pitch = width;
+  block.pixelSize = 1;
+  block.offset[0] = 0;
+  block.offset[1] = 0;
+  block.offset[2] = 0;
+  block.offset[3] = 0;
+#if (TK_MAJOR_VERSION == 8) && (TK_MINOR_VERSION < 4)
+  Tk_PhotoPutBlock(photo, &block, 0, 0, size[0], size[1]);
+#else
+  Tk_PhotoPutBlock(photo, &block, 0, 0, size[0], size[1],
+                   TK_PHOTO_COMPOSITE_SET);
+#endif
+}
+
+} // namespace itk
diff --git a/Wrapping/CSwig/IO/itkTkImageViewer2D.h b/Wrapping/CSwig/IO/itkTkImageViewer2D.h
new file mode 100644
index 0000000000..10e373d424
--- /dev/null
+++ b/Wrapping/CSwig/IO/itkTkImageViewer2D.h
@@ -0,0 +1,97 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkTkImageViewer2D.h,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifndef _itkTkImageViewer2D_h
+#define _itkTkImageViewer2D_h
+
+#include "itkObject.h"
+#include "itkImage.h"
+#include "itkFlipImageFilter.h"
+#include "itkRescaleIntensityImageFilter.h"
+
+#include <tcl.h>
+
+namespace itk
+{
+
+/** \Class TkImageViewer2D
+ *  \brief View an ITK image in a Tk window.
+ */
+class TkImageViewer2D : public ProcessObject
+{
+public:
+  /** Standard ITK class members.  */
+  typedef TkImageViewer2D      Self;
+  typedef SmartPointer<Self> Pointer;
+  typedef ProcessObject      Superclass;
+  itkTypeMacro(TkImageViewer2D, ProcessObject);
+  
+  /** Method for creation through the object factory.  */
+  itkNewMacro(Self);
+
+  /** The type of the input image.  */
+  typedef Image<unsigned short, 2> InputImageType;
+
+  /** Set/Get the Tcl interpreter.  */
+  void SetInterpreter(Tcl_Interp* interp);
+  Tcl_Interp* GetInterpreter() const;
+  
+  /** Set/Get the name of the Tk image.  */
+  void SetImageName(const char* name);
+  const char* GetImageName() const;  
+  
+  /** Set/Get the name of the Tk canvas.  */
+  void SetCanvasName(const char* name);
+  const char* GetCanvasName() const;  
+  
+  void SetInput(InputImageType* input);
+  InputImageType* GetInput();
+  
+  void Draw();
+  
+protected:
+  TkImageViewer2D();
+  ~TkImageViewer2D();
+
+  // The Tcl interpreter associated with the Tk window.
+  Tcl_Interp* m_Interpreter;
+  
+  // The name of the Tk image.
+  std::string m_ImageName;
+  
+  // The name of the Tk canvas.
+  std::string m_CanvasName;
+
+  // The filter to flip the Y-axis.
+  typedef FlipImageFilter<InputImageType> FlipFilter;
+  FlipFilter::Pointer m_FlipFilter;
+  
+  // The filter to scale the image to 256 shades of gray.
+  typedef RescaleIntensityImageFilter<FlipFilter::OutputImageType,
+                                      itk::Image<unsigned char, 2> >
+          RescaleFilter;
+  RescaleFilter::Pointer m_RescaleFilter;
+  
+private:
+  TkImageViewer2D(const Self&);     // Not implemented.
+  void operator=(const Self&); // Not implemented.
+};
+
+
+} // namespace itk
+
+#endif // _itkTkImageViewer2D_h
+
diff --git a/Wrapping/CSwig/IO/wrap_IOBase.cxx b/Wrapping/CSwig/IO/wrap_IOBase.cxx
new file mode 100644
index 0000000000..09b52a59c5
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_IOBase.cxx
@@ -0,0 +1,53 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_IOBase.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/08/12 23:02:58 $
+  Version:   $Revision: 1.6 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkRawImageIO.h"
+#include "itkImageIOBase.h"
+#include "itkPNGImageIO.h"
+#include "itkMetaImageIO.h"
+#include "itkDicomImageIO.h"
+#include "itkGDCMImageIO.h"
+#include "itkPNGImageIOFactory.h"
+#include "itkMetaImageIOFactory.h"
+#include "itkDicomImageIOFactory.h"
+#include "itkDICOMSeriesFileNames.h"
+#include "itkNumericSeriesFileNames.h"
+#include "itkRegularExpressionSeriesFileNames.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(IOBase);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT(ImageIOBase);
+    ITK_WRAP_OBJECT(PNGImageIO);
+    ITK_WRAP_OBJECT(MetaImageIO);
+    ITK_WRAP_OBJECT(DicomImageIO);
+    ITK_WRAP_OBJECT(GDCMImageIO);
+    ITK_WRAP_OBJECT(PNGImageIOFactory);
+    ITK_WRAP_OBJECT(MetaImageIOFactory);
+    ITK_WRAP_OBJECT(DicomImageIOFactory);
+    ITK_WRAP_OBJECT2(RawImageIO, float, 2, itkRawImageIOF2);
+    ITK_WRAP_OBJECT2(RawImageIO, float, 3, itkRawImageIOF3);
+    ITK_WRAP_OBJECT(DICOMSeriesFileNames);
+    ITK_WRAP_OBJECT(NumericSeriesFileNames);
+    ITK_WRAP_OBJECT(RegularExpressionSeriesFileNames);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/IO/wrap_ITKIO.cxx b/Wrapping/CSwig/IO/wrap_ITKIO.cxx
new file mode 100644
index 0000000000..4dc395bdb4
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_ITKIO.cxx
@@ -0,0 +1,37 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKIO.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/15 14:42:45 $
+  Version:   $Revision: 1.9 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const package = ITK_WRAP_PACKAGE_NAME(ITK_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    ITK_WRAP_GROUP(IOBase),
+    ITK_WRAP_GROUP(itkImageFileReader_2D),
+    ITK_WRAP_GROUP(itkImageFileReader_3D),
+#ifdef ITK_TCL_WRAP
+    ITK_WRAP_GROUP(itkTkImageViewer2D),
+#endif
+    ITK_WRAP_GROUP(itkImageFileWriter_2D),
+    ITK_WRAP_GROUP(itkImageFileWriter_3D),
+    ITK_WRAP_GROUP(itkImageSeriesReader),
+    ITK_WRAP_GROUP(itkImageSeriesWriter)
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/IO/wrap_ITKIOJava.cxx b/Wrapping/CSwig/IO/wrap_ITKIOJava.cxx
new file mode 100755
index 0000000000..5953a548b1
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_ITKIOJava.cxx
@@ -0,0 +1,3 @@
+#define ITK_WRAP_PACKAGE "ITKIOJava"
+#define ITK_JAVA_WRAP
+#include "wrap_ITKIO.cxx"
diff --git a/Wrapping/CSwig/IO/wrap_ITKIOPython.cxx b/Wrapping/CSwig/IO/wrap_ITKIOPython.cxx
new file mode 100755
index 0000000000..2c77fd2ddf
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_ITKIOPython.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKIOPython"
+#include "wrap_ITKIO.cxx"
diff --git a/Wrapping/CSwig/IO/wrap_ITKIOTcl.cxx b/Wrapping/CSwig/IO/wrap_ITKIOTcl.cxx
new file mode 100755
index 0000000000..c01e7558ff
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_ITKIOTcl.cxx
@@ -0,0 +1,3 @@
+#define ITK_WRAP_PACKAGE "ITKIOTcl"
+#define ITK_TCL_WRAP
+#include "wrap_ITKIO.cxx"
diff --git a/Wrapping/CSwig/IO/wrap_itkImageFileReader_2D.cxx b/Wrapping/CSwig/IO/wrap_itkImageFileReader_2D.cxx
new file mode 100644
index 0000000000..969ae68380
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_itkImageFileReader_2D.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageFileReader_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/03 08:39:17 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageFileReader.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageFileReader_2D);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(ImageFileReader, image::F2, itkImageFileReaderF2);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::VF2, itkImageFileReaderVF2);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::D2, itkImageFileReaderD2);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::UC2, itkImageFileReaderUC2);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::US2, itkImageFileReaderUS2);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::UL2, itkImageFileReaderUL2);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::UI2, itkImageFileReaderUI2);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::SS2, itkImageFileReaderSS2);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::SI2, itkImageFileReaderSI2);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/IO/wrap_itkImageFileReader_3D.cxx b/Wrapping/CSwig/IO/wrap_itkImageFileReader_3D.cxx
new file mode 100644
index 0000000000..70c8ac5e53
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_itkImageFileReader_3D.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageFileReader_3D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/03 08:39:17 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageFileReader.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageFileReader_3D);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(ImageFileReader, image::F3, itkImageFileReaderF3);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::VF3, itkImageFileReaderVF3);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::D3, itkImageFileReaderD3);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::UC3, itkImageFileReaderUC3);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::US3, itkImageFileReaderUS3);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::UL3, itkImageFileReaderUL3);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::UI3, itkImageFileReaderUI3);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::SS3, itkImageFileReaderSS3);
+    ITK_WRAP_OBJECT1(ImageFileReader, image::SI3, itkImageFileReaderSI3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/IO/wrap_itkImageFileWriter_2D.cxx b/Wrapping/CSwig/IO/wrap_itkImageFileWriter_2D.cxx
new file mode 100644
index 0000000000..f0968b9202
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_itkImageFileWriter_2D.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageFileWriter_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/03 08:39:17 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageFileWriter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageFileWriter_2D);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::F2, itkImageFileWriterF2);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::VF2, itkImageFileWriterVF2);     
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::D2, itkImageFileWriterD2);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::UC2, itkImageFileWriterUC2);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::US2, itkImageFileWriterUS2);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::UL2, itkImageFileWriterUL2);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::UI2, itkImageFileWriterUI2);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::SS2, itkImageFileWriterSS2);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::SI2, itkImageFileWriterSI2);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/IO/wrap_itkImageFileWriter_3D.cxx b/Wrapping/CSwig/IO/wrap_itkImageFileWriter_3D.cxx
new file mode 100644
index 0000000000..4a62394f89
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_itkImageFileWriter_3D.cxx
@@ -0,0 +1,41 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageFileWriter_3D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/03 08:39:17 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageFileWriter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageFileWriter_3D);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::F3, itkImageFileWriterF3);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::VF3, itkImageFileWriterVF3);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::D3, itkImageFileWriterD3);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::UC3, itkImageFileWriterUC3);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::US3, itkImageFileWriterUS3);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::UL3, itkImageFileWriterUL3);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::UI3, itkImageFileWriterUI3);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::SS3, itkImageFileWriterSS3);
+    ITK_WRAP_OBJECT1(ImageFileWriter, image::SI3, itkImageFileWriterSI3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/IO/wrap_itkImageSeriesReader.cxx b/Wrapping/CSwig/IO/wrap_itkImageSeriesReader.cxx
new file mode 100644
index 0000000000..51e828388e
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_itkImageSeriesReader.cxx
@@ -0,0 +1,38 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageSeriesReader.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/10/30 00:15:10 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageSeriesReader.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageSeriesReader);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(ImageSeriesReader, image::F2, itkImageSeriesReaderF2);
+    ITK_WRAP_OBJECT1(ImageSeriesReader, image::F3, itkImageSeriesReaderF3);
+    ITK_WRAP_OBJECT1(ImageSeriesReader, image::US2, itkImageSeriesReaderUS2);
+    ITK_WRAP_OBJECT1(ImageSeriesReader, image::US3, itkImageSeriesReaderUS3);
+    ITK_WRAP_OBJECT1(ImageSeriesReader, image::UC2, itkImageSeriesReaderUC2);
+    ITK_WRAP_OBJECT1(ImageSeriesReader, image::UC3, itkImageSeriesReaderUC3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/IO/wrap_itkImageSeriesWriter.cxx b/Wrapping/CSwig/IO/wrap_itkImageSeriesWriter.cxx
new file mode 100644
index 0000000000..918731e2c1
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_itkImageSeriesWriter.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageSeriesWriter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/10/30 21:20:57 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageSeriesWriter.h"
+#include "otbImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageSeriesWriter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(ImageSeriesWriter, image::F3,  image::F2,  itkImageSeriesWriterF3F2);
+    ITK_WRAP_OBJECT2(ImageSeriesWriter, image::US3, image::US2, itkImageSeriesWriterUS3US2);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/IO/wrap_itkTkImageViewer2D.cxx b/Wrapping/CSwig/IO/wrap_itkTkImageViewer2D.cxx
new file mode 100644
index 0000000000..13b5dc6958
--- /dev/null
+++ b/Wrapping/CSwig/IO/wrap_itkTkImageViewer2D.cxx
@@ -0,0 +1,30 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkTkImageViewer2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.3 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkTkImageViewer2D.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkTkImageViewer2D);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT(TkImageViewer2D);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Java/CMakeLists.txt b/Wrapping/CSwig/Java/CMakeLists.txt
new file mode 100755
index 0000000000..ac70dd4635
--- /dev/null
+++ b/Wrapping/CSwig/Java/CMakeLists.txt
@@ -0,0 +1,106 @@
+SET(ITK_JAVA_CLASSPATH ${ITK_BINARY_DIR}/Wrapping/CSwig/Java)
+SET(ITK_JAVA_OUTPATH ${ITK_BINARY_DIR}/Wrapping/CSwig/Java)
+
+# Relative path from InsightToolkit.jar installation to dlls.
+IF(WIN32)
+  SET(ITK_JAVA_INSTALL_DIR "/../../bin")
+ELSE(WIN32)
+  SET(ITK_JAVA_INSTALL_DIR "")
+ENDIF(WIN32)
+
+IF(CMAKE_CONFIGURATION_TYPES)
+  SET(ITK_BASE_JAVA_FILE ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/${CMAKE_CFG_INTDIR}/InsightToolkit/itkbase.java)
+  FOREACH(config ${CMAKE_CONFIGURATION_TYPES})
+    SET(ITK_JAVA_BUILD_DIR ${LIBRARY_OUTPUT_PATH}/${config})
+    CONFIGURE_FILE(
+      ${ITK_SOURCE_DIR}/Wrapping/CSwig/Java/itkbase.java.in
+      ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/${config}/InsightToolkit/itkbase.java
+      @ONLY IMMEDIATE
+      )
+    FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${config}/itk_build_tree.mark
+      "File next to InsightToolkit.jar to mark the build tree.\n"
+    )
+  ENDFOREACH(config)
+  SET(ITK_JAVA_CLASSPATH
+    "${ITK_JAVA_CLASSPATH}\;${ITK_BINARY_DIR}/Wrapping/CSwig/Java/${CMAKE_CFG_INTDIR}")
+  SET(ITK_JAVA_OUTPATH "${ITK_JAVA_OUTPATH}/${CMAKE_CFG_INTDIR}")
+ELSE(CMAKE_CONFIGURATION_TYPES)
+  SET(ITK_JAVA_BUILD_DIR ${LIBRARY_OUTPUT_PATH})
+  SET(ITK_BASE_JAVA_FILE ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/InsightToolkit/itkbase.java)
+  CONFIGURE_FILE(
+    ${ITK_SOURCE_DIR}/Wrapping/CSwig/Java/itkbase.java.in
+    ${ITK_BASE_JAVA_FILE}
+    @ONLY IMMEDIATE
+    )
+  FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/itk_build_tree.mark
+    "File next to InsightToolkit.jar to mark the build tree.\n"
+    )
+ENDIF(CMAKE_CONFIGURATION_TYPES)
+
+SET(ORDERING_DEP)
+FOREACH(Kit ${ITK_KITS})
+  IF(${Kit} MATCHES VXLNumerics)
+    SET(DEP_FILES ${VXLNumerics_JAVA_DEPENDS})
+    SET(KIT_JAVA_NAME ${Kit})
+  ELSE(${Kit} MATCHES VXLNumerics)
+    SET(KIT_JAVA_NAME ITK${Kit})
+    SET(DEP_FILES ${ITK${Kit}_JAVA_DEPENDS})
+  ENDIF(${Kit} MATCHES VXLNumerics)
+  FOREACH(File ${DEP_FILES})
+    SET(FULL_DEP_FILES ${FULL_DEP_FILES} ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/InsightToolkit/${File})
+  ENDFOREACH(File)
+
+  SET(ITK_JAVA_KIT_LIBS ${ITK_JAVA_KIT_LIBS} ${KIT_JAVA_NAME}Java)
+  SET(KIT_FILE_NAME ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/InsightToolkit/${KIT_JAVA_NAME}Java)
+  ADD_CUSTOM_COMMAND(
+    OUTPUT ${KIT_FILE_NAME}.class
+    DEPENDS ${KIT_FILE_NAME}.java ${FULL_DEP_FILES} ${ITK_BASE_JAVA_FILE} ${ORDERING_DEP}
+    COMMAND ${JAVA_COMPILE}
+    ARGS -classpath "${ITK_JAVA_CLASSPATH}" -d "${ITK_JAVA_OUTPATH}"
+    ${KIT_FILE_NAME}.java
+    COMMENT "Java Class")
+  SET(ITK_JAVA_KITS_FILES ${ITK_JAVA_KITS_FILES} ${KIT_FILE_NAME}.class)
+  SET(ORDERING_DEP ${KIT_FILE_NAME}.class)
+ENDFOREACH(Kit)
+
+IF(CMAKE_CONFIGURATION_TYPES)
+  ADD_CUSTOM_COMMAND(
+    OUTPUT ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/${CMAKE_CFG_INTDIR}/InsightToolkit.jar
+    DEPENDS ${ITK_JAVA_KITS_FILES}
+    COMMAND ${JAVA_ARCHIVE}
+    ARGS -cf ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/${CMAKE_CFG_INTDIR}/InsightToolkit.jar
+    -C ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/${CMAKE_CFG_INTDIR} InsightToolkit
+    COMMENT "Java Archive"
+    )
+  ADD_CUSTOM_TARGET(ITKJavaJar ALL DEPENDS ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/${CMAKE_CFG_INTDIR}/InsightToolkit.jar)
+  SET(DOLLAR "$")
+  INSTALL(FILES
+    ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/${DOLLAR}{BUILD_TYPE}/InsightToolkit.jar
+    DESTINATION ${ITK_INSTALL_LIB_DIR_CM24}
+    COMPONENT RuntimeLibraries)
+ELSE(CMAKE_CONFIGURATION_TYPES)
+  ADD_CUSTOM_COMMAND(
+    OUTPUT ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/InsightToolkit.jar
+    DEPENDS ${ITK_JAVA_KITS_FILES}
+    COMMAND ${JAVA_ARCHIVE}
+    ARGS -cf ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/InsightToolkit.jar
+    -C ${ITK_BINARY_DIR}/Wrapping/CSwig/Java InsightToolkit
+    COMMENT "Java Archive"
+    )
+  ADD_CUSTOM_TARGET(ITKJavaJar ALL DEPENDS ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/InsightToolkit.jar)
+  INSTALL(FILES
+    ${ITK_BINARY_DIR}/Wrapping/CSwig/Java/InsightToolkit.jar
+    DESTINATION ${ITK_INSTALL_LIB_DIR_CM24}
+    COMPONENT RuntimeLibraries)
+ENDIF(CMAKE_CONFIGURATION_TYPES)
+ADD_DEPENDENCIES(ITKJavaJar ${ITK_JAVA_KIT_LIBS} SwigRuntimeJava)
+FOREACH(Kit ${ITK_KITS})
+  IF(${Kit} MATCHES VXLNumerics)
+    SET(KIT_JAVA_NAME ${Kit})
+  ELSE(${Kit} MATCHES VXLNumerics)
+    SET(KIT_JAVA_NAME ITK${Kit})
+  ENDIF(${Kit} MATCHES VXLNumerics)
+  ADD_DEPENDENCIES(ITKJavaJar "${KIT_JAVA_NAME}Java")
+ENDFOREACH(Kit)
+ADD_LIBRARY(ITKJavaJarDummyLibrary ITKJavaJarDummyLibrary.c)
+ADD_DEPENDENCIES(ITKJavaJarDummyLibrary ITKJavaJar)
diff --git a/Wrapping/CSwig/Java/CVS/Entries b/Wrapping/CSwig/Java/CVS/Entries
new file mode 100644
index 0000000000..9c55c4ce46
--- /dev/null
+++ b/Wrapping/CSwig/Java/CVS/Entries
@@ -0,0 +1,4 @@
+/CMakeLists.txt/1.10/Thu Oct 26 19:59:48 2006//TITK-3-0-1
+/ITKJavaJarDummyLibrary.c/1.1/Sat Apr  2 16:51:26 2005//TITK-3-0-1
+/itkbase.java.in/1.6/Wed Apr 27 14:45:25 2005//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/Java/CVS/Repository b/Wrapping/CSwig/Java/CVS/Repository
new file mode 100644
index 0000000000..825d4cd8af
--- /dev/null
+++ b/Wrapping/CSwig/Java/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/Java
diff --git a/Wrapping/CSwig/Java/CVS/Root b/Wrapping/CSwig/Java/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/Java/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/Java/CVS/Tag b/Wrapping/CSwig/Java/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/Java/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/Java/CVS/Template b/Wrapping/CSwig/Java/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/Java/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/Java/ITKJavaJarDummyLibrary.c b/Wrapping/CSwig/Java/ITKJavaJarDummyLibrary.c
new file mode 100755
index 0000000000..15f9bffe05
--- /dev/null
+++ b/Wrapping/CSwig/Java/ITKJavaJarDummyLibrary.c
@@ -0,0 +1,3 @@
+void ITKJavaJarDummyLibrary()
+{
+}
diff --git a/Wrapping/CSwig/Java/itkbase.java.in b/Wrapping/CSwig/Java/itkbase.java.in
new file mode 100644
index 0000000000..dea321a114
--- /dev/null
+++ b/Wrapping/CSwig/Java/itkbase.java.in
@@ -0,0 +1,75 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkbase.java.in,v $
+  Language:  C++
+  Date:      $Date: 2005/04/27 14:45:25 $
+  Version:   $Revision: 1.6 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
+
+  Portions of this code are covered under the VTK copyright.
+  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm 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.
+
+=========================================================================*/
+package InsightToolkit;
+
+import java.util.StringTokenizer;
+
+public class itkbase
+{
+  private static String buildDir = "@ITK_JAVA_BUILD_DIR@";
+  private static String installDir = "@ITK_JAVA_INSTALL_DIR@";
+  private static String libDir = "/InsightToolkit.jar must be in CLASSPATH";
+
+  static
+    {
+    // Detect whether we are in the build or install tree.
+    String sep = System.getProperty("path.separator");
+    String classpath = System.getProperty("java.class.path");
+    StringTokenizer tokenizer = new StringTokenizer(classpath, sep);
+    while(tokenizer.hasMoreTokens())
+      {
+      String dir = tokenizer.nextToken();
+      if(dir.endsWith("InsightToolkit.jar") &&
+         (new java.io.File(dir)).exists())
+        {
+        int index = dir.lastIndexOf("InsightToolkit.jar");
+        String self = dir.substring(0, index);
+        if((new java.io.File(self+"itk_build_tree.mark")).exists())
+          {
+          libDir = buildDir;
+          break;
+          }
+        else
+          {
+          libDir = dir.substring(0, index-1)+installDir;
+          break;
+          }
+        }
+      }
+
+    // Load JavaCWD helper code.
+    sep = System.getProperty("file.separator");
+    String lib = System.mapLibraryName("SwigRuntimeJava");
+    Runtime.getRuntime().load(libDir + sep + lib);
+    }
+
+  // Method called by wrapper code to load native libraries.
+  public static void LoadLibrary(String name)
+    {
+    // Change to directory containing libraries so dependents are found.
+    String old = JavaCWD.GetCWD();
+    JavaCWD.SetCWD(libDir);
+    String sep = System.getProperty("file.separator");
+    String lib = System.mapLibraryName(name);
+    JavaCWD.Load(libDir + sep + lib);
+    Runtime.getRuntime().load(libDir + sep + lib);
+    JavaCWD.SetCWD(old);
+    }
+}
diff --git a/Wrapping/CSwig/Master.mdx.in b/Wrapping/CSwig/Master.mdx.in
new file mode 100755
index 0000000000..4dd4f5e4c1
--- /dev/null
+++ b/Wrapping/CSwig/Master.mdx.in
@@ -0,0 +1 @@
+${INDEX_FILE_CONTENT}
diff --git a/Wrapping/CSwig/Numerics/.NoDartCoverage b/Wrapping/CSwig/Numerics/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/Numerics/CMakeLists.txt b/Wrapping/CSwig/Numerics/CMakeLists.txt
new file mode 100755
index 0000000000..1efee920b6
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/CMakeLists.txt
@@ -0,0 +1,14 @@
+# create the ITKNumericsTcl libraries
+SET(WRAP_SOURCES
+  wrap_ITKCostFunctions
+  wrap_ITKOptimizers
+)
+
+
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/Numerics/ITKNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonB/ITKCommonB.mdx"
+)
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" ITKNumerics Numerics "ITKCommonA;ITKCommonB" "" "")
+
diff --git a/Wrapping/CSwig/Numerics/CVS/Entries b/Wrapping/CSwig/Numerics/CVS/Entries
new file mode 100644
index 0000000000..1141997736
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/CVS/Entries
@@ -0,0 +1,9 @@
+/.NoDartCoverage/1.1/Sat Sep 25 17:37:12 2004//TITK-3-0-1
+/CMakeLists.txt/1.10/Fri Mar 25 13:17:58 2005//TITK-3-0-1
+/wrap_ITKCostFunctions.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_ITKNumerics.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_ITKNumericsJava.cxx/1.2/Wed Feb 18 14:47:41 2004//TITK-3-0-1
+/wrap_ITKNumericsPython.cxx/1.1/Tue May 13 20:28:38 2003//TITK-3-0-1
+/wrap_ITKNumericsTcl.cxx/1.1/Tue May 13 20:28:38 2003//TITK-3-0-1
+/wrap_ITKOptimizers.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/Numerics/CVS/Repository b/Wrapping/CSwig/Numerics/CVS/Repository
new file mode 100644
index 0000000000..c55dd22c48
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/Numerics
diff --git a/Wrapping/CSwig/Numerics/CVS/Root b/Wrapping/CSwig/Numerics/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/Numerics/CVS/Tag b/Wrapping/CSwig/Numerics/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/Numerics/CVS/Template b/Wrapping/CSwig/Numerics/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/Numerics/wrap_ITKCostFunctions.cxx b/Wrapping/CSwig/Numerics/wrap_ITKCostFunctions.cxx
new file mode 100755
index 0000000000..19678c11e3
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/wrap_ITKCostFunctions.cxx
@@ -0,0 +1,34 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKCostFunctions.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkCostFunction.h"
+#include "itkSingleValuedCostFunction.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(ITKCostFunctions);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT(CostFunction);
+    ITK_WRAP_OBJECT(SingleValuedCostFunction);
+  }
+}
+
+
+#endif
diff --git a/Wrapping/CSwig/Numerics/wrap_ITKNumerics.cxx b/Wrapping/CSwig/Numerics/wrap_ITKNumerics.cxx
new file mode 100755
index 0000000000..61d8756d93
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/wrap_ITKNumerics.cxx
@@ -0,0 +1,28 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKNumerics.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const package = ITK_WRAP_PACKAGE_NAME(ITK_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    ITK_WRAP_GROUP(ITKCostFunctions),
+    ITK_WRAP_GROUP(ITKOptimizers)
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/Numerics/wrap_ITKNumericsJava.cxx b/Wrapping/CSwig/Numerics/wrap_ITKNumericsJava.cxx
new file mode 100755
index 0000000000..34cb323c32
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/wrap_ITKNumericsJava.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKNumericsJava"
+#include "wrap_ITKNumerics.cxx"
diff --git a/Wrapping/CSwig/Numerics/wrap_ITKNumericsPython.cxx b/Wrapping/CSwig/Numerics/wrap_ITKNumericsPython.cxx
new file mode 100755
index 0000000000..7b6fcc2eb2
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/wrap_ITKNumericsPython.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKNumericsPython"
+#include "wrap_ITKNumerics.cxx"
diff --git a/Wrapping/CSwig/Numerics/wrap_ITKNumericsTcl.cxx b/Wrapping/CSwig/Numerics/wrap_ITKNumericsTcl.cxx
new file mode 100755
index 0000000000..ec1be5a7ce
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/wrap_ITKNumericsTcl.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKNumericsTcl"
+#include "wrap_ITKNumerics.cxx"
diff --git a/Wrapping/CSwig/Numerics/wrap_ITKOptimizers.cxx b/Wrapping/CSwig/Numerics/wrap_ITKOptimizers.cxx
new file mode 100755
index 0000000000..38c062dbf9
--- /dev/null
+++ b/Wrapping/CSwig/Numerics/wrap_ITKOptimizers.cxx
@@ -0,0 +1,61 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKOptimizers.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkAmoebaOptimizer.h"
+#include "itkConjugateGradientOptimizer.h"
+#include "itkGradientDescentOptimizer.h"
+#include "itkLBFGSOptimizer.h"
+#include "itkLevenbergMarquardtOptimizer.h"
+#include "itkMultipleValuedNonLinearOptimizer.h"
+#include "itkMultipleValuedNonLinearVnlOptimizer.h"
+#include "itkNonLinearOptimizer.h"
+#include "itkOnePlusOneEvolutionaryOptimizer.h"
+#include "itkOptimizer.h"
+#include "itkQuaternionRigidTransformGradientDescentOptimizer.h"
+#include "itkRegularStepGradientDescentBaseOptimizer.h"
+#include "itkRegularStepGradientDescentOptimizer.h"
+#include "itkSingleValuedNonLinearOptimizer.h"
+#include "itkSingleValuedNonLinearVnlOptimizer.h"
+#include "itkVersorTransformOptimizer.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(ITKOptimizers);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT(AmoebaOptimizer);
+    ITK_WRAP_OBJECT(ConjugateGradientOptimizer);
+    ITK_WRAP_OBJECT(GradientDescentOptimizer);
+    ITK_WRAP_OBJECT(LBFGSOptimizer);
+    ITK_WRAP_OBJECT(LevenbergMarquardtOptimizer);
+    ITK_WRAP_OBJECT(MultipleValuedNonLinearOptimizer);
+    ITK_WRAP_OBJECT(MultipleValuedNonLinearVnlOptimizer);
+    ITK_WRAP_OBJECT(NonLinearOptimizer);
+    ITK_WRAP_OBJECT(OnePlusOneEvolutionaryOptimizer);
+    ITK_WRAP_OBJECT(Optimizer);
+    ITK_WRAP_OBJECT(QuaternionRigidTransformGradientDescentOptimizer);
+    ITK_WRAP_OBJECT(RegularStepGradientDescentBaseOptimizer);
+    ITK_WRAP_OBJECT(RegularStepGradientDescentOptimizer);
+    ITK_WRAP_OBJECT(SingleValuedNonLinearOptimizer);
+    ITK_WRAP_OBJECT(SingleValuedNonLinearVnlOptimizer);
+    ITK_WRAP_OBJECT(VersorTransformOptimizer);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Patented/CMakeLists.txt b/Wrapping/CSwig/Patented/CMakeLists.txt
new file mode 100755
index 0000000000..f169f56129
--- /dev/null
+++ b/Wrapping/CSwig/Patented/CMakeLists.txt
@@ -0,0 +1,19 @@
+# create the ITKPatentedTcl libraries
+SET(WRAP_SOURCES
+    wrap_itkSimpleFuzzyConnectednessImageFilterBase
+    wrap_itkSimpleFuzzyConnectednessScalarImageFilter
+
+)
+
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/Numerics/ITKNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonB/ITKCommonB.mdx"
+                       "${WrapOTB_BINARY_DIR}/BasicFiltersA/ITKBasicFiltersA.mdx"
+                       "${WrapOTB_BINARY_DIR}/BasicFiltersB/ITKBasicFiltersB.mdx"
+                       "${WrapOTB_BINARY_DIR}/Algorithms/ITKAlgorithms.mdx"
+                       "${WrapOTB_BINARY_DIR}/Patented/ITKPatented.mdx"
+)
+
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" ITKPatented Patented 
+  "ITKNumerics;ITKCommonA;ITKCommonB;ITKBasicFiltersA;ITKBasicFiltersB" "" "")
diff --git a/Wrapping/CSwig/Patented/CVS/Entries b/Wrapping/CSwig/Patented/CVS/Entries
new file mode 100644
index 0000000000..5daa661605
--- /dev/null
+++ b/Wrapping/CSwig/Patented/CVS/Entries
@@ -0,0 +1,8 @@
+/CMakeLists.txt/1.2/Fri Mar 25 13:17:58 2005//TITK-3-0-1
+/wrap_ITKPatented.cxx/1.1/Sat Oct  9 01:49:55 2004//TITK-3-0-1
+/wrap_ITKPatentedJava.cxx/1.1/Sat Oct  9 01:49:55 2004//TITK-3-0-1
+/wrap_ITKPatentedPython.cxx/1.1/Sat Oct  9 01:49:55 2004//TITK-3-0-1
+/wrap_ITKPatentedTcl.cxx/1.1/Sat Oct  9 01:49:55 2004//TITK-3-0-1
+/wrap_itkSimpleFuzzyConnectednessImageFilterBase.cxx/1.1/Sat Oct  9 01:49:55 2004//TITK-3-0-1
+/wrap_itkSimpleFuzzyConnectednessScalarImageFilter.cxx/1.1/Sat Oct  9 01:49:55 2004//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/Patented/CVS/Repository b/Wrapping/CSwig/Patented/CVS/Repository
new file mode 100644
index 0000000000..51adab8560
--- /dev/null
+++ b/Wrapping/CSwig/Patented/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/Patented
diff --git a/Wrapping/CSwig/Patented/CVS/Root b/Wrapping/CSwig/Patented/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/Patented/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/Patented/CVS/Tag b/Wrapping/CSwig/Patented/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/Patented/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/Patented/CVS/Template b/Wrapping/CSwig/Patented/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/Patented/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/Patented/wrap_ITKPatented.cxx b/Wrapping/CSwig/Patented/wrap_ITKPatented.cxx
new file mode 100644
index 0000000000..9c0e04e872
--- /dev/null
+++ b/Wrapping/CSwig/Patented/wrap_ITKPatented.cxx
@@ -0,0 +1,29 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKPatented.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/10/09 01:49:55 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const package = ITK_WRAP_PACKAGE_NAME(ITK_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    ITK_WRAP_GROUP(itkSimpleFuzzyConnectednessImageFilterBase),
+    ITK_WRAP_GROUP(itkSimpleFuzzyConnectednessScalarImageFilter),
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/Patented/wrap_ITKPatentedJava.cxx b/Wrapping/CSwig/Patented/wrap_ITKPatentedJava.cxx
new file mode 100755
index 0000000000..0175a0a034
--- /dev/null
+++ b/Wrapping/CSwig/Patented/wrap_ITKPatentedJava.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKPatentedJava"
+#include "wrap_ITKPatented.cxx"
diff --git a/Wrapping/CSwig/Patented/wrap_ITKPatentedPython.cxx b/Wrapping/CSwig/Patented/wrap_ITKPatentedPython.cxx
new file mode 100755
index 0000000000..3d2ce81011
--- /dev/null
+++ b/Wrapping/CSwig/Patented/wrap_ITKPatentedPython.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKPatentedPython"
+#include "wrap_ITKPatented.cxx"
diff --git a/Wrapping/CSwig/Patented/wrap_ITKPatentedTcl.cxx b/Wrapping/CSwig/Patented/wrap_ITKPatentedTcl.cxx
new file mode 100755
index 0000000000..ae451bf238
--- /dev/null
+++ b/Wrapping/CSwig/Patented/wrap_ITKPatentedTcl.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "ITKPatentedTcl"
+#include "wrap_ITKPatented.cxx"
diff --git a/Wrapping/CSwig/Patented/wrap_itkSimpleFuzzyConnectednessImageFilterBase.cxx b/Wrapping/CSwig/Patented/wrap_itkSimpleFuzzyConnectednessImageFilterBase.cxx
new file mode 100644
index 0000000000..ba312f39de
--- /dev/null
+++ b/Wrapping/CSwig/Patented/wrap_itkSimpleFuzzyConnectednessImageFilterBase.cxx
@@ -0,0 +1,40 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkSimpleFuzzyConnectednessImageFilterBase.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/10/09 01:49:55 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkSimpleFuzzyConnectednessImageFilterBase.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkSimpleFuzzyConnectednessImageFilterBase);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(SimpleFuzzyConnectednessImageFilterBase, image::F2, image::F2,
+                     itkSimpleFuzzyConnectednessImageFilterBaseF2F2);
+    ITK_WRAP_OBJECT2(SimpleFuzzyConnectednessImageFilterBase, image::F3, image::F3,
+                     itkSimpleFuzzyConnectednessImageFilterBaseF3F3);
+    ITK_WRAP_OBJECT2(SimpleFuzzyConnectednessImageFilterBase, image::US2, image::US2,
+                     itkSimpleFuzzyConnectednessImageFilterBaseUS2US2);
+    ITK_WRAP_OBJECT2(SimpleFuzzyConnectednessImageFilterBase, image::US3, image::US3,
+                     itkSimpleFuzzyConnectednessImageFilterBaseUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Patented/wrap_itkSimpleFuzzyConnectednessScalarImageFilter.cxx b/Wrapping/CSwig/Patented/wrap_itkSimpleFuzzyConnectednessScalarImageFilter.cxx
new file mode 100644
index 0000000000..c493c5ffb6
--- /dev/null
+++ b/Wrapping/CSwig/Patented/wrap_itkSimpleFuzzyConnectednessScalarImageFilter.cxx
@@ -0,0 +1,44 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkSimpleFuzzyConnectednessScalarImageFilter.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/10/09 01:49:55 $
+  Version:   $Revision: 1.1 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkSimpleFuzzyConnectednessScalarImageFilter.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigMacros.h"
+#include "itkCSwigImages.h"_ 
+namespace _cable_
+{
+  const char* const group = 
+  ITK_WRAP_GROUP(itkSimpleFuzzyConnectednessScalarImageFilter);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT2(SimpleFuzzyConnectednessScalarImageFilter, image::F2,
+                     image::F2,
+                     itkSimpleFuzzyConnectednessScalarImageFilterF2F2);
+    ITK_WRAP_OBJECT2(SimpleFuzzyConnectednessScalarImageFilter, image::F3, 
+                     image::F3,
+                     itkSimpleFuzzyConnectednessScalarImageFilterF3F3);
+    ITK_WRAP_OBJECT2(SimpleFuzzyConnectednessScalarImageFilter, image::US2,
+                     image::US2,
+                     itkSimpleFuzzyConnectednessScalarImageFilterUS2US2);
+    ITK_WRAP_OBJECT2(SimpleFuzzyConnectednessScalarImageFilter, image::US3,
+                     image::US3,
+                     itkSimpleFuzzyConnectednessScalarImageFilterUS3US3);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/Python/InsightToolkit.py b/Wrapping/CSwig/Python/InsightToolkit.py
new file mode 100644
index 0000000000..b06bc339ba
--- /dev/null
+++ b/Wrapping/CSwig/Python/InsightToolkit.py
@@ -0,0 +1,2 @@
+from itkalgorithms import *
+from itkio import *
diff --git a/Wrapping/CSwig/Python/OrfeoToolBox.py b/Wrapping/CSwig/Python/OrfeoToolBox.py
new file mode 100644
index 0000000000..19d277916e
--- /dev/null
+++ b/Wrapping/CSwig/Python/OrfeoToolBox.py
@@ -0,0 +1,2 @@
+from otbio import *
+from otbvisu import *
diff --git a/Wrapping/CSwig/Python/OrfeoToolBox.pyc b/Wrapping/CSwig/Python/OrfeoToolBox.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a8364ea38b560dd586d50d574d6a54fe0773ec74
GIT binary patch
literal 225
zcmcEi#LH!1`o=Yx0SXv_v;z<qO9F`$28L_~h7b_N2%(sO6eB~h1`|+L1EjVXL}>YG
zFoW2fKq9{+DLFqkH$ShK6~fERFJ_0Z$})>fHGoV81X1h><mzYS=cXFzXO-q;rsnDU
z2f4ZW>xTII`#AYW=mU+@_YZN>4=+kAD9Fr9*LMys&rH`3s4U6I2dXVfOU)0-&(Cqn
Vuh1)~1Utqa>?{_bx$KPWi~xX*FYf>V

literal 0
HcmV?d00001

diff --git a/Wrapping/CSwig/Python/itkalgorithms.py b/Wrapping/CSwig/Python/itkalgorithms.py
new file mode 100644
index 0000000000..4ec2838338
--- /dev/null
+++ b/Wrapping/CSwig/Python/itkalgorithms.py
@@ -0,0 +1,5 @@
+from itknumerics import *
+from itkbasicfilters import *
+__itk_import_data__ = itkbase.preimport()
+from ITKAlgorithmsPython import *
+itkbase.postimport(__itk_import_data__)
diff --git a/Wrapping/CSwig/Python/itkbase.py.in b/Wrapping/CSwig/Python/itkbase.py.in
new file mode 100644
index 0000000000..f06d055315
--- /dev/null
+++ b/Wrapping/CSwig/Python/itkbase.py.in
@@ -0,0 +1,76 @@
+"""InsightToolkit support module to help load its packages."""
+import sys,os
+
+# Get the path to the directory containing this script.  It may be
+# used to set pkgdir below, depending on how this script is
+# configured.
+if __name__ == '__main__':
+    selfpath = os.path.abspath(sys.path[0] or os.curdir)
+else:
+    selfpath = os.path.abspath(os.path.dirname(__file__))
+
+# The directory containing the binary ITK python wrapper libraries.
+pkgdir = @OTB_CSWIG_PACKAGE_DIR@
+
+# Python "help(sys.setdlopenflags)" states:
+#
+# setdlopenflags(...)
+#     setdlopenflags(n) -> None
+#
+#     Set the flags that will be used for dlopen() calls. Among other
+#     things, this will enable a lazy resolving of symbols when
+#     importing a module, if called as sys.setdlopenflags(0) To share
+#     symbols across extension modules, call as
+#
+#     sys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL)
+#
+# GCC 3.x depends on proper merging of symbols for RTTI:
+#   http://gcc.gnu.org/faq.html#dso
+#
+# The Python setup.py states that the "dl" module
+# requires "sizeof(int) == sizeof(long) == sizeof(char*)".
+# Therefore the dl module is missing on 64-bit platforms.
+# Since RTLD_NOW==0x002 and RTLD_GLOBAL==0x100 very commonly
+# we will just guess that the proper flags are 0x102 when there
+# is no dl module.
+
+def preimport():
+  """Called by InsightToolkit packages before loading a C module."""
+  # Save the current dlopen flags and set the ones we need.
+  try:
+    import dl
+    newflags = dl.RTLD_NOW|dl.RTLD_GLOBAL
+  except:
+    newflags = 0x102  # No dl module, so guess (see above).
+  try:
+    oldflags = sys.getdlopenflags()
+    sys.setdlopenflags(newflags)
+  except:
+    oldflags = None
+  # Save the current working directory and change to that containing
+  # the python wrapper libraries.  They have '.' in their rpaths, so
+  # they will find the libraries on which they depend.
+  cwd = os.getcwd()
+  os.chdir(pkgdir)
+  # Add the binary package directory to the python module search path.
+  sys.path.insert(1, pkgdir)
+  return [cwd, oldflags]
+
+def postimport(data):
+  """Called by InsightToolkit packages after loading a C module."""
+  # Remove the binary package directory to the python module search path.
+  sys.path.remove(pkgdir)
+  # Restore the original working directory.
+  os.chdir(data[0])
+  # Restore the original dlopen flags.
+  try:
+    sys.setdlopenflags(data[1])
+  except:
+    pass
+
+# Default location for test output
+defaultTestRoot = @OTB_CSWIG_TEST_ROOT@
+
+# Default location for test input
+defaultDataRoot = @OTB_CSWIG_DATA_ROOT@
+
diff --git a/Wrapping/CSwig/Python/itkbasicfilters.py b/Wrapping/CSwig/Python/itkbasicfilters.py
new file mode 100644
index 0000000000..5c5dc1fbdf
--- /dev/null
+++ b/Wrapping/CSwig/Python/itkbasicfilters.py
@@ -0,0 +1,5 @@
+from itknumerics import *
+__itk_import_data__ = itkbase.preimport()
+from ITKBasicFiltersAPython import *
+from ITKBasicFiltersBPython import *
+itkbase.postimport(__itk_import_data__)
diff --git a/Wrapping/CSwig/Python/itkcommon.py b/Wrapping/CSwig/Python/itkcommon.py
new file mode 100644
index 0000000000..283df8ab15
--- /dev/null
+++ b/Wrapping/CSwig/Python/itkcommon.py
@@ -0,0 +1,5 @@
+from vxlnumerics import *
+__itk_import_data__ = itkbase.preimport()
+from ITKCommonAPython import *
+from ITKCommonBPython import *
+itkbase.postimport(__itk_import_data__)
diff --git a/Wrapping/CSwig/Python/itkcommon.pyc b/Wrapping/CSwig/Python/itkcommon.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..bb59680c36e2e25985a4039448199dd3d60bb2e3
GIT binary patch
literal 304
zcmcEi#LJ~}>$z((0~9a;X$K%KHUbhU3=G)}3?ZqE44F&}%?u1t%wQoFh7gbpD@2Bk
zA(fe-nUR4pg^?jx1EgPr5o7>}(DKt@2eG+<L|H{nUTJP>QD$;+F-S18Bs(dwIJKA)
z$Sx>K&CD&xFDfY(2J+(LfpYN>f%ufflEnD<VgaDIXNb3Rer|4lo?}2|Nk)Dis-P28
ykPBp9esKvzKg2CKOw|A?WdIY!JU|xE)?~2xdIgnW=i7rl!U2?GXXIgI2SNZk;Y4@<

literal 0
HcmV?d00001

diff --git a/Wrapping/CSwig/Python/itkdata.py b/Wrapping/CSwig/Python/itkdata.py
new file mode 100644
index 0000000000..f9e11c87c5
--- /dev/null
+++ b/Wrapping/CSwig/Python/itkdata.py
@@ -0,0 +1,42 @@
+#
+#  Program:   Insight Segmentation & Registration Toolkit
+#  Module:    $RCSfile: itkdata.py,v $
+#  Language:  C++
+#  Date:      $Date: 2004/03/04 23:06:56 $
+#  Version:   $Revision: 1.1 $
+#
+#  Copyright (c) Insight Software Consortium. All rights reserved.
+#  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+#
+
+
+import itkbase
+import sys
+import os
+
+# Put the ITK_DATA_ROOT setting in the global namespace.  This
+# package is only used for testing, so this is okay.
+  
+ITK_DATA_ROOT = ""
+
+# Look for the -D command line option.
+if not ITK_DATA_ROOT:
+  for a in range(len(sys.argv)):
+    if sys.argv[a] == "-D" and a < len(sys.argv):
+      ITK_DATA_ROOT = sys.argv[a+1]
+      break
+
+# Check for the environment variable ::ITK_DATA_ROOT.
+if not ITK_DATA_ROOT and os.environ.has_key('ITK_DATA_ROOT'):
+  ITK_DATA_ROOT = os.environ['ITK_DATA_ROOT']
+
+  
+# Use the default output directory.
+if not ITK_DATA_ROOT:
+  ITK_DATA_ROOT = itkbase.defaultDataRoot
+
+
diff --git a/Wrapping/CSwig/Python/itkio.py b/Wrapping/CSwig/Python/itkio.py
new file mode 100644
index 0000000000..92a43a53db
--- /dev/null
+++ b/Wrapping/CSwig/Python/itkio.py
@@ -0,0 +1,4 @@
+from itkcommon import *
+__itk_import_data__ = itkbase.preimport()
+from ITKIOPython import *
+itkbase.postimport(__itk_import_data__)
diff --git a/Wrapping/CSwig/Python/itkio.pyc b/Wrapping/CSwig/Python/itkio.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..460335fbac83f0073865039ea24c83acc801b451
GIT binary patch
literal 263
zcmcEi#LJ~}>$z((0~9a;X$K%K)&>$O3=G)}3?ZqE44F&}%?u1t%wQoFh!877Dl<bf
zBLia!BSWwTNTUWLNGFKU^3z}gu{nW6W=VE(er|4lUNJj_my}qX3YIA-O3lnI$S*1>
z76!`1#{*TyLj>Ye5=#=}<BPe0;+`Sip8f%qB^f{yxPbhE{NfUbDu{hJ^lAW=GJuI<
c4j>C?c4od_K_%FE_F#vCT*%JI!^qAE03_}==l}o!

literal 0
HcmV?d00001

diff --git a/Wrapping/CSwig/Python/itknumerics.py b/Wrapping/CSwig/Python/itknumerics.py
new file mode 100644
index 0000000000..e10ac4a897
--- /dev/null
+++ b/Wrapping/CSwig/Python/itknumerics.py
@@ -0,0 +1,4 @@
+from itkcommon import *
+__itk_import_data__ = itkbase.preimport()
+from ITKNumericsPython import *
+itkbase.postimport(__itk_import_data__)
diff --git a/Wrapping/CSwig/Python/itktesting.py b/Wrapping/CSwig/Python/itktesting.py
new file mode 100644
index 0000000000..56bd36e2b5
--- /dev/null
+++ b/Wrapping/CSwig/Python/itktesting.py
@@ -0,0 +1,45 @@
+import itkbase
+import sys
+import os
+import stat
+
+import itkdata
+
+# Put the ITK_TEST_ROOT setting in the global namespace.  This
+# package is only used for testing, so this is okay.
+  
+ITK_TEST_ROOT = ""
+
+# Look for the -T command line option.
+if not ITK_TEST_ROOT:
+  for a in range(len(sys.argv)):
+    if sys.argv[a] == "-T" and a < len(sys.argv):
+      ITK_TEST_ROOT = sys.argv[a+1]
+      break
+
+# Check for the environment variable ::ITK_TEST_ROOT.
+if not ITK_TEST_ROOT and os.environ.has_key('ITK_TEST_ROOT'):
+  ITK_TEST_ROOT = os.environ['ITK_TEST_ROOT']
+
+  
+# Use the default output directory.
+if not ITK_TEST_ROOT:
+  ITK_TEST_ROOT = itkbase.defaultTestRoot
+  if ITK_TEST_ROOT == "<NO_DEFAULT>":
+    sys.stderr.write("Set ITK_TEST_ROOT or use -T option to specify.\n")
+    sys.exit(1)
+
+# Setup testing directories.
+ITK_TEST_BASELINE = "%s/Baseline" % itkdata.ITK_DATA_ROOT
+ITK_TEST_INPUT    = "%s/Input"    % itkdata.ITK_DATA_ROOT
+ITK_TEST_OUTPUT   = "%s/Output"   % ITK_TEST_ROOT
+
+try:
+  if not os.path.exists(ITK_TEST_ROOT):
+    os.mkdir(ITK_TEST_OUTPUT)
+except:
+  sys.stderr.write("Bla: %s\n" % `sys.exc_info()[0]`)
+  sys.stderr.write("Unable to create testing output directory with name: %s\n" % ITK_TEST_OUTPUT)
+  sys.exit(1)
+
+
diff --git a/Wrapping/CSwig/Python/otbcommon.py b/Wrapping/CSwig/Python/otbcommon.py
new file mode 100644
index 0000000000..2774d608b5
--- /dev/null
+++ b/Wrapping/CSwig/Python/otbcommon.py
@@ -0,0 +1,4 @@
+from itkcommon import *
+__itk_import_data__ = itkbase.preimport()
+from OTBCommonPython import *
+itkbase.postimport(__itk_import_data__)
diff --git a/Wrapping/CSwig/Python/otbcommon.pyc b/Wrapping/CSwig/Python/otbcommon.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..463f0de4a4754e8a06508201adb52cc5fec4f346
GIT binary patch
literal 273
zcmZ`zOA5j;5S_HuVy(FF5<$TWxKI?gD%h2q&`-cp+muceyY3;qf@@FUBz0?GUf#US
zo4nO$61=?kK84?L=-yD_f*=DZ03yjCcc25fxK{FdX#moNjseRUoVhV_W}F7*2R<}>
zOz?Q#s(UG$JVo@W&vlW+C~-u*Ze(88s?j*3P6&Dvy&$q!$3ozg^kcN$sj^hnsnu6i
mVPKpJbwAnv`p3^{6f9s!Oz9-Go0fHJgRX64lhtP-^Vt^!sXRLX

literal 0
HcmV?d00001

diff --git a/Wrapping/CSwig/Python/otbio.py b/Wrapping/CSwig/Python/otbio.py
new file mode 100644
index 0000000000..d17fa98dc0
--- /dev/null
+++ b/Wrapping/CSwig/Python/otbio.py
@@ -0,0 +1,5 @@
+from otbcommon import *
+from itkio import *
+__itk_import_data__ = itkbase.preimport()
+from OTBIOPython import *
+itkbase.postimport(__itk_import_data__)
diff --git a/Wrapping/CSwig/Python/otbio.pyc b/Wrapping/CSwig/Python/otbio.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..dfc729ec759deb2d8ec6dde10fbb99cceefefc4c
GIT binary patch
literal 263
zcmZ`z%L>9U5ZtwDwd%>M9}pD$0S}6x;Kd5|<R$bGFqE3m<kEA0*0W#WCh=+@v%51p
z$?QIhWOaU@O8A`t)dO9#A*cXqfJ`9B0rUWm$Wy~WjX*@uBVdJaXU@pbIUTI8Z0!0e
zfwD!Znnt}$Op~;AksIL^-3r-g)mpP8g>%w)Ab6GAoO3fHKFyAo^w!xYy^zqXm9b$f
d{P)MpXcat|33Zf0s;%yPyuA<V62>^k7{7&WH$(sc

literal 0
HcmV?d00001

diff --git a/Wrapping/CSwig/Python/otbvisu.py b/Wrapping/CSwig/Python/otbvisu.py
new file mode 100644
index 0000000000..406545609f
--- /dev/null
+++ b/Wrapping/CSwig/Python/otbvisu.py
@@ -0,0 +1,4 @@
+from otbcommon import *
+__itk_import_data__ = itkbase.preimport()
+from OTBVisuPython import *
+itkbase.postimport(__itk_import_data__)
diff --git a/Wrapping/CSwig/Python/vxlnumerics.py b/Wrapping/CSwig/Python/vxlnumerics.py
new file mode 100644
index 0000000000..5d8bd48b59
--- /dev/null
+++ b/Wrapping/CSwig/Python/vxlnumerics.py
@@ -0,0 +1,5 @@
+import itkbase
+
+__itk_import_data__ = itkbase.preimport()
+from VXLNumericsPython import *
+itkbase.postimport(__itk_import_data__)
diff --git a/Wrapping/CSwig/Python/vxlnumerics.pyc b/Wrapping/CSwig/Python/vxlnumerics.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7bcffd98132699cc58d0b8da886e9629d629ef13
GIT binary patch
literal 275
zcmcEi#LJ~}>$z((0~9a;X$K%K)&&wN3=G)}3{eaWsSFI6j10{{HWNb%BSSVbLkLKS
zg&~!Rp_!3^5vVX&1EkeYgAt?|L}+QSf|%?;BC{krDX}=Um=nk@C`!%DEyyn_DHaCu
z;^TpG@eqOdl*E$6`1oQ$pm<n>k6&qSYEfo#aX@8BMt)u~7f5e@aS22%*fJEeahRq7
k)W!fNiur)7vWlEMsJVItm0)+;gI&x9l;mXMVPt0n01=NoXaE2J

literal 0
HcmV?d00001

diff --git a/Wrapping/CSwig/README b/Wrapping/CSwig/README
new file mode 100755
index 0000000000..b49d14bc98
--- /dev/null
+++ b/Wrapping/CSwig/README
@@ -0,0 +1,76 @@
+To use tcl or python wrapping using cswig, you will have to build
+CableSwig.   CableSwig is a combination package that includes swig,
+cable, and gccxml.   When built CableSwig will have three execuables:
+
+   cswig    - the main cable swig executable, that takes an xml file from
+              gccxml as input.   The xml file should be created from a cable config
+              input file.
+
+   cableidx - a program to generate index files from gccxml xml files.   The
+              index files tell cswig what classes are wrapped in which libraries.
+
+   gccxml_cc1plus - A patched version of gcc that has the -fxml option to 
+                        convert c++ into xml.  
+
+   gccxml   - http://www.gccxml.org/HTML/Index.html, the front end program to gccxml_cc1plus
+
+
+To build ITK with the CSwig wrappers:
+
+        1. checkout a copy of CableSwig  
+
+                Simply do:
+
+                cvs -d:pserver:anonymous@public.kitware.com:/cvsroot/CableSwig co CableSwig
+
+                Note that no cvs login is needed here.
+
+        1.1  IF you checkout CableSwig in the Insight/Utilities directory, then
+             CableSwig will be built as part of ITK
+     
+        2. build CableSwig on your system.  (this step can be skipped if 1.1 was done.
+
+        3. run cmake on ITK (ccmake or CMakeSetup)
+                - turn on the show advanced values option  (t in ccmake)
+                - Turn on ITK_CSWIG_TCL and/or ITK_CSWIG_PYTHON
+                - run cmake configure (c for ccmake, Configure button for CMakeSetup)
+                - if not found already, Set the cache entry for CSWIG to the full path to the 
+                  cswig executable built in 1.  Run cmake configure again.
+                  Cmake should set CABLE_INDEX and GCCXML based on the path given for CSWIG.
+                  When running on windows, as long as CableSwig was configured first, cmake
+                  should automatically find all of them.  If step 1.1 was followed, then
+                  CSWIG, CABLE_INDEX, and GCCXML should all be set automatically.
+                - generate the makefiles 
+
+To run scripts.
+        To make things easier to use, you have to set paths to the build tree of ITK.
+        If using msdev or devenv, you have to include the config directory 
+        (Release,Debug,MinSizeRel, RelWithDebInfo).
+
+        Python:
+                - set the PYTHONPATH variable to ITK-build/Wrapping/CSwig/Python/[Release].
+                - run python and run this python command:
+                         from InsightToolkit import *
+        Tcl:
+                - set the TCLLIBPATH variable to ITK-build/Wrapping/CSwig/Tcl/[Release|Debug]
+                
+                Use the following at the top of the script:
+
+                package require Tk
+                package require InsightToolkit
+                package require itkinteraction
+
+        Java:
+               - set CLASSPATH to include ITK-build/Wrapping/CSwig/Java/InsightToolkit.jar
+
+                         
+        There are a few examples in Insight/Wrapping/CSwig/Tests.
+
+
+KNOWN ISSUES:
+        - dependency information is not available in visual studio until
+          after the first build, and cmake is run again.
+        - Python must be built Release of RelWithDebInfo on windows.
+        - Java on Linux requires at least the JDK version 1.4.2_04.
+
+
diff --git a/Wrapping/CSwig/SwigInc.txt.in b/Wrapping/CSwig/SwigInc.txt.in
new file mode 100755
index 0000000000..3fc1a405f9
--- /dev/null
+++ b/Wrapping/CSwig/SwigInc.txt.in
@@ -0,0 +1 @@
+@SWIG_INC_CONTENTS@
diff --git a/Wrapping/CSwig/SwigRuntime/.NoDartCoverage b/Wrapping/CSwig/SwigRuntime/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/SwigRuntime/CMakeLists.txt b/Wrapping/CSwig/SwigRuntime/CMakeLists.txt
new file mode 100755
index 0000000000..13d954c8f7
--- /dev/null
+++ b/Wrapping/CSwig/SwigRuntime/CMakeLists.txt
@@ -0,0 +1,110 @@
+#goes ignored. The solution for me was to add a .i with just the
+#following:
+
+#%module swigruntime
+
+#And compile it without -c, while compiling the others with -c. Then
+#using -DSWIG_GLOBAL in my CFLAGS for everything. I expected I might
+#get some linker clashes from this but it went smoothly. I'll have to
+#dig around the automake docs to see if i can set it for just the
+#swigruntime.cc.
+
+SET_SOURCE_FILES_PROPERTIES(${WrapOTB_BINARY_DIR}/SwigRuntime/swigrunTcl.cxx GENERATED)
+SET_SOURCE_FILES_PROPERTIES(${WrapOTB_BINARY_DIR}/SwigRuntime/swigrunPython.cxx GENERATED)
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+
+IF(OTB_CSWIG_TCL)
+  ADD_LIBRARY(SwigRuntimeTcl SHARED ${WrapOTB_BINARY_DIR}/SwigRuntime/swigrunTcl.cxx)
+  IF(OTB_LIBRARY_PROPERTIES)
+    SET_TARGET_PROPERTIES(SwigRuntimeTcl PROPERTIES LINK_FLAGS "${CSWIG_EXTRA_LINKFLAGS}" ${OTB_LIBRARY_PROPERTIES})
+  ELSE(OTB_LIBRARY_PROPERTIES)
+  SET_TARGET_PROPERTIES(SwigRuntimeTcl PROPERTIES LINK_FLAGS "${CSWIG_EXTRA_LINKFLAGS}")
+  ENDIF(OTB_LIBRARY_PROPERTIES)
+  TARGET_LINK_LIBRARIES(SwigRuntimeTcl ${TCL_LIBRARY})
+  INSTALL(TARGETS SwigRuntimeTcl
+    RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries
+    LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeLibraries
+    ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT Development)
+ENDIF(OTB_CSWIG_TCL)
+
+IF(OTB_CSWIG_PYTHON)
+  ADD_LIBRARY(SwigRuntimePython SHARED ${WrapOTB_BINARY_DIR}/SwigRuntime/swigrunPython.cxx)
+  TARGET_LINK_LIBRARIES(SwigRuntimePython ${PYTHON_LIBRARY})
+  IF(OTB_LIBRARY_PROPERTIES)
+    SET_TARGET_PROPERTIES(SwigRuntimePython PROPERTIES ${OTB_LIBRARY_PROPERTIES})
+  ENDIF(OTB_LIBRARY_PROPERTIES)
+#  INSTALL(TARGETS SwigRuntimePython
+#    RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries
+#    LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeLibraries
+#    ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT Development)
+ENDIF(OTB_CSWIG_PYTHON)
+
+IF(OTB_CSWIG_PERL)
+  ADD_LIBRARY(SwigRuntimePerl SHARED ${WrapOTB_BINARY_DIR}/SwigRuntime/swigrunPerl.cxx)
+  TARGET_LINK_LIBRARIES(SwigRuntimePerl "${PERL_LIBRARY}")
+  IF(OTB_LIBRARY_PROPERTIES)
+    SET_TARGET_PROPERTIES(SwigRuntimePerl PROPERTIES ${OTB_LIBRARY_PROPERTIES})
+  ENDIF(OTB_LIBRARY_PROPERTIES)
+  INSTALL(TARGETS SwigRuntimePerl
+    RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries
+    LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeLibraries
+    ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT Development)
+ENDIF(OTB_CSWIG_PERL)
+
+MACRO(CREATE_SWIG_RUNTIME LangOption LibName LangPostFix)
+     ADD_CUSTOM_COMMAND(
+       SOURCE ${WrapOTB_SOURCE_DIR}/SwigRuntime/swigrun.h
+       COMMAND ${GCCXML}
+       ARGS -fxml-start=_cable_ -DCABLE_CONFIGURATION ${WrapOTB_SOURCE_DIR}/SwigRuntime/swigrun.h
+          -fxml=${WrapOTB_BINARY_DIR}/SwigRuntime/swigrun.xml 
+       TARGET ${LibName}
+       OUTPUTS ${WrapOTB_BINARY_DIR}/SwigRuntime/swigrun.xml
+       DEPENDS ${GCCXML})
+     SET(XML_COMMAND_ADDED 1)
+   ADD_CUSTOM_COMMAND(
+    SOURCE ${WrapOTB_BINARY_DIR}/SwigRuntime/swigrun.xml
+    COMMAND ${CSWIG}
+    ARGS -o ${WrapOTB_BINARY_DIR}/SwigRuntime/swigrun${LangPostFix}.cxx ${LangOption}
+         -c++ ${WrapOTB_BINARY_DIR}/SwigRuntime/swigrun.xml
+    TARGET ${LibName}
+    OUTPUTS ${WrapOTB_BINARY_DIR}/SwigRuntime/swigrun${LangPostFix}.cxx
+    DEPENDS ${CSWIG})
+ENDMACRO(CREATE_SWIG_RUNTIME)
+
+IF(OTB_CSWIG_TCL)
+   CREATE_SWIG_RUNTIME(-tcl SwigRuntimeTcl Tcl)
+ENDIF(OTB_CSWIG_TCL)
+
+IF(OTB_CSWIG_PYTHON)
+   CREATE_SWIG_RUNTIME(-python SwigRuntimePython Python)
+ENDIF(OTB_CSWIG_PYTHON)
+
+IF(OTB_CSWIG_PERL)
+   CREATE_SWIG_RUNTIME(-perl5 SwigRuntimePerl Perl)
+ENDIF(OTB_CSWIG_PERL)
+
+IF(OTB_CSWIG_JAVA)
+  SET_SOURCE_FILES_PROPERTIES(${WrapOTB_BINARY_DIR}/SwigRuntime/JavaCWDJava.cxx GENERATED)
+  ADD_LIBRARY(SwigRuntimeJava MODULE ${WrapOTB_BINARY_DIR}/SwigRuntime/JavaCWDJava.cxx JavaCWD.cxx)
+  IF(OTB_LIBRARY_PROPERTIES)
+    SET_TARGET_PROPERTIES(SwigRuntimeJava PROPERTIES ${OTB_LIBRARY_PROPERTIES})
+  ENDIF(OTB_LIBRARY_PROPERTIES)
+  INSTALL(TARGETS SwigRuntimeJava
+    RUNTIME DESTINATION ${OTB_INSTALL_BIN_DIR_CM24} COMPONENT RuntimeLibraries
+    LIBRARY DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeLibraries
+    ARCHIVE DESTINATION ${OTB_INSTALL_LIB_DIR_CM24} COMPONENT Development)
+  MAKE_DIRECTORY(${WrapOTB_BINARY_DIR}/Java/InsightToolkit)
+  ADD_CUSTOM_COMMAND(
+        COMMENT "run native swig on SwigExtras.i"
+        SOURCE ${WrapOTB_SOURCE_DIR}/SwigRuntime/JavaCWD.i
+        COMMAND ${CSWIG} 
+        ARGS -nocable -noruntime ${IGNORE_WARNINGS} -o ${WrapOTB_BINARY_DIR}/SwigRuntime/JavaCWDJava.cxx
+        -outdir ${WrapOTB_BINARY_DIR}/Java/InsightToolkit
+        -package InsightToolkit
+        -java -c++ ${WrapOTB_SOURCE_DIR}/SwigRuntime/JavaCWD.i
+        TARGET ${LIBRARY_NAME}Java
+        OUTPUTS ${WrapOTB_BINARY_DIR}/SwigRuntime/JavaCWDJava.cxx
+        DEPENDS ${WrapOTB_SOURCE_DIR}/SwigRuntime/JavaCWD.i ${CSWIG})
+ENDIF(OTB_CSWIG_JAVA)
+
diff --git a/Wrapping/CSwig/SwigRuntime/CVS/Entries b/Wrapping/CSwig/SwigRuntime/CVS/Entries
new file mode 100644
index 0000000000..0d4bd59912
--- /dev/null
+++ b/Wrapping/CSwig/SwigRuntime/CVS/Entries
@@ -0,0 +1,7 @@
+/.NoDartCoverage/1.1/Sat Sep 25 17:36:57 2004//TITK-3-0-1
+/CMakeLists.txt/1.15/Thu Oct 26 19:59:48 2006//TITK-3-0-1
+/JavaCWD.cxx/1.3/Fri Jun 18 15:36:19 2004//TITK-3-0-1
+/JavaCWD.h/1.3/Fri Jun 18 15:36:19 2004//TITK-3-0-1
+/JavaCWD.i/1.2/Wed Feb 18 14:47:41 2004//TITK-3-0-1
+/swigrun.h/1.1/Tue May 13 20:28:38 2003//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/SwigRuntime/CVS/Repository b/Wrapping/CSwig/SwigRuntime/CVS/Repository
new file mode 100644
index 0000000000..36d98d1404
--- /dev/null
+++ b/Wrapping/CSwig/SwigRuntime/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/SwigRuntime
diff --git a/Wrapping/CSwig/SwigRuntime/CVS/Root b/Wrapping/CSwig/SwigRuntime/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/SwigRuntime/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/SwigRuntime/CVS/Tag b/Wrapping/CSwig/SwigRuntime/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/SwigRuntime/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/SwigRuntime/CVS/Template b/Wrapping/CSwig/SwigRuntime/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/SwigRuntime/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/SwigRuntime/JavaCWD.cxx b/Wrapping/CSwig/SwigRuntime/JavaCWD.cxx
new file mode 100755
index 0000000000..5f7740b224
--- /dev/null
+++ b/Wrapping/CSwig/SwigRuntime/JavaCWD.cxx
@@ -0,0 +1,54 @@
+#include "JavaCWD.h"
+
+#if defined(_WIN32) && (defined(_MSC_VER) || defined(__BORLANDC__) || defined(__MINGW32__))
+#include <direct.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+void JavaCWD::SetCWD(const char* dir)
+{ 
+#if defined(__BORLANDC__)
+  chdir(dir);
+#else
+  _chdir(dir);
+#endif
+}
+
+const char* JavaCWD::GetCWD()
+{ 
+  static char buffer[4096];
+#if defined(__BORLANDC__)
+  getcwd(buffer, 4096);
+#else
+  _getcwd(buffer, 4096);
+#endif
+  return buffer;
+}
+#else
+#include <unistd.h>
+void JavaCWD::SetCWD(const char* dir)
+{ 
+  chdir(dir);
+}
+
+const char* JavaCWD::GetCWD()
+{ 
+  static char buffer[4096];
+  getcwd(buffer, 4096);
+  return buffer;
+}
+#endif
+
+#if defined(__linux__)
+# include <dlfcn.h>
+
+int JavaCWD::Load(const char* lib)
+{
+  return dlopen(lib, RTLD_GLOBAL|RTLD_NOW)? 1:0;
+}
+#else
+int JavaCWD::Load(const char* lib)
+{
+  return 0;
+}
+#endif
diff --git a/Wrapping/CSwig/SwigRuntime/JavaCWD.h b/Wrapping/CSwig/SwigRuntime/JavaCWD.h
new file mode 100755
index 0000000000..2d9868f208
--- /dev/null
+++ b/Wrapping/CSwig/SwigRuntime/JavaCWD.h
@@ -0,0 +1,7 @@
+class JavaCWD
+{
+public:
+  static void SetCWD(const char* dir);
+  static const char* GetCWD();
+  static int Load(const char* lib);
+};
diff --git a/Wrapping/CSwig/SwigRuntime/JavaCWD.i b/Wrapping/CSwig/SwigRuntime/JavaCWD.i
new file mode 100755
index 0000000000..69eb0a7df7
--- /dev/null
+++ b/Wrapping/CSwig/SwigRuntime/JavaCWD.i
@@ -0,0 +1,5 @@
+%module SwigRuntime
+%include "JavaCWD.h"
+%{
+#include "JavaCWD.h"
+%}
diff --git a/Wrapping/CSwig/SwigRuntime/swigrun.h b/Wrapping/CSwig/SwigRuntime/swigrun.h
new file mode 100755
index 0000000000..64bea55378
--- /dev/null
+++ b/Wrapping/CSwig/SwigRuntime/swigrun.h
@@ -0,0 +1,6 @@
+#ifdef CABLE_CONFIGURATION
+namespace _cable_
+{
+  const char* const group="SwigRunTime";
+}
+#endif
diff --git a/Wrapping/CSwig/Tcl/.NoDartCoverage b/Wrapping/CSwig/Tcl/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/Tcl/CMakeLists.txt b/Wrapping/CSwig/Tcl/CMakeLists.txt
new file mode 100755
index 0000000000..149bab437a
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/CMakeLists.txt
@@ -0,0 +1,34 @@
+SET(ITK_TCL_EXE_DIR_BUILD "${ITK_EXECUTABLE_PATH}")
+SET(ITK_TCL_EXE_NAME_ROOT "itkwish")
+
+CONFIGURE_FILE(${ITK_SOURCE_DIR}/Wrapping/CSwig/Tcl/itkTclConfigure.h.in
+               ${ITK_BINARY_DIR}/Wrapping/CSwig/Tcl/itkTclConfigure.h)
+
+INCLUDE_DIRECTORIES(${ITK_BINARY_DIR}/Wrapping/CSwig/Tcl)
+ADD_EXECUTABLE(itkwish itkTclAppInit.cxx)
+TARGET_LINK_LIBRARIES(itkwish
+  ITKAlgorithmsTcl
+  ITKBasicFiltersATcl
+  ITKBasicFiltersBTcl
+  ITKIOTcl
+  ITKNumericsTcl
+  ITKCommonATcl
+  ITKCommonBTcl
+  VXLNumericsTcl
+  SwigRuntimeTcl
+  ${TCL_LIBRARY}
+  ${TK_LIBRARY}
+)
+
+IF(ITK_LIBRARY_PROPERTIES)
+  SET_TARGET_PROPERTIES(itkwish PROPERTIES ${ITK_LIBRARY_PROPERTIES})
+ENDIF(ITK_LIBRARY_PROPERTIES)
+INSTALL(TARGETS itkwish
+  RUNTIME DESTINATION ${ITK_INSTALL_LIB_DIR_CM24} COMPONENT RuntimeExecutables)
+
+INSTALL(FILES
+  ${CMAKE_CURRENT_SOURCE_DIR}/itkinteraction.tcl
+  ${CMAKE_CURRENT_SOURCE_DIR}/itktesting.tcl
+  ${CMAKE_CURRENT_SOURCE_DIR}/itkdata.tcl
+  DESTINATION ${ITK_INSTALL_LIB_DIR_CM24}/tcl
+  COMPONENT RuntimeLibraries)
diff --git a/Wrapping/CSwig/Tcl/CVS/Entries b/Wrapping/CSwig/Tcl/CVS/Entries
new file mode 100644
index 0000000000..462cfb3f4c
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/CVS/Entries
@@ -0,0 +1,11 @@
+/.NoDartCoverage/1.1/Sat Sep 25 17:36:47 2004//TITK-3-0-1
+/CMakeLists.txt/1.9/Thu Oct 26 19:59:48 2006//TITK-3-0-1
+/itkTclAppInit.cxx/1.5/Fri Mar 25 13:17:58 2005//TITK-3-0-1
+/itkTclConfigure.h.in/1.1/Tue Jun  3 17:34:14 2003//TITK-3-0-1
+/itkdata.tcl/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/itkinteraction.tcl/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/itktesting.tcl/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/itkutils.tcl/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/itkwish/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/pkgIndex.tcl.in/1.7/Tue Mar 29 15:00:50 2005//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/Tcl/CVS/Repository b/Wrapping/CSwig/Tcl/CVS/Repository
new file mode 100644
index 0000000000..ccd4fd49aa
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/Tcl
diff --git a/Wrapping/CSwig/Tcl/CVS/Root b/Wrapping/CSwig/Tcl/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/Tcl/CVS/Tag b/Wrapping/CSwig/Tcl/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/Tcl/CVS/Template b/Wrapping/CSwig/Tcl/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/Tcl/itkTclAppInit.cxx b/Wrapping/CSwig/Tcl/itkTclAppInit.cxx
new file mode 100755
index 0000000000..7e68ee734f
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/itkTclAppInit.cxx
@@ -0,0 +1,198 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: itkTclAppInit.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/03/25 13:17:58 $
+  Version:   $Revision: 1.5 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkLightObject.h"
+#include "itkTclConfigure.h"
+
+#include <sys/stat.h>
+#include <string.h>
+
+#ifndef ITK_TCL_NO_TK
+#  include <tk.h>
+#else
+#  include <tcl.h>
+#endif
+
+//----------------------------------------------------------------------------
+// Definitions related to build tree locations:
+//   ITK_TCL_EXE_DIR  = Location of this executable.
+//   ITK_TCL_LIB_DIR  = Location of the pkgIndex.tcl file for ITK.
+#if defined(CMAKE_INTDIR)
+# define ITK_TCL_EXE_DIR ITK_TCL_EXE_DIR_BUILD "/" CMAKE_INTDIR
+# define ITK_TCL_LIB_DIR ITK_BINARY_DIR "/Wrapping/CSwig/Tcl/" CMAKE_INTDIR
+#else
+# define ITK_TCL_EXE_DIR ITK_TCL_EXE_DIR_BUILD
+# define ITK_TCL_LIB_DIR ITK_BINARY_DIR "/Wrapping/CSwig/Tcl"
+#endif
+
+// ITK_TCL_EXE_NAME = Name of this executable.
+#if defined(_WIN32)
+# define ITK_TCL_EXE_NAME ITK_TCL_EXE_NAME_ROOT ".exe"
+#else
+# define ITK_TCL_EXE_NAME ITK_TCL_EXE_NAME_ROOT
+#endif
+
+
+//----------------------------------------------------------------------------
+int itkTclAppInit(Tcl_Interp* interp);
+bool itkTclAppInitCheckSameExecutable(Tcl_Interp* interp);
+
+//----------------------------------------------------------------------------
+/** Program entry point.  */
+int main(int argc, char** argv)
+{
+  std::ios::sync_with_stdio();
+#ifndef ITK_TCL_NO_TK
+  Tk_Main(argc, argv, &itkTclAppInit);
+#else
+  Tcl_Main(argc, argv, &itkTclAppInit);
+#endif
+  return 0;
+}
+
+//----------------------------------------------------------------------------
+// Get the Tcl package initialization functions to call directly.
+extern "C"
+{
+  int Vxlnumericstcl_Init(Tcl_Interp*);
+  int Itknumericstcl_Init(Tcl_Interp*);
+  int Itkcommonatcl_Init(Tcl_Interp*);
+  int Itkcommonbtcl_Init(Tcl_Interp*);
+  int Itkiotcl_Init(Tcl_Interp*);
+  int Itkbasicfiltersatcl_Init(Tcl_Interp*);
+  int Itkbasicfiltersbtcl_Init(Tcl_Interp*);
+  int Itkalgorithmstcl_Init(Tcl_Interp*);
+}
+
+//----------------------------------------------------------------------------
+/** Main application initialization function.  */
+int itkTclAppInit(Tcl_Interp* interp)
+{
+  // Initialize Tcl.
+  if(Tcl_Init(interp) != TCL_OK) { return TCL_ERROR; }
+  
+#ifndef ITK_TCL_NO_TK
+  // Initialize Tk.
+  if(Tk_Init(interp) != TCL_OK) { return TCL_ERROR; }
+#endif
+  
+  if(itkTclAppInitCheckSameExecutable(interp))
+    {
+    // Running from build tree, load the pkgIndex.tcl file from it.
+    char pkgIndexScript[] = "source {" ITK_TCL_LIB_DIR "/pkgIndex.tcl}\n";
+    if(Tcl_GlobalEval(interp, pkgIndexScript) != TCL_OK) { return TCL_ERROR; }
+    }
+  else
+    {
+    // Not running from build tree, load the pkgIndex.tcl file if
+    // there is one next to the exectuable.  If it does not exist,
+    // just assume the user has configured TCLLIBPATH correctly.
+    char pkgIndexScript[] =
+      "set itkTclAppInit_pkgIndex_tcl \\\n"
+      "  [file join [file dirname [info nameofexecutable]] tcl pkgIndex.tcl]\n"
+      "if {[file exists $itkTclAppInit_pkgIndex_tcl]} {\n"
+      "  source $itkTclAppInit_pkgIndex_tcl\n"
+      "}\n"
+      "unset itkTclAppInit_pkgIndex_tcl";
+    if(Tcl_GlobalEval(interp, pkgIndexScript) != TCL_OK) { return TCL_ERROR; }
+    }
+  
+  // Initialize the built-in packages.
+  if(Vxlnumericstcl_Init(interp) != TCL_OK) { return TCL_ERROR; }
+  if(Itknumericstcl_Init(interp) != TCL_OK) { return TCL_ERROR; }
+  if(Itkcommonatcl_Init(interp) != TCL_OK) { return TCL_ERROR; }
+  if(Itkcommonbtcl_Init(interp) != TCL_OK) { return TCL_ERROR; }
+  if(Itkiotcl_Init(interp) != TCL_OK) { return TCL_ERROR; }
+  if(Itkbasicfiltersatcl_Init(interp) != TCL_OK) { return TCL_ERROR; }
+  if(Itkbasicfiltersbtcl_Init(interp) != TCL_OK) { return TCL_ERROR; }
+  if(Itkalgorithmstcl_Init(interp) != TCL_OK) { return TCL_ERROR; }
+  
+  // Initialize all ITK Tcl packages.
+  static char initScript[] = "package require InsightToolkit " ITK_VERSION_STRING;
+  if(Tcl_GlobalEval(interp, initScript) != TCL_OK) { return TCL_ERROR; }
+  
+  // Allow users to have an initialization file for interactive mode.
+  static char rcFileNameVariable[] = "tcl_rcFileName";
+  static char rcFileNameValue[] = "~/.itktclrc";
+  Tcl_SetVar(interp, rcFileNameVariable, rcFileNameValue, TCL_GLOBAL_ONLY);
+  
+  return TCL_OK;
+}
+
+//----------------------------------------------------------------------------
+bool itkTclAppInitCheckSameExecutable(Tcl_Interp* interp)
+{
+  // Get the name of the actual executable.
+  char nameScript[] = "info nameofexecutable";
+  if(Tcl_GlobalEval(interp, nameScript) != TCL_OK) { return TCL_ERROR; }
+  std::string nameOfExecutable = Tcl_GetStringResult(interp);
+  
+  // Get the name of the executable in the build tree.
+  std::string buildExecutable = ITK_TCL_EXE_DIR "/" ITK_TCL_EXE_NAME;
+  
+  const char* file1 = nameOfExecutable.c_str();
+  const char* file2 = buildExecutable.c_str();
+  
+#if defined(_WIN32)
+  struct stat fileStat1, fileStat2;
+  if (stat(file1, &fileStat1) == 0 && stat(file2, &fileStat2) == 0)
+    {
+    HANDLE hFile1, hFile2;
+    
+    hFile1 = CreateFile(file1, GENERIC_READ, FILE_SHARE_READ, NULL,
+                        OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
+    hFile2 = CreateFile(file2, GENERIC_READ, FILE_SHARE_READ, NULL,
+                        OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
+    if( hFile1 == INVALID_HANDLE_VALUE || hFile2 == INVALID_HANDLE_VALUE)
+      {
+      if(hFile1 != INVALID_HANDLE_VALUE)
+        {
+        CloseHandle(hFile1);
+        }
+      if(hFile2 != INVALID_HANDLE_VALUE)
+        {
+        CloseHandle(hFile2);
+        }
+      return false;
+      }
+    
+    BY_HANDLE_FILE_INFORMATION fiBuf1;
+    BY_HANDLE_FILE_INFORMATION fiBuf2;
+    GetFileInformationByHandle( hFile1, &fiBuf1 );
+    GetFileInformationByHandle( hFile2, &fiBuf2 );
+    CloseHandle(hFile1);
+    CloseHandle(hFile2);
+    return (fiBuf1.nFileIndexHigh == fiBuf2.nFileIndexHigh &&
+            fiBuf1.nFileIndexLow == fiBuf2.nFileIndexLow);
+    }
+  return false;
+#else
+  struct stat fileStat1, fileStat2;
+  if (stat(file1, &fileStat1) == 0 && stat(file2, &fileStat2) == 0)
+    {
+    // see if the files are the same file
+    // check the device inode and size
+    if(memcmp(&fileStat2.st_dev, &fileStat1.st_dev, sizeof(fileStat1.st_dev)) == 0 && 
+       memcmp(&fileStat2.st_ino, &fileStat1.st_ino, sizeof(fileStat1.st_ino)) == 0 &&
+       fileStat2.st_size == fileStat1.st_size 
+      ) 
+      {
+      return true;
+      }
+    }
+  return false;
+#endif
+}
diff --git a/Wrapping/CSwig/Tcl/itkTclConfigure.h.in b/Wrapping/CSwig/Tcl/itkTclConfigure.h.in
new file mode 100644
index 0000000000..a212ea45c3
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/itkTclConfigure.h.in
@@ -0,0 +1,13 @@
+#ifndef _itkTclConfigure_h
+#define _itkTclConfigure_h
+
+#undef ITK_BINARY_DIR
+#define ITK_BINARY_DIR "${ITK_BINARY_DIR}"
+
+#undef ITK_TCL_EXE_DIR_BUILD
+#define ITK_TCL_EXE_DIR_BUILD "${ITK_TCL_EXE_DIR_BUILD}"
+
+#undef ITK_TCL_EXE_NAME_ROOT
+#define ITK_TCL_EXE_NAME_ROOT "${ITK_TCL_EXE_NAME_ROOT}"
+
+#endif
diff --git a/Wrapping/CSwig/Tcl/itkdata.tcl b/Wrapping/CSwig/Tcl/itkdata.tcl
new file mode 100644
index 0000000000..c2cdf4ce01
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/itkdata.tcl
@@ -0,0 +1,44 @@
+#
+#  Program:   Insight Segmentation & Registration Toolkit
+#  Module:    $RCSfile: itkdata.tcl,v $
+#  Language:  C++
+#  Date:      $Date: 2003/09/10 14:30:12 $
+#  Version:   $Revision: 1.2 $
+#
+#  Copyright (c) Insight Software Consortium. All rights reserved.
+#  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+#
+
+# Define ITK Tcl data utilities.
+namespace eval itk::data {
+  
+  # Require the itk packages.
+  package require InsightToolkit
+  
+  # Put the ITK_DATA_ROOT setting in the global namespace.
+  
+  # Look for the -D command line option.
+  if {! [info exists ::ITK_DATA_ROOT] && [info exists argc]} {
+    set argcm1 [expr $argc - 1]
+    for {set i 0} {$i < $argcm1} {incr i} {
+      if {[lindex $argv $i] == "-D" && $i < $argcm1} {
+        set ::ITK_DATA_ROOT [lindex $argv [expr $i + 1]]
+        break
+      }
+    }
+  }
+  
+  # Check for the environment variable ::ITK_DATA_ROOT.
+  if {! [info exists ::ITK_DATA_ROOT] && [info exists env(ITK_DATA_ROOT)]} {
+    set ::ITK_DATA_ROOT $env(ITK_DATA_ROOT)
+  }
+  
+  # Use the default data root.
+  if {! [info exists ::ITK_DATA_ROOT]} {
+    set ::ITK_DATA_ROOT $::itk::data::defaultDataRoot
+  }
+}
diff --git a/Wrapping/CSwig/Tcl/itkinteraction.tcl b/Wrapping/CSwig/Tcl/itkinteraction.tcl
new file mode 100644
index 0000000000..1f6353b839
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/itkinteraction.tcl
@@ -0,0 +1,128 @@
+#
+#  Program:   Insight Segmentation & Registration Toolkit
+#  Module:    $RCSfile: itkinteraction.tcl,v $
+#  Language:  C++
+#  Date:      $Date: 2003/09/10 14:30:12 $
+#  Version:   $Revision: 1.2 $
+#
+#  Copyright (c) Insight Software Consortium. All rights reserved.
+#  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+#
+
+# Need Tk.
+package require Tk
+
+# Define ITK Tcl interactor.
+namespace eval itk::interact {
+
+  set Bold "-background #43ce80 -foreground #221133 -relief raised -borderwidth 1"
+  set Normal "-background #dddddd -foreground #221133 -relief flat"
+  set Tagcount 1
+  set CommandList ""
+  set CommandIndex 0
+
+  proc createInteractor {} {
+    global itk::interact::CommandList
+    global itk::interact::CommandIndex
+    global itk::interact::Tagcount
+    
+    proc doitk {s w} {
+      global itk::interact::Bold
+      global itk::interact::Normal
+      global itk::interact::Tagcount 
+      global itk::interact::CommandList
+      global itk::interact::CommandIndex
+      
+      set tag [append tagnum $Tagcount]
+      set CommandIndex $Tagcount
+      incr Tagcount 1
+      .itkInteract.display.text configure -state normal
+      .itkInteract.display.text insert end $s $tag
+      set CommandList [linsert $CommandList end $s]
+      eval .itkInteract.display.text tag configure $tag $Normal
+      .itkInteract.display.text tag bind $tag <Any-Enter> \
+      	".itkInteract.display.text tag configure $tag $Bold"
+      .itkInteract.display.text tag bind $tag <Any-Leave> \
+      	".itkInteract.display.text tag configure $tag $Normal"
+      .itkInteract.display.text tag bind $tag <1> "itk::interact::doitk [list $s] .itkInteract"
+      .itkInteract.display.text insert end \n;
+      .itkInteract.display.text insert end [uplevel 1 $s]
+      .itkInteract.display.text insert end \n\n
+      .itkInteract.display.text configure -state disabled
+      .itkInteract.display.text yview end
+    }
+    
+    catch {destroy .itkInteract}
+    toplevel .itkInteract -bg #bbbbbb
+    wm title .itkInteract "itk Interactor"
+    wm iconname .itkInteract "itk"
+    
+    frame .itkInteract.buttons -bg #bbbbbb
+    pack  .itkInteract.buttons -side bottom -fill both -expand 0 -pady 2m
+    button .itkInteract.buttons.dismiss -text Dismiss \
+	    -command "wm withdraw .itkInteract" \
+	    -bg #bbbbbb -fg #221133 -activebackground #cccccc -activeforeground #221133
+    pack .itkInteract.buttons.dismiss -side left -expand 1 -fill x
+    
+    frame .itkInteract.file -bg #bbbbbb
+    label .itkInteract.file.label -text "Command:" -width 10 -anchor w \
+	    -bg #bbbbbb -fg #221133
+    entry .itkInteract.file.entry -width 40 \
+	    -bg #dddddd -fg #221133 -highlightthickness 1 -highlightcolor #221133
+    bind .itkInteract.file.entry <Return> {
+        itk::interact::doitk [%W get] .itkInteract; %W delete 0 end
+    }
+    pack .itkInteract.file.label -side left
+    pack .itkInteract.file.entry -side left -expand 1 -fill x
+    
+    frame .itkInteract.display -bg #bbbbbb
+    text .itkInteract.display.text -yscrollcommand ".itkInteract.display.scroll set" \
+	    -setgrid true -width 60 -height 8 -wrap word -bg #dddddd -fg #331144 \
+	    -state disabled
+    scrollbar .itkInteract.display.scroll \
+	    -command ".itkInteract.display.text yview" -bg #bbbbbb \
+	    -troughcolor #bbbbbb -activebackground #cccccc -highlightthickness 0 
+    pack .itkInteract.display.text -side left -expand 1 -fill both
+    pack .itkInteract.display.scroll -side left -expand 0 -fill y
+    
+    pack .itkInteract.display -side bottom -expand 1 -fill both
+    pack .itkInteract.file -pady 3m -padx 2m -side bottom -fill x 
+    
+    set CommandIndex 0
+    
+    bind .itkInteract <Down> {
+      global itk::interact::CommandIndex
+      global itk::interact::CommandList
+
+      if { $CommandIndex < [expr $Tagcount - 1] } {
+	incr CommandIndex
+	set command_string [lindex $CommandList $CommandIndex]
+	.itkInteract.file.entry delete 0 end
+	.itkInteract.file.entry insert end $command_string
+      } elseif { $CommandIndex == [expr $Tagcount - 1] } {
+	.itkInteract.file.entry delete 0 end
+      }
+    }
+    
+    bind .itkInteract <Up> {
+      global itk::interact::CommandIndex
+      global itk::interact::CommandList
+
+      if { $CommandIndex > 0 } { 
+	set CommandIndex [expr $CommandIndex - 1]
+	set command_string [lindex $CommandList $CommandIndex]
+	.itkInteract.file.entry delete 0 end
+	.itkInteract.file.entry insert end $command_string
+      }
+    }
+    
+    wm withdraw .itkInteract
+  }
+  
+  # Create the interactor.
+  createInteractor
+}
diff --git a/Wrapping/CSwig/Tcl/itktesting.tcl b/Wrapping/CSwig/Tcl/itktesting.tcl
new file mode 100644
index 0000000000..ee78919df7
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/itktesting.tcl
@@ -0,0 +1,57 @@
+#
+#  Program:   Insight Segmentation & Registration Toolkit
+#  Module:    $RCSfile: itktesting.tcl,v $
+#  Language:  C++
+#  Date:      $Date: 2003/09/10 14:30:12 $
+#  Version:   $Revision: 1.2 $
+#
+#  Copyright (c) Insight Software Consortium. All rights reserved.
+#  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+#
+
+# Define ITK Tcl testing utilities.
+namespace eval itk::testing {
+  
+  # Require the itk packages.
+  package require InsightToolkit
+  package require itkdata
+  
+  # Put the ITK_TEST_ROOT setting in the global namespace.  This
+  # package is only used for testing, so this is okay.
+  
+  # Look for the -T command line option.
+  if {! [info exists ::ITK_TEST_ROOT] && [info exists argc]} {
+    set argcm1 [expr $argc - 1]
+    for {set i 0} {$i < $argcm1} {incr i} {
+      if {[lindex $argv $i] == "-T" && $i < $argcm1} {
+        set ::ITK_TEST_ROOT [lindex $argv [expr $i + 1]]
+        break
+      }
+    }
+  }
+  
+  # Check for the environment variable ::ITK_TEST_ROOT.
+  if {! [info exists ::ITK_TEST_ROOT] && [info exists env(ITK_TEST_ROOT)]} {
+    set ::ITK_TEST_ROOT $env(ITK_TEST_ROOT)
+  }
+  
+  # Use the default output directory.
+  if {! [info exists ::ITK_TEST_ROOT]} {
+    set dtr $::itk::testing::defaultTestRoot
+    if {$dtr == "<NO_DEFAULT>"} {
+      error "Set ITK_TEST_ROOT or use -T option to specify."
+    } else {
+      set ::ITK_TEST_ROOT $dtr
+    }
+  }
+
+  # Setup testing directories.
+  set ::ITK_TEST_BASELINE "${::ITK_DATA_ROOT}/Baseline"
+  set ::ITK_TEST_INPUT "${::ITK_DATA_ROOT}/Input"
+  set ::ITK_TEST_OUTPUT "${::ITK_TEST_ROOT}/Output"
+  file mkdir "${::ITK_TEST_OUTPUT}"
+}
diff --git a/Wrapping/CSwig/Tcl/itkutils.tcl b/Wrapping/CSwig/Tcl/itkutils.tcl
new file mode 100644
index 0000000000..20fc46666a
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/itkutils.tcl
@@ -0,0 +1,92 @@
+#
+#  Program:   Insight Segmentation & Registration Toolkit
+#  Module:    $RCSfile: itkutils.tcl,v $
+#  Language:  C++
+#  Date:      $Date: 2003/09/10 14:30:12 $
+#  Version:   $Revision: 1.2 $
+#
+#  Copyright (c) Insight Software Consortium. All rights reserved.
+#  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+#
+
+# Define ITK Tcl utilities.
+namespace eval itk {
+  
+  # Allow code like "$obj Print [itk::result]
+  proc result {} {
+    return [itk::TclStringStream [cable::Interpreter]]
+  }
+  
+  # Create an object of the given type.  Return a pointer to it.  A
+  # smart pointer to the object is kept in a list that is destroyed at
+  # program exit.
+  proc create {type} {
+    global itk::_ObjectList_
+    set ptr [itk::$type New]
+    set p [$ptr ->]
+    lappend _ObjectList_ $ptr
+    return $p
+  }
+
+  # Start with an empty object list.
+  set _ObjectList_ {}
+  
+  # Create an image viewer in a given frame.
+  proc createImageViewer2D {frame image args} {
+    # Create the canvas.
+    eval canvas $frame.canvas {-scrollregion "1 1 32 32"} \
+                              {-xscrollcommand "$frame.scrollx set"} \
+                              {-yscrollcommand "$frame.scrolly set"} $args
+    scrollbar $frame.scrollx -orient horizontal \
+                             -command "$frame.canvas xview"
+    scrollbar $frame.scrolly -orient vertical \
+                             -command "$frame.canvas yview"
+    pack $frame.scrollx -side bottom -fill x
+    pack $frame.scrolly -side right -fill y
+    pack $frame.canvas -expand 1 -fill both
+    
+    # Create a Tk image on the canvas.
+    set i [image create photo]
+    $frame.canvas create image 0 0 -image $i -anchor nw
+    
+    # Setup the TkImageViewer2D instance.
+    set viewer [itk::create TkImageViewer2D]
+    $viewer SetInput $image
+    $viewer SetInterpreter [cable::Interpreter]
+    $viewer SetImageName $i
+    $viewer SetCanvasName $frame.canvas
+    return $viewer
+  }
+
+  # Create a Tcl callback event.
+  proc createTclCommand { cmd } {
+    set command [itk::create TclCommand]
+    $command SetInterpreter [cable::Interpreter]
+    $command SetCommandString $cmd
+    return $command
+  } 
+
+  # Tcl procedure to list the wrapped classes.
+  proc listClasses {} {
+    set cmds {}
+    foreach c [info commands ::itk::*] {
+      if { ! [regexp {(<)|(_Pointer$)|(_Superclass$)|(^::itk::[^A-Z])} $c] } {
+        lappend cmds $c
+      }
+    }
+    set cmds [lsort $cmds]
+    foreach c $cmds {
+      puts $c
+    }
+  }
+
+  proc listMethods {obj} {
+    cable::ListMethods $obj
+  }
+
+  namespace export create result createImageViewer2D
+}
diff --git a/Wrapping/CSwig/Tcl/itkwish b/Wrapping/CSwig/Tcl/itkwish
new file mode 100644
index 0000000000..042fc290cf
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/itkwish
@@ -0,0 +1,102 @@
+#!/bin/sh
+#-----------------------------------------------------------------------------
+# Program:   Insight Segmentation & Registration Toolkit
+# Module:    $RCSfile: itkwish,v $
+# Language:  C++
+# Date:      $Date: 2003/09/10 14:30:12 $
+# Version:   $Revision: 1.2 $
+#
+# Copyright (c) Insight Software Consortium. All rights reserved.
+# See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
+#
+# Portions of this code are covered under the VTK copyright.
+# See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm 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.
+#-----------------------------------------------------------------------------
+
+#
+# This is a shell script driving the ITK Tcl wrapper executable.  It
+# sets up the environment and then executes the real executable.
+# Alternatively, if the first command line argument is "--run", the rest
+# of the command line will be invoked as a command in the proper
+# environment.
+#
+# The real executable is located relative to this script in
+#   ../lib/InsightToolkit
+#
+
+ITKWISH_Usage()
+{
+  echo "Insight Segmentation & Registration Toolkit (http://www.itk.org)"
+  echo "This is the Tcl wrapper executable driver."
+  echo ""
+  echo "Usage:"
+  echo "  itkwish           = Run itkwish interactively as a Tcl interpreter."
+  echo "  itkwish foo.tcl   = Run \"foo.tcl\" in the ITK Tcl interpreter."
+  echo "  itkwish --run ... = Run command \"...\" in the itkwish environment."
+  echo ""
+  echo "Example commands:"
+  echo "  \"itkwish\""
+  echo "    Provides a tcl prompt "%" from which ITK scripts can be written"
+  echo "    interactively."
+  echo ""
+  echo "  \"itkwish myITKScript.tcl\""
+  echo "    Runs the myITKScript.tcl script in the ITK Tcl interpreter.."
+  echo ""
+  echo "  \"itkwish --run wish\""
+  echo "    Runs wish in an environment in which the ITK packages can be"
+  echo "    loaded with \"package require InsightToolkit\"."
+}
+
+ITKWISH_SELFDIR=`cd \`echo "$0" | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
+
+if [ -d "${ITKWISH_SELFDIR}/../lib/InsightToolkit" ]; then : ; else
+  ITKWISH_Usage
+  echo ""
+  echo "Error:"
+  echo "  This script is meant to be used from an itk installation directory."
+  echo "  It will not run from the itk source tree."
+  exit 1
+fi
+
+ITKWISH_LIBDIR=`cd "${ITKWISH_SELFDIR}/../lib/InsightToolkit"; pwd`
+
+# Setup environment.
+case "`uname`" in
+Darwin)
+  if [ -z "$DYLD_LIBRARY_PATH" ]; then
+    export DYLD_LIBRARY_PATH="$ITKWISH_LIBDIR"
+  else
+    export DYLD_LIBRARY_PATH="$ITKWISH_LIBDIR:$DYLD_LIBRARY_PATH"
+  fi
+  ;;
+*)
+  if [ -z "$LD_LIBRARY_PATH" ]; then
+    export LD_LIBRARY_PATH="$ITKWISH_LIBDIR"
+  else
+    export LD_LIBRARY_PATH="$ITKWISH_LIBDIR:$LD_LIBRARY_PATH"
+  fi
+esac
+
+if [ -z "$TCLLIBPATH" ]; then
+  export TCLLIBPATH="\"$ITKWISH_LIBDIR\""
+else
+  export TCLLIBPATH="\"$ITKWISH_LIBDIR\" $TCLLIBPATH"
+fi
+
+if [ "$1" = "--help" ]; then
+  # Display usage.
+  ITKWISH_Usage
+  exit
+elif [ "$1" = "--run" ]; then
+  # Skip the "--run" argument.
+  shift
+  # Run exact command line given after "--run" in this environment.
+  exec "$@"
+else
+  # Run real itkwish executable in this environment.
+  exec "${ITKWISH_LIBDIR}/itkwish" "$@"
+fi
diff --git a/Wrapping/CSwig/Tcl/pkgIndex.tcl.in b/Wrapping/CSwig/Tcl/pkgIndex.tcl.in
new file mode 100644
index 0000000000..d45c73a462
--- /dev/null
+++ b/Wrapping/CSwig/Tcl/pkgIndex.tcl.in
@@ -0,0 +1,106 @@
+# Insight Toolkit (ITK) Tcl package configuration.
+
+namespace eval itk {
+  #
+  # This procedure will help configure other ITK Tcl packages.
+  # Call it with:
+  #   package = the name of the package
+  #   version = the version number of the package
+  #
+  proc ConfigureTclPackage {libName version} {
+    set libPrefix "@ITK_CSWIG_LIBNAME_PREFIX@"
+    set libPath "@ITK_CSWIG_PACKAGE_DIR@"
+    set libExt [info sharedlibextension]
+    set libFile [file join $libPath "$libPrefix$libName$libExt"]
+    set package [string tolower $libName]
+
+    package ifneeded $package $version "
+      namespace eval ::itk::loader {
+        set curDir \[pwd\]
+        cd {$libPath}
+        if {\[catch { load \"$libFile\" } errorMessage \]} { puts \$errorMessage }
+        cd \$curDir
+     }
+    "
+  }
+
+  # Procedure to drive configuration of all packages.
+  proc ConfigureItkTclPackages {version} {
+    # Configure ITK Tcl packages.
+    ConfigureTclPackage VXLNumericsTcl     $version
+    ConfigureTclPackage ITKNumericsTcl     $version
+    ConfigureTclPackage ITKCommonATcl       $version
+    ConfigureTclPackage ITKCommonBTcl       $version
+    ConfigureTclPackage ITKIOTcl           $version
+    ConfigureTclPackage ITKBasicFiltersATcl $version
+    ConfigureTclPackage ITKBasicFiltersBTcl $version
+    ConfigureTclPackage ITKAlgorithmsTcl   $version
+
+    package ifneeded InsightToolkit $version "
+      package require itknumerics $version
+      package require itkcommon $version
+      package require itkio $version
+      package require itkbasicfilters $version
+      package require itkalgorithms $version
+      package provide InsightToolkit $version
+    "
+
+    package ifneeded itknumerics $version "
+      package require vxlnumericstcl $version
+      package require itknumericstcl $version
+      package provide itknumerics $version
+    "
+
+    package ifneeded itkcommon $version "
+      package require itkcommonatcl $version
+      package require itkcommonbtcl $version
+      package provide itkcommon $version
+    "
+
+    package ifneeded itkbasicfilters $version "
+      package require itkbasicfiltersatcl $version
+      package require itkbasicfiltersbtcl $version
+      package provide itkbasicfilters $version
+    "
+
+    package ifneeded itkalgorithms $version "
+      package require itkalgorithmstcl $version
+      package provide itkalgorithms $version
+    "
+
+    package ifneeded itkio $version "
+      package require itkiotcl $version
+      package provide itkio $version
+    "
+
+    package ifneeded itkinteraction $version "
+      set src \[file join \"@ITK_CSWIG_SCRIPT_DIR@\" itkinteraction.tcl\]
+      if {\[catch { source \"\$src\" } errorMessage \]} { puts \$errorMessage } \\
+      else { package provide itkinteraction $version }
+    "
+
+    package ifneeded itkdata $version "
+      set src \[file join \"@ITK_CSWIG_SCRIPT_DIR@\" itkdata.tcl\]
+      namespace eval itk::data {
+        set defaultDataRoot \"@ITK_CSWIG_DATA_ROOT@\"
+      }
+      if {\[catch { source \"\$src\" } errorMessage \]} { puts \$errorMessage } \\
+      else { package provide itkdata $version }
+    "
+
+    package ifneeded itktesting $version "
+      set src \[file join \"@ITK_CSWIG_SCRIPT_DIR@\" itktesting.tcl\]
+      namespace eval itk::testing {
+        set defaultTestRoot \"@ITK_CSWIG_TEST_ROOT@\"
+      }
+      if {\[catch { source \"\$src\" } errorMessage \]} { puts \$errorMessage } \\
+      else { package provide itktesting $version }
+    "
+  }
+
+  # Make sure the procedure can be called.
+  namespace export ConfigureItkTclPackages
+}
+
+# Configure packages with version @ITK_VERSION_STRING@.
+itk::ConfigureItkTclPackages @ITK_VERSION_STRING@
diff --git a/Wrapping/CSwig/Tests/CMakeLists.txt b/Wrapping/CSwig/Tests/CMakeLists.txt
new file mode 100644
index 0000000000..5ede6625eb
--- /dev/null
+++ b/Wrapping/CSwig/Tests/CMakeLists.txt
@@ -0,0 +1 @@
+SUBDIRS(Tcl)
diff --git a/Wrapping/CSwig/Tests/CVS/Entries b/Wrapping/CSwig/Tests/CVS/Entries
new file mode 100644
index 0000000000..eb18e84a7b
--- /dev/null
+++ b/Wrapping/CSwig/Tests/CVS/Entries
@@ -0,0 +1,4 @@
+/CMakeLists.txt/1.1/Mon Jul 14 12:50:29 2003//TITK-3-0-1
+D/Java////
+D/Python////
+D/Tcl////
diff --git a/Wrapping/CSwig/Tests/CVS/Repository b/Wrapping/CSwig/Tests/CVS/Repository
new file mode 100644
index 0000000000..775fd2b10e
--- /dev/null
+++ b/Wrapping/CSwig/Tests/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/Tests
diff --git a/Wrapping/CSwig/Tests/CVS/Root b/Wrapping/CSwig/Tests/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/Tests/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/Tests/CVS/Tag b/Wrapping/CSwig/Tests/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/Tests/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/Tests/CVS/Template b/Wrapping/CSwig/Tests/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/Tests/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/Tests/Java/CVS/Entries b/Wrapping/CSwig/Tests/Java/CVS/Entries
new file mode 100644
index 0000000000..9df64b03d7
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Java/CVS/Entries
@@ -0,0 +1,2 @@
+/cannyEdgeDetectionImageFilter.java/1.2/Wed Feb 18 14:47:41 2004//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/Tests/Java/CVS/Repository b/Wrapping/CSwig/Tests/Java/CVS/Repository
new file mode 100644
index 0000000000..c41312289c
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Java/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/Tests/Java
diff --git a/Wrapping/CSwig/Tests/Java/CVS/Root b/Wrapping/CSwig/Tests/Java/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Java/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/Tests/Java/CVS/Tag b/Wrapping/CSwig/Tests/Java/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Java/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/Tests/Java/CVS/Template b/Wrapping/CSwig/Tests/Java/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Java/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/Tests/Java/cannyEdgeDetectionImageFilter.java b/Wrapping/CSwig/Tests/Java/cannyEdgeDetectionImageFilter.java
new file mode 100755
index 0000000000..4a022364bc
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Java/cannyEdgeDetectionImageFilter.java
@@ -0,0 +1,24 @@
+import InsightToolkit.*;
+
+// This example illustrates how C++ classes can be used from Java using SWIG.
+// The Java class gets mapped onto the C++ class and behaves as if it is a Java class.
+
+public class cannyEdgeDetectionImageFilter {
+  public static void main(String argv[])
+  {
+    itkImageFileReaderF2_Pointer reader = itkImageFileReaderF2.itkImageFileReaderF2_New();
+    itkCannyEdgeDetectionImageFilterF2F2_Pointer canny
+      = itkCannyEdgeDetectionImageFilterF2F2.itkCannyEdgeDetectionImageFilterF2F2_New();
+    itkRescaleIntensityImageFilterF2US2_Pointer rescaler
+      = itkRescaleIntensityImageFilterF2US2.itkRescaleIntensityImageFilterF2US2_New();
+    itkImageFileWriterUS2_Pointer writer = itkImageFileWriterUS2.itkImageFileWriterUS2_New();
+    canny.SetInput(reader.GetOutput());
+    rescaler.SetInput(canny.GetOutput());
+    writer.SetInput(rescaler.GetOutput());
+    rescaler.SetOutputMinimum(0);
+    rescaler.SetOutputMaximum(65535);
+    reader.SetFileName("../../../../Testing/Data/Input/cthead1.png");
+    writer.SetFileName("./testout.png");
+    writer.Update();
+  }
+}
diff --git a/Wrapping/CSwig/Tests/Python/CVS/Entries b/Wrapping/CSwig/Tests/Python/CVS/Entries
new file mode 100644
index 0000000000..ae4a0c5e51
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Python/CVS/Entries
@@ -0,0 +1,4 @@
+/cannyEdgeDetectionImageFilter.py/1.2/Tue May 20 15:01:27 2003//TITK-3-0-1
+/testDirectory.py/1.1/Mon Jun  9 13:56:20 2003//TITK-3-0-1
+/testObject.py/1.2/Fri May 23 17:57:49 2003//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/Tests/Python/CVS/Repository b/Wrapping/CSwig/Tests/Python/CVS/Repository
new file mode 100644
index 0000000000..c5f2e3b2c8
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Python/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/Tests/Python
diff --git a/Wrapping/CSwig/Tests/Python/CVS/Root b/Wrapping/CSwig/Tests/Python/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Python/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/Tests/Python/CVS/Tag b/Wrapping/CSwig/Tests/Python/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Python/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/Tests/Python/CVS/Template b/Wrapping/CSwig/Tests/Python/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Python/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/Tests/Python/cannyEdgeDetectionImageFilter.py b/Wrapping/CSwig/Tests/Python/cannyEdgeDetectionImageFilter.py
new file mode 100755
index 0000000000..ba47f1155e
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Python/cannyEdgeDetectionImageFilter.py
@@ -0,0 +1,16 @@
+from InsightToolkit import *
+
+reader = itkImageFileReaderF2_New()
+canny  = itkCannyEdgeDetectionImageFilterF2F2_New()
+rescaler = itkRescaleIntensityImageFilterF2US2_New()
+writer = itkImageFileWriterUS2_New()
+canny.SetInput(reader.GetOutput())
+rescaler.SetInput(canny.GetOutput())
+writer.SetInput(rescaler.GetOutput())
+
+rescaler.SetOutputMinimum(0)
+rescaler.SetOutputMaximum(65535)
+
+reader.SetFileName("c:/Hoffman/InsightNew/Testing/Data/Input/cthead1.png")
+writer.SetFileName("./testout.png")
+writer.Update()
diff --git a/Wrapping/CSwig/Tests/Python/testDirectory.py b/Wrapping/CSwig/Tests/Python/testDirectory.py
new file mode 100644
index 0000000000..c2054a7575
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Python/testDirectory.py
@@ -0,0 +1,13 @@
+from InsightToolkit import *
+d = itkDirectory_New()
+d.Load(".")
+n = d.GetNumberOfFiles()
+i = 0
+while i < n:
+        print d.GetFile(i)
+        i = i +1
+
+
+
+
+
diff --git a/Wrapping/CSwig/Tests/Python/testObject.py b/Wrapping/CSwig/Tests/Python/testObject.py
new file mode 100755
index 0000000000..1bd7c98d7d
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Python/testObject.py
@@ -0,0 +1,3 @@
+from InsightToolkit import *
+s = itkObject_New()
+
diff --git a/Wrapping/CSwig/Tests/Tcl/CMakeLists.txt b/Wrapping/CSwig/Tests/Tcl/CMakeLists.txt
new file mode 100644
index 0000000000..12848aa21a
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Tcl/CMakeLists.txt
@@ -0,0 +1,8 @@
+
+IF( NOT ITK_DISABLE_TCL_TESTING )
+IF(ITK_CSWIG_TCL)
+    SET(TEMP ${ITK_BINARY_DIR}/Testing/Temporary)
+    SET(ITK_WISH ${CXX_TEST_PATH}/itkwish)
+    ADD_TEST(PrintAllTcl ${ITK_WISH} ${ITK_SOURCE_DIR}/Wrapping/CSwig/Tests/Tcl/PrintAll.tcl ${TEMP}/PrintAll.txt)
+ENDIF(ITK_CSWIG_TCL)
+ENDIF( NOT ITK_DISABLE_TCL_TESTING )
diff --git a/Wrapping/CSwig/Tests/Tcl/CVS/Entries b/Wrapping/CSwig/Tests/Tcl/CVS/Entries
new file mode 100644
index 0000000000..ed0517d795
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Tcl/CVS/Entries
@@ -0,0 +1,6 @@
+/CMakeLists.txt/1.3/Tue Feb 15 04:43:29 2005//TITK-3-0-1
+/PrintAll.tcl/1.4/Wed Apr  7 13:37:43 2004//TITK-3-0-1
+/randomImage.tcl/1.3/Thu May 29 20:16:00 2003//TITK-3-0-1
+/testDirectory.tcl/1.1/Wed May 28 21:56:31 2003//TITK-3-0-1
+/testObject.tcl/1.2/Fri May 23 17:57:49 2003//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/Tests/Tcl/CVS/Repository b/Wrapping/CSwig/Tests/Tcl/CVS/Repository
new file mode 100644
index 0000000000..4ff7006168
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Tcl/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/Tests/Tcl
diff --git a/Wrapping/CSwig/Tests/Tcl/CVS/Root b/Wrapping/CSwig/Tests/Tcl/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Tcl/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/Tests/Tcl/CVS/Tag b/Wrapping/CSwig/Tests/Tcl/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Tcl/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/Tests/Tcl/CVS/Template b/Wrapping/CSwig/Tests/Tcl/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Tcl/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/Tests/Tcl/PrintAll.tcl b/Wrapping/CSwig/Tests/Tcl/PrintAll.tcl
new file mode 100644
index 0000000000..d346bbc1dc
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Tcl/PrintAll.tcl
@@ -0,0 +1,20 @@
+package require InsightToolkit
+#
+# Exercise the PrintSelf of each class
+#
+if {$argc == 0} {
+    set fileid stdout
+} else {
+    set fileid [open [lindex $argv 0] w]
+}
+
+set b [itkStringStream]
+set allClasses [info command itk*_New]
+
+foreach class $allClasses {
+    puts $fileid "--------------- $class ---------------"
+    catch {set a [$class]; $a Print [$b GetStream]; puts $fileid "[$b GetString]"; $b Reset}
+}
+
+exit
+
diff --git a/Wrapping/CSwig/Tests/Tcl/randomImage.tcl b/Wrapping/CSwig/Tests/Tcl/randomImage.tcl
new file mode 100755
index 0000000000..57457d930b
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Tcl/randomImage.tcl
@@ -0,0 +1,83 @@
+package require Tk
+package require InsightToolkit
+package require itkinteraction
+
+proc createImageViewer2D {frame image args} {
+    # Create the canvas.
+    eval canvas $frame.canvas {-scrollregion "1 1 32 32"} \
+                              {-xscrollcommand "$frame.scrollx set"} \
+                              {-yscrollcommand "$frame.scrolly set"} $args
+    scrollbar $frame.scrollx -orient horizontal \
+                             -command "$frame.canvas xview"
+    scrollbar $frame.scrolly -orient vertical \
+                             -command "$frame.canvas yview"
+    pack $frame.scrollx -side bottom -fill x
+    pack $frame.scrolly -side right -fill y
+    pack $frame.canvas -expand 1 -fill both
+    
+    # Create a Tk image on the canvas.
+    set i [image create photo]
+    $frame.canvas create image 0 0 -image $i -anchor nw
+    
+    # Setup the TkImageViewer2D instance.
+    set viewer [itkTkImageViewer2D_New]
+    $viewer SetInput $image
+    $viewer SetInterpreter [GetInterp]
+    $viewer SetImageName $i
+    $viewer SetCanvasName $frame.canvas
+    return $viewer
+  }
+
+
+
+# Initial sigma value.
+set sigma 1
+
+# Create a random image source.
+set source [itkRandomImageSourceUS2_New]
+$source SetMin 0
+$source SetMax 255
+set a [new_ULArray 2]
+ULArray_setitem $a 0 300
+ULArray_setitem $a 1 300
+$source SetSize $a
+
+
+# Connect the smoothing filter.
+set filter [itkRecursiveGaussianImageFilterUS2US2_New]
+$filter SetInput [$source GetOutput] 
+$filter SetSigma $sigma
+$filter SetNormalizeAcrossScale 1
+$filter SetDirection 0
+
+# Setup the GUI.
+frame .control
+frame .in
+frame .out
+frame .in.viewer
+frame .out.viewer
+
+button .control.exit -text "Exit" -command {exit}
+button .control.update -text "Update" -command {
+  # Set sigma on the smoothing filter and update the display.
+  $filter SetSigma $sigma
+  $smoothedV Draw
+  $randomV Draw
+}
+label .control.sigma_label -text "Sigma:" 
+entry .control.sigma -textvariable sigma
+button .control.interact -text "Interact" -command {wm deiconify .itkInteract}
+
+pack .control -side left -anchor n
+pack .in .out -side left -expand 1 -fill both
+pack .in.viewer .out.viewer -expand 1 -fill both
+pack .control.exit .control.interact .control.update -side top
+pack .control.sigma_label .control.sigma -side left
+
+# Create the image viewers.
+set randomV [createImageViewer2D .in.viewer [$source GetOutput] ]
+set smoothedV [createImageViewer2D .out.viewer [$filter GetOutput] ]
+
+# Run the input pipeline to display the random image.
+update
+$randomV Draw
diff --git a/Wrapping/CSwig/Tests/Tcl/testDirectory.tcl b/Wrapping/CSwig/Tests/Tcl/testDirectory.tcl
new file mode 100755
index 0000000000..c699f8dfa0
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Tcl/testDirectory.tcl
@@ -0,0 +1,11 @@
+package require InsightToolkit
+set d [itkDirectory_New]
+$d Load "."
+set n [$d GetNumberOfFiles]
+for {set i 1} {$i < $n} {incr i} {
+   puts [$d GetFile $i]
+}
+
+
+
+
diff --git a/Wrapping/CSwig/Tests/Tcl/testObject.tcl b/Wrapping/CSwig/Tests/Tcl/testObject.tcl
new file mode 100755
index 0000000000..cfaa3dd615
--- /dev/null
+++ b/Wrapping/CSwig/Tests/Tcl/testObject.tcl
@@ -0,0 +1,4 @@
+package require Tk
+package require InsightToolkit
+set o [itkObject_New]
+
diff --git a/Wrapping/CSwig/VXLNumerics/.NoDartCoverage b/Wrapping/CSwig/VXLNumerics/.NoDartCoverage
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/VXLNumerics/CMakeLists.txt b/Wrapping/CSwig/VXLNumerics/CMakeLists.txt
new file mode 100755
index 0000000000..13ba17a40b
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/CMakeLists.txt
@@ -0,0 +1,21 @@
+# create the VXLNumerics libraries
+
+SET(WRAP_SOURCES
+  wrap_vnl_matrix
+  wrap_vnl_vector
+  wrap_vnl_c_vector
+  wrap_vnl_diag_matrix
+  wrap_vnl_file_matrix
+  wrap_vnl_file_vector
+  wrap_vnl_fortran_copy
+  wrap_vnl_matrix_fixed
+  wrap_vnl_matrix_fixed_ref
+  wrap_vnl_matrix_ref
+  wrap_vnl_vector_ref
+)
+
+
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx")
+
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" VXLNumerics VXLNumerics "" "" "${VXL_NUMERICS_LIBRARIES};itkvnl_inst")
+
diff --git a/Wrapping/CSwig/VXLNumerics/CVS/Entries b/Wrapping/CSwig/VXLNumerics/CVS/Entries
new file mode 100644
index 0000000000..d2a416f4d7
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/CVS/Entries
@@ -0,0 +1,20 @@
+/.NoDartCoverage/1.1/Sat Sep 25 17:36:28 2004//TITK-3-0-1
+/CMakeLists.txt/1.9/Wed Feb 18 14:47:41 2004//TITK-3-0-1
+/wrap_VXLNumerics.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_VXLNumerics.h/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_VXLNumericsJava.cxx/1.2/Wed Feb 18 14:47:41 2004//TITK-3-0-1
+/wrap_VXLNumericsPerl.cxx/1.1/Fri Mar 12 22:42:59 2004//TITK-3-0-1
+/wrap_VXLNumericsPython.cxx/1.1/Tue May 13 20:28:38 2003//TITK-3-0-1
+/wrap_VXLNumericsTcl.cxx/1.1/Tue May 13 20:28:38 2003//TITK-3-0-1
+/wrap_vnl_c_vector.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_vnl_diag_matrix.cxx/1.1/Mon May 12 22:18:23 2003//TITK-3-0-1
+/wrap_vnl_file_matrix.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_vnl_file_vector.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_vnl_fortran_copy.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_vnl_matrix.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_vnl_matrix_fixed.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_vnl_matrix_fixed_ref.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_vnl_matrix_ref.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+/wrap_vnl_vector.cxx/1.1/Mon May 12 22:18:23 2003//TITK-3-0-1
+/wrap_vnl_vector_ref.cxx/1.2/Wed Sep 10 14:30:12 2003//TITK-3-0-1
+D
diff --git a/Wrapping/CSwig/VXLNumerics/CVS/Repository b/Wrapping/CSwig/VXLNumerics/CVS/Repository
new file mode 100644
index 0000000000..745bb1d2b7
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/CVS/Repository
@@ -0,0 +1 @@
+Insight/Wrapping/CSwig/VXLNumerics
diff --git a/Wrapping/CSwig/VXLNumerics/CVS/Root b/Wrapping/CSwig/VXLNumerics/CVS/Root
new file mode 100644
index 0000000000..18653af538
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/CVS/Root
@@ -0,0 +1 @@
+:pserver:anonymous@www.itk.org:/cvsroot/Insight
diff --git a/Wrapping/CSwig/VXLNumerics/CVS/Tag b/Wrapping/CSwig/VXLNumerics/CVS/Tag
new file mode 100644
index 0000000000..421a7405e7
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/CVS/Tag
@@ -0,0 +1 @@
+NITK-3-0-1
diff --git a/Wrapping/CSwig/VXLNumerics/CVS/Template b/Wrapping/CSwig/VXLNumerics/CVS/Template
new file mode 100644
index 0000000000..41a624a6f1
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/CVS/Template
@@ -0,0 +1,22 @@
+CVS: ----------------------------------------------------------------------
+CVS: CVS Commits to CMake/ITK/ParaView/VTK require commit type in the
+CVS: comment. Valid commit types are:
+CVS:
+CVS:   BUG:   - a change made to fix a runtime issue
+CVS:            (crash, segmentation fault, exception, or incorrect result,
+CVS:   COMP:  - a fix for a compilation issue, error or warning,
+CVS:   ENH:   - new functionality added to the project,
+CVS:   PERF:  - a performance improvement,
+CVS:   STYLE: - a change that does not impact the logic or execution of the
+CVS:            code. (improve coding style, comments, documentation).
+CVS: 
+CVS: The cvs command to commit the change is: 
+CVS: 
+CVS:   cvs commit -m "BUG: fixed core dump when passed float data" filename
+CVS: 
+CVS: you can also use the syntax below which omits the -m flag. In this
+CVS: case cvs will start up an editor for you to enter a comment on why you
+CVS: made the change.
+CVS: 
+CVS:   cvs commit filename
+CVS: ----------------------------------------------------------------------
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_VXLNumerics.cxx b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumerics.cxx
new file mode 100755
index 0000000000..3a2a5fb6c3
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumerics.cxx
@@ -0,0 +1,37 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_VXLNumerics.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+namespace _cable_
+{
+  const char* const package = ITK_WRAP_PACKAGE_NAME(ITK_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    ITK_WRAP_GROUP(vnl_matrix),
+    ITK_WRAP_GROUP(vnl_vector),
+    ITK_WRAP_GROUP(vnl_c_vector),
+    ITK_WRAP_GROUP(vnl_diag_matrix),
+    ITK_WRAP_GROUP(vnl_file_matrix),
+    ITK_WRAP_GROUP(vnl_file_vector),
+    ITK_WRAP_GROUP(vnl_fortran_copy),
+    ITK_WRAP_GROUP(vnl_matrix_fixed),
+    ITK_WRAP_GROUP(vnl_matrix_fixed_ref),
+    ITK_WRAP_GROUP(vnl_matrix_ref),
+    ITK_WRAP_GROUP(vnl_vector_ref)
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_VXLNumerics.h b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumerics.h
new file mode 100755
index 0000000000..7c2601f3da
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumerics.h
@@ -0,0 +1,66 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_VXLNumerics.h,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifndef _wrap_VXLNumerics_h
+#define _wrap_VXLNumerics_h
+
+#include "itkCSwigMacros.h"
+
+
+#define ITK_WRAP_VNL_TYPEDEF(type) \
+  typedef ::type<double>                    type##_double; \
+  typedef ::type<vcl_complex<double> >      type##_double_complex; \
+  typedef ::type<float>                     type##_float; \
+  typedef ::type<vcl_complex<float> >       type##_float_complex; \
+  typedef ::type<int>                       type##_int; \
+  typedef ::type<long>                      type##_long; \
+  typedef ::type<long double>               type##_long_double; \
+  typedef ::type<vcl_complex<long double> > type##_long_double_complex; \
+  typedef ::type<signed char>               type##_schar; \
+  typedef ::type<unsigned char>             type##_uchar; \
+  typedef ::type<unsigned int>              type##_uint; \
+  typedef ::type<unsigned long>             type##_ulong
+
+#define ITK_WRAP_VNL_SIZEOF(type) \
+  sizeof(type##_double); \
+  sizeof(type##_double_complex); \
+  sizeof(type##_float); \
+  sizeof(type##_float_complex); \
+  sizeof(type##_int); \
+  sizeof(type##_long); \
+  sizeof(type##_long_double); \
+  sizeof(type##_long_double_complex); \
+  sizeof(type##_schar); \
+  sizeof(type##_uchar); \
+  sizeof(type##_uint); \
+  sizeof(type##_ulong)
+
+#define ITK_WRAP_VNL(type) \
+  namespace _cable_ \
+  { \
+    const char* const group = ITK_WRAP_GROUP(type); \
+    namespace wrappers \
+    { \
+      ITK_WRAP_VNL_TYPEDEF(type); \
+    } \
+  } \
+  void force_instantiate() \
+  { \
+    using namespace _cable_::wrappers; \
+    ITK_WRAP_VNL_SIZEOF(type); \
+  }
+
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsJava.cxx b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsJava.cxx
new file mode 100755
index 0000000000..1da31ce66f
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsJava.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "VXLNumericsJava"
+#include "wrap_VXLNumerics.cxx"
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsPerl.cxx b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsPerl.cxx
new file mode 100755
index 0000000000..98b29f3a53
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsPerl.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "VXLNumericsPerl"
+#include "wrap_VXLNumerics.cxx"
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsPython.cxx b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsPython.cxx
new file mode 100755
index 0000000000..01ec52456f
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsPython.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "VXLNumericsPython"
+#include "wrap_VXLNumerics.cxx"
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsTcl.cxx b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsTcl.cxx
new file mode 100755
index 0000000000..bca865feb8
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_VXLNumericsTcl.cxx
@@ -0,0 +1,2 @@
+#define ITK_WRAP_PACKAGE "VXLNumericsTcl"
+#include "wrap_VXLNumerics.cxx"
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_c_vector.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_c_vector.cxx
new file mode 100644
index 0000000000..c4f003d04a
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_c_vector.cxx
@@ -0,0 +1,42 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_vnl_c_vector.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "vcl_complex.h"
+#include "vnl/vnl_c_vector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+ITK_WRAP_VNL(vnl_c_vector);
+
+#if 0
+// Could add vnl_c_vector_bool, but it is disabled for ITK's
+// VXLNumerics library.
+namespace _cable_
+{
+  namespace wrappers
+  {
+    typedef vnl_c_vector<bool> vnl_c_vector_bool;
+  }
+}
+
+void force_instantiate2()
+{
+  using namespace _cable_::wrappers;
+  sizeof(vnl_c_vector_bool);
+}
+#endif
+
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_diag_matrix.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_diag_matrix.cxx
new file mode 100644
index 0000000000..7baffab0c0
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_diag_matrix.cxx
@@ -0,0 +1,34 @@
+#include "vcl_complex.h"
+#include "vnl/vnl_diag_matrix.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(vnl_diag_matrix);
+  typedef vcl_complex<double> double_complex;
+  typedef vcl_complex<float> float_complex;
+  namespace wrappers
+  {
+    typedef vnl_diag_matrix<double>         vnl_diag_matrix_double;
+    typedef vnl_diag_matrix<double_complex> vnl_diag_matrix_double_complex;
+    typedef vnl_diag_matrix<float>          vnl_diag_matrix_float;
+    typedef vnl_diag_matrix<float_complex>  vnl_diag_matrix_float_complex;
+    typedef vnl_diag_matrix<int>            vnl_diag_matrix_int;
+    typedef vnl_diag_matrix<long double>    vnl_diag_matrix_long_double;
+  }
+}
+
+void force_instantiate()
+{
+  using namespace _cable_::wrappers;
+  sizeof(vnl_diag_matrix_double);
+  sizeof(vnl_diag_matrix_double_complex);
+  sizeof(vnl_diag_matrix_float);
+  sizeof(vnl_diag_matrix_float_complex);
+  sizeof(vnl_diag_matrix_int);
+  sizeof(vnl_diag_matrix_long_double);
+}
+
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_file_matrix.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_file_matrix.cxx
new file mode 100644
index 0000000000..86a875fb7a
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_file_matrix.cxx
@@ -0,0 +1,39 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_vnl_file_matrix.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "vnl/vnl_file_matrix.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(vnl_file_matrix);
+  namespace wrappers
+  {
+    typedef vnl_file_matrix<double> vnl_file_matrix_double;
+    typedef vnl_file_matrix<float>  vnl_file_matrix_float;
+  }
+}
+
+void force_instantiate()
+{
+  using namespace _cable_::wrappers;
+  sizeof(vnl_file_matrix_double);
+  sizeof(vnl_file_matrix_float);
+}
+
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_file_vector.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_file_vector.cxx
new file mode 100644
index 0000000000..593c03126c
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_file_vector.cxx
@@ -0,0 +1,37 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_vnl_file_vector.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "vnl/vnl_file_vector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(vnl_file_vector);
+  namespace wrappers
+  {
+    typedef vnl_file_vector<double>  vnl_file_vector_double;
+  }
+}
+
+void force_instantiate()
+{
+  using namespace _cable_::wrappers;
+  sizeof(vnl_file_vector_double);
+}
+
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_fortran_copy.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_fortran_copy.cxx
new file mode 100644
index 0000000000..3da8bfce6e
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_fortran_copy.cxx
@@ -0,0 +1,45 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_vnl_fortran_copy.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "vnl/vnl_fortran_copy.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(vnl_fortran_copy);
+  typedef vcl_complex<double> double_complex;
+  typedef vcl_complex<float> float_complex;
+  namespace wrappers
+  {
+    typedef vnl_fortran_copy<double>         vnl_fortran_copy_double;
+    typedef vnl_fortran_copy<double_complex> vnl_fortran_copy_double_complex;
+    typedef vnl_fortran_copy<float>          vnl_fortran_copy_float;
+    typedef vnl_fortran_copy<float_complex>  vnl_fortran_copy_float_complex;
+  }
+}
+
+void force_instantiate()
+{
+  using namespace _cable_::wrappers;
+  sizeof(vnl_fortran_copy_double);
+  sizeof(vnl_fortran_copy_double_complex);
+  sizeof(vnl_fortran_copy_float);
+  sizeof(vnl_fortran_copy_float_complex);
+}
+
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix.cxx
new file mode 100644
index 0000000000..4b79d8fa2b
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix.cxx
@@ -0,0 +1,24 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_vnl_matrix.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "vcl_complex.h"
+#include "vnl/vnl_vector.h"
+#include "vnl/vnl_matrix.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+ITK_WRAP_VNL(vnl_matrix);
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_fixed.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_fixed.cxx
new file mode 100644
index 0000000000..0d82e76f1a
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_fixed.cxx
@@ -0,0 +1,53 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_vnl_matrix_fixed.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "vnl/vnl_matrix_fixed.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(vnl_matrix_fixed);
+  namespace wrappers
+  {
+    typedef vnl_matrix_fixed<double,2,2>  vnl_matrix_fixed_double_2_2;
+    typedef vnl_matrix_fixed<double,2,3>  vnl_matrix_fixed_double_2_3;
+    typedef vnl_matrix_fixed<double,2,6>  vnl_matrix_fixed_double_2_6;
+    typedef vnl_matrix_fixed<double,3,12> vnl_matrix_fixed_double_3_12;
+    typedef vnl_matrix_fixed<double,3,3>  vnl_matrix_fixed_double_3_3;
+    typedef vnl_matrix_fixed<double,3,4>  vnl_matrix_fixed_double_3_4;
+    typedef vnl_matrix_fixed<double,4,3>  vnl_matrix_fixed_double_4_3;
+    typedef vnl_matrix_fixed<double,4,4>  vnl_matrix_fixed_double_4_4;
+    typedef vnl_matrix_fixed<float,3,3>   vnl_matrix_fixed_float_3_3;    
+  }
+}
+
+void force_instantiate()
+{
+  using namespace _cable_::wrappers;
+  sizeof(vnl_matrix_fixed_double_2_2);
+  sizeof(vnl_matrix_fixed_double_2_3);
+  sizeof(vnl_matrix_fixed_double_2_6);
+  sizeof(vnl_matrix_fixed_double_3_12);
+  sizeof(vnl_matrix_fixed_double_3_3);
+  sizeof(vnl_matrix_fixed_double_3_4);
+  sizeof(vnl_matrix_fixed_double_4_3);
+  sizeof(vnl_matrix_fixed_double_4_4);
+  sizeof(vnl_matrix_fixed_float_3_3);
+}
+
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_fixed_ref.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_fixed_ref.cxx
new file mode 100644
index 0000000000..86b6bfa071
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_fixed_ref.cxx
@@ -0,0 +1,49 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_vnl_matrix_fixed_ref.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "vnl/vnl_matrix_fixed_ref.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(vnl_matrix_fixed_ref);
+  namespace wrappers
+  {
+    typedef vnl_matrix_fixed_ref<double,2,2>  vnl_matrix_fixed_ref_double_2_2;
+    typedef vnl_matrix_fixed_ref<double,2,3>  vnl_matrix_fixed_ref_double_2_3;
+    typedef vnl_matrix_fixed_ref<double,3,12> vnl_matrix_fixed_ref_double_3_12;
+    typedef vnl_matrix_fixed_ref<double,3,3>  vnl_matrix_fixed_ref_double_3_3;
+    typedef vnl_matrix_fixed_ref<double,3,4>  vnl_matrix_fixed_ref_double_3_4;
+    typedef vnl_matrix_fixed_ref<double,4,3>  vnl_matrix_fixed_ref_double_4_3;
+    typedef vnl_matrix_fixed_ref<double,4,4>  vnl_matrix_fixed_ref_double_4_4;
+  }
+}
+
+void force_instantiate()
+{
+  using namespace _cable_::wrappers;
+  sizeof(vnl_matrix_fixed_ref_double_2_2);
+  sizeof(vnl_matrix_fixed_ref_double_2_3);
+  sizeof(vnl_matrix_fixed_ref_double_3_12);
+  sizeof(vnl_matrix_fixed_ref_double_3_3);
+  sizeof(vnl_matrix_fixed_ref_double_3_4);
+  sizeof(vnl_matrix_fixed_ref_double_4_3);
+  sizeof(vnl_matrix_fixed_ref_double_4_4);
+}
+
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_ref.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_ref.cxx
new file mode 100644
index 0000000000..7de45745f8
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_matrix_ref.cxx
@@ -0,0 +1,39 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_vnl_matrix_ref.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "vnl/vnl_matrix_ref.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(vnl_matrix_ref);
+  namespace wrappers
+  {
+    typedef vnl_matrix_ref<double> vnl_matrix_ref_double;
+    typedef vnl_matrix_ref<float>  vnl_matrix_ref_float;
+  }
+}
+
+void force_instantiate()
+{
+  using namespace _cable_::wrappers;
+  sizeof(vnl_matrix_ref_double);
+  sizeof(vnl_matrix_ref_float);
+}
+
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_vector.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_vector.cxx
new file mode 100644
index 0000000000..60807c3c48
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_vector.cxx
@@ -0,0 +1,8 @@
+#include "vcl_complex.h"
+#include "vnl/vnl_matrix.h"
+#include "vnl/vnl_vector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+ITK_WRAP_VNL(vnl_vector);
+#endif
diff --git a/Wrapping/CSwig/VXLNumerics/wrap_vnl_vector_ref.cxx b/Wrapping/CSwig/VXLNumerics/wrap_vnl_vector_ref.cxx
new file mode 100644
index 0000000000..e9aeec4252
--- /dev/null
+++ b/Wrapping/CSwig/VXLNumerics/wrap_vnl_vector_ref.cxx
@@ -0,0 +1,39 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_vnl_vector_ref.cxx,v $
+  Language:  C++
+  Date:      $Date: 2003/09/10 14:30:12 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "vnl/vnl_vector_ref.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "wrap_VXLNumerics.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(vnl_vector_ref);
+  namespace wrappers
+  {
+    typedef vnl_vector_ref<double> vnl_vector_ref_double;
+    typedef vnl_vector_ref<float>  vnl_vector_ref_float;
+  }
+}
+
+void force_instantiate()
+{
+  using namespace _cable_::wrappers;
+  sizeof(vnl_vector_ref_double);
+  sizeof(vnl_vector_ref_float);
+}
+
+#endif
diff --git a/Wrapping/CSwig/empty.depend.in b/Wrapping/CSwig/empty.depend.in
new file mode 100755
index 0000000000..e69de29bb2
diff --git a/Wrapping/CSwig/itk.swg b/Wrapping/CSwig/itk.swg
new file mode 100644
index 0000000000..dad06538e8
--- /dev/null
+++ b/Wrapping/CSwig/itk.swg
@@ -0,0 +1,39 @@
+/* This is an itk-specific typemap used by CableSwig.  Also see comments
+ * and "throws" code in CableSwig.cxx.
+ *   -- Charl P. Botha <cpbotha AT ieee.org>
+ */
+
+#ifdef SWIGPYTHON
+
+/* ------------------------------------------------------------
+ * PyObject *  - Just pass straight through unmodified
+ * This is default behaviour for python.swg, but Cable passes
+ * a PyObject * through as a "p._object", so we redo the typemap
+ * ------------------------------------------------------------ */
+  
+%typemap(in)   p._object "$1 = $input;";
+%typemap(out)  p._object "$result = $1;";
+
+#endif
+
+%include exception.i
+
+/* A "throws" attribute with the "std::exception" type is added synthetically
+ * to each method node by CableSwig.cxx.  When gcc_xml starts passing through
+ * correct throws types, this typemap could be optionally extended to
+ * account for more different types.  For now this is sufficient though.
+ */
+ 
+%typemap(throws) std::exception {
+   SWIG_exception(SWIG_RuntimeError, const_cast<char*>(_e.what()));
+}
+
+%include std_string.i
+
+/* disable this c linkage warning on windows */
+%{
+#ifdef _WIN32
+#pragma warning ( disable : 4190 )
+#pragma warning ( disable : 4049 )
+#endif
+%}
diff --git a/Wrapping/CSwig/itkCSwigBinaryBallStructuringElement.h b/Wrapping/CSwig/itkCSwigBinaryBallStructuringElement.h
new file mode 100755
index 0000000000..9409c7e6a1
--- /dev/null
+++ b/Wrapping/CSwig/itkCSwigBinaryBallStructuringElement.h
@@ -0,0 +1,19 @@
+#include "itkNeighborhood.h"
+#include "itkBinaryBallStructuringElement.h"
+
+namespace neighborhood
+{
+
+}
+
+namespace structuringElement 
+{
+  typedef itk::BinaryBallStructuringElement<float, 2 >::Self             F2;
+  typedef itk::BinaryBallStructuringElement<float, 3 >::Self             F3;
+  typedef itk::BinaryBallStructuringElement<unsigned char, 2 >::Self     UC2;
+  typedef itk::BinaryBallStructuringElement<unsigned char, 3 >::Self     UC3;
+  typedef itk::BinaryBallStructuringElement<unsigned short, 2 >::Self    US2;
+  typedef itk::BinaryBallStructuringElement<unsigned short, 3 >::Self    US3;
+}
+
+
diff --git a/Wrapping/CSwig/itkCSwigImages.h b/Wrapping/CSwig/itkCSwigImages.h
new file mode 100755
index 0000000000..921b17a7fe
--- /dev/null
+++ b/Wrapping/CSwig/itkCSwigImages.h
@@ -0,0 +1,4 @@
+// Define useful short names to aid wrapper configuration.  Only
+// define names for types that have been included by the wrapper
+// configuration file that includes this file.
+#include "otbCSwigImages.h"
diff --git a/Wrapping/CSwig/itkCSwigMacros.h b/Wrapping/CSwig/itkCSwigMacros.h
new file mode 100755
index 0000000000..09de89764a
--- /dev/null
+++ b/Wrapping/CSwig/itkCSwigMacros.h
@@ -0,0 +1,60 @@
+#include "itkConfigure.h"
+
+#define ITK_WRAP_GROUP(x) #x
+
+#define ITK_WRAP_PACKAGE_NAME(p) p
+
+// Wrap an itk object, the wrap name is itkname, 
+// this is for non-templated itk objects, so
+// ITK_WRAP_OBJECT(Object) would wrap itk::Object to the wrapped name itkObject
+#define ITK_WRAP_OBJECT(name) \
+typedef itk::name::name itk##name; \
+typedef itk::name::Pointer::SmartPointer itk##name##_Pointer
+
+// define the template class wrapper macros
+
+// Wrap an itk object with one template parameter 
+// The wrapname is the name that will be used and usually
+// encodes the template parameters, i.e. itk::Image<float, 2> would
+// itkImageF2
+
+#define ITK_WRAP_OBJECT1(name, arg1, wrapname) \
+typedef itk::name<arg1 >::name wrapname; \
+typedef itk::name<arg1 >::Pointer::SmartPointer wrapname##_Pointer 
+
+// same as ITK_WRAP_OBJECT1 but also wraps the super class 
+#define ITK_WRAP_OBJECT1_WITH_SUPERCLASS(name, arg1, wrapname) \
+ITK_WRAP_OBJECT1(name, arg1, wrapname); \
+typedef itk::name<arg1 >::Superclass::Self wrapname##_Superclass; \
+typedef itk::name<arg1 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
+// same as ITK_WRAP_OBJECT1 but for two template parameters
+#define ITK_WRAP_OBJECT2(name, arg1, arg2, wrapname) \
+typedef itk::name<arg1, arg2 >::name wrapname; \
+typedef itk::name<arg1, arg2 >::Pointer::SmartPointer wrapname##_Pointer
+
+#define ITK_WRAP_OBJECT2_WITH_SUPERCLASS(name, arg1, arg2, wrapname) \
+ITK_WRAP_OBJECT2(name, arg1, arg2, wrapname); \
+typedef itk::name<arg1,arg2 >::Superclass::Self wrapname##_Superclass; \
+typedef itk::name<arg1,arg2 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
+// same as ITK_WRAP_OBJECT2 but for three template parameters
+#define ITK_WRAP_OBJECT3(name, arg1, arg2, arg3, wrapname) \
+typedef itk::name<arg1, arg2, arg3 >::name wrapname; \
+typedef itk::name<arg1, arg2, arg3 >::Pointer::SmartPointer wrapname##_Pointer
+
+#define ITK_WRAP_OBJECT3_WITH_SUPERCLASS(name, arg1, arg2, arg3, wrapname) \
+ITK_WRAP_OBJECT3(name, arg1, arg2, arg3, wrapname); \
+typedef itk::name<arg1,arg2, arg3 >::Superclass::Self wrapname##_Superclass; \
+typedef itk::name<arg1,arg2, arg3 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
+// same as ITK_WRAP_OBJECT4 but for three template parameters
+#define ITK_WRAP_OBJECT4(name, arg1, arg2, arg3, arg4, wrapname) \
+typedef itk::name<arg1, arg2, arg3, arg4 >::name wrapname; \
+typedef itk::name<arg1, arg2, arg3, arg4 >::Pointer::SmartPointer wrapname##_Pointer
+
+#define ITK_WRAP_OBJECT4_WITH_SUPERCLASS(name, arg1, arg2, arg3, arg4, wrapname) \
+ITK_WRAP_OBJECT4(name, arg1, arg2, arg3, arg4, wrapname); \
+typedef itk::name<arg1,arg2, arg3, arg4 >::Superclass::Self wrapname##_Superclass; \
+typedef itk::name<arg1,arg2, arg3, arg4 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
diff --git a/Wrapping/CSwig/otbCSwigImages.h b/Wrapping/CSwig/otbCSwigImages.h
new file mode 100755
index 0000000000..8474cdf2bc
--- /dev/null
+++ b/Wrapping/CSwig/otbCSwigImages.h
@@ -0,0 +1,106 @@
+// Define useful short names to aid wrapper configuration.  Only
+// define names for types that have been included by the wrapper
+// configuration file that includes this file.
+
+#if defined(__itkVector_h)
+namespace itkvector
+{
+  typedef itk::Vector< float,  2>  F2;
+  typedef itk::Vector< float,  3>  F3;
+  typedef itk::Vector< double, 2>  D2;
+  typedef itk::Vector< double, 3>  D3;
+}
+#endif
+#if defined(__itkCovariantVector_h)
+namespace covariantvector
+{
+  typedef itk::CovariantVector< float,  2>  F2;
+  typedef itk::CovariantVector< float,  3>  F3;
+  typedef itk::CovariantVector< double, 2>  D2;
+  typedef itk::CovariantVector< double, 3>  D3;
+}
+#endif
+#if defined(__otbImage_h)
+namespace image
+{
+  //typedef itk::Image<bool, 2> B2;
+  //typedef itk::Image<bool, 3> B3;
+
+  typedef otb::MetaDataKey otbMetaDataKey;
+  typedef itk::MetaDataDictionary itkMetaDataDictionary;
+  typedef otb::ImageBase otbImageBase;
+  typedef otb::Image<float         , 2> F2;
+  typedef otb::Image<double        , 2> D2;
+  typedef otb::Image<unsigned char , 2> UC2;
+  typedef otb::Image<unsigned short, 2> US2;
+  typedef otb::Image<unsigned int  , 2> UI2;
+  typedef otb::Image<unsigned long , 2> UL2;
+  typedef otb::Image<signed char   , 2> SC2;
+  typedef otb::Image<signed short  , 2> SS2;
+  typedef otb::Image<signed int    , 2> SI2;
+  typedef otb::Image<signed long   , 2> SL2;
+
+
+  typedef otb::Image<float         , 3> F3;
+  typedef otb::Image<double        , 3> D3;
+  typedef otb::Image<unsigned char , 3> UC3;
+  typedef otb::Image<unsigned short, 3> US3;
+  typedef otb::Image<unsigned int  , 3> UI3;
+  typedef otb::Image<unsigned long , 3> UL3;
+  typedef otb::Image<signed char   , 3> SC3;
+  typedef otb::Image<signed short  , 3> SS3;
+  typedef otb::Image<signed int    , 3> SI3;
+  typedef otb::Image<signed long   , 3> SL3;
+}
+
+# if defined(__itkVector_h)
+namespace image
+{
+  typedef otb::Image< itkvector::F2, 2 > VF2;
+  typedef otb::Image< itkvector::F3, 3 > VF3;
+  typedef otb::Image< itkvector::F2, 2 > VD2;
+  typedef otb::Image< itkvector::F3, 3 > VD3;
+  typedef otb::Image< itkvector::F2, 2 > V2F2;
+  typedef otb::Image< itkvector::F2, 3 > V2F3;
+}
+# endif
+# if defined(__itkCovariantVector_h)
+namespace image
+{
+  typedef otb::Image< covariantvector::F2, 2 > CVF2;
+  typedef otb::Image< covariantvector::F3, 3 > CVF3;
+  typedef otb::Image< covariantvector::D2, 2 > CVD2;
+  typedef otb::Image< covariantvector::D3, 3 > CVD3;
+}
+# endif
+#endif
+#if defined (__otbVectorImage_h)
+namespace image
+{
+  typedef otb::VectorImage<float         , 2> VIF2;
+  typedef otb::VectorImage<double        , 2> VID2;
+  typedef otb::VectorImage<unsigned char , 2> VIUC2;
+  typedef otb::VectorImage<unsigned short, 2> VIUS2;
+  typedef otb::VectorImage<unsigned int  , 2> VIUI2;
+  typedef otb::VectorImage<unsigned long , 2> VIUL2;
+  typedef otb::VectorImage<signed char   , 2> VISC2;
+  typedef otb::VectorImage<signed short  , 2> VISS2;
+  typedef otb::VectorImage<signed int    , 2> VISI2;
+  typedef otb::VectorImage<signed long   , 2> VISL2;
+}
+#endif
+
+/* namespace imageslist */
+/* { */
+/* 	typedef otb::ImageList<image::F2> ILF2; */
+/*   	typedef otb::ImageList<image::D2> ILD2; */
+/* 	typedef otb::ImageList<image::UC2> ILUC2; */
+/* 	typedef otb::ImageList<image::US2> ILUS2; */
+/* 	typedef otb::ImageList<image::UI2> ILUI2; */
+/* 	typedef otb::ImageList<image::UL2> ILUL2; */
+/* 	typedef otb::ImageList<image::SC2> ILSC2; */
+/* 	typedef otb::ImageList<image::SS2> ILSS2; */
+/* 	typedef otb::ImageList<image::SL2> ILSL2; */
+/* } */
+
+
diff --git a/Wrapping/CSwig/otbCSwigImages.h~ b/Wrapping/CSwig/otbCSwigImages.h~
new file mode 100755
index 0000000000..922b5797a9
--- /dev/null
+++ b/Wrapping/CSwig/otbCSwigImages.h~
@@ -0,0 +1,104 @@
+// Define useful short names to aid wrapper configuration.  Only
+// define names for types that have been included by the wrapper
+// configuration file that includes this file.
+
+#if defined(__itkVector_h)
+namespace itkvector
+{
+  typedef itk::Vector< float,  2>  F2;
+  typedef itk::Vector< float,  3>  F3;
+  typedef itk::Vector< double, 2>  D2;
+  typedef itk::Vector< double, 3>  D3;
+}
+#endif
+#if defined(__itkCovariantVector_h)
+namespace covariantvector
+{
+  typedef itk::CovariantVector< float,  2>  F2;
+  typedef itk::CovariantVector< float,  3>  F3;
+  typedef itk::CovariantVector< double, 2>  D2;
+  typedef itk::CovariantVector< double, 3>  D3;
+}
+#endif
+#if defined(__otbImage_h)
+namespace image
+{
+  //typedef itk::Image<bool, 2> B2;
+  //typedef itk::Image<bool, 3> B3;
+
+  typedef otb::MetaDataKey otbMetaDataKey;
+  typedef itk::MetaDataDictionary itkMetaDataDictionary;
+  typedef otb::ImageBase otbImageBase;
+  typedef otb::Image<float         , 2> F2;
+  typedef otb::Image<double        , 2> D2;
+  typedef otb::Image<unsigned char , 2> UC2;
+  typedef otb::Image<unsigned short, 2> US2;
+  typedef otb::Image<unsigned int  , 2> UI2;
+  typedef otb::Image<unsigned long , 2> UL2;
+  typedef otb::Image<signed char   , 2> SC2;
+  typedef otb::Image<signed short  , 2> SS2;
+  typedef otb::Image<signed int    , 2> SI2;
+  typedef otb::Image<signed long   , 2> SL2;
+
+
+  typedef otb::Image<float         , 3> F3;
+  typedef otb::Image<double        , 3> D3;
+  typedef otb::Image<unsigned char , 3> UC3;
+  typedef otb::Image<unsigned short, 3> US3;
+  typedef otb::Image<unsigned int  , 3> UI3;
+  typedef otb::Image<unsigned long , 3> UL3;
+  typedef otb::Image<signed char   , 3> SC3;
+  typedef otb::Image<signed short  , 3> SS3;
+  typedef otb::Image<signed int    , 3> SI3;
+  typedef otb::Image<signed long   , 3> SL3;
+}
+
+# if defined(__itkVector_h)
+namespace image
+{
+  typedef otb::Image< itkvector::F2, 2 > VF2;
+  typedef otb::Image< itkvector::F3, 3 > VF3;
+  typedef otb::Image< itkvector::F2, 2 > VD2;
+  typedef otb::Image< itkvector::F3, 3 > VD3;
+  typedef otb::Image< itkvector::F2, 2 > V2F2;
+  typedef otb::Image< itkvector::F2, 3 > V2F3;
+}
+# endif
+# if defined(__itkCovariantVector_h)
+namespace image
+{
+  typedef otb::Image< covariantvector::F2, 2 > CVF2;
+  typedef otb::Image< covariantvector::F3, 3 > CVF3;
+  typedef otb::Image< covariantvector::D2, 2 > CVD2;
+  typedef otb::Image< covariantvector::D3, 3 > CVD3;
+}
+
+#if defined (__otbVectorImage_h)
+{
+  typedef otb::Image<float         , 2> VIF2;
+  typedef otb::Image<double        , 2> VID2;
+  typedef otb::Image<unsigned char , 2> VIUC2;
+  typedef otb::Image<unsigned short, 2> VIUS2;
+  typedef otb::Image<unsigned int  , 2> VIUI2;
+  typedef otb::Image<unsigned long , 2> VIUL2;
+  typedef otb::Image<signed char   , 2> VISC2;
+  typedef otb::Image<signed short  , 2> VISS2;
+  typedef otb::Image<signed int    , 2> VISI2;
+  typedef otb::Image<signed long   , 2> VISL2;
+}
+
+
+/* namespace imageslist */
+/* { */
+/* 	typedef otb::ImageList<image::F2> ILF2; */
+/*   	typedef otb::ImageList<image::D2> ILD2; */
+/* 	typedef otb::ImageList<image::UC2> ILUC2; */
+/* 	typedef otb::ImageList<image::US2> ILUS2; */
+/* 	typedef otb::ImageList<image::UI2> ILUI2; */
+/* 	typedef otb::ImageList<image::UL2> ILUL2; */
+/* 	typedef otb::ImageList<image::SC2> ILSC2; */
+/* 	typedef otb::ImageList<image::SS2> ILSS2; */
+/* 	typedef otb::ImageList<image::SL2> ILSL2; */
+/* } */
+# endif
+#endif
diff --git a/Wrapping/CSwig/otbCSwigMacros.h b/Wrapping/CSwig/otbCSwigMacros.h
new file mode 100755
index 0000000000..2bbab94fb1
--- /dev/null
+++ b/Wrapping/CSwig/otbCSwigMacros.h
@@ -0,0 +1,68 @@
+#include "otbConfigure.h"
+
+#define OTB_WRAP_GROUP(x) #x
+
+#define OTB_WRAP_PACKAGE_NAME(p) p
+
+// Wrap an otb object, the wrap name is otbname, 
+// this is for non-templated otb objects, so
+// OTB_WRAP_OBJECT(Object) would wrap otb::Object to the wrapped name otbObject
+#define OTB_WRAP_OBJECT(name) \
+typedef otb::name::name otb##name; \
+typedef otb::name::Pointer::SmartPointer otb##name##_Pointer
+
+// define the template class wrapper macros
+
+// Wrap an otb object with one template parameter 
+// The wrapname is the name that will be used and usually
+// encodes the template parameters, i.e. otb::Image<float, 2> would
+// otbImageF2
+
+#define OTB_WRAP_OBJECT1(name, arg1, wrapname) \
+typedef otb::name<arg1 >::name wrapname; \
+typedef otb::name<arg1 >::Pointer::SmartPointer wrapname##_Pointer 
+
+// same as OTB_WRAP_OBJECT1 but also wraps the super class 
+#define OTB_WRAP_OBJECT1_WITH_SUPERCLASS(name, arg1, wrapname) \
+OTB_WRAP_OBJECT1(name, arg1, wrapname); \
+typedef otb::name<arg1 >::Superclass::Self wrapname##_Superclass; \
+typedef otb::name<arg1 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
+// same as OTB_WRAP_OBJECT1 but for two template parameters
+#define OTB_WRAP_OBJECT2(name, arg1, arg2, wrapname) \
+typedef otb::name<arg1, arg2 >::name wrapname; \
+typedef otb::name<arg1, arg2 >::Pointer::SmartPointer wrapname##_Pointer
+
+#define OTB_WRAP_OBJECT2_WITH_SUPERCLASS(name, arg1, arg2, wrapname) \
+OTB_WRAP_OBJECT2(name, arg1, arg2, wrapname); \
+typedef otb::name<arg1,arg2 >::Superclass::Self wrapname##_Superclass; \
+typedef otb::name<arg1,arg2 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
+// same as OTB_WRAP_OBJECT2 but for three template parameters
+#define OTB_WRAP_OBJECT3(name, arg1, arg2, arg3, wrapname) \
+typedef otb::name<arg1, arg2, arg3 >::name wrapname; \
+typedef otb::name<arg1, arg2, arg3 >::Pointer::SmartPointer wrapname##_Pointer
+
+#define OTB_WRAP_OBJECT3_WITH_SUPERCLASS(name, arg1, arg2, arg3, wrapname) \
+OTB_WRAP_OBJECT3(name, arg1, arg2, arg3, wrapname); \
+typedef otb::name<arg1,arg2, arg3 >::Superclass::Self wrapname##_Superclass; \
+typedef otb::name<arg1,arg2, arg3 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
+// same as OTB_WRAP_OBJECT4 but for three template parameters
+#define OTB_WRAP_OBJECT4(name, arg1, arg2, arg3, arg4, wrapname) \
+typedef otb::name<arg1, arg2, arg3, arg4 >::name wrapname; \
+typedef otb::name<arg1, arg2, arg3, arg4 >::Pointer::SmartPointer wrapname##_Pointer
+
+#define OTB_WRAP_OBJECT4_WITH_SUPERCLASS(name, arg1, arg2, arg3, arg4, wrapname) \
+OTB_WRAP_OBJECT4(name, arg1, arg2, arg3, arg4, wrapname); \
+typedef otb::name<arg1,arg2, arg3, arg4 >::Superclass::Self wrapname##_Superclass; \
+typedef otb::name<arg1,arg2, arg3, arg4 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
+// Added a new macro.
+#define OTB_WRAP_OBJECT_WITHOUT_SPOINTER(name) \
+typedef otb::name::name otb##name
+
+// Added a new macro.
+#define ITK_WRAP_OBJECT_WITHOUT_SPOINTER(name) \
+typedef itk::name::name otb##name
+
diff --git a/Wrapping/CSwig/otbCSwigMacros.h~ b/Wrapping/CSwig/otbCSwigMacros.h~
new file mode 100755
index 0000000000..09de89764a
--- /dev/null
+++ b/Wrapping/CSwig/otbCSwigMacros.h~
@@ -0,0 +1,60 @@
+#include "itkConfigure.h"
+
+#define ITK_WRAP_GROUP(x) #x
+
+#define ITK_WRAP_PACKAGE_NAME(p) p
+
+// Wrap an itk object, the wrap name is itkname, 
+// this is for non-templated itk objects, so
+// ITK_WRAP_OBJECT(Object) would wrap itk::Object to the wrapped name itkObject
+#define ITK_WRAP_OBJECT(name) \
+typedef itk::name::name itk##name; \
+typedef itk::name::Pointer::SmartPointer itk##name##_Pointer
+
+// define the template class wrapper macros
+
+// Wrap an itk object with one template parameter 
+// The wrapname is the name that will be used and usually
+// encodes the template parameters, i.e. itk::Image<float, 2> would
+// itkImageF2
+
+#define ITK_WRAP_OBJECT1(name, arg1, wrapname) \
+typedef itk::name<arg1 >::name wrapname; \
+typedef itk::name<arg1 >::Pointer::SmartPointer wrapname##_Pointer 
+
+// same as ITK_WRAP_OBJECT1 but also wraps the super class 
+#define ITK_WRAP_OBJECT1_WITH_SUPERCLASS(name, arg1, wrapname) \
+ITK_WRAP_OBJECT1(name, arg1, wrapname); \
+typedef itk::name<arg1 >::Superclass::Self wrapname##_Superclass; \
+typedef itk::name<arg1 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
+// same as ITK_WRAP_OBJECT1 but for two template parameters
+#define ITK_WRAP_OBJECT2(name, arg1, arg2, wrapname) \
+typedef itk::name<arg1, arg2 >::name wrapname; \
+typedef itk::name<arg1, arg2 >::Pointer::SmartPointer wrapname##_Pointer
+
+#define ITK_WRAP_OBJECT2_WITH_SUPERCLASS(name, arg1, arg2, wrapname) \
+ITK_WRAP_OBJECT2(name, arg1, arg2, wrapname); \
+typedef itk::name<arg1,arg2 >::Superclass::Self wrapname##_Superclass; \
+typedef itk::name<arg1,arg2 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
+// same as ITK_WRAP_OBJECT2 but for three template parameters
+#define ITK_WRAP_OBJECT3(name, arg1, arg2, arg3, wrapname) \
+typedef itk::name<arg1, arg2, arg3 >::name wrapname; \
+typedef itk::name<arg1, arg2, arg3 >::Pointer::SmartPointer wrapname##_Pointer
+
+#define ITK_WRAP_OBJECT3_WITH_SUPERCLASS(name, arg1, arg2, arg3, wrapname) \
+ITK_WRAP_OBJECT3(name, arg1, arg2, arg3, wrapname); \
+typedef itk::name<arg1,arg2, arg3 >::Superclass::Self wrapname##_Superclass; \
+typedef itk::name<arg1,arg2, arg3 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
+// same as ITK_WRAP_OBJECT4 but for three template parameters
+#define ITK_WRAP_OBJECT4(name, arg1, arg2, arg3, arg4, wrapname) \
+typedef itk::name<arg1, arg2, arg3, arg4 >::name wrapname; \
+typedef itk::name<arg1, arg2, arg3, arg4 >::Pointer::SmartPointer wrapname##_Pointer
+
+#define ITK_WRAP_OBJECT4_WITH_SUPERCLASS(name, arg1, arg2, arg3, arg4, wrapname) \
+ITK_WRAP_OBJECT4(name, arg1, arg2, arg3, arg4, wrapname); \
+typedef itk::name<arg1,arg2, arg3, arg4 >::Superclass::Self wrapname##_Superclass; \
+typedef itk::name<arg1,arg2, arg3, arg4 >::Superclass::Pointer::SmartPointer wrapname##_Superclass_Pointer
+
diff --git a/Wrapping/CSwig/otbCommon/CMakeLists.txt b/Wrapping/CSwig/otbCommon/CMakeLists.txt
new file mode 100755
index 0000000000..d01baa92eb
--- /dev/null
+++ b/Wrapping/CSwig/otbCommon/CMakeLists.txt
@@ -0,0 +1,16 @@
+# create a list of cable config files for wrapping
+SET(WRAP_SOURCES
+#  wrap_itkImageSource
+  wrap_otbImage
+  wrap_otbVectorImage
+)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+
+SET(MASTER_INDEX_FILES 
+		       "${WrapOTB_BINARY_DIR}/otbCommon/OTBCommon.mdx"
+		       "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+		       "${WrapOTB_BINARY_DIR}/CommonB/ITKCommonB.mdx"
+)
+
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" OTBCommon otbCommon "ITKCommonA" "" "OTBIO;OTBCommon")
+
diff --git a/Wrapping/CSwig/otbCommon/wrap_OTBCommon.cxx b/Wrapping/CSwig/otbCommon/wrap_OTBCommon.cxx
new file mode 100644
index 0000000000..841e540c39
--- /dev/null
+++ b/Wrapping/CSwig/otbCommon/wrap_OTBCommon.cxx
@@ -0,0 +1,30 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKCommonA.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/05/10 14:37:07 $
+  Version:   $Revision: 1.3 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "otbCSwigMacros.h"
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const package = OTB_WRAP_PACKAGE_NAME(OTB_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    //ITK_WRAP_GROUP(itkImageSource),
+    OTB_WRAP_GROUP(otbImage),
+    OTB_WRAP_GROUP(otbVectorImage)
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/otbCommon/wrap_OTBCommonJava.cxx b/Wrapping/CSwig/otbCommon/wrap_OTBCommonJava.cxx
new file mode 100644
index 0000000000..f742eff7ea
--- /dev/null
+++ b/Wrapping/CSwig/otbCommon/wrap_OTBCommonJava.cxx
@@ -0,0 +1,2 @@
+#define OTB_WRAP_PACKAGE "OTBCommonJava"
+#include "wrap_OTBCommon.cxx"
diff --git a/Wrapping/CSwig/otbCommon/wrap_OTBCommonPython.cxx b/Wrapping/CSwig/otbCommon/wrap_OTBCommonPython.cxx
new file mode 100755
index 0000000000..9886e7257d
--- /dev/null
+++ b/Wrapping/CSwig/otbCommon/wrap_OTBCommonPython.cxx
@@ -0,0 +1,3 @@
+#define OTB_WRAP_PACKAGE "OTBCommonPython"
+#define OTB_PYTHON_WRAP
+#include "wrap_OTBCommon.cxx"
diff --git a/Wrapping/CSwig/otbCommon/wrap_OTBCommonTcl.cxx b/Wrapping/CSwig/otbCommon/wrap_OTBCommonTcl.cxx
new file mode 100755
index 0000000000..1e7b6d1d9a
--- /dev/null
+++ b/Wrapping/CSwig/otbCommon/wrap_OTBCommonTcl.cxx
@@ -0,0 +1,3 @@
+#define OTB_WRAP_PACKAGE "OTBCommonTcl"
+#define OTB_TCL_WRAP
+#include "wrap_OTBCommon.cxx"
diff --git a/Wrapping/CSwig/otbCommon/wrap_itkImageSource.cxx b/Wrapping/CSwig/otbCommon/wrap_itkImageSource.cxx
new file mode 100644
index 0000000000..abec225e40
--- /dev/null
+++ b/Wrapping/CSwig/otbCommon/wrap_itkImageSource.cxx
@@ -0,0 +1,43 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageSource.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkImageToImageFilter.h"
+#include "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = ITK_WRAP_GROUP(itkImageSource);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT1(ImageSource, image::VIF2 , itkImageSourceVIF2 );
+    ITK_WRAP_OBJECT1(ImageSource, image::VID2 , itkImageSourceVID2 );
+    ITK_WRAP_OBJECT1(ImageSource, image::VIUC2, itkImageSourceVIUC2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VIUS2, itkImageSourceVIUS2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VIUI2, itkImageSourceVIUI2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VIUL2, itkImageSourceVIUL2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VISC2, itkImageSourceVISC2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VISS2, itkImageSourceVISS2);
+    ITK_WRAP_OBJECT1(ImageSource, image::VISI2, itkImageSourceVISI2);
+
+  }
+}
+#endif
diff --git a/Wrapping/CSwig/otbCommon/wrap_otbImage.cxx b/Wrapping/CSwig/otbCommon/wrap_otbImage.cxx
new file mode 100644
index 0000000000..7c45c73059
--- /dev/null
+++ b/Wrapping/CSwig/otbCommon/wrap_otbImage.cxx
@@ -0,0 +1,50 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImage_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+#include "otbCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = OTB_WRAP_GROUP(otbImage);
+  namespace wrappers
+  {
+    typedef otb::ImageBase otbImageBase;
+    typedef itk::MetaDataDictionary itkMetaDataDictionary;
+    typedef otb::MetaDataKey otbMetaDataKey;
+    OTB_WRAP_OBJECT2(Image, float, 2, otbImageF2);
+    OTB_WRAP_OBJECT2(Image, double, 2, otbImageD2);
+    OTB_WRAP_OBJECT2(Image, unsigned char, 2, otbImageUC2);
+    OTB_WRAP_OBJECT2(Image, unsigned short, 2, otbImageUS2);
+    OTB_WRAP_OBJECT2(Image, unsigned int, 2, otbImageUI2);
+    OTB_WRAP_OBJECT2(Image, unsigned long, 2, otbImageUL2);
+    OTB_WRAP_OBJECT2(Image, signed char, 2, otbImageSC2);
+    OTB_WRAP_OBJECT2(Image, signed short, 2, otbImageSS2);
+    OTB_WRAP_OBJECT2(Image, signed int, 2, otbImageSI2);
+    OTB_WRAP_OBJECT2(Image, itkvector::F2, 2, otbImageVF2);
+    OTB_WRAP_OBJECT2(Image, itkvector::D2, 2, otbImageVD2);
+    OTB_WRAP_OBJECT2(Image, covariantvector::F2, 2, otbImageCVF2);
+    OTB_WRAP_OBJECT2(Image, covariantvector::D2, 2, otbImageCVD2);
+   }
+}
+
+#endif
diff --git a/Wrapping/CSwig/otbCommon/wrap_otbVectorImage.cxx b/Wrapping/CSwig/otbCommon/wrap_otbVectorImage.cxx
new file mode 100644
index 0000000000..4abce5c46b
--- /dev/null
+++ b/Wrapping/CSwig/otbCommon/wrap_otbVectorImage.cxx
@@ -0,0 +1,48 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImage_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/04/01 16:30:14 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "itkVector.h"
+#include "itkCovariantVector.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "itkCSwigImages.h"
+#include "itkCSwigMacros.h"
+#include "otbCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const group = OTB_WRAP_GROUP(otbVectorImage);
+  namespace wrappers
+  {
+    OTB_WRAP_OBJECT2(VectorImage, float, 2, otbVectorImageF2);
+    OTB_WRAP_OBJECT2(VectorImage, double, 2, otbVectorImageD2);
+    OTB_WRAP_OBJECT2(VectorImage, unsigned char, 2, otbVectorImageUC2);
+    OTB_WRAP_OBJECT2(VectorImage, unsigned short, 2, otbVectorImageUS2);
+    OTB_WRAP_OBJECT2(VectorImage, unsigned int, 2, otbVectorImageUI2);
+    OTB_WRAP_OBJECT2(VectorImage, unsigned long, 2, otbVectorImageUL2);
+    OTB_WRAP_OBJECT2(VectorImage, signed char, 2, otbVectorImageSC2);
+    OTB_WRAP_OBJECT2(VectorImage, signed short, 2, otbVectorImageSS2);
+    OTB_WRAP_OBJECT2(VectorImage, signed int, 2, otbVectorImageSI2);
+    OTB_WRAP_OBJECT2(VectorImage, itkvector::F2, 2, otbVectorImageVF2);
+    OTB_WRAP_OBJECT2(VectorImage, itkvector::D2, 2, otbVectorImageVD2);
+    OTB_WRAP_OBJECT2(VectorImage, covariantvector::F2, 2, otbVectorImageCVF2);
+    OTB_WRAP_OBJECT2(VectorImage, covariantvector::D2, 2, otbVectorImageCVD2);
+   }
+}
+
+#endif
diff --git a/Wrapping/CSwig/otbIO/CMakeLists.txt b/Wrapping/CSwig/otbIO/CMakeLists.txt
new file mode 100755
index 0000000000..721b7aa437
--- /dev/null
+++ b/Wrapping/CSwig/otbIO/CMakeLists.txt
@@ -0,0 +1,18 @@
+# create the OTBIOTcl libraries
+SET(WRAP_SOURCES
+    wrap_otbIOBase
+    wrap_otbImageFileReader
+    wrap_otbImageFileWriter
+)
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx"
+#                       "${WrapOTB_BINARY_DIR}/Numerics/ITKNumerics.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+                       "${WrapOTB_BINARY_DIR}/CommonB/ITKCommonB.mdx"
+#                       "${WrapOTB_BINARY_DIR}/BasicFiltersA/ITKBasicFiltersA.mdx"
+#                       "${WrapOTB_BINARY_DIR}/BasicFiltersB/ITKBasicFiltersB.mdx"
+		       "${WrapOTB_BINARY_DIR}/IO/ITKIO.mdx"
+                       "${WrapOTB_BINARY_DIR}/otbIO/OTBIO.mdx"
+                       "${WrapOTB_BINARY_DIR}/otbCommon/OTBCommon.mdx"
+)
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" OTBIO otbIO "OTBCommon;ITKIO;ITKCommonA;ITKCommonB" "" "OTBIO;ITKIO;ITKCommon;OTBCommon")
+
diff --git a/Wrapping/CSwig/otbIO/wrap_OTBIO.cxx b/Wrapping/CSwig/otbIO/wrap_OTBIO.cxx
new file mode 100644
index 0000000000..16f037327a
--- /dev/null
+++ b/Wrapping/CSwig/otbIO/wrap_OTBIO.cxx
@@ -0,0 +1,30 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKIO.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/15 14:42:45 $
+  Version:   $Revision: 1.9 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "otbCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const package = OTB_WRAP_PACKAGE_NAME(OTB_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    OTB_WRAP_GROUP(otbIOBase),
+    OTB_WRAP_GROUP(otbImageFileReader),
+    OTB_WRAP_GROUP(otbImageFileWriter),
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/otbIO/wrap_OTBIOJava.cxx b/Wrapping/CSwig/otbIO/wrap_OTBIOJava.cxx
new file mode 100755
index 0000000000..50d3938d2d
--- /dev/null
+++ b/Wrapping/CSwig/otbIO/wrap_OTBIOJava.cxx
@@ -0,0 +1,3 @@
+#define OTB_WRAP_PACKAGE "OTBIOJava"
+#define OTB_JAVA_WRAP
+#include "wrap_OTBIO.cxx"
diff --git a/Wrapping/CSwig/otbIO/wrap_OTBIOPython.cxx b/Wrapping/CSwig/otbIO/wrap_OTBIOPython.cxx
new file mode 100755
index 0000000000..cb46c2b1ed
--- /dev/null
+++ b/Wrapping/CSwig/otbIO/wrap_OTBIOPython.cxx
@@ -0,0 +1,2 @@
+#define OTB_WRAP_PACKAGE "OTBIOPython"
+#include "wrap_OTBIO.cxx"
diff --git a/Wrapping/CSwig/otbIO/wrap_OTBIOTcl.cxx b/Wrapping/CSwig/otbIO/wrap_OTBIOTcl.cxx
new file mode 100755
index 0000000000..3cc44c8eca
--- /dev/null
+++ b/Wrapping/CSwig/otbIO/wrap_OTBIOTcl.cxx
@@ -0,0 +1,3 @@
+#define OTB_WRAP_PACKAGE "OTBIOTcl"
+#define OTB_TCL_WRAP
+#include "wrap_OTBIO.cxx"
diff --git a/Wrapping/CSwig/otbIO/wrap_otbIOBase.cxx b/Wrapping/CSwig/otbIO/wrap_otbIOBase.cxx
new file mode 100644
index 0000000000..2655223027
--- /dev/null
+++ b/Wrapping/CSwig/otbIO/wrap_otbIOBase.cxx
@@ -0,0 +1,52 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_IOBase.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/08/12 23:02:58 $
+  Version:   $Revision: 1.6 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "otbBSQImageIOFactory.h"
+#include "otbBSQImageIO.h"
+#include "otbGDALImageIOFactory.h"
+#include "otbGDALImageIO.h"
+#include "otbImageIOFactory.h"
+#include "otbLUMImageIOFactory.h"
+#include "otbLUMImageIO.h"
+#include "otbMSTARImageIOFactory.h"
+#include "otbMSTARImageIO.h"
+#include "otbONERAImageIOFactory.h"
+#include "otbONERAImageIO.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "otbCSwigMacros.h"
+#include "itkCSwigMacros.h"
+namespace _cable_
+{
+  const char* const group = OTB_WRAP_GROUP(otbIOBase);
+  namespace wrappers
+  {
+    ITK_WRAP_OBJECT(ImageIOFactory);
+    OTB_WRAP_OBJECT(BSQImageIOFactory);
+    OTB_WRAP_OBJECT(BSQImageIO);
+    OTB_WRAP_OBJECT(GDALImageIOFactory);
+    OTB_WRAP_OBJECT(GDALImageIO);
+    OTB_WRAP_OBJECT(ImageIOFactory);
+    OTB_WRAP_OBJECT(LUMImageIOFactory);
+    OTB_WRAP_OBJECT(LUMImageIO);
+    OTB_WRAP_OBJECT(MSTARImageIOFactory);
+    OTB_WRAP_OBJECT(MSTARImageIO);
+    OTB_WRAP_OBJECT(ONERAImageIOFactory);
+    OTB_WRAP_OBJECT(ONERAImageIO);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/otbIO/wrap_otbImageFileReader.cxx b/Wrapping/CSwig/otbIO/wrap_otbImageFileReader.cxx
new file mode 100644
index 0000000000..85154fc688
--- /dev/null
+++ b/Wrapping/CSwig/otbIO/wrap_otbImageFileReader.cxx
@@ -0,0 +1,51 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageFileReader_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/03 08:39:17 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "otbImageFileReader.h"
+#include "otbImage.h"
+#include "otbVectorImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "otbCSwigMacros.h"
+#include "otbCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = OTB_WRAP_GROUP(otbImageFileReader);
+  namespace wrappers
+  {
+    OTB_WRAP_OBJECT1(ImageFileReader, image::F2, otbImageFileReaderF2);
+    OTB_WRAP_OBJECT1(ImageFileReader, image::VF2, otbImageFileReaderVF2);
+    OTB_WRAP_OBJECT1(ImageFileReader, image::D2, otbImageFileReaderD2);
+    OTB_WRAP_OBJECT1(ImageFileReader, image::UC2, otbImageFileReaderUC2);
+    OTB_WRAP_OBJECT1(ImageFileReader, image::US2, otbImageFileReaderUS2);
+    OTB_WRAP_OBJECT1(ImageFileReader, image::UL2, otbImageFileReaderUL2);
+    OTB_WRAP_OBJECT1(ImageFileReader, image::UI2, otbImageFileReaderUI2);
+    OTB_WRAP_OBJECT1(ImageFileReader, image::SS2, otbImageFileReaderSS2);
+    OTB_WRAP_OBJECT1(ImageFileReader, image::SI2, otbImageFileReaderSI2);
+    // Vector images reader
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileReader, image::VIF2, otbImageFileReaderVIF2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileReader, image::VID2, otbImageFileReaderVID2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileReader, image::VIUC2, otbImageFileReaderVIUC2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileReader, image::VIUS2, otbImageFileReaderVIUS2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileReader, image::VIUL2, otbImageFileReaderVIUL2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileReader, image::VIUI2, otbImageFileReaderVIUI2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileReader, image::VISS2, otbImageFileReaderVISS2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileReader, image::VISI2, otbImageFileReaderVISI2);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/otbIO/wrap_otbImageFileWriter.cxx b/Wrapping/CSwig/otbIO/wrap_otbImageFileWriter.cxx
new file mode 100644
index 0000000000..2e05a8a773
--- /dev/null
+++ b/Wrapping/CSwig/otbIO/wrap_otbImageFileWriter.cxx
@@ -0,0 +1,52 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageFileWriter_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/03 08:39:17 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "otbImageFileWriter.h"
+#include "otbImage.h"
+#include "otbVectorImage.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "otbCSwigMacros.h"
+#include "otbCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = OTB_WRAP_GROUP(otbImageFileWriter);
+  namespace wrappers
+  {
+    OTB_WRAP_OBJECT1(ImageFileWriter, image::F2, otbImageFileWriterF2);
+    OTB_WRAP_OBJECT1(ImageFileWriter, image::VF2, otbImageFileWriterVF2);     
+    OTB_WRAP_OBJECT1(ImageFileWriter, image::D2, otbImageFileWriterD2);
+    OTB_WRAP_OBJECT1(ImageFileWriter, image::UC2, otbImageFileWriterUC2);
+    OTB_WRAP_OBJECT1(ImageFileWriter, image::US2, otbImageFileWriterUS2);
+    OTB_WRAP_OBJECT1(ImageFileWriter, image::UL2, otbImageFileWriterUL2);
+    OTB_WRAP_OBJECT1(ImageFileWriter, image::UI2, otbImageFileWriterUI2);
+    OTB_WRAP_OBJECT1(ImageFileWriter, image::SS2, otbImageFileWriterSS2);
+    OTB_WRAP_OBJECT1(ImageFileWriter, image::SI2, otbImageFileWriterSI2);
+
+    // Vector images writer
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileWriter, image::VIF2, otbImageFileWriterVIF2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileWriter, image::VID2, otbImageFileWriterVID2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileWriter, image::VIUC2, otbImageFileWriterVIUC2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileWriter, image::VIUS2, otbImageFileWriterVIUS2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileWriter, image::VIUL2, otbImageFileWriterVIUL2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileWriter, image::VIUI2, otbImageFileWriterVIUI2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileWriter, image::VISS2, otbImageFileWriterVISS2);
+    OTB_WRAP_OBJECT1_WITH_SUPERCLASS(ImageFileWriter, image::VISI2, otbImageFileWriterVISI2);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/otbVisu/CMakeLists.txt b/Wrapping/CSwig/otbVisu/CMakeLists.txt
new file mode 100755
index 0000000000..a28f163090
--- /dev/null
+++ b/Wrapping/CSwig/otbVisu/CMakeLists.txt
@@ -0,0 +1,16 @@
+# create the OTBIOTcl libraries
+SET(WRAP_SOURCES
+    wrap_otbImageViewer
+)
+SET(MASTER_INDEX_FILES "${WrapOTB_BINARY_DIR}/VXLNumerics/VXLNumerics.mdx"
+#                       "${WrapOTB_BINARY_DIR}/Numerics/ITKNumerics.mdx"
+#                       "${WrapOTB_BINARY_DIR}/CommonA/ITKCommonA.mdx"
+#                       "${WrapOTB_BINARY_DIR}/CommonB/ITKCommonB.mdx"
+#                       "${WrapOTB_BINARY_DIR}/BasicFiltersA/ITKBasicFiltersA.mdx"
+#                       "${WrapOTB_BINARY_DIR}/BasicFiltersB/ITKBasicFiltersB.mdx"
+#		       "${WrapOTB_BINARY_DIR}/IO/ITKIO.mdx"
+                       "${WrapOTB_BINARY_DIR}/otbVisu/OTBVisu.mdx"
+)
+ITK_WRAP_LIBRARY("${WRAP_SOURCES}" OTBVisu otbVisu "" ""
+"OTBVisu;OTBGui;OTBIO;OTBCommon")
+
diff --git a/Wrapping/CSwig/otbVisu/wrap_OTBVisu.cxx b/Wrapping/CSwig/otbVisu/wrap_OTBVisu.cxx
new file mode 100644
index 0000000000..58a6e18249
--- /dev/null
+++ b/Wrapping/CSwig/otbVisu/wrap_OTBVisu.cxx
@@ -0,0 +1,28 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_ITKIO.cxx,v $
+  Language:  C++
+  Date:      $Date: 2004/04/15 14:42:45 $
+  Version:   $Revision: 1.9 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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.
+
+=========================================================================*/
+#ifdef CABLE_CONFIGURATION
+#include "otbCSwigMacros.h"
+
+namespace _cable_
+{
+  const char* const package = OTB_WRAP_PACKAGE_NAME(OTB_WRAP_PACKAGE);
+  const char* const groups[] =
+  {
+    OTB_WRAP_GROUP(otbImageViewer),
+  };
+}
+#endif
diff --git a/Wrapping/CSwig/otbVisu/wrap_OTBVisuJava.cxx b/Wrapping/CSwig/otbVisu/wrap_OTBVisuJava.cxx
new file mode 100755
index 0000000000..3138c6ef27
--- /dev/null
+++ b/Wrapping/CSwig/otbVisu/wrap_OTBVisuJava.cxx
@@ -0,0 +1,3 @@
+#define OTB_WRAP_PACKAGE "OTBVisuJava"
+#define OTB_JAVA_WRAP
+#include "wrap_OTBVisu.cxx"
diff --git a/Wrapping/CSwig/otbVisu/wrap_OTBVisuPython.cxx b/Wrapping/CSwig/otbVisu/wrap_OTBVisuPython.cxx
new file mode 100755
index 0000000000..b5ca06a225
--- /dev/null
+++ b/Wrapping/CSwig/otbVisu/wrap_OTBVisuPython.cxx
@@ -0,0 +1,2 @@
+#define OTB_WRAP_PACKAGE "OTBVisuPython"
+#include "wrap_OTBVisu.cxx"
diff --git a/Wrapping/CSwig/otbVisu/wrap_OTBVisuTcl.cxx b/Wrapping/CSwig/otbVisu/wrap_OTBVisuTcl.cxx
new file mode 100755
index 0000000000..083651dff4
--- /dev/null
+++ b/Wrapping/CSwig/otbVisu/wrap_OTBVisuTcl.cxx
@@ -0,0 +1,3 @@
+#define OTB_WRAP_PACKAGE "OTBVisuTcl"
+#define OTB_TCL_WRAP
+#include "wrap_OTBVisu.cxx"
diff --git a/Wrapping/CSwig/otbVisu/wrap_otbImageViewer.cxx b/Wrapping/CSwig/otbVisu/wrap_otbImageViewer.cxx
new file mode 100644
index 0000000000..c6653c0b1e
--- /dev/null
+++ b/Wrapping/CSwig/otbVisu/wrap_otbImageViewer.cxx
@@ -0,0 +1,39 @@
+/*=========================================================================
+
+  Program:   Insight Segmentation & Registration Toolkit
+  Module:    $RCSfile: wrap_itkImageFileReader_2D.cxx,v $
+  Language:  C++
+  Date:      $Date: 2005/06/03 08:39:17 $
+  Version:   $Revision: 1.2 $
+
+  Copyright (c) Insight Software Consortium. All rights reserved.
+  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm 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 "otbImageViewer.h"
+
+#ifdef CABLE_CONFIGURATION
+#include "otbCSwigMacros.h"
+#include "otbCSwigImages.h"
+
+namespace _cable_
+{
+  const char* const group = OTB_WRAP_GROUP(otbImageViewer);
+  namespace wrappers
+  {
+    OTB_WRAP_OBJECT1(ImageViewer,float, otbImageViewerVIF2);
+    OTB_WRAP_OBJECT1(ImageViewer,double, otbImageViewerVID2);
+    OTB_WRAP_OBJECT1(ImageViewer,unsigned char, otbImageViewerVIUC2);
+    OTB_WRAP_OBJECT1(ImageViewer,unsigned short, otbImageViewerVIUS2);
+    OTB_WRAP_OBJECT1(ImageViewer,unsigned long , otbImageViewerVIUL2);
+    OTB_WRAP_OBJECT1(ImageViewer,unsigned int, otbImageViewerVIUI2);
+    OTB_WRAP_OBJECT1(ImageViewer,signed short, otbImageViewerVISS2);
+    OTB_WRAP_OBJECT1(ImageViewer,signed int, otbImageViewerVISI2);
+  }
+}
+
+#endif
diff --git a/Wrapping/CSwig/pythonfiles.sh.in b/Wrapping/CSwig/pythonfiles.sh.in
new file mode 100644
index 0000000000..7fbfb6df67
--- /dev/null
+++ b/Wrapping/CSwig/pythonfiles.sh.in
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+SRC="@EXECUTABLE_OUTPUT_PATH@"
+DST="@CMAKE_INSTALL_PREFIX@@ITK_INSTALL_LIB_DIR@"
+
+cp "${SRC}"/*.py "${DESTDIR}${DST}" >/dev/null 2>&1
+
+echo "pythonfiles.sh"
diff --git a/Wrapping/CSwig/pythonfiles_install.cmake.in b/Wrapping/CSwig/pythonfiles_install.cmake.in
new file mode 100644
index 0000000000..db3aa870f3
--- /dev/null
+++ b/Wrapping/CSwig/pythonfiles_install.cmake.in
@@ -0,0 +1,6 @@
+FILE(GLOB ITK_PYTHON_FILES "@EXECUTABLE_OUTPUT_PATH@/*.py")
+MESSAGE(STATUS "Installing generated python files.")
+FILE(INSTALL
+  DESTINATION "@CMAKE_INSTALL_PREFIX@@ITK_INSTALL_LIB_DIR@"
+  TYPE FILE
+  FILES ${ITK_PYTHON_FILES})
diff --git a/Wrapping/CSwig/swapItkAndOtbImages.py b/Wrapping/CSwig/swapItkAndOtbImages.py
new file mode 100755
index 0000000000..38c1d122e5
--- /dev/null
+++ b/Wrapping/CSwig/swapItkAndOtbImages.py
@@ -0,0 +1,14 @@
+#!/usr/bin/python
+import fileinput,glob,string,sys,os
+from os.path import join
+
+path = join(sys.argv[1],"*")
+
+files = glob.glob(path+"*.cxx")
+for line in fileinput.input(files,inplace=1):
+    lineno = 0
+    lineno = string.find(line,"itkImage.h")
+    if(lineno>0):
+        line=line.replace("itkImage.h","otbImage.h")
+    sys.stdout.write(line)
+    
diff --git a/Wrapping/otbWrapSetup.cmake b/Wrapping/otbWrapSetup.cmake
new file mode 100644
index 0000000000..058561fa45
--- /dev/null
+++ b/Wrapping/otbWrapSetup.cmake
@@ -0,0 +1,67 @@
+#-----------------------------------------------------------------------------
+# wrapper config
+OPTION(OTB_CSWIG_TCL "Build cswig Tcl wrapper support (requires CableSwig)." OFF)
+OPTION(OTB_CSWIG_PYTHON "Build cswig Python wrapper support (requires CableSwig)." OFF)
+OPTION(OTB_CSWIG_JAVA "Build cswig Java wrapper support " OFF)
+
+# perl support does not work, contact bill hoffman at kitware
+# if you are interested in perl wrapping.  It is close, but
+# not there yet.
+#OPTION(OTB_CSWIG_PERL "Build cswig Perl wrapper support " OFF)
+
+#-----------------------------------------------------------------------------
+# Do we need CableSwig?
+SET(OTB_NEED_CableSwig 0)
+
+IF(USE_WRAP_OTB)
+  SET(OTB_NEED_CableSwig 1)
+ENDIF(USE_WRAP_OTB)
+
+IF(OTB_CSWIG_TCL)
+  SET(OTB_NEED_CableSwig 1)
+ENDIF(OTB_CSWIG_TCL)
+
+IF(OTB_CSWIG_PYTHON)
+SET(OTB_NEED_CableSwig 1)
+ENDIF(OTB_CSWIG_PYTHON)
+
+IF(OTB_CSWIG_JAVA)
+  SET(OTB_NEED_CableSwig 1)
+ENDIF(OTB_CSWIG_JAVA)
+
+IF(OTB_CSWIG_PERL)
+  SET(OTB_NEED_CableSwig 1)
+ENDIF(OTB_CSWIG_PERL)
+
+IF(OTB_NEED_CableSwig)
+
+  IF(NOT BUILD_SHARED_LIBS)
+    MESSAGE(FATAL_ERROR "Wrapping requires a shared build, change BUILD_SHARED_LIBS to ON")
+  ENDIF(NOT BUILD_SHARED_LIBS)
+
+  # Search first if CableSwig is in the OTB source tree
+  IF(EXISTS ${OTB_SOURCE_DIR}/Utilities/CableSwig)
+    SET(CMAKE_MODULE_PATH ${OTB_SOURCE_DIR}/Utilities/CableSwig/SWIG/CMake)
+
+    # CableSwig is included in the source distribution.
+    SET(OTB_BUILD_CABLESWIG 1)
+    SET(CableSwig_DIR ${OTB_BINARY_DIR}/Utilities/CableSwig CACHE PATH "CableSwig_DIR: The directory containing CableSwigConfig.cmake.")
+    SET(CableSwig_FOUND 1)
+    SET(CableSwig_INSTALL_ROOT ${OTB_INSTALL_LIB_DIR}/CSwig)
+    INCLUDE(${CableSwig_DIR}/CableSwigConfig.cmake OPTIONAL) 
+    SUBDIRS(Utilities/CableSwig)
+  ELSE(EXISTS ${OTB_SOURCE_DIR}/Utilities/CableSwig)
+    # If CableSwig is not in the source tree, 
+    # then try to find a binary build of CableSwig
+    FIND_PACKAGE(CableSwig)
+    SET(CMAKE_MODULE_PATH ${CableSwig_DIR}/SWIG/CMake)
+  ENDIF(EXISTS ${OTB_SOURCE_DIR}/Utilities/CableSwig)
+ 
+  IF(NOT CableSwig_FOUND)
+    # We have not found CableSwig.  Complain.
+    MESSAGE(FATAL_ERROR "CableSwig is required for CSwig Wrapping.")
+  ENDIF(NOT CableSwig_FOUND)
+
+ENDIF(OTB_NEED_CableSwig)
+
+
-- 
GitLab