X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=registration%2FclitkDemonsDeformableRegistrationGenericFilter.txx;h=ac95ce1579d931819ee912fb2171661fea1848f2;hb=e217697bd9c921fe6dc060dcd9f1af0a2519422e;hp=fb4ad197ed2aa3bda943522ed79b028f02167d32;hpb=ea20e6f724d512fa6fbb4316f19c0319e28ae0ea;p=clitk.git diff --git a/registration/clitkDemonsDeformableRegistrationGenericFilter.txx b/registration/clitkDemonsDeformableRegistrationGenericFilter.txx index fb4ad19..ac95ce1 100755 --- a/registration/clitkDemonsDeformableRegistrationGenericFilter.txx +++ b/registration/clitkDemonsDeformableRegistrationGenericFilter.txx @@ -358,7 +358,7 @@ namespace clitk else nIterations[i]=m_ArgsInfo.maxIter_arg[0]; } - multiResolutionFilter->SetNumberOfIterations( &(nIterations) ); + multiResolutionFilter->SetNumberOfIterations( &(nIterations[0]) ); if(m_Verbose) { std::cout<<"Setting the number of iterations to: "< maxRMSError[nLevels]; + std::vector maxRMSError(nLevels); for (unsigned int i=0 ; i stop(nLevels); + std::vector stop(nLevels); for (unsigned int i=0; i::Pointer levelObserver = CommandResolutionLevelUpdate::New(); multiResolutionFilter->AddObserver( itk::IterationEvent(), levelObserver ); - levelObserver->SetMaxRMSError(maxRMSError); + levelObserver->SetMaxRMSError(&(maxRMSError[0])); levelObserver->SetMaxStep(m_ArgsInfo.maxStep_arg); levelObserver->SetSD(sd); levelObserver->SetScaleStep(m_ArgsInfo.scaleStep_flag); @@ -464,7 +464,7 @@ namespace clitk m->SetIntensityDifferenceThreshold( m_ArgsInfo.intThreshold_arg); m->SetUseMovingImageGradient( m_ArgsInfo.movGrad_flag); typename CommandIterationUpdate::Pointer observer = CommandIterationUpdate::New(); - observer->SetStop(stop); + observer->SetStop(&(stop[0])); observer->SetLevelObserver(levelObserver); m->AddObserver( itk::IterationEvent(), observer ); if (m_Verbose) std::cout<<"Using the demons registration filter..."<SetIntensityDifferenceThreshold( m_ArgsInfo.intThreshold_arg); typename CommandIterationUpdate::Pointer observer = CommandIterationUpdate::New(); - observer->SetStop(stop); + observer->SetStop(&(stop[0])); observer->SetLevelObserver(levelObserver); m->AddObserver( itk::IterationEvent(), observer ); if (m_Verbose) std::cout<<"Using the symmetric forces demons registration filter..."<SetMaximumUpdateStepLength( m_ArgsInfo.maxStep_arg); m->SetUseGradientType(grad); typename CommandIterationUpdate::Pointer observer = CommandIterationUpdate::New(); - observer->SetStop(stop); + observer->SetStop(&(stop[0])); observer->SetLevelObserver(levelObserver); m->AddObserver( itk::IterationEvent(), observer ); if (m_Verbose) std::cout<<"Using the fast symmetric forces demons registration filter..."<SetUseFirstOrderExp(m_ArgsInfo.firstOrder_flag); m->SetUseGradientType(grad); typename CommandIterationUpdate::Pointer observer = CommandIterationUpdate::New(); - observer->SetStop(stop); + observer->SetStop(&(stop[0])); observer->SetLevelObserver(levelObserver); m->AddObserver( itk::IterationEvent(), observer ); if (m_Verbose) std::cout<<"Using the diffeomorphic demons registration filter..."<