go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkUpsampleBSplineParametersFilter.h
Go to the documentation of this file.
00001 /*======================================================================
00002 
00003   This file is part of the elastix software.
00004 
00005   Copyright (c) University Medical Center Utrecht. All rights reserved.
00006   See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
00007   details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE. See the above copyright notices for more information.
00012 
00013 ======================================================================*/
00014 
00015 #ifndef __itkUpsampleBSplineParametersFilter_h
00016 #define __itkUpsampleBSplineParametersFilter_h
00017 
00018 #include "itkObject.h"
00019 #include "itkArray.h"
00020 
00021 
00022 namespace itk
00023 {
00024 
00036 template < class TArray, class TImage >
00037 class ITK_EXPORT UpsampleBSplineParametersFilter
00038   : public Object
00039 {
00040 public:
00041 
00043   typedef UpsampleBSplineParametersFilter   Self;
00044   typedef Object                            Superclass;
00045   typedef SmartPointer<Self>                Pointer;
00046   typedef SmartPointer<const Self>          ConstPointer;
00047 
00049   itkNewMacro( Self );
00050 
00052   itkTypeMacro( UpsampleBSplineParametersFilter, Object );
00053 
00055   typedef TArray                            ArrayType;
00056   typedef typename ArrayType::ValueType     ValueType;
00057   typedef TImage                            ImageType;
00058   typedef typename ImageType::Pointer       ImagePointer;
00059   typedef typename ImageType::PixelType     PixelType;
00060   typedef typename ImageType::SpacingType   SpacingType;
00061   typedef typename ImageType::PointType     OriginType;
00062   typedef typename ImageType::DirectionType DirectionType;
00063   typedef typename ImageType::RegionType    RegionType;
00064 
00066   itkStaticConstMacro( Dimension, unsigned int, ImageType::ImageDimension );
00067 
00069   itkSetMacro( CurrentGridOrigin, OriginType );
00070 
00072   itkSetMacro( CurrentGridSpacing, SpacingType );
00073 
00075   itkSetMacro( CurrentGridDirection, DirectionType );
00076 
00078   itkSetMacro( CurrentGridRegion, RegionType );
00079 
00081   itkSetMacro( RequiredGridOrigin, OriginType );
00082 
00084   itkSetMacro( RequiredGridSpacing, SpacingType );
00085 
00087   itkSetMacro( RequiredGridDirection, DirectionType );
00088 
00090   itkSetMacro( RequiredGridRegion, RegionType );
00091 
00093   itkSetMacro( BSplineOrder, unsigned int );
00094 
00096   virtual void UpsampleParameters( const ArrayType & param_in,
00097     ArrayType & param_out );
00098 
00099 protected:
00100 
00102   UpsampleBSplineParametersFilter();
00103 
00105   ~UpsampleBSplineParametersFilter() {};
00106 
00108   virtual void PrintSelf( std::ostream& os, Indent indent ) const;
00109 
00111   virtual bool DoUpsampling( void );
00112 
00113 private:
00114 
00115   UpsampleBSplineParametersFilter( const Self& ); //purposely not implemented
00116   void operator=( const Self & );                 //purposely not implemented
00117 
00119   OriginType    m_CurrentGridOrigin;
00120   SpacingType   m_CurrentGridSpacing;
00121   DirectionType m_CurrentGridDirection;
00122   RegionType    m_CurrentGridRegion;
00123   OriginType    m_RequiredGridOrigin;
00124   SpacingType   m_RequiredGridSpacing;
00125   DirectionType m_RequiredGridDirection;
00126   RegionType    m_RequiredGridRegion;
00127   unsigned int  m_BSplineOrder;
00128 
00129 }; // end class UpsampleBSplineParametersFilter
00130 
00131 } // end namespace itk
00132 
00133 #if ITK_TEMPLATE_TXX
00134 # include "itkUpsampleBSplineParametersFilter.txx"
00135 #endif
00136 
00137 #endif // end #ifndef __itkUpsampleBSplineParametersFilter_h


Generated on 24-10-2011 for elastix by doxygen 1.7.4 elastix logo