VTK
|
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 #define VTK_IMAGESLAB_BLEND_MIN VTK_IMAGE_SLAB_MIN 00054 #define VTK_IMAGESLAB_BLEND_MAX VTK_IMAGE_SLAB_MAX 00055 #define VTK_IMAGESLAB_BLEND_MEAN VTK_IMAGE_SLAB_MEAN 00056 00057 class VTKIMAGINGGENERAL_EXPORT vtkImageSlabReslice : public vtkImageReslice 00058 { 00059 public: 00060 00061 static vtkImageSlabReslice *New(); 00062 vtkTypeMacro(vtkImageSlabReslice, vtkImageReslice); 00063 00065 virtual void PrintSelf(ostream& os, vtkIndent indent); 00066 00068 00069 vtkSetMacro( BlendMode, int ); 00070 vtkGetMacro( BlendMode, int ); 00071 void SetBlendModeToMin() { this->SetBlendMode(VTK_IMAGE_SLAB_MIN ); } 00072 void SetBlendModeToMax() { this->SetBlendMode(VTK_IMAGE_SLAB_MAX ); } 00073 void SetBlendModeToMean() { this->SetBlendMode(VTK_IMAGE_SLAB_MEAN); } 00075 00077 00080 vtkGetMacro( NumBlendSamplePoints, int ); 00082 00084 00086 vtkSetMacro( SlabThickness, double ); 00087 vtkGetMacro( SlabThickness, double ); 00089 00091 00093 vtkSetMacro( SlabResolution, double ); 00094 vtkGetMacro( SlabResolution, double ); 00096 00097 protected: 00098 vtkImageSlabReslice(); 00099 ~vtkImageSlabReslice(); 00100 00102 00105 virtual int RequestInformation(vtkInformation *, vtkInformationVector **, 00106 vtkInformationVector *); 00108 00109 int BlendMode; // can be MIN, MIP, MAX 00110 double SlabThickness; 00111 double SlabResolution; 00112 int NumBlendSamplePoints; 00113 00114 private: 00115 vtkImageSlabReslice(const vtkImageSlabReslice&); // Not implemented. 00116 void operator=(const vtkImageSlabReslice&); // Not implemented. 00117 }; 00118 00119 #endif