casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LinearMosaic.h
Go to the documentation of this file.
1 /*
2  * LinearMosaic.h Linear mosaicing code
3 //# Copyright (C) 2015
4 //# Associated Universities, Inc. Washington DC, USA.
5 //#
6 //# This library is free software; you can redistribute it and/or modify it
7 //# under the terms of the GNU Library General Public License as published by
8 //# the Free Software Foundation; either version 2 of the License, or (at your
9 //# option) any later version.
10 //#
11 //# This library is distributed in the hope that it will be useful, but WITHOUT
12 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
14 //# License for more details.
15 //#
16 //# You should have received a copy of the GNU Library General Public License
17 //# along with this library; if not, write to the Free Software Foundation,
18 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
19 //#
20 //# Correspondence concerning AIPS++ should be adressed as follows:
21 //# Internet email: aips2-request@nrao.edu.
22 //# Postal address: AIPS++ Project Office
23 //# National Radio Astronomy Observatory
24 //# 520 Edgemont Road
25 //# Charlottesville, VA 22903-2475 USA
26 //#
27 //#
28 
29  *
30  *
31  * Created on: Feb 24, 2015
32  * Author: kgolap
33  */
34 
35 #ifndef SYNTHESIS_LINEARMOSAIC_H
36 #define SYNTHESIS_LINEARMOSAIC_H
37 
38 namespace casacore{
39 
40  template<class T> class ImageInterface;
41  template<class T> class Vector;
42  class CoordinateSystem;
43 }
44 
45 namespace casa { //# NAMESPACE CASA - BEGIN
46  //Forward declaration
47  // <summary> Class that contains functions needed for feathering</summary>
48 
49  class LinearMosaic{
50 
51  public:
52  LinearMosaic();
53  LinearMosaic(const casacore::String outim, const casacore::String outwgt, const casacore::MDirection& imcen, const casacore::Int nx, const casacore::Int ny,
54  const casacore::Quantity cellx=casacore::Quantity(0.0, "arcsec"), const casacore::Quantity celly=casacore::Quantity(0.0, "arcsec"), const casacore::Int linmostype=2);
55  //casacore::Coordinate System of output image along with the different pointing images and weight images
56  // linmostype 1 or 2.. ie. mosaic in PB or PB^2
57  LinearMosaic(const casacore::String outim, const casacore::String outwgt, const casacore::MDirection& imcen, const casacore::Int nx, const casacore::Int ny,
65 
66  // outim is weighted 0: flux correct, 1: flat noise, 2: noise optimal
68  // Disk based image of the above
69  void setlinmostype(const casacore::Int linmostype);
70  void saultWeightImage(const casacore::String& outimname, const casacore::Float& fracPeakWgt);
71  void setOutImages(const casacore::String& outim, const casacore::String& outwgt, const casacore::Int imageWeightType=1, const casacore::Int weightType=2);
72  private:
74  const casacore::ImageInterface<casacore::Float>& inWgt, casacore::Bool unWeightOutImage=true);
75  void makeEmptyImage(const casacore::String imagename, const casacore::CoordinateSystem& cs, const casacore::MDirection& imcen, const casacore::Int nx, const casacore::Int ny, const casacore::Int npol, const casacore::Int nchan);
76  void createOutImages(const casacore::CoordinateSystem& cs, const casacore::Int npol, const casacore::Int nchan );
82 
85 };
86 
87 
88 
89 } //# NAMESPACE CASA - END
90 
91 
92 
93 #endif /* SYNTHESISLINEARMOSAIC_H */
A Measure: astronomical direction.
Definition: MDirection.h:174
A 1-D Specialization of the Array class.
int Int
Definition: aipstype.h:50
casacore::CountedPtr< casacore::ImageInterface< casacore::Float > > outWgt_p
Definition: LinearMosaic.h:77
std::vector< double > Vector
Definition: ds9context.h:24
casacore::Int linmosType_p
Definition: LinearMosaic.h:84
Forward declaration.
Definition: LinearMosaic.h:49
void makeEmptyImage(const casacore::String imagename, const casacore::CoordinateSystem &cs, const casacore::MDirection &imcen, const casacore::Int nx, const casacore::Int ny, const casacore::Int npol, const casacore::Int nchan)
casacore::Quantity celly_p
Definition: LinearMosaic.h:81
casacore::Int weightType_p
Definition: LinearMosaic.h:83
casacore::MDirection imcen_p
Definition: LinearMosaic.h:80
void setOutImages(casacore::ImageInterface< casacore::Float > &outim, casacore::ImageInterface< casacore::Float > &outwgt, const casacore::Int imageWeightType=1, const casacore::Int weightType=2)
outim is weighted 0: flux correct, 1: flat noise, 2: noise optimal
casacore::Bool addOnToImage(casacore::ImageInterface< casacore::Float > &outim, casacore::ImageInterface< casacore::Float > &outwgt, const casacore::ImageInterface< casacore::Float > &inIm, const casacore::ImageInterface< casacore::Float > &inWgt, casacore::Bool unWeightOutImage=true)
casacore::String outWgtName_p
Definition: LinearMosaic.h:78
void createOutImages(const casacore::CoordinateSystem &cs, const casacore::Int npol, const casacore::Int nchan)
casacore::Int ny_p
Definition: LinearMosaic.h:79
casacore::Quantity cellx_p
Definition: LinearMosaic.h:81
Referenced counted pointer for constant data.
Definition: VisModelData.h:42
casacore::CountedPtr< casacore::ImageInterface< casacore::Float > > outImage_p
Definition: LinearMosaic.h:77
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
float Float
Definition: aipstype.h:54
void setlinmostype(const casacore::Int linmostype)
Disk based image of the above.
void saultWeightImage(const casacore::String &outimname, const casacore::Float &fracPeakWgt)
casacore::Int nx_p
Definition: LinearMosaic.h:79
casacore::Bool makeMosaic(casacore::ImageInterface< casacore::Float > &outim, casacore::ImageInterface< casacore::Float > &outwgt, casacore::Vector< casacore::CountedPtr< casacore::ImageInterface< casacore::Float > > > &ims, casacore::Vector< casacore::CountedPtr< casacore::ImageInterface< casacore::Float > > > &wgtims)
String: the storage and methods of handling collections of characters.
Definition: String.h:223
casacore::Int imageWeightType_p
Definition: LinearMosaic.h:83
Interconvert pixel and world coordinates.
casacore::String outImName_p
Definition: LinearMosaic.h:78
#define casacore
&lt;X11/Intrinsic.h&gt; #defines true, false, casacore::Bool, and String.
Definition: X11Intrinsic.h:42