VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Imaging/General/vtkImageSlabReslice.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImageSlabReslice.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00046 #ifndef vtkImageSlabReslice_h
00047 #define vtkImageSlabReslice_h
00048 
00049 #include "vtkImagingGeneralModule.h" // For export macro
00050 #include "vtkImageReslice.h"
00051 
00052 // For backwards compatibility
00053 #ifndef VTK_LEGACY_REMOVE
00054 #define VTK_IMAGESLAB_BLEND_MIN VTK_IMAGE_SLAB_MIN
00055 #define VTK_IMAGESLAB_BLEND_MAX VTK_IMAGE_SLAB_MAX
00056 #define VTK_IMAGESLAB_BLEND_MEAN VTK_IMAGE_SLAB_MEAN
00057 #endif
00058 
00059 class VTKIMAGINGGENERAL_EXPORT vtkImageSlabReslice : public vtkImageReslice
00060 {
00061 public:
00062 
00063   static vtkImageSlabReslice *New();
00064   vtkTypeMacro(vtkImageSlabReslice, vtkImageReslice);
00065 
00067   virtual void PrintSelf(ostream& os, vtkIndent indent);
00068 
00070 
00071   vtkSetMacro( BlendMode, int );
00072   vtkGetMacro( BlendMode, int );
00073   void SetBlendModeToMin()  { this->SetBlendMode(VTK_IMAGE_SLAB_MIN ); }
00074   void SetBlendModeToMax()  { this->SetBlendMode(VTK_IMAGE_SLAB_MAX ); }
00075   void SetBlendModeToMean() { this->SetBlendMode(VTK_IMAGE_SLAB_MEAN); }
00077 
00079 
00082   vtkGetMacro( NumBlendSamplePoints, int );
00084 
00086 
00088   vtkSetMacro( SlabThickness, double );
00089   vtkGetMacro( SlabThickness, double );
00091 
00093 
00095   vtkSetMacro( SlabResolution, double );
00096   vtkGetMacro( SlabResolution, double );
00098 
00099 protected:
00100   vtkImageSlabReslice();
00101   ~vtkImageSlabReslice();
00102 
00104 
00107   virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
00108                                  vtkInformationVector *);
00110 
00111   int    BlendMode; // can be MIN, MIP, MAX
00112   double SlabThickness;
00113   double SlabResolution;
00114   int    NumBlendSamplePoints;
00115 
00116 private:
00117   vtkImageSlabReslice(const vtkImageSlabReslice&);  // Not implemented.
00118   void operator=(const vtkImageSlabReslice&);  // Not implemented.
00119 };
00120 
00121 #endif