Skip to content
Snippets Groups Projects
Commit 8dd9c4f2 authored by Aurélien Bricier's avatar Aurélien Bricier
Browse files

ENH: changed localHistogram extremum values managment in StandardMetaImageFunctionBuilder

parent 9810a785
No related branches found
No related tags found
No related merge requests found
......@@ -19,7 +19,6 @@
#define __otbLocalHistogramIFFactory_txx
#include "otbLocalHistogramIFFactory.h"
#include "otbStreamingMinMaxImageFilter.h"
namespace otb
......@@ -42,16 +41,11 @@ LocalHistogramIFFactory<TImageType, TCoordRep, TPrecision>
{
typename AdaptedLocalHistogramIF::Pointer function = AdaptedLocalHistogramIF::New();
typedef otb::StreamingMinMaxImageFilter<InputImageType> MinMaxFilterType;
typename MinMaxFilterType::Pointer filter = MinMaxFilterType::New();
filter->SetInput(image);
filter->Update();
function->SetInputImage(image);
function->GetInternalImageFunction()->SetNeighborhoodRadius(param[0]);
function->GetInternalImageFunction()->SetNumberOfHistogramBins(param[1]);
function->GetInternalImageFunction()->SetHistogramMin(filter->GetMinimum());
function->GetInternalImageFunction()->SetHistogramMax(filter->GetMaximum());
function->GetInternalImageFunction()->SetHistogramMin(param[2]);
function->GetInternalImageFunction()->SetHistogramMax(param[3]);
metaIF->AddFunction(function);
container->push_back(image);
......
......@@ -163,7 +163,7 @@ private:
unsigned int m_NeighborhoodRadius;
ParamContainerType m_FlusserMomentsParam; //[NeighborhoodRadius]
ParamContainerType m_RadiometricMomentsParam; //[NeighborhoodRadius]
ParamContainerType m_LocalHistogramParam; //[NeighborhoodRadius; nbBins]
ParamContainerType m_LocalHistogramParam; //[NeighborhoodRadius; nbBins; minHistogram; maxHistogram]
ParamContainerType m_FourierMellinDescriptorsParam; //[NeighborhoodRadius; PMax; QMax]
};
......
......@@ -36,8 +36,10 @@ StandardMetaImageFunctionBuilder<TPrecision, TCoordRep>
m_RadiometricMomentsParam.push_back(static_cast<ValueType>(this->GetNeighborhoodRadius()));
m_LocalHistogramParam.push_back(static_cast<ValueType>(this->GetNeighborhoodRadius()));
m_LocalHistogramParam.push_back(64);
m_LocalHistogramParam.push_back(16);
m_LocalHistogramParam.push_back(0);
m_LocalHistogramParam.push_back(4096);
m_FourierMellinDescriptorsParam.push_back(static_cast<ValueType>(this->GetNeighborhoodRadius()));
m_FourierMellinDescriptorsParam.push_back(3);
m_FourierMellinDescriptorsParam.push_back(3);
......@@ -115,10 +117,12 @@ void
StandardMetaImageFunctionBuilder<TPrecision, TCoordRep>
::SetLocalHistogramIFParameters(ParamContainerType Param)
{
if (Param.size()==2)
if (Param.size()==4)
{
m_LocalHistogramParam[0] = Param[0];
m_LocalHistogramParam[1] = Param[1];
m_LocalHistogramParam[2] = Param[2];
m_LocalHistogramParam[3] = Param[3];
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment