KWStyle - itkImageAndPathToImageFilter.h
 
Matrix View
Description

1 /*=========================================================================
2
3   Program:   Insight Segmentation & Registration Toolkit
4   Module:    $RCSfile: itkImageAndPathToImageFilter.h.html,v $
5   Language:  C++
6   Date:      $Date: 2006/01/17 19:15:36 $
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 __itkImageAndPathToImageFilter_h
18 #define __itkImageAndPathToImageFilter_h
19
20 #include "itkImageToImageFilter.h"
21
22 namespace itk
23 {
24   
25 /** \class ImageAndPathToImageFilter
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 an image and a path
29  * as input and produce an image as output.  Specifically, this class defines
30  * the methods SetPathInput() and SetImageInput().  (It also establishes the
31  * precedent of having image inputs preceed path inputs for functions producing
32  * images as outputs, according to the underlying DataObject implementation.)
33  * 
34  * \ingroup ImageFilters
35  * \ingroup PathFilters
36  */
37 template <class TInputImage, class TInputPath, class TOutputImage>
38 class ITK_EXPORT ImageAndPathToImageFilter :
39 IND ****public ImageToImageFilter<TInputImage,TOutputImage> 
40 {
41 public:
42   /** Standard class typedefs. */
43   typedef ImageAndPathToImageFilter  Self;
44 TDA   typedef ImageToImageFilter<TInputImage,TOutputImage>  Superclass;
45 TDA   typedef SmartPointer<Self>   Pointer;
46 TDA   typedef SmartPointer<const Self>  ConstPointer;
47
48   /** Method for creation through the object factory. */
49   itkNewMacro(Self);
50   
51   /** Run-time type information (and related methods). */
52   itkTypeMacro(ImageAndPathToImageFilter, ImageToImageFilter);
53
54   /** Some convenient typedefs. */
55   typedef          TInputImage                    InputImageType;
56   typedef typename InputImageType::ConstPointer   InputImagePointer;
57   typedef typename InputImageType::RegionType     InputImageRegionType; 
58   typedef typename InputImageType::PixelType      InputImagePixelType; 
59   typedef          TInputPath                     InputPathType;
60   typedef typename InputPathType::Pointer         InputPathPointer;
61   typedef typename InputPathType::ConstPointer    InputPathConstPointer;
62   typedef typename InputPathType::InputType       InputPathInputType;
63   typedef typename InputPathType::OutputType      InputPathOutputType;
64   typedef typename InputPathType::IndexType       InputPathIndexType;
65   typedef typename InputPathType::OffsetType      InputPathOffsetType;
66   typedef          TOutputImage                   OutputImageType;
67   typedef typename OutputImageType::Pointer       OutputImagePointer;
68   typedef typename OutputImageType::RegionType    OutputImageRegionType; 
69   typedef typename OutputImageType::PixelType     OutputImagePixelType; 
70
71   /** ImageDimension constants */
72   itkStaticConstMacro(InputImageDimension, unsigned int,
73                       TInputImage::ImageDimension);
74   itkStaticConstMacro(OutputImageDimension, unsigned int,
75                       TOutputImage::ImageDimension);
76   
77   /** Set/Get the image input of this process object. */
78   virtual void SetImageInput( const TInputImage * image);
79   const InputImageType * GetImageInput(void);
80   
81   /** Set/Get the path input of this process object. */
82   virtual void SetPathInput( const TInputPath * path);
83   const InputPathType * GetPathInput(void);
84
85 protected:
86   ImageAndPathToImageFilter();
87   virtual ~ImageAndPathToImageFilter() {};
88
89   virtual void PrintSelf(std::ostream& os, Indent indent) const;
90   
91 private:
92   ImageAndPathToImageFilter(const Self&); //purposely not implemented
93   void operator=(const Self&); //purposely not implemented
94 };
95
96 // end namespace itk
97
98 #ifndef ITK_MANUAL_INSTANTIATION
99 #include "itkImageAndPathToImageFilter.txx"
100 #endif
101
102 #endif
103

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