diff --git a/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx b/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx index a7bc15c56bfde1cc0cd1615327be8810a50f9b74..ceb603301466957915e5fbdc093637306575cbc0 100644 --- a/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx +++ b/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx @@ -269,12 +269,13 @@ private: } classificationFilter = MultiScaleClassificationFilterType::New(); - classificationFilter->SetOpeningProfileDerivativeMaxima( omsCharFilter->GetOutput() ); - classificationFilter->SetOpeningProfileCharacteristics( omsCharFilter->GetOutputCharacteristics() ); - classificationFilter->SetClosingProfileDerivativeMaxima( cmsCharFilter->GetOutput() ); - classificationFilter->SetClosingProfileCharacteristics( cmsCharFilter->GetOutputCharacteristics() ); - classificationFilter->SetSigma( sigma ); - classificationFilter->SetLabelSeparator( static_cast<unsigned short>(initValue + profileSize * step) ); + using namespace Functor::MultiScaleConvexOrConcaveDecisionRule_tags; + classificationFilter->SetVariadicNamedInput<max_opening_profile_derivative>( omsCharFilter->GetOutput() ); + classificationFilter->SetVariadicNamedInput<opening_profile_characteristics>( omsCharFilter->GetOutputCharacteristics() ); + classificationFilter->SetVariadicNamedInput<max_closing_profile_derivative>( cmsCharFilter->GetOutput() ); + classificationFilter->SetVariadicNamedInput<opening_profile_characteristics>( cmsCharFilter->GetOutputCharacteristics() ); + classificationFilter->GetModifiableFunctor().SetSigma( sigma ); + classificationFilter->GetModifiableFunctor().SetLabelSeparator( static_cast<unsigned short>(initValue + profileSize * step) ); AddProcess(classificationFilter, "Classification"); classificationFilter->Update(); SetParameterOutputImage( "out", classificationFilter->GetOutput() );