]> Creatis software - clitk.git/commitdiff
- future resample class (do not use yet)
authordsarrut <dsarrut>
Tue, 11 May 2010 09:06:37 +0000 (09:06 +0000)
committerdsarrut <dsarrut>
Tue, 11 May 2010 09:06:37 +0000 (09:06 +0000)
itk/clitkResampleImageWithOptionsFilter.h
itk/clitkResampleImageWithOptionsFilter.txx

index 7c212f07cf105d672c22343cb83b8031ac00ecd1..9a8f5e2bd3dda30f1e31145747bc337f7a4f5c97 100644 (file)
@@ -92,8 +92,8 @@ namespace clitk {
     // Options
     itkGetMacro(LastDimensionIsTime, bool);
     itkSetMacro(LastDimensionIsTime, bool);
-    itkSetMacro(IsoSpacing, double);
-    itkGetMacro(IsoSpacing, double);
+    itkSetMacro(OutputIsoSpacing, double);
+    itkGetMacro(OutputIsoSpacing, double);
     itkSetMacro(OutputSpacing, OutputImageSpacingType);
     itkGetMacro(OutputSpacing, OutputImageSpacingType);
     itkSetMacro(OutputSize, OutputImageSizeType);
@@ -120,7 +120,7 @@ namespace clitk {
     virtual ~ResampleImageWithOptionsFilter() {}
     
     bool m_LastDimensionIsTime;
-    double m_IsoSpacing;
+    double m_OutputIsoSpacing;
     InterpolationTypeEnumeration m_InterpolationType;
     bool m_GaussianFilteringEnabled;
     int m_BSplineOrder;
index 87f34ddccaa1c81a58ccfc3721643ebae0c8d18c..aee15f5d397670e4f90a30c5b8ac497116bc2c20 100644 (file)
@@ -41,7 +41,7 @@ namespace clitk {
   ResampleImageWithOptionsFilter():itk::ImageToImageFilter<TInputImage, TOutputImage>() {
     static const unsigned int dim = InputImageType::ImageDimension;
     this->SetNumberOfRequiredInputs(1);
-    m_IsoSpacing = -1;
+    m_OutputIsoSpacing = -1;
     m_InterpolationType = NearestNeighbor;
     m_GaussianFilteringEnabled = true;
     m_BSplineOrder = 3;
@@ -115,9 +115,9 @@ namespace clitk {
     InputImageSpacingType inputSpacing = input->GetSpacing();
     InputImageSizeType inputSize = input->GetLargestPossibleRegion().GetSize();
 
-    if (m_IsoSpacing != -1) { // apply isoSpacing
+    if (m_OutputIsoSpacing != -1) { // apply isoSpacing
       for(unsigned int i=0; i<dim; i++) {
-        m_OutputSpacing[i] = m_IsoSpacing;
+        m_OutputSpacing[i] = m_OutputIsoSpacing;
         m_OutputSize[i] = (int)lrint(inputSize[i]*inputSpacing[i]/m_OutputSpacing[i]);
       }
     }
@@ -152,7 +152,9 @@ namespace clitk {
     OutputImageRegionType region;
     region.SetSize(m_OutputSize);
     region.SetIndex(input->GetLargestPossibleRegion().GetIndex());
+    DD(input->GetLargestPossibleRegion().GetIndex());
     outputImage->SetLargestPossibleRegion(region);
+    outputImage->SetSpacing(m_OutputSpacing);
 
     // Init Gaussian sigma
     if (m_GaussianSigma[0] != -1) { // Gaussian filter set by user
@@ -189,6 +191,9 @@ namespace clitk {
     typedef itk::ResampleImageFilter<InputImageType,OutputImageType> FilterType;
     typename FilterType::Pointer filter = FilterType::New();
     filter->GraftOutput(this->GetOutput());
+//     this->GetOutput()->Print(std::cout);
+//     this->GetOutput()->SetBufferedRegion(this->GetOutput()->GetLargestPossibleRegion());
+//     this->GetOutput()->Print(std::cout);
 
     // Print options if needed
     if (m_VerboseOptions) {
@@ -282,7 +287,9 @@ namespace clitk {
     filter->Update();
     
     // Set output
+    // DD("before Graft");
     this->GraftOutput(filter->GetOutput());
+    // DD("after Graft");
   }
   //--------------------------------------------------------------------