casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SkyEquation.h
Go to the documentation of this file.
1 //# SkyEquation.h: SkyEquation definition
2 //# Copyright (C) 1996,1997,1998,1999,2000,2002,2003
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_SKYEQUATION_H
30 #define SYNTHESIS_SKYEQUATION_H
31 
32 #include <casa/aips.h>
33 #include <casa/Arrays/Matrix.h>
34 #include <casa/BasicSL/Complex.h>
36 #include <casa/Logging/LogSink.h>
38 #include <msvis/MSVis/VisBuffer.h>
40 
41 namespace casacore{
42 
43 class UVWMachine;
44 template <class T> class ImageInterface;
45 template <class T> class TempImage;
46 }
47 
48 namespace casa { //# NAMESPACE CASA - BEGIN
49 
50 // <summary> Relate Sky brightness to the visibility </summary>
51 
52 // <use visibility=export>
53 
54 // <reviewed reviewer="" date="" tests="" demos="">
55 
56 // <prerequisite>
57 // <li> <linkto module="MeasurementComponents">MeasurementComponents</linkto> module
58 // </prerequisite>
59 //
60 // <etymology>
61 // Sky Equation encapsulates the equation between the sky brightness
62 // and the visibility (or coherence) measured by a generic instrument
63 // </etymology>
64 //
65 // <synopsis>
66 // This is responsible for the Sky-based part of Measurement Equation of the Generic
67 // Interferometer due to Hamaker, Bregman and Sault and later extended
68 // by Noordam, and Cornwell.
69 //
70 // See <linkto module="MeasurementEquations">MeasurementEquations</linkto>
71 // for more details of the form of the SkyEquation.
72 //
73 // The principal use of SkyEquation is that, as described in
74 // <linkto module="MeasurementEquations">MeasurementEquations</linkto>,
75 // the gradients of chi-squared may be calculated and returned
76 // as an image.
77 //
78 // The following components can be plugged into SkyEquation
79 // <ul>
80 // <li> Antenna-based direction-dependent terms: <linkto class="SkyJones">SkyJones</linkto>
81 // <li> Sky brightness model: <linkto class="SkyModel">SkyModel</linkto>
82 // <li> Fourier transform machine: <linkto class="FTMachine">FTMachine</linkto>
83 // </ul>
84 // </synopsis>
85 //
86 // <example>
87 // <srcblock>
88 //
89 // // Read the VisSet from disk
90 // VisSet vs("3c84.MS");
91 //
92 // casacore::PagedImage<casacore::Float> im("3c84.modelImage");
93 //
94 // // Create an ImageSkyModel from an image on disk
95 // ImageSkyModel ism(im);
96 //
97 // // FTMachine
98 // GridFT ft;
99 //
100 // SkyEquation se(ism, vs, ft);
101 //
102 // // Make a Clean Image and write it out
103 // HogbomCleanImageSkyModel csm(ism);
104 // if (csm.solveSkyModel()) {
105 // casacore::PagedImage<casacore::Float> cleanImage=csm.getImage();
106 // cleanImage.setName("3c84.cleanImage");
107 // }
108 //
109 // </srcblock>
110 // </example>
111 //
112 // <motivation>
113 // SkyEquation is needed to encapsulate part of the measurement equation for
114 // both single dish and synthesis observations. The idea is that the structure of many
115 // imaging algorithms is much the same for many different types of telescope.
116 // SkyEquation is part of a framework of classes that are
117 // designed for synthesis and single dish imaging. The others are the
118 // <linkto module=MeasurementComponents>MeasurementComponents</linkto>.
119 //
120 // </motivation>
121 //
122 // <todo asof="98/2/17">
123 // <li> Implement SkyJones
124 // </todo>
125 
126 // Forward declarations
127 class SkyJones;
128 class SkyModel;
129 class VisSet;
130 class FTMachine;
131 class SkyComponent;
132 class ComponentList;
133 class ComponentFTMachine;
134 class ROVisibilityIterator;
135 class VisibilityIterator;
136 
137 
138 class SkyEquation {
139 public:
140 
141  // Define a SkyEquation linking a VisSet vs with a SkyModel sm
142  // using an FTMachine ft for transforms in both directions
143  SkyEquation(SkyModel& sm, VisSet& vs, FTMachine& ft);
144 
145  // Define a SkyEquation linking a VisSet vs with a SkyModel sm
146  // using an FTMachine ft for transforms in both directions and
147  // a ComponentFTMachine for the component lists
148  SkyEquation(SkyModel& sm, VisSet& vs, FTMachine& ft,
149  ComponentFTMachine& cft, casacore::Bool noModelcol=false);
150 
151 
152  //SkyEquation with ROVisIter
154  ComponentFTMachine& cft, casacore::Bool noModelCol);
155 
156  // Define a SkyEquation linking a VisSet vs with a SkyModel sm
157  // using an FTMachine ft for Sky->Vis and ift for Vis->Sky
158  SkyEquation(SkyModel& sm, VisSet& vs, FTMachine& ft, FTMachine& ift);
159 
160  // Define a SkyEquation linking a VisSet vs with a SkyModel sm
161  // using an FTMachine ft for Sky->Vis and ift for Vis->Sky and
162  // a ComponentFTMachine for the component lists
163  // Default make use of MODEL_DATA Column of ms
164  SkyEquation(SkyModel& sm, VisSet& vs, FTMachine& ft, FTMachine& ift,
165  ComponentFTMachine& cft);
166 
167 
168  // Return the SkyModel used by this SkyEquation
169  SkyModel& skyModel() {return *sm_;};
170 
171  // Return the VisSet used by this SkyEquation
172  VisSet& visSet() {return *vs_;};
173 
174  // Return the (Sky->Vis) FTMachine used by this SkyEquation
175  FTMachine& fTMachine() {return *ft_;};
176 
177  // Return the (Vis->Sky) FTMachine used by this SkyEquation
178  FTMachine& iFTMachine() {return *ift_;};
179 
180  // Return the (Sky->Vis) ComponentFTMachine used by this SkyEquation
182 
183  // Destructor
184  virtual ~SkyEquation();
185 
186  // Assignment operator
187  SkyEquation& operator=(const SkyEquation& other);
188 
189  // Copy constructor
190  SkyEquation(const SkyEquation& other);
191 
192  // Add Jones matrices to be used for Gain calculations. Each SkyJones
193  // knows what type it is and therefore where to slot in.
194  void setSkyJones(SkyJones& j);
195 
196  // Make an approximate PSF for each model. The PSF is approximate
197  // in the sense that it is a shift-invariant approximation
199 
200  // make all the approx psfs in one go
202 
203  // Make complex XFRs needed for incrementGradientChiSquared
204  virtual void makeComplexXFRs();
205 
206  // Predict model coherence for the SkyModel. If this is
207  // incremental then the model visibilities are not reset
208  // but are simply added to
209  //virtual void predict(casacore::Bool incremental=false);
211 
212  // Find sum of weights, Chi-squared, and the first and second derivatives
213  // by transforming to the measurements.
214  // <group>
215  virtual void gradientsChiSquared(const casacore::Matrix<casacore::Bool>& required, SkyJones& sj);
216  virtual void gradientsChiSquared(casacore::Bool incremental, casacore::Bool commitToMS=false);
217  // </group>
218 
219  // Solve for variables. Both the SkyModel and the SkyJones can in
220  // principle be solved for.
221  // <group>
222  virtual casacore::Bool solveSkyModel();
224  // </group>
225 
226  // Set image plane weighting
228  const casacore::Float constPB)
229  {scaleType_p = type; minPB_p = minPB; constPB_p = constPB;}
230 
231  // Lock and unlock the underlying MeasurementSet
232  virtual void lock();
233  virtual void unlock();
234 
235  // Return the name of the underlying MeasurementSet
237 
238 
239  //assign the flux scale that the ftmachines have if they have
241  //Set this to true if the residual image for mosaic is to be in
242  //pb^2 units (optimum mode for clean search for centimetric imaging)
243  virtual void doFlatNoise(casacore::Bool doFlat=false){doflat_p=doFlat;};
244 
245  //get the weight image from the ftmachines
247 
248  virtual casacore::Bool isNewFTM(){return false;}
249 
250  virtual void setPhaseCenterTime(const casacore::Double time);
252  protected:
253 
254  // Increment gradientsChiSquared. The image of SkyModel must contain
255  // the increment to the image. For each model, a collection of
256  // complex transfer functions are used to avoid gridding and
257  // degridding all the visibilities.
258  virtual void incrementGradientsChiSquared();
259 
260  // Do the full calculation - this must be called if the FTMachine
261  // cannot be represented by a Fourier transform
262 
263  virtual void fullGradientsChiSquared(casacore::Bool incremental=false);
264 
266 
267  // Check for validity
268  casacore::Bool ok();
269 
270  // Apply Sky Jones to an image, also adjoint operation
271  // <group>
272  virtual void initializeGet(const VisBuffer& vb, casacore::Int row, casacore::Int model,
273  casacore::Bool incremental);
274 
275 
277  virtual void finalizeGet();
278  virtual void initializePut(const VisBuffer &vb, casacore::Int model);
279 
280  virtual void put(const VisBuffer& vb, casacore::Int model, casacore::Bool dopsf=false, FTMachine::Type col=FTMachine::OBSERVED);
281 
282  virtual void finalizePut(const VisBuffer& vb, casacore::Int Model);
283 
284  // This encapsulates all of the change logic we should have to deal
285  // with (short of returning a range of rows that has the same
286  // SkyJones). First we look to see if the first row of the VB
287  // requires a new SkyJones; then we determine if there are
288  // internal SkyJones changes in the VB which require going
289  // row by row in the get/put formalism.
290  virtual void changedSkyJonesLogic(const VisBuffer& vb,
291  casacore::Bool& firstOneChanges,
292  casacore::Bool& internalChanges);
293 
294  // Have the SkyJones changed since their last application?
295  virtual casacore::Bool changedSkyJones(const VisBuffer& vb, casacore::Int row);
296 
297  // Has the FTMachine changed since last application?
298  // <group>
299  virtual casacore::Bool changedFTMachine(const VisBuffer& vb);
300  virtual casacore::Bool changedIFTMachine(const VisBuffer& vb);
301  // </group>
302 
303  // Do the Sky Jones change in this Visbuffer, starting from row1?
304  // Returns row2, the last row with the same skyJones
306 
307  virtual void resetSkyJones();
308  virtual void assertSkyJones(const VisBuffer& vb, casacore::Int row);
312  virtual void applySkyJonesInv(const VisBuffer& vb, casacore::Int row,
316  virtual void applySkyJonesSquare(const VisBuffer& vb, casacore::Int row,
320  // </group>
321 
322  // Puts for calculating the complex XFRs
323  // <group>
324  virtual void initializePutXFR(const VisBuffer &vb, casacore::Int model, casacore::Int numXFR);
325  virtual void putXFR(const VisBuffer& vb, casacore::Int model, casacore::Int& numXFR);
326  virtual void finalizePutXFR(const VisBuffer& vb, casacore::Int Model, casacore::Int numXFR);
327  // </group>
328 
329  // Puts for calculating the complex convolutions
330  // <group>
331  virtual void initializePutConvolve(const VisBuffer &vb, casacore::Int model,
332  casacore::Int numXFR);
333  virtual void putConvolve(const VisBuffer& vb, casacore::Int model, casacore::Int& numXFR);
334  virtual void finalizePutConvolve(const VisBuffer& vb, casacore::Int Model, casacore::Int numXFR);
335  // </group>
336 
337  // Get, etc. for a SkyComponent is much simpler
338  // <group>
339  virtual VisBuffer& get(VisBuffer& vb, const SkyComponent& component);
340  virtual VisBuffer& get(VisBuffer& vb, const ComponentList& components);
341  // Do the sum of the gets for all the models for this visbuffer
342 
343  SkyComponent& applySkyJones(SkyComponent& corruptedComponent,
344  const VisBuffer& vb,
345  casacore::Int row);
346  // </group>
347 
348  // Modify the ggS and Create the imageScale
349  virtual void fixImageScale();
350 
351  // Deal with scaling or unscaling image or deltaImage
352  // <group>
353  virtual void scaleImage(casacore::Int model, casacore::Bool incremental);
354  virtual void unScaleImage(casacore::Int model, casacore::Bool incremental);
355  virtual void scaleImage(casacore::Int model=0);
356  virtual void unScaleImage(casacore::Int model=0);
357  virtual void scaleDeltaImage(casacore::Int model=0);
358  virtual void unScaleDeltaImage(casacore::Int model=0);
359  // </group>
360 
361  // Check the VisIter chunck size...force a more reasonable chunk
362  // if default is too small
363 
364  virtual void checkVisIterNumRows(ROVisibilityIterator& vi);
365 
366  //virtual void predictComponents(casacore::Bool& incremental, casacore::Bool& initialized);
368 
369 
370  // SkyModel
372 
373  // VisSet
375  //Visibilityiterators
378 
379 
380  // FTMachine objects
381  // <group>
385  // </group>
386 
387  // casacore::List of terms in left to right order
388  // <group>
393  // </group>
394 
395  // Workspace
396  // <group>
399  // </group>
400 
403 
405 
406  // Previous VisBuffer, used to determine how to apply
407  // SkyJones;
408  // Set in initializePut and initializePutXFR,
409  // Used in finalizePut and finalizePutXFR
410 
412 
413  casacore::Float minPB_p; // ignore model flux below this level in the generalized PB
414  casacore::Float constPB_p; // make the fluxscale constant for PB above this level
415  casacore::String scaleType_p; // types: NONE, or SAULT
416 
417  casacore::Bool isPSFWork_p; // working for PSF estimation
418 
420 
422 
423  //SkyJones::changed returns a true the first time its called
424  //We have to ignore this at the very begining and first call to 'changed'
425  //and not call finalizePut
428 };
429 
430 } //# NAMESPACE CASA - END
431 
432 #endif
433 
434 
435 
436 
437 
virtual void unlock()
VisSet * vs_
VisSet.
Definition: SkyEquation.h:374
virtual void applySkyJonesSquare(const VisBuffer &vb, casacore::Int row, casacore::Matrix< casacore::Float > &weights, casacore::ImageInterface< casacore::Float > &work, casacore::ImageInterface< casacore::Float > &ggS)
SkyJones * tj_
Definition: SkyEquation.h:391
virtual ~SkyEquation()
Destructor.
casacore::Bool isPSFWork_p
Definition: SkyEquation.h:417
int Int
Definition: aipstype.h:50
virtual void putXFR(const VisBuffer &vb, casacore::Int model, casacore::Int &numXFR)
virtual void fullGradientsChiSquared(casacore::Bool incremental=false)
Do the full calculation - this must be called if the FTMachine cannot be represented by a Fourier tra...
virtual void initializePut(const VisBuffer &vb, casacore::Int model)
virtual void changedSkyJonesLogic(const VisBuffer &vb, casacore::Bool &firstOneChanges, casacore::Bool &internalChanges)
This encapsulates all of the change logic we should have to deal with (short of returning a range of ...
Temporary astronomical images.
virtual void predict(casacore::Bool incremental=false, casacore::MS::PredefinedColumns Type=casacore::MS::MODEL_DATA)
Predict model coherence for the SkyModel.
VisSet & visSet()
Return the VisSet used by this SkyEquation.
Definition: SkyEquation.h:172
FTMachine & fTMachine()
Return the (Sky-&gt;Vis) FTMachine used by this SkyEquation.
Definition: SkyEquation.h:175
virtual void putConvolve(const VisBuffer &vb, casacore::Int model, casacore::Int &numXFR)
FTMachine * ft_
FTMachine objects.
Definition: SkyEquation.h:382
casacore::Float sumwt
Definition: SkyEquation.h:397
virtual void scaleDeltaImage(casacore::Int model=0)
virtual void checkVisIterNumRows(ROVisibilityIterator &vi)
Check the VisIter chunck size...force a more reasonable chunk if default is too small.
virtual void scaleImage(casacore::Int model, casacore::Bool incremental)
Deal with scaling or unscaling image or deltaImage.
virtual void lock()
Lock and unlock the underlying MeasurementSet.
ComponentFTMachine * cft_
Definition: SkyEquation.h:384
SkyModel & skyModel()
Return the SkyModel used by this SkyEquation.
Definition: SkyEquation.h:169
virtual Type type()
Return the type enum.
FTMachine & iFTMachine()
Return the (Vis-&gt;Sky) FTMachine used by this SkyEquation.
Definition: SkyEquation.h:178
virtual void makeApproxPSF(casacore::Int model, casacore::ImageInterface< casacore::Float > &PSF)
Make an approximate PSF for each model.
virtual casacore::Bool changedSkyJonesBuffer(const VisBuffer &vb, casacore::Int row1, casacore::Int &row2)
Do the Sky Jones change in this Visbuffer, starting from row1? Returns row2, the last row with the sa...
virtual casacore::Bool solveSkyModel()
Solve for variables.
virtual void getWeightImage(const casacore::Int, casacore::ImageInterface< casacore::Float > &)
get the weight image from the ftmachines
Definition: SkyEquation.h:246
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
Definition: PlotTool.h:43
virtual void gradientsChiSquared(const casacore::Matrix< casacore::Bool > &required, SkyJones &sj)
Find sum of weights, Chi-squared, and the first and second derivatives by transforming to the measure...
SkyEquation & operator=(const SkyEquation &other)
Assignment operator.
virtual void applySkyJonesInv(const VisBuffer &vb, casacore::Int row, casacore::ImageInterface< casacore::Complex > &in, casacore::ImageInterface< casacore::Float > &work, casacore::ImageInterface< casacore::Float > &out)
void setSkyJones(SkyJones &j)
Add Jones matrices to be used for Gain calculations.
virtual void finalizePutXFR(const VisBuffer &vb, casacore::Int Model, casacore::Int numXFR)
casacore::Float chisq
Workspace.
Definition: SkyEquation.h:397
PredefinedColumns
The Main table colums with predefined meaning.
Definition: MSMainEnums.h:65
casacore::Int iDebug_p
Definition: SkyEquation.h:402
virtual casacore::Bool changedSkyJones(const VisBuffer &vb, casacore::Int row)
Have the SkyJones changed since their last application?
casacore::Vector< casacore::Bool > modelIsEmpty_p
Definition: SkyEquation.h:421
SkyJones * fj_
Definition: SkyEquation.h:392
virtual void finalizePut(const VisBuffer &vb, casacore::Int Model)
virtual void finalizeGet()
virtual void resetSkyJones()
virtual casacore::String associatedMSName()
Return the name of the underlying MeasurementSet.
The model visibility data (optional).
Definition: MSMainEnums.h:205
A base class for astronomical images.
casacore::String scaleType_p
Definition: SkyEquation.h:415
double Double
Definition: aipstype.h:55
virtual void doFlatNoise(casacore::Bool doFlat=false)
Set this to true if the residual image for mosaic is to be in pb^2 units (optimum mode for clean sear...
Definition: SkyEquation.h:243
SkyJones * dj_
Definition: SkyEquation.h:390
virtual void makeComplexXFRs()
Make complex XFRs needed for incrementGradientChiSquared.
virtual void assertSkyJones(const VisBuffer &vb, casacore::Int row)
virtual void put(const VisBuffer &vb, casacore::Int model, casacore::Bool dopsf=false, FTMachine::Type col=FTMachine::OBSERVED)
virtual casacore::Double getPhaseCenterTime()
A convenience class to assist in migrating code to potentially use asynchronous I/O.
Definition: VisBuffer.h:1198
Type
Types of known Images that may be made using the makeImage method.
Definition: FTMachine.h:125
casacore::Bool isBeginingOfSkyJonesCache_p
SkyJones::changed returns a true the first time its called We have to ignore this at the very beginin...
Definition: SkyEquation.h:426
Converts UVW coordinates between coordinate systems.
Definition: UVWMachine.h:160
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
virtual casacore::ImageInterface< casacore::Complex > & applySkyJones(const VisBuffer &vb, casacore::Int row, casacore::ImageInterface< casacore::Float > &in, casacore::ImageInterface< casacore::Complex > &out)
float Float
Definition: aipstype.h:54
ComponentFTMachine & componentFTMachine()
Return the (Sky-&gt;Vis) ComponentFTMachine used by this SkyEquation.
Definition: SkyEquation.h:181
A drop-in replacement for Block&lt;T*&gt;.
Definition: WProjectFT.h:54
casacore::Bool doflat_p
Definition: SkyEquation.h:427
virtual void setPhaseCenterTime(const casacore::Double time)
virtual void initializePutXFR(const VisBuffer &vb, casacore::Int model, casacore::Int numXFR)
Puts for calculating the complex XFRs.
VisBufferAutoPtr vb_p
Previous VisBuffer, used to determine how to apply SkyJones; Set in initializePut and initializePutXF...
Definition: SkyEquation.h:411
virtual casacore::Bool isNewFTM()
Definition: SkyEquation.h:248
casacore::LogSink logSink_p
Definition: SkyEquation.h:401
casacore::LogSink & logSink()
Definition: SkyEquation.h:402
virtual casacore::Bool changedFTMachine(const VisBuffer &vb)
Has the FTMachine changed since last application?
SkyModel * sm_
SkyModel.
Definition: SkyEquation.h:371
Sky Model: Model the Sky Brightness for the SkyEquation.
Definition: SkyModel.h:132
virtual casacore::Bool changedIFTMachine(const VisBuffer &vb)
VisibilityIterator * wvi_p
Visibilityiterators.
Definition: SkyEquation.h:376
SkyJones * ej_
casacore::List of terms in left to right order
Definition: SkyEquation.h:389
virtual casacore::Bool solveSkyJones(SkyJones &sj)
virtual void unScaleDeltaImage(casacore::Int model=0)
Sky Jones: Model sky-plane instrumental effects for the SkyEquation.
Definition: SkyJones.h:172
casacore::Float minPB_p
Definition: SkyEquation.h:413
virtual void fixImageScale()
Modify the ggS and Create the imageScale.
A class for manipulating groups of components.
casacore::Float constPB_p
Definition: SkyEquation.h:414
Distribute LogMessages to their destination(s)
Definition: LogSink.h:141
A component of a model of the sky.
Definition: SkyComponent.h:130
String: the storage and methods of handling collections of characters.
Definition: String.h:223
virtual void finalizePutConvolve(const VisBuffer &vb, casacore::Int Model, casacore::Int numXFR)
VisBuffers encapsulate one chunk of visibility data for processing.
Definition: VisBuffer.h:153
virtual void getCoverageImage(casacore::Int model, casacore::ImageInterface< casacore::Float > &im)
assign the flux scale that the ftmachines have if they have
VisibilityIterator iterates through one or more writable MeasurementSets.
virtual void initializeGet(const VisBuffer &vb, casacore::Int row, casacore::Int model, casacore::Bool incremental)
Apply Sky Jones to an image, also adjoint operation.
ROVisibilityIterator iterates through one or more readonly MeasurementSets.
casacore::Bool ok()
Check for validity.
ROVisibilityIterator * rvi_p
Definition: SkyEquation.h:377
casacore::Float ggSMax_p
Definition: SkyEquation.h:398
casacore::Bool noModelCol_p
Definition: SkyEquation.h:419
virtual void initializePutConvolve(const VisBuffer &vb, casacore::Int model, casacore::Int numXFR)
Puts for calculating the complex convolutions.
virtual void incrementGradientsChiSquared()
Increment gradientsChiSquared.
FTMachine * ift_
Definition: SkyEquation.h:383
virtual void unScaleImage(casacore::Int model, casacore::Bool incremental)
void setImagePlaneWeighting(const casacore::String &type, const casacore::Float minPB, const casacore::Float constPB)
Set image plane weighting.
Definition: SkyEquation.h:227
defines interface for the Fourier Transform Machine
Definition: FTMachine.h:120
virtual void predictComponents(casacore::Bool &incremental, casacore::Bool &initialized, casacore::MS::PredefinedColumns Type=casacore::MS::MODEL_DATA)
virtual void predictComponents(casacore::Bool&amp; incremental, casacore::Bool&amp; initialized); ...
#define casacore
&lt;X11/Intrinsic.h&gt; #defines true, false, casacore::Bool, and String.
Definition: X11Intrinsic.h:42