]> Creatis software - clitk.git/blobdiff - itk/clitkResampleImageWithOptionsFilter.h
Add pixel coordinate instead of mm coordinates into Xml2DicomRTStruct
[clitk.git] / itk / clitkResampleImageWithOptionsFilter.h
index b526207be8f9784869a3af0c79394e3c94201124..f3de134ce14f9b8d1c81753968e598f47c8f1616 100644 (file)
@@ -22,6 +22,8 @@
 #include "itkImageToImageFilter.h"
 #include "itkAffineTransform.h"
 
+#include "clitkCommon.h"
+
 namespace clitk {
   
   //--------------------------------------------------------------------
@@ -60,6 +62,8 @@ namespace clitk {
   typedef typename OutputImageType::PixelType    OutputImagePixelType;
   typedef typename OutputImageType::SpacingType  OutputImageSpacingType;
   typedef typename OutputImageType::SizeType     OutputImageSizeType;
+  typedef typename OutputImageType::PointType    OutputImageOriginType;
+  typedef typename OutputImageType::DirectionType        OutputImageDirectionType;
     
   typedef itk::AffineTransform<double, InputImageType::ImageDimension> TransformType;
   typedef typename InputImageType::SpacingType                         GaussianSigmaType;
@@ -82,7 +86,7 @@ namespace clitk {
                  (itk::Concept::SameDimension<InputImageDimension, OutputImageDimension>));
 
   /** Input : image to resample */
-  void SetInput(const InputImageType * image);
+  void SetInput(const InputImageType * image) ITK_OVERRIDE;
     
   /** ImageDimension constants */
   itkStaticConstMacro(ImageDimension, unsigned int, InputImageType::ImageDimension);
@@ -96,6 +100,10 @@ namespace clitk {
   itkGetMacro(OutputSpacing, OutputImageSpacingType);
   itkSetMacro(OutputSize, OutputImageSizeType);
   itkGetMacro(OutputSize, OutputImageSizeType);
+  itkSetMacro(OutputOrigin, OutputImageOriginType);
+  itkGetMacro(OutputOrigin, OutputImageOriginType);
+  itkSetMacro(OutputDirection, OutputImageDirectionType);
+  itkGetMacro(OutputDirection, OutputImageDirectionType);
   itkGetMacro(InterpolationType, InterpolationTypeEnumeration);
   itkSetMacro(InterpolationType, InterpolationTypeEnumeration);    
   itkGetMacro(GaussianFilteringEnabled, bool);
@@ -124,16 +132,18 @@ namespace clitk {
   int m_BSplineOrder;
   int m_BLUTSamplingFactor;    
   OutputImageSizeType m_OutputSize;
-  OutputImageSpacingType m_OutputSpacing;  
+  OutputImageSpacingType m_OutputSpacing;
+  OutputImageOriginType    m_OutputOrigin;
+  OutputImageDirectionType m_OutputDirection;
   typename TransformType::Pointer m_Transform;
   GaussianSigmaType m_GaussianSigma;
   OutputImagePixelType m_DefaultPixelValue;
   bool m_VerboseOptions;
   OutputImageRegionType m_OutputRegion;
 
-  virtual void GenerateInputRequestedRegion();
-  virtual void GenerateOutputInformation();
-  virtual void GenerateData();
+  virtual void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  virtual void GenerateOutputInformation() ITK_OVERRIDE;
+  virtual void GenerateData() ITK_OVERRIDE;
     
   private:
   ResampleImageWithOptionsFilter(const Self&); //purposely not implemented