]> Creatis software - clitk.git/blobdiff - registration/clitkDemonsDeformableRegistrationGenericFilter.txx
Use OutputDebugString for DD on Windows
[clitk.git] / registration / clitkDemonsDeformableRegistrationGenericFilter.txx
old mode 100755 (executable)
new mode 100644 (file)
index fb4ad19..90d5319
@@ -3,7 +3,7 @@
 
   Authors belong to: 
   - University of LYON              http://www.universite-lyon.fr/
-  - Léon Bérard cancer center       http://oncora1.lyon.fnclcc.fr
+  - Léon Bérard cancer center       http://www.centreleonberard.fr
   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
 
   This software is distributed WITHOUT ANY WARRANTY; without even
@@ -14,7 +14,7 @@
 
   - BSD        See included LICENSE.txt file
   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-======================================================================-====*/
+===========================================================================**/
 #ifndef __clitkDemonsDeformableRegistrationGenericFilter_txx
 #define __clitkDemonsDeformableRegistrationGenericFilter_txx
 #include "clitkDemonsDeformableRegistrationGenericFilter.h"
@@ -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: "<<nIterations[0];
       for (unsigned int i=1; i<nLevels; i++)
@@ -369,7 +369,7 @@ namespace clitk
     //------------------------------------
     //Set the max RMS error for the field update
     //------------------------------------
-    itk::Array<double> maxRMSError[nLevels];
+    std::vector<double> maxRMSError(nLevels);
     for (unsigned int i=0 ; i<nLevels; i++)
       {
        if (m_ArgsInfo.maxRMSError_given==nLevels)      
@@ -387,7 +387,7 @@ namespace clitk
     //------------------------------------
     //Get the stop criterion
     //------------------------------------
-    itk::Array<int> stop(nLevels);
+    std::vector<int> stop(nLevels);
     for (unsigned int i=0; i<nLevels; i++)
       if (m_ArgsInfo.stop_given==nLevels)
        stop[i]=m_ArgsInfo.stop_arg[i];
@@ -442,7 +442,7 @@ namespace clitk
     typename CommandResolutionLevelUpdate<MultiResolutionRegistrationFilterType>::Pointer levelObserver = 
       CommandResolutionLevelUpdate<MultiResolutionRegistrationFilterType>::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<DemonsFilterType, FixedImageType, MovingImageType>::Pointer observer = CommandIterationUpdate<DemonsFilterType, FixedImageType, MovingImageType>::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..."<<std::endl;
@@ -480,7 +480,7 @@ namespace clitk
        //Set Parameters for this filter
        m->SetIntensityDifferenceThreshold( m_ArgsInfo.intThreshold_arg);
        typename CommandIterationUpdate<DemonsFilterType, FixedImageType, MovingImageType>::Pointer observer = CommandIterationUpdate<DemonsFilterType, FixedImageType, MovingImageType>::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..."<<std::endl;
@@ -498,7 +498,7 @@ namespace clitk
        m->SetMaximumUpdateStepLength( m_ArgsInfo.maxStep_arg);
        m->SetUseGradientType(grad);
        typename CommandIterationUpdate<DemonsFilterType, FixedImageType, MovingImageType>::Pointer observer = CommandIterationUpdate<DemonsFilterType, FixedImageType, MovingImageType>::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..."<<std::endl;
@@ -516,7 +516,7 @@ namespace clitk
        m->SetUseFirstOrderExp(m_ArgsInfo.firstOrder_flag);
        m->SetUseGradientType(grad);
        typename CommandIterationUpdate<DemonsFilterType, FixedImageType, MovingImageType>::Pointer observer = CommandIterationUpdate<DemonsFilterType, FixedImageType, MovingImageType>::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..."<<std::endl;