KWStyle - itkPathAndImageToPathFilter.h
 
Matrix View
Description

1 /*=========================================================================
2
3   Program:   Insight Segmentation & Registration Toolkit
4   Module:    $RCSfile: itkPathAndImageToPathFilter.h.html,v $
5   Language:  C++
6   Date:      $Date: 2006/01/17 19:15:43 $
7   Version:   $Revision: 1.4 $
8
9   Copyright (c) Insight Software Consortium. All rights reserved.
10   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11
12      This software is distributed WITHOUT ANY WARRANTY; without even 
13      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14      PURPOSE.  See the above copyright notices for more information.
15
16 =========================================================================*/
17 #ifndef __itkPathAndImageToPathFilter_h
18 #define __itkPathAndImageToPathFilter_h
19
20 #include "itkPathToPathFilter.h"
21
22 namespace itk
23 {
24   
25 /** \class PathAndImageToPathFilter
26 LEN  * \brief Base class for filters that take both a path and an image as input and produce a path as output.
27  *
28  * This class is the base class for filters that take both a path and an image
29  * as input and produce a path as output.  Specifically, this class defines the
30  * methods SetPathInput() and SetImageInput().  (It also establishes the
31  * precedent of having path inputs preceed image inputs for functions producing
32  * paths as outputs, according to the underlying DataObject implementation.)
33  * 
34  * \ingroup PathFilters
35  */
36 template <class TInputPath, class TInputImage, class TOutputPath>
37 class ITK_EXPORT PathAndImageToPathFilter :
38 IND ****public PathToPathFilter<TInputPath,TOutputPath> 
39 {
40 public:
41   /** Standard class typedefs. */
42   typedef PathAndImageToPathFilter  Self;
43 TDA   typedef PathToPathFilter<TInputPath,TOutputPath>  Superclass;
44 TDA   typedef SmartPointer<Self>   Pointer;
45   typedef SmartPointer<const Self>  ConstPointer;
46
47   /** Method for creation through the object factory. */
48   itkNewMacro(Self);
49   
50   /** Run-time type information (and related methods). */
51   itkTypeMacro(PathAndImageToPathFilter, PathToPathFilter);
52
53   /** Some convenient typedefs. */
54   typedef          TInputPath                     InputPathType;
55   typedef typename InputPathType::Pointer         InputPathPointer;
56   typedef typename InputPathType::ConstPointer    InputPathConstPointer;
57   typedef typename InputPathType::InputType       InputPathInputType;
58   typedef typename InputPathType::OutputType      InputPathOutputType;
59   typedef typename InputPathType::IndexType       InputPathIndexType;
60   typedef typename InputPathType::OffsetType      InputPathOffsetType;
61   typedef          TInputImage                    InputImageType;
62   typedef typename InputImageType::ConstPointer   InputImagePointer;
63   typedef typename InputImageType::RegionType     InputImageRegionType; 
64   typedef typename InputImageType::PixelType      InputImagePixelType; 
65   typedef          TOutputPath                    OutputPathType;
66   typedef typename OutputPathType::Pointer        OutputPathPointer;
67   typedef typename OutputPathType::InputType      OutputPathInputType;
68   typedef typename OutputPathType::OutputType     OutputPathOutputType;
69   typedef typename OutputPathType::IndexType      OutputPathIndexType;
70   typedef typename OutputPathType::OffsetType     OutputPathOffsetType;
71
72   /** ImageDimension constants */
73   itkStaticConstMacro(InputImageDimension, unsigned int,
74                       TInputImage::ImageDimension);
75   
76   /** Set/Get the path input of this process object. */
77   virtual void SetPathInput( const TInputPath * path);
78   const InputPathType * GetPathInput(void);
79
80   /** Set/Get the image input of this process object. */
81   virtual void SetImageInput( const TInputImage * image);
82   const InputImageType * GetImageInput(void);
83
84 protected:
85   PathAndImageToPathFilter();
86   virtual ~PathAndImageToPathFilter() {};
87
88   virtual void PrintSelf(std::ostream& os, Indent indent) const;
89   
90   /** What is the input requested region that is required to produce the output
91    * requested region?  Up till and including now, the base assumption is that
92    * the largest possible region will be requested of the input.  If this method
93    * is overridden, the new method should call its superclass' implementation as
94    * its first step.
95    *
96    * \sa ProcessObject::GenerateInputRequestedRegion() */
97   virtual void GenerateInputRequestedRegion();
98
99 private:
100   PathAndImageToPathFilter(const Self&); //purposely not implemented
101   void operator=(const Self&); //purposely not implemented
102 };
103
104 // end namespace itk
105
106 #ifndef ITK_MANUAL_INSTANTIATION
107 #include "itkPathAndImageToPathFilter.txx"
108 #endif
109
110 #endif
111

Generated by KWStyle 1.0b on Tuesday January,17 at 02:14:38PM
© Kitware Inc.