Orfeo Toolbox  3.16
otbImage.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ORFEO Toolbox
4  Language: C++
5  Date: $Date$
6  Version: $Revision$
7 
8 
9  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
10  See OTBCopyright.txt for details.
11 
12 
13  This software is distributed WITHOUT ANY WARRANTY; without even
14  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  PURPOSE. See the above copyright notices for more information.
16 
17 =========================================================================*/
18 #ifndef __otbImage_h
19 #define __otbImage_h
20 
21 #include "itkImage.h"
23 
24 namespace otb
25 {
31 template <class TPixel, unsigned int VImageDimension = 2>
32 class ITK_EXPORT Image : public itk::Image<TPixel, VImageDimension>
33 {
34 public:
36  typedef Image Self;
41 
45 
47  itkNewMacro(Self);
48 
50  itkTypeMacro(Image, itk::Image);
51 
54  typedef typename Superclass::PixelType PixelType;
55 
57  typedef typename Superclass::ValueType ValueType;
58 
63  typedef typename Superclass::InternalPixelType InternalPixelType;
64 
65  typedef typename Superclass::IOPixelType IOPixelType;
66 
69  //typedef itk::DefaultPixelAccessor< PixelType > AccessorType;
70  //typedef itk::DefaultPixelAccessorFunctor< Self > AccessorFunctorType;
71 
75 
80  itkStaticConstMacro(ImageDimension, unsigned int, VImageDimension);
81 
83  typedef typename Superclass::PixelContainer PixelContainer;
84 
86  typedef typename Superclass::IndexType IndexType;
87 
89  typedef typename Superclass::OffsetType OffsetType;
90 
92  typedef typename Superclass::SizeType SizeType;
93 
95  typedef typename Superclass::DirectionType DirectionType;
96 
98  typedef typename Superclass::RegionType RegionType;
99 
102  typedef typename Superclass::SpacingType SpacingType;
103 
106  typedef typename Superclass::PointType PointType;
107 
109  typedef typename PixelContainer::Pointer PixelContainerPointer;
110  typedef typename PixelContainer::ConstPointer PixelContainerConstPointer;
111 
113  typedef typename Superclass::OffsetValueType OffsetValueType;
114 
116 // AccessorType GetPixelAccessor( void )
117 // {
118 // return AccessorType();
119 // }
120 
121 // /** Return the Pixel Accesor object */
122 // const AccessorType GetPixelAccessor( void ) const
123 // {
124 // return AccessorType();
125 // }
126 
128  NeighborhoodAccessorFunctorType GetNeighborhoodAccessor()
129  {
131  }
132 
134  const NeighborhoodAccessorFunctorType GetNeighborhoodAccessor() const
135  {
137  }
138 
140  virtual std::string GetProjectionRef(void) const;
141 
143  virtual std::string GetGCPProjection(void) const;
144 
145  virtual unsigned int GetGCPCount(void) const;
146 
147  virtual OTB_GCP& GetGCPs(unsigned int GCPnum);
148  virtual const OTB_GCP& GetGCPs(unsigned int GCPnum) const;
149 
150  virtual std::string GetGCPId(unsigned int GCPnum) const;
151  virtual std::string GetGCPInfo(unsigned int GCPnum) const;
152  virtual double GetGCPRow(unsigned int GCPnum) const;
153  virtual double GetGCPCol(unsigned int GCPnum) const;
154  virtual double GetGCPX(unsigned int GCPnum) const;
155  virtual double GetGCPY(unsigned int GCPnum) const;
156  virtual double GetGCPZ(unsigned int GCPnum) const;
157 
159  virtual VectorType GetGeoTransform(void) const;
160 
162  virtual VectorType GetUpperLeftCorner(void) const;
163  virtual VectorType GetUpperRightCorner(void) const;
164  virtual VectorType GetLowerLeftCorner(void) const;
165  virtual VectorType GetLowerRightCorner(void) const;
166 
168  virtual ImageKeywordlistType GetImageKeywordlist(void);
169  virtual const ImageKeywordlistType GetImageKeywordlist(void) const;
170 
171  void PrintSelf(std::ostream& os, itk::Indent indent) const;
172 
174  virtual void CopyInformation(const itk::DataObject *);
175 
176 protected:
177  Image();
178  virtual ~Image() {}
179 
180 private:
181  Image(const Self &); //purposely not implemented
182  void operator =(const Self&); //purposely not implemented
183 
187  ImageMetadataInterfacePointerType GetMetaDataInterface() const;
188 
189  // The image metadata accessor object. Don't use it directly. Instead use GetMetaDataInterface()
191 
192 };
193 
194 } // end namespace otb
195 
196 #ifndef OTB_MANUAL_INSTANTIATION
197 #include "otbImage.txx"
198 #endif
199 
200 #endif

Generated at Sun Jun 16 2013 00:27:31 for Orfeo Toolbox with doxygen 1.8.3.1