casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MultiTermAWProjectWBFT.h
Go to the documentation of this file.
1 //# MultiTermAWProjectWBFT.h: Definition for MultiTermAWProjectWBFT
2 //# Copyright (C) 1996,1997,1998,1999,2000,2002
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 adressed 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 //#
27 //# $Id$
28 
29 #ifndef SYNTHESIS_MULTITERMAWPROJECTWBFT_H
30 #define SYNTHESIS_MULTITERMAWPROJECTWBFT_H
31 #define DELTAPA 1.0
32 #define MAGICPAVALUE -999.0
33 
34 #include <synthesis/MeasurementComponents/AWProjectWBFT.h>
35 
36 namespace casa { //# NAMESPACE CASA - BEGIN
37 
39 
40  public:
41  //
42  // Constructor: cachesize is the size of the cache in words
43  // (e.g. a few million is a good number), tilesize is the size of
44  // the tile used in gridding (cannot be less than 12, 16 works in
45  // most cases).
46  // <group>
47  //
51  casacore::Bool applyPointingOffset=true,
52  casacore::Bool doPBCorr=true,
54  casacore::Float paSteps=5.0,
55  casacore::Float pbLimit=5e-2,
56  casacore::Bool usezero=false)
57  {};
58  // </group>
59 
60  // Construct from a casacore::Record containing the AWProjectWBFT state
62  {};
63 
64  // Assignment operator
66  {};
67 
69  {};
70 
71  //
72  // Given the sky image (Fourier transform of the visibilities),
73  // sum of weights and the sensitivity image, this method replaces
74  // the skyImage with the normalized image of the sky.
75  //
77  const casacore::Matrix<casacore::Double>& sumOfWts,
78  casacore::Lattice<casacore::Float>& sensitivityImage,
79  casacore::Bool fftNorm=true)
80  {};
81  //
82  // In AWProjectWBFT and its derivatives, sensitivity image is
83  // computed by accumulating weight functions (images) during the
84  // first gridding cycle. AWProjectFT::makeSensitivityImage() is
85  // overloaded in AWProjectWBFT and only issues a log message.
86  //
87  // The following method is used to Fourier transform normalize the
88  // accumulated weight images. doFFTNorm when true, the FFT
89  // normalization (by pixel volume) is also done.
90  //
94  const casacore::Bool& doFFTNorm=true)
95  {};
96  //
97  // Method used to make normalized image from gridded visibilites.
98  // This calls makeSensitivityImage() to make the sensitivity image
99  // and AWProjectFT::getImage() to make the image from gridded
100  // visibilites. AWProjectFT::getImage() internally calls
101  // normalizeImage() which uses the sensitivty image computed by
102  // makeSensitivtyImage().
103  //
105  {};
106 
107  //
108  // Returns true if accumulation during gridding to compute the
109  // average PB must be done.
110  //
112  {return (avgPBReady_p==false);};
113 
114  virtual casacore::String name() const {return "MultiTermAWProjectWBFT";};
115 
117  {throw(casacore::AipsError("MTAWPWBFT::normalizeAvgPB(Complex,Float)"));}
118  };
119 } //# NAMESPACE CASA - END
120 
121 #endif
int Int
Definition: aipstype.h:50
casacore::Int tilesize
Definition: AWProjectFT.h:439
void normalizeAvgPB(casacore::ImageInterface< casacore::Complex > &inImage, casacore::ImageInterface< casacore::Float > &outImage)
virtual casacore::Bool computeAvgPB(const casacore::Double &actualPA, const casacore::Double &lastPAUsedForWtImg)
Returns true if accumulation during gridding to compute the average PB must be done.
long Long
Definition: aipstype.h:52
casacore::Float lastPAUsedForWtImg
Definition: AWProjectFT.h:508
Referenced counted pointer for constant data.
Definition: VisModelData.h:42
MultiTermAWProjectWBFT(const casacore::RecordInterface &stateRec)
Construct from a casacore::Record containing the AWProjectWBFT state.
double Double
Definition: aipstype.h:55
virtual casacore::String name() const
Return the name of the machine.
virtual void normalizeImage(casacore::Lattice< casacore::Complex > &skyImage, const casacore::Matrix< casacore::Double > &sumOfWts, casacore::Lattice< casacore::Float > &sensitivityImage, casacore::Bool fftNorm=true)
Given the sky image (Fourier transform of the visibilities), sum of weights and the sensitivity image...
MultiTermAWProjectWBFT & operator=(const MultiTermAWProjectWBFT &other)
Assignment operator.
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
float Float
Definition: aipstype.h:54
virtual void makeSensitivityImage(casacore::Lattice< casacore::Complex > &wtImage, casacore::ImageInterface< casacore::Float > &sensitivityImage, const casacore::Matrix< casacore::Float > &sumWt=casacore::Matrix< casacore::Float >(), const casacore::Bool &doFFTNorm=true)
In AWProjectWBFT and its derivatives, sensitivity image is computed by accumulating weight functions ...
Base class for all Casacore library errors.
Definition: Error.h:134
const Double e
e and functions thereof:
MultiTermAWProjectWBFT(casacore::Int nFacets, casacore::Long cachesize, casacore::CountedPtr< CFCache > &cfcache, casacore::CountedPtr< ConvolutionFunction > &cf, casacore::Bool applyPointingOffset=true, casacore::Bool doPBCorr=true, casacore::Int tilesize=16, casacore::Float paSteps=5.0, casacore::Float pbLimit=5e-2, casacore::Bool usezero=false)
Constructor: cachesize is the size of the cache in words (e.g.
String: the storage and methods of handling collections of characters.
Definition: String.h:223
virtual casacore::ImageInterface< casacore::Complex > & getImage(casacore::Matrix< casacore::Float > &, casacore::Bool normalize=true)
Method used to make normalized image from gridded visibilites.
Abstract base class for Record classes.
casacore::Bool avgPBReady_p
casacore::Long cachesize
Sizes.
Definition: AWProjectFT.h:438