casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CEMemImageSkyModel.h
Go to the documentation of this file.
1 //# CEMemImageSkyModel.h: Definition for CEMemImageSkyModel
2 //# Copyright (C) 1996,1997,1998,1999,2000
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_CEMEMIMAGESKYMODEL_H
30 #define SYNTHESIS_CEMEMIMAGESKYMODEL_H
31 
33 namespace casa { //# NAMESPACE CASA - BEGIN
34 
35 //forward
36 class SkyEquation;
37 class CEMemProgress;
38 
39 // <summary> Image Sky Model for the Cornwell-Evens maximum entropy algorithm </summary>
40 
41 // <use visibility=export>
42 
43 // <reviewed reviewer="" date="" tests="" demos="">
44 
45 // <prerequisite>
46 // <li> <linkto class=ImageSkyModel>ImageSkyModel</linkto> class
47 // <li> <linkto class=CEMemLatModel>CEMemModel</linkto> class
48 // </prerequisite>
49 //
50 // <etymology>
51 // CEMemImageSkyModel implements the Cornwell-Evens MEM algorithm.
52 // It is derived from <linkto class=CleanImageSkyModel>CleanImageSkyModel</linkto>.
53 // </etymology>
54 //
55 // <synopsis>
56 // We need to add more stuff here.
57 //
58 //
59 //
60 // Masking is optionally performed using a mask image: only points
61 // where the mask is non-zero are cleaned. If no mask is specified
62 // all points in the inner quarter of the image are cleaned.
63 // </synopsis>
64 //
65 // <example>
66 // See the example for <linkto class=CleanImageSkyModel>CleanImageSkyModel</linkto>.
67 // </example>
68 //
69 // <motivation>
70 // </motivation>
71 //
72 // <todo asof="99/11/01">
73 // <ul> Some of the "CleanImageSkyModel" functionality should be moved to "ImageSkyModel"
74 // <ul> Create another virtual base class, "MemImageSkyModel", derived from "ImageSkyModel"
75 // <ul> THEN: derive CEMemImageSkyModel from "MemImageSkyModel"
76 // <ul> However, now we are just doing what works quickly: deriving from CleanImageSkyModel
77 // </todo>
78 
80 public:
81 
82  // constructor
87  const casacore::String& entropy);
88 
89  // destructor
91 
92  // Solve for this SkyModel
93  virtual casacore::Bool solve (SkyEquation& me);
94 
95  // Set control parameters which are different from Clean:
96  //<group>
97  void setSigma(const casacore::Float targetSigma) {itsSigma = targetSigma; }
101  void setEntropy(const casacore::String& ent) { itsEntropy = ent; }
102  //</group>
103 
104  // Get the various control parameters which are different from Clean:
105  //<group>
111  //</group>
112 
113 protected:
114 
116 
123 
125 
126 };
127 
128 
129 } //# NAMESPACE CASA - END
130 
131 #endif
132 
133 
void setSigma(const casacore::Float targetSigma)
Set control parameters which are different from Clean:
virtual casacore::Bool solve(SkyEquation &me)
Solve for this SkyModel.
void setConstrainTargetFlux(const casacore::Bool constrainFlux)
casacore::Vector< casacore::String > prior()
Class to monitor progress in MEM deconvolution.
Definition: CEMemProgress.h:79
CEMemImageSkyModel(casacore::Float sigma, casacore::Float targetFlux, casacore::Bool constrainFlux, const casacore::Vector< casacore::String > &priors, const casacore::String &entropy)
constructor
casacore::Float sigma()
Get the various control parameters which are different from Clean:
casacore::String entropy()
void setPrior(const casacore::Vector< casacore::String > &prior)
casacore::Bool constrainFlux()
casacore::Float targetFlux()
Image Sky Model for the Cornwell-Evens maximum entropy algorithm.
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
float Float
Definition: aipstype.h:54
void setEntropy(const casacore::String &ent)
casacore::Vector< casacore::String > itsPrior
String: the storage and methods of handling collections of characters.
Definition: String.h:223
void setTargetFlux(const casacore::Float targetFlux)
casacore::Bool initializeModel()
Image Sky Model: Image-based Model for the Sky Brightness.
~CEMemImageSkyModel()
destructor