casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImageConcatenator.h
Go to the documentation of this file.
1 //# tSubImage.cc: Test program for class SubImage
2 //# Copyright (C) 1998,1999,2000,2001,2003
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This program is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU General Public License as published by the Free
7 //# Software Foundation; either version 2 of the License, or (at your option)
8 //# any later version.
9 //#
10 //# This program 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 General Public License for
13 //# more details.
14 //#
15 //# You should have received a copy of the GNU General Public License along
16 //# with this program; if not, write to the Free Software Foundation, Inc.,
17 //# 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: tSubImage.cc 20567 2009-04-09 23:12:39Z gervandiepen $
27 
28 #ifndef IMAGEANALYSIS_IMAGECONCATENATOR_H
29 #define IMAGEANALYSIS_IMAGECONCATENATOR_H
30 
32 #include <casa/namespace.h>
33 
34 namespace casacore{
35 
36 template <class T> class ImageConcat;
37 }
38 
39 namespace casa {
40 
41 template <class T> class ImageConcatenator /*: public ImageTask<T>*/ {
42  // <summary>
43  // Top level interface for concatenating images
44  // </summary>
45 
46  // <reviewed reviewer="" date="" tests="" demos="">
47  // </reviewed>
48 
49  // <prerequisite>
50  // </prerequisite>
51 
52  // <etymology>
53  // Concatenate an image
54  // </etymology>
55 
56  // <synopsis>
57  // High level interface for concatenating images.
58  // </synopsis>
59 
60 public:
61 
62  ImageConcatenator() = delete;
63 
64  // <src>image</src> should be the first image in
65  // the list of images to be concatenated.
66  /*
67  ImageConcatenator(
68  SPIIT image, const casacore::String& outname, casacore::Bool overwrite
69  );
70  */
71 
73  std::vector<casacore::String>& images,
74  const casacore::String& outname, casacore::Bool overwrite
75  );
76 
77 
78 
79  // destructor
81 
82  // Perform the concatenation.
83  // SPIIT concatenate(const std::vector<casacore::String>& imageNames);
85 
86  // Set the axis along which to do the concatenation. A negative value
87  // of <src>axis</src> means use the spectral axis. An exception is thrown
88  // if <src>axis</src> is negative and the image has no spectral axis.
89  void setAxis(casacore::Int axis);
90 
92 
93  void setMode(const casacore::String& mymode);
94 
95  void setRelax(casacore::Bool b) { _relax = b; }
96 
98 
99  casacore::String getClass() const;
100 
101 protected:
102  enum MODE{
107  };
108 
109 private:
110  std::vector<casacore::String> _imageNames;
118  static const casacore::String _class;
119 
120  // returns true if world coordinate values increase
121  // with pixel coordinate values
125  ) const;
126 
127  void _addImage(
128  std::shared_ptr<casacore::ImageConcat<T>> pConcat,
130  ) const;
131 
132 };
133 }
134 
135 #ifndef AIPS_NO_TEMPLATE_SRC
136 #include <imageanalysis/ImageAnalysis/ImageConcatenator.tcc>
137 #endif //# AIPS_NO_TEMPLATE_SRC
138 
139 #endif
A Vector of integers, for indexing into Array&lt;T&gt; objects.
Definition: IPosition.h:119
int Int
Definition: aipstype.h:50
SPIIT concatenate()
Perform the concatenation.
#define min(a, b)
Definition: hio.h:45
struct Node * first
Definition: malloc.h:330
Concatenates images along a specified axis.
casacore::String getClass() const
static const casacore::String _class
ABSTRACT CLASSES Abstract class for colors Any implementation of color should be able to provide a hexadecimal form of the if a human readable name(i.e."black").In many places throughout the plotter
void setMode(const casacore::String &mymode)
std::vector< casacore::String > _imageNames
~ImageConcatenator()
destructor
#define SPIIT
Definition: ImageTypedefs.h:34
double Double
Definition: aipstype.h:55
void setAxis(casacore::Int axis)
Set the axis along which to do the concatenation.
void setTempClose(casacore::Bool b)
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
ImageConcatenator()=delete
Top level interface for concatenating images.
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape...
Definition: ExprNode.h:1944
void setRelax(casacore::Bool b)
String: the storage and methods of handling collections of characters.
Definition: String.h:223
casacore::Bool _minAxisValues(casacore::Double &min, const casacore::CoordinateSystem &csys, const casacore::IPosition &shape) const
returns true if world coordinate values increase with pixel coordinate values
void _addImage(std::shared_ptr< casacore::ImageConcat< T >> pConcat, const casacore::String &name, casacore::Bool first) const
Interconvert pixel and world coordinates.
void setReorder(casacore::Bool b)
#define casacore
&lt;X11/Intrinsic.h&gt; #defines true, false, casacore::Bool, and String.
Definition: X11Intrinsic.h:42