diff --git a/Code/DisparityMap/otbNNearestPointsLinearInterpolateDeformationFieldGenerator.txx b/Code/DisparityMap/otbNNearestPointsLinearInterpolateDeformationFieldGenerator.txx index 7c07470625f36282b030f75ed7d52809b10564f1..bfc25090fd295aba6a80ee90314282191c5831ff 100644 --- a/Code/DisparityMap/otbNNearestPointsLinearInterpolateDeformationFieldGenerator.txx +++ b/Code/DisparityMap/otbNNearestPointsLinearInterpolateDeformationFieldGenerator.txx @@ -68,8 +68,8 @@ NNearestPointsLinearInterpolateDeformationFieldGenerator<TPointSet, TDeformation if(normalization>0) { - pixel[0] = static_cast<ValueType>(xdeformation/normalization); - pixel[1] = static_cast<ValueType>(ydeformation/normalization); + pixel[0] = static_cast<ValueType>(-xdeformation/normalization); + pixel[1] = static_cast<ValueType>(-ydeformation/normalization); } else { diff --git a/Code/DisparityMap/otbNNearestTransformsLinearInterpolateDeformationFieldGenerator.txx b/Code/DisparityMap/otbNNearestTransformsLinearInterpolateDeformationFieldGenerator.txx index 564231c762a5d61b1337a7b6472ec93e876cc829..557454c34b55b8a799df5f7efc0813de72acbd79 100644 --- a/Code/DisparityMap/otbNNearestTransformsLinearInterpolateDeformationFieldGenerator.txx +++ b/Code/DisparityMap/otbNNearestTransformsLinearInterpolateDeformationFieldGenerator.txx @@ -72,8 +72,8 @@ NNearestTransformsLinearInterpolateDeformationFieldGenerator<TPointSet, TDeforma outputPtr->TransformIndexToPhysicalPoint(it.GetIndex(),sourcePoint); targetPoint = this->GetTransform()->TransformPoint(sourcePoint); - xdeformation += (targetPoint[0]-sourcePoint[0])/distance; - ydeformation += (targetPoint[1]-sourcePoint[1]) /distance; + xdeformation += (sourcePoint[0]-targetPoint[0])/distance; + ydeformation += (sourcePoint[1]-targetPoint[1]) /distance; normalization+=1/distance; } diff --git a/Code/DisparityMap/otbNearestPointDeformationFieldGenerator.txx b/Code/DisparityMap/otbNearestPointDeformationFieldGenerator.txx index c0e865f9b1c33c8d45f8b0a4bd4b1be91700bdcf..7789d4c34dc3d7f91124f416288b389aa51fa35f 100644 --- a/Code/DisparityMap/otbNearestPointDeformationFieldGenerator.txx +++ b/Code/DisparityMap/otbNearestPointDeformationFieldGenerator.txx @@ -45,8 +45,8 @@ NearestPointDeformationFieldGenerator<TPointSet, TDeformationField> PixelType p(2); if(indexVector.size()>=1) { - p[0] = static_cast<ValueType>(this->GetPointSet()->GetPointData()->GetElement(indexVector[0])[1]); - p[1] = static_cast<ValueType>(this->GetPointSet()->GetPointData()->GetElement(indexVector[0])[2]); + p[0] = -static_cast<ValueType>(this->GetPointSet()->GetPointData()->GetElement(indexVector[0])[1]); + p[1] = -static_cast<ValueType>(this->GetPointSet()->GetPointData()->GetElement(indexVector[0])[2]); } else { diff --git a/Code/DisparityMap/otbNearestTransformDeformationFieldGenerator.txx b/Code/DisparityMap/otbNearestTransformDeformationFieldGenerator.txx index d48353e75c7836f712521daf7a4dca826e305691..06ec270784dc2fca782061718ced79579653c8e0 100644 --- a/Code/DisparityMap/otbNearestTransformDeformationFieldGenerator.txx +++ b/Code/DisparityMap/otbNearestTransformDeformationFieldGenerator.txx @@ -55,8 +55,8 @@ NearestTransformDeformationFieldGenerator<TPointSet, TDeformationField> outputPtr->TransformIndexToPhysicalPoint(it.GetIndex(),sourcePoint); targetPoint = this->GetTransform()->TransformPoint(sourcePoint); - pixel[0] = static_cast<ValueType>(targetPoint[0]-sourcePoint[0]); - pixel[1] = static_cast<ValueType>(targetPoint[1]-sourcePoint[1]); + pixel[0] = static_cast<ValueType>(sourcePoint[0]-targetPoint[0]); + pixel[1] = static_cast<ValueType>(sourcePoint[1]-targetPoint[1]); } else {