diff --git a/Code/BasicFilters/otbLogPolarResampleImageFilter.h b/Code/BasicFilters/otbLogPolarResampleImageFilter.h index 0ffb9ac70965db64550a663c98638b6daff8ef67..b2d427c9b31d4e15f5768d20d15aa01b7e0a9d44 100644 --- a/Code/BasicFilters/otbLogPolarResampleImageFilter.h +++ b/Code/BasicFilters/otbLogPolarResampleImageFilter.h @@ -38,23 +38,14 @@ namespace otb * This function is set via SetInterpolator(). The default is * itk::LinearInterpolateImageFunction<InputImageType, TInterpolatorPrecisionType>, which * - * Output information (spacing, size and direction) for the output - * image should be set. This information has the normal defaults of - * unit spacing, zero origin and identity direction. Optionally, the - * output information can be obtained from a reference image. If the - * reference image is provided and UseReferenceImage is On, then the - * spacing, origin and direction of the reference image will be used. - * - * Since this filter produces an image which is a different size than - * its input, it needs to override several of the methods defined - * in ProcessObject in order to properly manage the pipeline execution model. - * In particular, this filter overrides - * ProcessObject::GenerateInputRequestedRegion() and - * ProcessObject::GenerateOutputInformation(). - * * This filter is implemented as a multithreaded filter. It provides a * ThreadedGenerateData() method for its implementation. * + * By default the sigma value is fixed to 0.5 + + + + The resampled Log-polar image dimension is a power of two for each + direction. + * * \ingroup GeometricTransforms */ template <class TInputImage, diff --git a/Code/BasicFilters/otbLogPolarResampleImageFilter.txx b/Code/BasicFilters/otbLogPolarResampleImageFilter.txx index 16febf80d31751c7b0594f6666af9c9c2ea3ecc5..d5d1f4892d15559b7bc3d47557ff70d342ca935d 100644 --- a/Code/BasicFilters/otbLogPolarResampleImageFilter.txx +++ b/Code/BasicFilters/otbLogPolarResampleImageFilter.txx @@ -50,9 +50,11 @@ LogPolarResampleImageFilter<TInputImage, TInterpolator> m_RadialStepIsConfigured = false; - m_OriginIsAtCenter = true; + m_OriginIsAtCenter = true; m_DefaultPixelValue = 0; - m_Interpolator = itk::LinearInterpolateImageFunction<InputImageType, CoordRepType>::New(); + m_Sigma = 0.5; + + m_Interpolator = itk::LinearInterpolateImageFunction<InputImageType, CoordRepType>::New(); } diff --git a/Code/FeatureExtraction/otbForwardFourierMellinTransformImageFilter.h b/Code/FeatureExtraction/otbForwardFourierMellinTransformImageFilter.h index c15bf85ef57905bbc0d15f58046210b48af97d8f..69f3d33d79b6e9773ca6ec5bc6f6ed4dd2cd4493 100644 --- a/Code/FeatureExtraction/otbForwardFourierMellinTransformImageFilter.h +++ b/Code/FeatureExtraction/otbForwardFourierMellinTransformImageFilter.h @@ -34,10 +34,14 @@ namespace otb * * This class implements a composite filter. It combines two filters : * \begin{itemize} - * \item otb::LogPolarResampleImageFilter - * \item itk:: ... + * \item otb::LogPolarResampleImageFilter : converting the input image in a + log-polar system coordinate + * \item itk::VnlFFTRealToComplexConjugateImageFilter : applying the Forward + Fourier transform of the log-polar image. * \end{itemize} * + * N.B.: the Fourier transform image is coded from 0.0 to 1.0 + * * \ingroup ImageFunctions */ diff --git a/Code/FeatureExtraction/otbForwardFourierMellinTransformImageFilter.txx b/Code/FeatureExtraction/otbForwardFourierMellinTransformImageFilter.txx index 3acc50a8613937a8eb1327aa9e2ca7c625d19254..39eca5a683ffae4c96b3123049bbdf8fa0f7100b 100644 --- a/Code/FeatureExtraction/otbForwardFourierMellinTransformImageFilter.txx +++ b/Code/FeatureExtraction/otbForwardFourierMellinTransformImageFilter.txx @@ -39,7 +39,6 @@ ForwardFourierMellinTransformImageFilter<TPixel, TInterpol, Dimension > ::GenerateData() { m_LogPolarResample->SetInput( this->GetInput() ); - m_LogPolarResample->Update(); m_FourierTransform->SetInput( m_LogPolarResample->GetOutput() ); m_FourierTransform->GraftOutput( this->GetOutput() ); @@ -69,7 +68,6 @@ ForwardFourierMellinTransformImageFilter<TPixel, TInterpol, Dimension > m_LogPolarResample->GenerateOutputInformation(); - OutputImageRegionType outputLargestPossibleRegion; outputLargestPossibleRegion.SetSize( m_LogPolarResample->GetOutput()->GetLargestPossibleRegion().GetSize() ); outputLargestPossibleRegion.SetIndex( m_LogPolarResample->GetOutput()->GetLargestPossibleRegion().GetIndex() );