ITK  4.6.0
Insight Segmentation and Registration Toolkit
itkExpandImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef __itkExpandImageFilter_h
19 #define __itkExpandImageFilter_h
20 
21 #include "itkImageToImageFilter.h"
23 
24 namespace itk
25 {
66 template< typename TInputImage, typename TOutputImage >
68  public ImageToImageFilter< TInputImage, TOutputImage >
69 {
70 public:
76 
78  itkNewMacro(Self);
79 
82 
84  typedef typename TOutputImage::RegionType OutputImageRegionType;
85 
87  itkStaticConstMacro(ImageDimension, unsigned int,
88  TInputImage::ImageDimension);
89 
93  typedef typename OutputImageType::PixelType OutputPixelType;
94  typedef typename InputImageType::Pointer InputImagePointer;
95  typedef typename OutputImageType::Pointer OutputImagePointer;
96 
98  typedef double CoordRepType;
103 
105  itkSetObjectMacro(Interpolator, InterpolatorType);
106  itkGetModifiableObjectMacro(Interpolator, InterpolatorType);
108 
111 
114  itkSetMacro(ExpandFactors, ExpandFactorsType);
115  virtual void SetExpandFactors(const unsigned int factor);
117 
119  itkGetConstReferenceMacro(ExpandFactors, ExpandFactorsType);
120 
122 //TEST_RMV20100728 itkSetMacro( EdgePaddingValue, OutputPixelType );
123 //TEST_RMV20100728
124 
126 //TEST_RMV20100728 itkGetConstMacro( EdgePaddingValue, OutputPixelType );
127 
134  virtual void GenerateOutputInformation();
135 
141  virtual void GenerateInputRequestedRegion();
142 
143 #ifdef ITK_USE_CONCEPT_CHECKING
144  // Begin concept checking
145  itkConceptMacro( InputHasNumericTraitsCheck,
147  itkConceptMacro( OutputHasNumericTraitsCheck,
149  // End concept checking
150 #endif
151 
152 protected:
155  void PrintSelf(std::ostream & os, Indent indent) const;
156 
166  virtual
167  void ThreadedGenerateData(const OutputImageRegionType & outputRegionForThread,
168  ThreadIdType threadId);
169 
172  virtual void BeforeThreadedGenerateData();
173 
174 private:
175  ExpandImageFilter(const Self &); //purposely not implemented
176  void operator=(const Self &); //purposely not implemented
177 
180 //TEST_RMV20100728 * \warning: The following is valid only when the flag
181 //TEST_RMV20100728 * ITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY is ON
182 //TEST_RMV20100728 * The output image will not contain any padding, and
183 // therefore the
184 //TEST_RMV20100728 * EdgePaddingValue will not be used.
185 //TEST_RMV20100728 *
186 //TEST_RMV20100728 OutputPixelType m_EdgePaddingValue;
187 };
188 } // end namespace itk
189 
190 #ifndef ITK_MANUAL_INSTANTIATION
191 #include "itkExpandImageFilter.hxx"
192 #endif
193 
194 #endif
virtual void BeforeThreadedGenerateData()
TOutputImage::RegionType OutputImageRegionType
InterpolateImageFunction< InputImageType, CoordRepType > InterpolatorType
Superclass::InputImageType InputImageType
virtual void GenerateOutputInformation()
InputImageType::Pointer InputImagePointer
void operator=(const Self &)
OutputImageType::Pointer OutputImagePointer
SmartPointer< Self > Pointer
ImageToImageFilter< TInputImage, TOutputImage > Superclass
Base class for all process objects that output image data.
OutputImageType::PixelType OutputPixelType
LinearInterpolateImageFunction< InputImageType, CoordRepType > DefaultInterpolatorType
virtual void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)
Linearly interpolate an image at specified positions.
virtual void GenerateInputRequestedRegion()
InterpolatorType::Pointer InterpolatorPointer
static const unsigned int ImageDimension
virtual void SetExpandFactors(ExpandFactorsType _arg)
Base class for all image interpolaters.
Base class for filters that take an image as input and produce an image as output.
FixedArray< unsigned int, ImageDimension > ExpandFactorsType
Control indentation during Print() invocation.
Definition: itkIndent.h:49
ExpandFactorsType m_ExpandFactors
TOutputImage OutputImageType
Superclass::OutputImageType OutputImageType
#define itkConceptMacro(name, concept)
SmartPointer< const Self > ConstPointer
void PrintSelf(std::ostream &os, Indent indent) const
Expand the size of an image by an integer factor in each dimension.
InterpolatorPointer m_Interpolator
unsigned int ThreadIdType
Definition: itkIntTypes.h:159