<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Change SYSTEM "https://itk.org/migrationv4/ITKMigration.dtd">

<!--**
**
** DeformationToDisplacement.xml
**
** Please, make sure this file validates the following w3c test before committing it: http://validator.w3.org
**-->
<Change>
    <!--**
    ** Title for the online migration page
    **-->
    <Title>
      Deformation To Displacement
    </Title>

    <!--**
    ** The author of the change
    **-->
    <Author>
      Matt McCormick
    </Author>

    <!--**
    ** Date of creation for the XML document
    **-->
    <Date>
      2011-08-23
    </Date>

    <!--**
    ** Plain text description of the change
    ** Extracted from git commit messages
    **-->
    <Description>
      Rename ITKDeformationField module to ITKDisplacementField.
      This patch uses the term &apos;Displacement&apos; consistently, when appropriate, and as a
      precise replacement for the more ambiguous term &apos;Deformation&apos;.  For the
      distinction, see the class documentation of DeformationFieldJacobianDeterminant
      and DisplacementFieldJacobianDeterminant, or the following from Wikipedia:

      &quot;Deformation in continuum mechanics is the transformation of a body from a
      reference configuration to a current configuration.[1] A configuration is a set
      containing the positions of all particles of the body. Contrary to the common
      definition of deformation, which implies distortion or change in shape, the
      continuum mechanics definition includes rigid body motions where shape changes
      do not take place [... deformation can mean strains, rigid body motion, or
      displacements.  Displacement is ] the vector joining the positions of a
      particle P in the undeformed configuration and deformed configuration is called
      the displacement vector u(X,t) = uiei in the Lagrangian description, or U(x,t) =
      UJEJ in the Eulerian description.

      This brings the terminology in line with that found in any mechanics textbook.
    </Description>

    <!--**
    ** Sample code snippets
    ** Extracted from git diff of changed files in Examples and Testing
    **-->
    <SampleCode>
      <Old>
        <![CDATA[
        typedef   itk::Image&amp;lt; VectorPixelType,  Dimension &gt;   DeformationFieldType;
        typedef   itk::ImageFileReader&amp;lt; DeformationFieldType &gt;  FieldReaderType;
        DeformationFieldType::ConstPointer deformationField = fieldReader-&gt;GetOutput();
        DeformationFieldType  &gt;  FilterType;
        filter-&gt;SetDeformationField( deformationField );
        ]]>
      </Old>

      <New>
        <![CDATA[
        typedef   itk::Image&amp;lt; VectorPixelType,  Dimension &gt;   DisplacementFieldType;
        typedef   itk::ImageFileReader&amp;lt; DisplacementFieldType &gt;  FieldReaderType;
        DisplacementFieldType::ConstPointer deformationField = fieldReader-&gt;GetOutput();
        DisplacementFieldType  &gt;  FilterType;
        filter-&gt;SetDisplacementField( deformationField );
        ]]>
      </New>

    </SampleCode>

    <SampleCode>
      <Old>
        <![CDATA[
        typedef itk::Image&amp;lt;  VectorPixelType, Dimension &gt; DeformationFieldType;
        DeformationFieldType,
        itk::FastSymmetricForcesDemonsRegistrationFunction&amp;lt;InternalImageType,InternalImageType,DeformationFieldType&gt; &gt;   RegistrationFilterType;
        typedef itk::Image&amp;lt;  VectorPixelType, Dimension &gt; DeformationFieldType;
        DeformationFieldType,
        itk::FastSymmetricForcesDemonsRegistrationFunction&amp;lt;InternalImageType,InternalImageType,DeformationFieldType&gt; &gt;   RegistrationFilterType;
        DeformationFieldType &gt;   MultiResRegistrationFilterType;
        DeformationFieldType  &gt;     WarperType;
        warper-&gt;SetDeformationField( multires-&gt;GetOutput() );
        typedef itk::ImageFileWriter&amp;lt; DeformationFieldType &gt; FieldWriterType;
        ]]>
      </Old>

      <New>
        <![CDATA[
        typedef itk::Image&amp;lt;  VectorPixelType, Dimension &gt; DisplacementFieldType;
        DisplacementFieldType,
        itk::FastSymmetricForcesDemonsRegistrationFunction&amp;lt;InternalImageType,InternalImageType,DisplacementFieldType&gt; &gt;   RegistrationFilterType;
        typedef itk::Image&amp;lt;  VectorPixelType, Dimension &gt; DisplacementFieldType;
        DisplacementFieldType,
        itk::FastSymmetricForcesDemonsRegistrationFunction&amp;lt;InternalImageType,InternalImageType,DisplacementFieldType&gt; &gt;   RegistrationFilterType;
        DisplacementFieldType &gt;   MultiResRegistrationFilterType;
        DisplacementFieldType  &gt;     WarperType;
        warper-&gt;SetDisplacementField( multires-&gt;GetOutput() );
        typedef itk::ImageFileWriter&amp;lt; DisplacementFieldType &gt; FieldWriterType;
        ]]>
      </New>

    </SampleCode>

    <SampleCode>
      <Old>
        <![CDATA[
        typedef itk::Image&amp;lt; VectorPixelType, 2 &gt; DeformationFieldType;
        InternalImageType, DeformationFieldType&gt; RegistrationFilterType;
        typedef itk::Image&amp;lt; VectorPixelType, Dimension &gt; DeformationFieldType;
        DeformationFieldType&gt;         RegistrationFilterType;
        DeformationFieldType &gt;       MultiResRegistrationFilterType;
        typedef itk::WarpImageFilter&amp;lt; ImageType, ImageType, DeformationFieldType &gt; WarperType;
        warper-&gt;SetDeformationField( multires-&gt;GetOutput() );
        typedef itk::ImageFileWriter&amp;lt; DeformationFieldType &gt;  DeformationWriterType;
        ]]>
      </Old>

      <New>
        <![CDATA[
        typedef itk::Image&amp;lt; VectorPixelType, 2 &gt; DisplacementFieldType;
        InternalImageType, DisplacementFieldType&gt; RegistrationFilterType;
        typedef itk::Image&amp;lt; VectorPixelType, Dimension &gt; DisplacementFieldType;
        DisplacementFieldType&gt;         RegistrationFilterType;
        DisplacementFieldType &gt;       MultiResRegistrationFilterType;
        typedef itk::WarpImageFilter&amp;lt; ImageType, ImageType, DisplacementFieldType &gt; WarperType;
        warper-&gt;SetDisplacementField( multires-&gt;GetOutput() );
        typedef itk::ImageFileWriter&amp;lt; DisplacementFieldType &gt;  DeformationWriterType;
        ]]>
      </New>

    </SampleCode>


    <SampleCode>
      <Old>
        <![CDATA[
        #include &quot;itkDeformationFieldSource.h&quot;
        typedef   itk::Image&amp;lt; VectorType,  Dimension &gt;   DeformationFieldType;
        typedef itk::DeformationFieldSource&amp;lt;
        DeformationFieldType
        &gt;  DeformationSourceType;
        DeformationSourceType::Pointer deformer = DeformationSourceType::New();
        typedef DeformationSourceType::LandmarkContainerPointer   LandmarkContainerPointer;
        typedef DeformationSourceType::LandmarkContainer          LandmarkContainerType;
        typedef DeformationSourceType::LandmarkPointType          LandmarkPointType;
        DeformationFieldType::ConstPointer deformationField = deformer-&gt;GetOutput();
        DeformationFieldType  &gt;  FilterType;
        warper-&gt;SetOutputSpacing( deformationField-&gt;GetSpacing() );
        warper-&gt;SetOutputOrigin(  deformationField-&gt;GetOrigin() );
        warper-&gt;SetDeformationField( deformationField );

        ]]>
      </Old>

      <New>
        <![CDATA[
        #include &quot;itkLandmarkDisplacementFieldSource.h&quot;
        typedef   itk::Image&amp;lt; VectorType,  Dimension &gt;   DisplacementFieldType;
        typedef itk::LandmarkDisplacementFieldSource&amp;lt;
        DisplacementFieldType
        &gt;  DisplacementSourceType;
        DisplacementSourceType::Pointer deformer = DisplacementSourceType::New();
        typedef DisplacementSourceType::LandmarkContainerPointer   LandmarkContainerPointer;
        typedef DisplacementSourceType::LandmarkContainer          LandmarkContainerType;
        typedef DisplacementSourceType::LandmarkPointType          LandmarkPointType;
        DisplacementFieldType::ConstPointer displacementField = deformer-&gt;GetOutput();
        DisplacementFieldType  &gt;  FilterType;
        warper-&gt;SetOutputSpacing( displacementField-&gt;GetSpacing() );
        warper-&gt;SetOutputOrigin(  displacementField-&gt;GetOrigin() );
        warper-&gt;SetDisplacementField( displacementField );
        ]]>
      </New>

    </SampleCode>

    <!--**
    ** The change-ids for all commits in the topic branch
    **-->
    <Gerrit-ChangeId>
      If77d4ac31e2cac791efa98a8e9d660092fe15298
    </Gerrit-ChangeId>

    <!--**
    ** List of all changed files from the topic branch
    **-->
    <FileList>
      Documentation/Migration/BSplineRegistrationRefactoring.xml
      Documentation/Migration/RemoveConstantOperationFilters.xml
      Examples/Filtering/WarpImageFilter1.cxx
      Examples/Registration/BSplineWarping1.cxx
      Examples/Registration/BSplineWarping2.cxx
      Examples/Registration/CMakeLists.txt
      Examples/Registration/DeformableRegistration10.cxx
      Examples/Registration/DeformableRegistration12.cxx
      Examples/Registration/DeformableRegistration13.cxx
      Examples/Registration/DeformableRegistration14.cxx
      Examples/Registration/DeformableRegistration15.cxx
      Examples/Registration/DeformableRegistration16.cxx
      Examples/Registration/DeformableRegistration17.cxx
      Examples/Registration/DeformableRegistration2.cxx
      Examples/Registration/DeformableRegistration3.cxx
      Examples/Registration/DeformableRegistration4.cxx
      Examples/Registration/DeformableRegistration5.cxx
      Examples/Registration/DeformableRegistration6.cxx
      Examples/Registration/DeformableRegistration7.cxx
      Examples/Registration/DeformableRegistration8.cxx
      Examples/Registration/DeformableRegistration9.cxx
      Examples/Registration/DeformationFieldInitialization.cxx
      Examples/Registration/DisplacementFieldInitialization.cxx
      Examples/Registration/LandmarkWarping2.cxx
      Examples/Registration/ThinPlateSplineWarp.cxx
      Examples/Registration/test/CMakeLists.txt
      Modules/Core/Mesh/include/itkWarpMeshFilter.h
      Modules/Core/Mesh/include/itkWarpMeshFilter.hxx
      Modules/Core/Mesh/test/itkWarpMeshFilterTest.cxx
      Modules/Filtering/DeformationField/CMakeLists.txt
      Modules/Filtering/DeformationField/include/itkDeformationFieldJacobianDeterminantFilter.h
      Modules/Filtering/DeformationField/include/itkDeformationFieldJacobianDeterminantFilter.hxx
      Modules/Filtering/DeformationField/include/itkDeformationFieldSource.h
      Modules/Filtering/DeformationField/include/itkDeformationFieldSource.hxx
      Modules/Filtering/DeformationField/include/itkDisplacementFieldJacobianDeterminantFilter.h
      Modules/Filtering/DeformationField/include/itkDisplacementFieldJacobianDeterminantFilter.hxx
      Modules/Filtering/DeformationField/include/itkInverseDeformationFieldImageFilter.h
      Modules/Filtering/DeformationField/include/itkInverseDeformationFieldImageFilter.hxx
      Modules/Filtering/DeformationField/include/itkIterativeInverseDeformationFieldImageFilter.h
      Modules/Filtering/DeformationField/include/itkIterativeInverseDeformationFieldImageFilter.hxx
      Modules/Filtering/DeformationField/itk-module.cmake
      Modules/Filtering/DeformationField/test/CMakeLists.txt
      Modules/Filtering/DeformationField/test/itkDeformationFieldJacobianDeterminantFilterTest.cxx
      Modules/Filtering/DeformationField/test/itkDeformationFieldSourceTest.cxx
      Modules/Filtering/DeformationField/test/itkDisplacementFieldJacobianDeterminantFilterTest.cxx
      Modules/Filtering/DeformationField/test/itkInverseDeformationFieldImageFilterTest.cxx
      Modules/Filtering/DeformationField/test/itkIterativeInverseDeformationFieldImageFilterTest.cxx
      Modules/Filtering/DisplacementField/CMakeLists.txt
      Modules/Filtering/DisplacementField/include/itkDeformationFieldJacobianDeterminantFilter.h
      Modules/Filtering/DisplacementField/include/itkDeformationFieldJacobianDeterminantFilter.hxx
      Modules/Filtering/DisplacementField/include/itkDisplacementFieldJacobianDeterminantFilter.h
      Modules/Filtering/DisplacementField/include/itkDisplacementFieldJacobianDeterminantFilter.hxx
      Modules/Filtering/DisplacementField/include/itkInverseDisplacementFieldImageFilter.h
      Modules/Filtering/DisplacementField/include/itkInverseDisplacementFieldImageFilter.hxx
      Modules/Filtering/DisplacementField/include/itkIterativeInverseDisplacementFieldImageFilter.h
      Modules/Filtering/DisplacementField/include/itkIterativeInverseDisplacementFieldImageFilter.hxx
      Modules/Filtering/DisplacementField/include/itkLandmarkDisplacementFieldSource.h
      Modules/Filtering/DisplacementField/include/itkLandmarkDisplacementFieldSource.hxx
      Modules/Filtering/DisplacementField/itk-module.cmake
      Modules/Filtering/DisplacementField/test/CMakeLists.txt
      Modules/Filtering/DisplacementField/test/itkDeformationFieldJacobianDeterminantFilterTest.cxx
      Modules/Filtering/DisplacementField/test/itkDisplacementFieldJacobianDeterminantFilterTest.cxx
      Modules/Filtering/DisplacementField/test/itkInverseDisplacementFieldImageFilterTest.cxx
      Modules/Filtering/DisplacementField/test/itkIterativeInverseDisplacementFieldImageFilterTest.cxx
      Modules/Filtering/DisplacementField/test/itkLandmarkDisplacementFieldSourceTest.cxx
      Modules/Filtering/ImageGrid/include/itkWarpImageFilter.h
      Modules/Filtering/ImageGrid/include/itkWarpImageFilter.hxx
      Modules/Filtering/ImageGrid/include/itkWarpVectorImageFilter.h
      Modules/Filtering/ImageGrid/include/itkWarpVectorImageFilter.hxx
      Modules/Filtering/ImageGrid/test/itkWarpImageFilterTest.cxx
      Modules/Filtering/ImageGrid/test/itkWarpImageFilterTest2.cxx
      Modules/Filtering/ImageGrid/test/itkWarpVectorImageFilterTest.cxx
      Modules/Nonunit/Deprecated/itk-module.cmake
      Modules/Nonunit/Deprecated/src/CMakeLists.txt
      Modules/Nonunit/IntegratedTest/itk-module.cmake
      Modules/Nonunit/Review/include/itkDiffeomorphicDemonsRegistrationFilter.h
      Modules/Nonunit/Review/include/itkDiffeomorphicDemonsRegistrationFilter.hxx
      Modules/Nonunit/Review/include/itkESMDemonsRegistrationFunction.h
      Modules/Nonunit/Review/include/itkESMDemonsRegistrationFunction.hxx
      Modules/Nonunit/Review/include/itkExponentialDeformationFieldImageFilter.h
      Modules/Nonunit/Review/include/itkExponentialDeformationFieldImageFilter.hxx
      Modules/Nonunit/Review/include/itkExponentialDisplacementFieldImageFilter.h
      Modules/Nonunit/Review/include/itkExponentialDisplacementFieldImageFilter.hxx
      Modules/Nonunit/Review/include/itkFastSymmetricForcesDemonsRegistrationFilter.h
      Modules/Nonunit/Review/include/itkFastSymmetricForcesDemonsRegistrationFilter.hxx
      Modules/Nonunit/Review/include/itkGridForwardWarpImageFilter.h
      Modules/Nonunit/Review/include/itkGridForwardWarpImageFilter.hxx
      Modules/Nonunit/Review/include/itkTransformToDeformationFieldSource.h
      Modules/Nonunit/Review/include/itkTransformToDeformationFieldSource.hxx
      Modules/Nonunit/Review/include/itkTransformToDisplacementFieldSource.h
      Modules/Nonunit/Review/include/itkTransformToDisplacementFieldSource.hxx
      Modules/Nonunit/Review/itk-module.cmake
      Modules/Nonunit/Review/src/CMakeLists.txt
      Modules/Nonunit/Review/test/CMakeLists.txt
      Modules/Nonunit/Review/test/itkDiffeomorphicDemonsRegistrationFilterTest.cxx
      Modules/Nonunit/Review/test/itkDiffeomorphicDemonsRegistrationFilterTest2.cxx
      Modules/Nonunit/Review/test/itkExponentialDeformationFieldImageFilterTest.cxx
      Modules/Nonunit/Review/test/itkExponentialDisplacementFieldImageFilterTest.cxx
      Modules/Nonunit/Review/test/itkFastSymmetricForcesDemonsRegistrationFilterTest.cxx
      Modules/Nonunit/Review/test/itkGridForwardWarpImageFilterTest.cxx
      Modules/Nonunit/Review/test/itkTransformToDeformationFieldSourceTest.cxx
      Modules/Nonunit/Review/test/itkTransformToDeformationFieldSourceTest1.cxx
      Modules/Nonunit/Review/test/itkTransformToDisplacementFieldSourceTest.cxx
      Modules/Nonunit/Review/test/itkTransformToDisplacementFieldSourceTest1.cxx
      Modules/Nonunit/Review/test/itkWarpHarmonicEnergyCalculatorTest.cxx
      Modules/Nonunit/Review/test/itkWarpJacobianDeterminantFilterTest.cxx
      Modules/Registration/Common/include/itkMeanSquareRegistrationFunction.h
      Modules/Registration/Common/include/itkMeanSquareRegistrationFunction.hxx
      Modules/Registration/Common/include/itkPDEDeformableRegistrationFunction.h
      Modules/Registration/FEM/include/itkFEMFiniteDifferenceFunctionLoad.h
      Modules/Registration/FEM/include/itkFEMFiniteDifferenceFunctionLoad.hxx
      Modules/Registration/FEM/include/itkFEMRegistrationFilter.h
      Modules/Registration/FEM/include/itkFEMRegistrationFilter.hxx
      Modules/Registration/FEM/include/itkMIRegistrationFunction.h
      Modules/Registration/FEM/include/itkMIRegistrationFunction.hxx
      Modules/Registration/FEM/include/itkNCCRegistrationFunction.h
      Modules/Registration/FEM/include/itkNCCRegistrationFunction.hxx
      Modules/Registration/FEM/test/itkMIRegistrationFunctionTest.cxx
      Modules/Registration/PDEDeformable/include/itkCurvatureRegistrationFilter.h
      Modules/Registration/PDEDeformable/include/itkCurvatureRegistrationFilter.hxx
      Modules/Registration/PDEDeformable/include/itkDemonsRegistrationFilter.h
      Modules/Registration/PDEDeformable/include/itkDemonsRegistrationFilter.hxx
      Modules/Registration/PDEDeformable/include/itkDemonsRegistrationFunction.h
      Modules/Registration/PDEDeformable/include/itkDemonsRegistrationFunction.hxx
      Modules/Registration/PDEDeformable/include/itkFastSymmetricForcesDemonsRegistrationFunction.h
      Modules/Registration/PDEDeformable/include/itkFastSymmetricForcesDemonsRegistrationFunction.hxx
      Modules/Registration/PDEDeformable/include/itkLevelSetMotionRegistrationFilter.h
      Modules/Registration/PDEDeformable/include/itkLevelSetMotionRegistrationFilter.hxx
      Modules/Registration/PDEDeformable/include/itkLevelSetMotionRegistrationFunction.h
      Modules/Registration/PDEDeformable/include/itkLevelSetMotionRegistrationFunction.hxx
      Modules/Registration/PDEDeformable/include/itkMultiResolutionPDEDeformableRegistration.h
      Modules/Registration/PDEDeformable/include/itkMultiResolutionPDEDeformableRegistration.hxx
      Modules/Registration/PDEDeformable/include/itkPDEDeformableRegistrationFilter.h
      Modules/Registration/PDEDeformable/include/itkPDEDeformableRegistrationFilter.hxx
      Modules/Registration/PDEDeformable/include/itkSymmetricForcesDemonsRegistrationFilter.h
      Modules/Registration/PDEDeformable/include/itkSymmetricForcesDemonsRegistrationFilter.hxx
      Modules/Registration/PDEDeformable/include/itkSymmetricForcesDemonsRegistrationFunction.h
      Modules/Registration/PDEDeformable/include/itkSymmetricForcesDemonsRegistrationFunction.hxx
      Modules/Registration/PDEDeformable/test/itkCurvatureRegistrationFilterTest.cxx
      Modules/Registration/PDEDeformable/test/itkDemonsRegistrationFilterTest.cxx
      Modules/Registration/PDEDeformable/test/itkLevelSetMotionRegistrationFilterTest.cxx
      Modules/Registration/PDEDeformable/test/itkMultiResolutionPDEDeformableRegistrationTest.cxx
      Modules/Registration/PDEDeformable/test/itkSymmetricForcesDemonsRegistrationFilterTest.cxx
      Utilities/KWStyle/ITKFiles.txt.in
      Wrapping/WrapITK/Libraries/CMakeLists.txt
      Wrapping/WrapITK/Libraries/ITKDeformationField/CMakeLists.txt
      Wrapping/WrapITK/Libraries/ITKDeformationField/itkDeformationFieldJacobianDeterminantFilter.wrap
      Wrapping/WrapITK/Libraries/ITKDeformationField/itkDisplacementFieldJacobianDeterminantFilter.wrap
      Wrapping/WrapITK/Libraries/ITKDisplacementField/CMakeLists.txt
      Wrapping/WrapITK/Libraries/ITKDisplacementField/itkDeformationFieldJacobianDeterminantFilter.wrap
      Wrapping/WrapITK/Libraries/ITKDisplacementField/itkDisplacementFieldJacobianDeterminantFilter.wrap
      Wrapping/WrapITK/Libraries/ITKReview/CMakeLists.txt
      Wrapping/WrapITK/Libraries/ITKReview/itkExponentialDeformationFieldImageFilter.wrap
      Wrapping/WrapITK/Libraries/ITKTestKernel/CMakeLists.txt
    </FileList>

    <!--**
    ** If the migration can be accomplished by a simple string
    ** substitution, then use the following construct to define
    ** the substitution rule.
    **
    ** <MigrationFix-Automatic>
    **   <Old>
    **     <![CDATA[MipsleledName]]>
    **   </Old>
    **   <New>
    **     <![CDATA[MisspelledName]]>
    **   </New>
    ** </MigrationFix-Automatic>
    **-->

    <!--**
    ** If the migration can NOT be accomplished by a simple string
    ** substitution, but potential problem spots can be identified,
    ** use the following construct to define a migration flag rule.
    **
    ** <MigrationFix-Manual>
    **   OldFunctionName
    ** </MigrationFix-Manual>
    **-->
    <MigrationFix-Manual>
      <Old>
        DeformationField
      </Old>
      <New>
        DisplacementField
      </New>
    </MigrationFix-Manual>

</Change>
