casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImageRotator.h
Go to the documentation of this file.
1 //# ImageRotator.h
2 //# Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be addressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //# $Id: Image2DConvolver.h 20229 2008-01-29 15:19:06Z gervandiepen $
27 
28 #ifndef IMAGES_IMAGEROTATOR_H
29 #define IMAGES_IMAGEROTATOR_H
30 
32 
33 #include <casa/aips.h>
34 
35 namespace casa {
36 
37 // <summary>
38 // This class rotates an image through a specified angle.
39 // </summary>
40 
41 // <use visibility=export>
42 
43 // <reviewed reviewer="" date="yyyy/mm/dd" tests="" demos="">
44 // </reviewed>
45 
46 // <prerequisite>
47 // </prerequisite>
48 
49 // <etymology>
50 // This class rotates an image through a specified angle.
51 // </etymology>
52 
53 // <synopsis>
54 // This class rotates an image through a specified angle.
55 
56 // </synopsis>
57 
58 // <example>
59 // <srcBlock>
60 // </srcBlock>
61 // </example>
62 
63 // <motivation>
64 // users like histograms.
65 // </motivation>
66 // <li>
67 // </todo>
68 
69 template <class T> class ImageRotator : public ImageTask<T> {
70 public:
71 
73 
74  ImageRotator() = delete;
75 
77  const SPCIIT image, const casacore::Record *const &regionPtr,
78  const casacore::String& mask,const casacore::String& outname,
79  casacore::Bool overwrite
80  );
81 
82  ImageRotator(const ImageRotator &other) = delete;
83 
84  ~ImageRotator();
85 
86  ImageRotator &operator=(const ImageRotator &other) = delete;
87 
88  casacore::String getClass() const { return CLASS_NAME; }
89 
90  SPIIT rotate();
91 
92  // set angle through which to rotate the direction or linear coordinate
93  void setAngle(const casacore::Quantity& angle) { _angle = angle; }
94 
96 
97  // set the interpolation method
99  _method = method;
100  _method.upcase();
101  }
102 
104 
105  // set shape of output image
107 
108 protected:
109 
112  }
113 
114  std::vector<casacore::Coordinate::Type> _getNecessaryCoordinates() const {
115  return std::vector<casacore::Coordinate::Type>();
116  }
117 
118  casacore::Bool _supportsMultipleRegions() const {return false;}
119 
120 private:
126 
127 };
128 
129 }
130 
131 #ifndef AIPS_NO_TEMPLATE_SRC
132 #include <imageanalysis/ImageAnalysis/ImageRotator.tcc>
133 #endif
134 
135 #endif
ImageRotator & operator=(const ImageRotator &other)=delete
A Vector of integers, for indexing into Array&lt;T&gt; objects.
Definition: IPosition.h:119
casacore::Bool _supportsMultipleRegions() const
Definition: ImageRotator.h:118
int Int
Definition: aipstype.h:50
void setAngle(const casacore::Quantity &angle)
set angle through which to rotate the direction or linear coordinate
Definition: ImageRotator.h:93
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
casacore::Bool _replicate
Definition: ImageRotator.h:125
casacore::Quantity _angle
Definition: ImageRotator.h:123
Quantum< Double > Quantity
Definition: Quantum.h:38
casacore::IPosition _shape
Definition: ImageRotator.h:121
casacore::String getClass() const
Definition: ImageRotator.h:88
This class rotates an image through a specified angle.
Definition: ImageRotator.h:69
void upcase()
internal transformation to uppercase of String
casacore::Int _decimate
Definition: ImageRotator.h:124
#define SPIIT
Definition: ImageTypedefs.h:34
CasacRegionManager::StokesControl _getStokesControl() const
Definition: ImageRotator.h:110
casacore::String _method
Definition: ImageRotator.h:122
std::vector< casacore::Coordinate::Type > _getNecessaryCoordinates() const
Represents the minimum set of coordinates necessary for the task to function.
Definition: ImageRotator.h:114
A hierarchical collection of named fields of various types.
Definition: Record.h:180
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
void setShape(const casacore::IPosition &shape)
set shape of output image
Definition: ImageRotator.h:106
#define SPCIIT
Definition: ImageTypedefs.h:35
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape...
Definition: ExprNode.h:1944
String: the storage and methods of handling collections of characters.
Definition: String.h:223
void setDecimate(casacore::Int d)
Definition: ImageRotator.h:95
void setInterpolationMethod(const casacore::String &method)
set the interpolation method
Definition: ImageRotator.h:98
static const casacore::String CLASS_NAME
Definition: ImageRotator.h:72
void setReplicate(casacore::Bool b)
Definition: ImageRotator.h:103