casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImagePrimaryBeamCorrector.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_IMAGEPRIMARYBEAMCORRECTOR_H
29 #define IMAGEANALYSIS_IMAGEPRIMARYBEAMCORRECTOR_H
30 
32 #include <memory>
33 
34 #include <casa/namespace.h>
35 
36 namespace casa {
37 
38 class ImagePrimaryBeamCorrector : public ImageTask<casacore::Float> {
39  // <summary>
40  // Top level interface for primary beam correction.
41  // </summary>
42 
43  // <reviewed reviewer="" date="" tests="" demos="">
44  // </reviewed>
45 
46  // <prerequisite>
47  // </prerequisite>
48 
49  // <etymology>
50  // Collapses image.
51  // </etymology>
52 
53  // <synopsis>
54  // High level interface for primary beam correction.
55  // </synopsis>
56 
57  // <example>
58  // <srcblock>
59  // ImagePrimaryBeamCorrector corrector(...);
60  // corrector.correct();
61  // </srcblock>
62  // </example>
63 
64 public:
65 
66  enum Mode {
69  };
70 
71  ImagePrimaryBeamCorrector() = delete;
72 
73  // if <src>outname</src> is empty, no image will be written
74  // if <src>overwrite</src> is true, if image already exists it will be removed
75  // if <src>overwrite</src> is false, if image already exists exception will be thrown
76  // Only one of <src>regionPtr</src> or <src>region<src> should be specified.
77  // <group>
78 
80  const SPCIIF image,
81  const SPCIIF pbImage,
82  const casacore::Record * const &regionPtr,
83  const casacore::String& region, const casacore::String& box,
84  const casacore::String& chanInp, const casacore::String& stokes,
85  const casacore::String& maskInp,
86  const casacore::String& outname, const casacore::Bool overwrite,
87  const casacore::Float cutoff, const casacore::Bool useCutoff, const Mode mode
88  );
89 
91  const SPCIIF image,
92  const casacore::Array<casacore::Float>& pbArray,
93  const casacore::Record * const &regionPtr,
94  const casacore::String& region, const casacore::String& box,
95  const casacore::String& chanInp, const casacore::String& stokes,
96  const casacore::String& maskInp,
97  const casacore::String& outname, const casacore::Bool overwrite,
98  const casacore::Float cutoff, const casacore::Bool useCutoff, const Mode mode
99  );
100 
101  // </group>
102 
103  // destructor
105 
106  // perform the correction. If <src>wantReturn</src> is true, return a pointer to the
107  // collapsed image.
108  SPIIF correct(casacore::Bool wantReturn);
109 
110  casacore::String getClass() const;
111 
112 protected:
113 
114  std::vector<casacore::Coordinate::Type> _getNecessaryCoordinates() const;
115 
117 
118 private:
120 
124  const static casacore::String _class;
125 
126  void _checkPBSanity();
127 };
128 
129 }
130 
131 #endif
CasacRegionManager::StokesControl _getStokesControl() const
static const casacore::String _class
std::vector< casacore::Coordinate::Type > _getNecessaryCoordinates() const
Represents the minimum set of coordinates necessary for the task to function.
Mode
Top level interface for primary beam correction.
std::shared_ptr< const casacore::ImageInterface< casacore::Float > > SPCIIF
Definition: ImageTypedefs.h:50
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
float Float
Definition: aipstype.h:54
SPIIF correct(casacore::Bool wantReturn)
perform the correction.
std::shared_ptr< casacore::ImageInterface< casacore::Float > > SPIIF
Definition: ImageTypedefs.h:51
casacore::String getClass() const
String: the storage and methods of handling collections of characters.
Definition: String.h:223
const Bool True
Definition: aipstype.h:43