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 "vtkImageReslice.h" 00050 00051 // For backwards compatibility 00052 #define VTK_IMAGESLAB_BLEND_MIN VTK_IMAGE_SLAB_MIN 00053 #define VTK_IMAGESLAB_BLEND_MAX VTK_IMAGE_SLAB_MAX 00054 #define VTK_IMAGESLAB_BLEND_MEAN VTK_IMAGE_SLAB_MEAN 00055 00056 class VTK_IMAGING_EXPORT vtkImageSlabReslice : public vtkImageReslice 00057 { 00058 public: 00059 00060 static vtkImageSlabReslice *New(); 00061 vtkTypeMacro(vtkImageSlabReslice, vtkImageReslice); 00062 00064 virtual void PrintSelf(ostream& os, vtkIndent indent); 00065 00067 00068 vtkSetMacro( BlendMode, int ); 00069 vtkGetMacro( BlendMode, int ); 00070 void SetBlendModeToMin() { this->SetBlendMode(VTK_IMAGE_SLAB_MIN ); } 00071 void SetBlendModeToMax() { this->SetBlendMode(VTK_IMAGE_SLAB_MAX ); } 00072 void SetBlendModeToMean() { this->SetBlendMode(VTK_IMAGE_SLAB_MEAN); } 00074 00076 00079 vtkGetMacro( NumBlendSamplePoints, int ); 00081 00083 00085 vtkSetMacro( SlabThickness, double ); 00086 vtkGetMacro( SlabThickness, double ); 00088 00090 00092 vtkSetMacro( SlabResolution, double ); 00093 vtkGetMacro( SlabResolution, double ); 00095 00096 protected: 00097 vtkImageSlabReslice(); 00098 ~vtkImageSlabReslice(); 00099 00101 00104 virtual int RequestInformation(vtkInformation *, vtkInformationVector **, 00105 vtkInformationVector *); 00107 00108 int BlendMode; // can be MIN, MIP, MAX 00109 double SlabThickness; 00110 double SlabResolution; 00111 int NumBlendSamplePoints; 00112 00113 private: 00114 vtkImageSlabReslice(const vtkImageSlabReslice&); // Not implemented. 00115 void operator=(const vtkImageSlabReslice&); // Not implemented. 00116 }; 00117 00118 #endif