VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkImageSpatialAlgorithm.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageSpatialAlgorithm.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
26 #ifndef __vtkImageSpatialAlgorithm_h
27 #define __vtkImageSpatialAlgorithm_h
28 
29 
30 #include "vtkImagingGeneralModule.h" // For export macro
31 #include "vtkThreadedImageAlgorithm.h"
32 
33 class VTKIMAGINGGENERAL_EXPORT vtkImageSpatialAlgorithm : public vtkThreadedImageAlgorithm
34 {
35 public:
36  static vtkImageSpatialAlgorithm *New();
37  vtkTypeMacro(vtkImageSpatialAlgorithm,vtkThreadedImageAlgorithm);
38  void PrintSelf(ostream& os, vtkIndent indent);
39 
41 
42  vtkGetVector3Macro(KernelSize,int);
44 
46 
47  vtkGetVector3Macro(KernelMiddle,int);
49 
50 protected:
53 
54  int KernelSize[3];
55  int KernelMiddle[3]; // Index of kernel origin
56  int HandleBoundaries; // Output shrinks if boundaries aren't handled
57 
58  virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
59 
60  void ComputeOutputWholeExtent(int extent[6], int handleBoundaries);
61  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
62  void InternalRequestUpdateExtent(int *extent, int *inExtent, int *wholeExtent);
63 
64 private:
65  vtkImageSpatialAlgorithm(const vtkImageSpatialAlgorithm&); // Not implemented.
66  void operator=(const vtkImageSpatialAlgorithm&); // Not implemented.
67 };
68 
69 #endif
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
Filters that operate on pixel neighborhoods.