]> Creatis software - bbtk.git/commitdiff
Future 1454
authorEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Wed, 4 Jul 2012 08:38:21 +0000 (08:38 +0000)
committerEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Wed, 4 Jul 2012 08:38:21 +0000 (08:38 +0000)
  -bbvtkImagePlane  Interpolation option

packages/vtk/src/bbvtkImagePlanes.cxx
packages/vtk/src/bbvtkImagePlanes.h

index c31a38d2583e85fdc3059f9b9f2a1ab97db0af54..746492a6d566cd691a9823989f6f67a89dc4d343 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbvtkImagePlanes.cxx,v $
   Language:  C++
-  Date:      $Date: 2010/08/18 12:36:45 $
-  Version:   $Revision: 1.35 $
+  Date:      $Date: 2012/07/04 08:38:21 $
+  Version:   $Revision: 1.36 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -136,7 +136,7 @@ namespace bbvtk
  };
   //================================================================
 
-  //vtkCxxRevisionMacro(ImagePlanes::VtkCallbackType, "$Revision: 1.35 $");
+  //vtkCxxRevisionMacro(ImagePlanes::VtkCallbackType, "$Revision: 1.36 $");
 
   //================================================================
 
@@ -170,6 +170,8 @@ namespace bbvtk
      image          = NULL;
      _transform     = NULL;
      _matrix        = NULL;
+          
+          bbSetInputInterpolation(1);     
    }
 
        
@@ -285,6 +287,10 @@ namespace bbvtk
                        updateInteractor();
           }
                        // UPDATE DES SORTIES 
+               bbGetOutputPlaneX()->SetResliceInterpolate( bbGetInputInterpolation() );
+               bbGetOutputPlaneY()->SetResliceInterpolate( bbGetInputInterpolation() );
+               bbGetOutputPlaneZ()->SetResliceInterpolate( bbGetInputInterpolation() );
+               
                bbGetOutputPlaneX()->GetResliceOutput()->Update();
                bbGetOutputPlaneY()->GetResliceOutput()->Update(); 
                bbGetOutputPlaneZ()->GetResliceOutput()->Update();               
@@ -343,10 +349,10 @@ namespace bbvtk
                        if (_imageReslicer==NULL){
                                _imageReslicer = vtkImageReslice::New();                                        
                                _imageReslicer->SetOutputDimensionality(2);
-                               _imageReslicer->SetInterpolationModeToLinear();
                                _transform = vtkTransform::New();
                                _matrix = vtkMatrix4x4::New();  
                        }
+                       _imageReslicer->SetInterpolationMode( bbGetInputInterpolation() );
                        _imageReslicer->SetInput( bbGetInputIn() );
                        _imageReslicer->SetInformationInput(bbGetInputIn());    
                        //fill out the information with the created vectors and using the spacing of the image
@@ -378,8 +384,8 @@ namespace bbvtk
 
                        //set the transformation out to be used by other bbBoxes
                        bbSetOutputTransform3Pts((vtkLinearTransform*)_transform);                      
-               }       
-       }
+               }       // pointsx pointsy  pointsz
+       } // bbGetInputIn
   }
        
   void ImagePlanes::updateInteractor(){
index eae6bc9a9d44ecbc1a011eb149e39cc835b7e7be..3f0c3a8a6d7105b6807ee9f7f0b8049b2921cc1e 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbvtkImagePlanes.h,v $
   Language:  C++
-  Date:      $Date: 2010/06/01 13:48:14 $
-  Version:   $Revision: 1.22 $
+  Date:      $Date: 2012/07/04 08:38:21 $
+  Version:   $Revision: 1.23 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -68,21 +68,22 @@ namespace bbvtk
   public:
     BBTK_BLACK_BOX_INTERFACE(ImagePlanes,bbtk::AtomicBlackBox);
     //    BBTK_DECLARE_INPUT(Contour, int);
-    BBTK_DECLARE_INPUT(In,          vtkImageData*);
-    BBTK_DECLARE_INPUT(WindowLevel, winLevel);
-    BBTK_DECLARE_INPUT(PointsX,     std::vector<int>);
-    BBTK_DECLARE_INPUT(PointsY,     std::vector<int>);
-    BBTK_DECLARE_INPUT(PointsZ,     std::vector<int>);
-    BBTK_DECLARE_INPUT(Interactor,  vtkRenderWindowInteractor*);
-
-    BBTK_DECLARE_OUTPUT(PlaneX,    vtkImagePlaneWidget*);
-    BBTK_DECLARE_OUTPUT(PlaneY,    vtkImagePlaneWidget*);
-    BBTK_DECLARE_OUTPUT(PlaneZ,    vtkImagePlaneWidget*);
-    BBTK_DECLARE_OUTPUT(Plane3Pts, vtkInteractorObserver*);
-    BBTK_DECLARE_OUTPUT(ImageX,    vtkImageData*);
-    BBTK_DECLARE_OUTPUT(ImageY,    vtkImageData*);        
-    BBTK_DECLARE_OUTPUT(ImageZ,    vtkImageData*);  
-    BBTK_DECLARE_OUTPUT(Image3Pts, vtkImageData*);     
+    BBTK_DECLARE_INPUT(In,             vtkImageData*);
+    BBTK_DECLARE_INPUT(WindowLevel,    winLevel);
+    BBTK_DECLARE_INPUT(PointsX,        std::vector<int>);
+    BBTK_DECLARE_INPUT(PointsY,        std::vector<int>);
+    BBTK_DECLARE_INPUT(PointsZ,        std::vector<int>);
+    BBTK_DECLARE_INPUT(Interactor,        vtkRenderWindowInteractor*);
+       BBTK_DECLARE_INPUT(Interpolation,  int);
+
+    BBTK_DECLARE_OUTPUT(PlaneX,                        vtkImagePlaneWidget*);
+    BBTK_DECLARE_OUTPUT(PlaneY,                        vtkImagePlaneWidget*);
+    BBTK_DECLARE_OUTPUT(PlaneZ,                        vtkImagePlaneWidget*);
+    BBTK_DECLARE_OUTPUT(Plane3Pts,             vtkInteractorObserver*);
+    BBTK_DECLARE_OUTPUT(ImageX,                        vtkImageData*);
+    BBTK_DECLARE_OUTPUT(ImageY,                        vtkImageData*);        
+    BBTK_DECLARE_OUTPUT(ImageZ,                        vtkImageData*);  
+    BBTK_DECLARE_OUTPUT(Image3Pts,             vtkImageData*);         
     BBTK_DECLARE_OUTPUT(Transform3Pts, vtkLinearTransform*);
 
     BBTK_PROCESS(Process);
@@ -123,7 +124,9 @@ namespace bbvtk
   BBTK_INPUT(ImagePlanes, PointsY,     "Points in Y",  std::vector<int>, "");
   BBTK_INPUT(ImagePlanes, PointsZ,     "Points in Z",  std::vector<int>, "");
   BBTK_INPUT(ImagePlanes, Interactor,  "Interactor for the planes",  vtkRenderWindowInteractor*, "");
+  BBTK_INPUT(ImagePlanes, Interpolation,  "Interpolation (default 1)  0=NEAREST_RESLICE  1=LINEAR_RESLICE  2=CUBIC_RESLICE",  int, "");
 
+       
   BBTK_OUTPUT(ImagePlanes,PlaneX,    "The image plane in X direction",         vtkImagePlaneWidget*,   "");
   BBTK_OUTPUT(ImagePlanes,PlaneY,    "The image plane in Y direction",         vtkImagePlaneWidget*,   "");
   BBTK_OUTPUT(ImagePlanes,PlaneZ,    "The image plane in Z direction",         vtkImagePlaneWidget*,   "");