casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIImageStore.h
Go to the documentation of this file.
1 //# SIImageStore.h: Imager functionality sits here;
2 //# Copyright (C) 1996,1997,1998,1999,2000,2001,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 addressed as follows:
20 //# casacore::Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //#
25 //# $Id$
26 
27 #ifndef SYNTHESIS_SIIMAGESTORE_H
28 #define SYNTHESIS_SIIMAGESTORE_H
29 
30 #include <casa/aips.h>
31 #include <casa/OS/Timer.h>
32 #include <casa/Containers/Record.h>
34 #include <casa/Arrays/IPosition.h>
35 #include <casa/Quanta/Quantum.h>
40 #include <images/Images/SubImage.h>
42 #include <casa/BasicSL/Constants.h>
45 
46 namespace casa { //# NAMESPACE CASA - BEGIN
47 
48  template <class T>
49  void openImage(const casacore::String& imagenamefull,std::shared_ptr<casacore::ImageInterface<T> >* img);
50 
51 
53 {
54  public:
56  // Default constructor
57 
58  SIImageStore();
59 
60  SIImageStore(const casacore::String &imagename,
61  const casacore::Bool ignorefacets=casacore::False);
62 
63  SIImageStore(const casacore::String &imagename,
64  const casacore::CoordinateSystem &imcoordsys,
65  const casacore::IPosition &imshape,
66  const casacore::String &objectname,
67  const casacore::Record &miscinfo,
68  // const casacore::Int nfacets=1,
69  const casacore::Bool overwrite=casacore::False,
70  const casacore::Bool useweightimage=casacore::False);
71 
72  SIImageStore(const std::shared_ptr<casacore::ImageInterface<casacore::Float> > &modelim,
73  const std::shared_ptr<casacore::ImageInterface<casacore::Float> > &residim,
74  const std::shared_ptr<casacore::ImageInterface<casacore::Float> > &psfim,
75  const std::shared_ptr<casacore::ImageInterface<casacore::Float> > &weightim,
76  const std::shared_ptr<casacore::ImageInterface<casacore::Float> > &restoredim,
77  const std::shared_ptr<casacore::ImageInterface<casacore::Float> > &maskim,
78  const std::shared_ptr<casacore::ImageInterface<casacore::Float> > &sumwtim,
79  const std::shared_ptr<casacore::ImageInterface<casacore::Float> > &gridwtim,
80  const std::shared_ptr<casacore::ImageInterface<casacore::Float> > &pbim,
81  const std::shared_ptr<casacore::ImageInterface<casacore::Float> > &restoredpbcorim,
82  const casacore::CoordinateSystem &csys,
83  const casacore::IPosition &imshape,
84  const casacore::String &imagename,
85  const casacore::String &objectname,
86  const casacore::Record &miscinfo,
87  const casacore::Int facet=0, const casacore::Int nfacets=1,
88  const casacore::Int chan=0, const casacore::Int nchanchunks=1,
89  const casacore::Int pol=0, const casacore::Int npolchunks=1,
90  const casacore::Bool useweightimage=casacore::False);
91 
92 
93 
94  virtual void init();
95 
96  virtual ~SIImageStore();
97 
98 
101 
102  virtual casacore::String getType(){return "default";}
103 
104  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > psf(casacore::uInt term=0);
105  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > residual(casacore::uInt term=0);
106  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > weight(casacore::uInt term=0);
107  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > model(casacore::uInt term=0);
108  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > image(casacore::uInt term=0);
109  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > mask(casacore::uInt term=0);
110  virtual std::shared_ptr<casacore::ImageInterface<casacore::Complex> > forwardGrid(casacore::uInt term=0);
111  virtual std::shared_ptr<casacore::ImageInterface<casacore::Complex> > backwardGrid(casacore::uInt term=0);
112  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > sumwt(casacore::uInt term=0);
113 
114 
115  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > alpha(){throw(casacore::AipsError("No Alpha for 1 term"));};
116  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > beta(){throw(casacore::AipsError("No Beta for 1 term"));};
118  //default will be just 1 plane of densities for all fields
119  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > gridwt(casacore::IPosition newshape=casacore::IPosition(0));
120  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > pb(casacore::uInt term=0);
121  virtual std::shared_ptr<casacore::ImageInterface<casacore::Float> > imagepbcor(casacore::uInt term=0);
122 
123  virtual void setModelImageOne( casacore::String modelname, casacore::Int nterm=-1 );
124  virtual void setModelImage( casacore::Vector<casacore::String> modelnames );
126  virtual void setWeightDensity( std::shared_ptr<SIImageStore> imagetoset );
128 
129  void setObjectName(const casacore::String);
130  void setMiscInfo(const casacore::Record miscinfo);
131 
132  virtual void resetImages( casacore::Bool resetpsf, casacore::Bool resetresidual, casacore::Bool resetweight );
133  virtual void addImages( std::shared_ptr<SIImageStore> imagestoadd,
134  casacore::Bool addpsf, casacore::Bool addresidual, casacore::Bool addweight, casacore::Bool adddensity );
135 
137  virtual void dividePSFByWeight(const casacore::Float pblimit=casacore::C::minfloat);
138  virtual void normalizePrimaryBeam(const casacore::Float pblimit=casacore::C::minfloat);
139  virtual void divideResidualByWeight(const casacore::Float pblimit=casacore::C::minfloat, const casacore::String normtype="flatnoise");
140  virtual void divideModelByWeight(const casacore::Float pblimit=casacore::C::minfloat, const casacore::String normtype="flatnoise");
141  virtual void multiplyModelByWeight(const casacore::Float pblimit=casacore::C::minfloat, const casacore::String normtype="flatnoise");
142 
144  virtual casacore::Bool releaseLocks();
146  void releaseImage( std::shared_ptr<casacore::ImageInterface<casacore::Float> > &im );
147  void releaseImage( std::shared_ptr<casacore::ImageInterface<casacore::Complex> > &im );
149  virtual casacore::uInt getNTaylorTerms(casacore::Bool dopsf=casacore::False); //{return 1;};
151  // virtual casacore::GaussianBeam restorePlane();
152  virtual void restore(casacore::GaussianBeam& rbeam, casacore::String& usebeam,casacore::uInt term=0 );
153  virtual void pbcor(casacore::uInt term);
154  virtual void pbcor(){pbcor(0);}
155 
156 
158  virtual void makeImageBeamSet();
160  virtual void printBeamSet(casacore::Bool verbose=casacore::False);
166 
167  // The images internall will reference back to a given section of the main of this.
168  //nfacets = nx_facets*ny_facets...assumption has been made nx_facets==ny_facets
169  virtual std::shared_ptr<SIImageStore> getSubImageStore(const casacore::Int facet=0, const casacore::Int nfacets=1,
170  const casacore::Int chan=0, const casacore::Int nchanchunks=1,
171  const casacore::Int pol=0, const casacore::Int npolchunks=1);
172 
174 
175  // virtual casacore::Bool hasSensitivity(){return doesImageExist(itsImageName+imageExts(WEIGHT));}
177 
178  virtual casacore::Bool hasSensitivity(){return (bool) itsWeight;}
179  //virtual casacore::Bool hasPB(){return (bool) itsPB;}
180 
182  // virtual casacore::Bool hasModel() {return (bool) itsModel;}
184  virtual casacore::Bool hasPsf() {return (bool) itsPsf;}
185  // virtual casacore::Bool hasPsfImage() {return doesImageExist(itsImageName+imageExts(PSF));}
186  virtual casacore::Bool hasResidual() {return (bool) itsResidual;}
188  virtual casacore::Bool hasSumWt() {return (bool) itsSumWt;}
189  // {return doesImageExist(itsImageName+imageExts(SUMWT));}
191 
192  // Image Statistics....
196  virtual casacore::Bool isModelEmpty();
198  void findMinMax(const casacore::Array<casacore::Float>& lattice,
200  casacore::Float& minVal, casacore::Float& maxVal,
201  casacore::Float& minValMask, casacore::Float& maxValMask);
202  virtual void printImageStats();
204  const casacore::Float pbmasklevel=0.0, const casacore::Bool fastcalc=true);
206 
207  //
208  //---------------------------------------------------------------
209  //
210  void makePersistent(casacore::String& fileName);
211  void recreate(casacore::String& fileName);
212 
213  void validate();
214 
215 
216  void setDataPolFrame(StokesImageUtil::PolRep datapolrep) {itsDataPolRep = datapolrep;};
217  virtual void calcSensitivity();
218 
220 
222 
223  virtual casacore::Long estimateRAM();
224 protected:
225  std::shared_ptr<casacore::ImageInterface<casacore::Float> > makeSubImage(const casacore::Int facet, const casacore::Int nfacets,
226  const casacore::Int chan, const casacore::Int nchanchunks,
227  const casacore::Int pol, const casacore::Int npolchunks,
229 
232 
234 
238 
239  void fillSumWt(casacore::Int term=0);
241  void normPSF(casacore::Int term=0);
242 
243  void makePBFromWeight(const casacore::Float pblimit);
244  void makePBImage(const casacore::Float pblimit);
245 
246  void accessImage( std::shared_ptr<casacore::ImageInterface<casacore::Float> > &ptr,
247  std::shared_ptr<casacore::ImageInterface<casacore::Float> > &parentptr,
248  const casacore::String label );
249 
250  std::shared_ptr<casacore::ImageInterface<casacore::Float> > openImage(const casacore::String imagenamefull,
251  const casacore::Bool overwrite,
252  const casacore::Bool dosumwt=casacore::False,
253  const casacore::Int nfacetsperside=1, const casacore::Bool checkCoord=casacore::True);
254 
256  void buildImage(std::shared_ptr<casacore::ImageInterface<casacore::Float> > &imptr,const casacore::String name);
257 
258 
261 
264 
267 
269  casacore::Float& maxAbs, casacore::Float& maxAbsMask, casacore::Float& minAbs, casacore::Float& minAbsMask );
270 
271 
273 
277 
282  std::shared_ptr<casacore::ImageInterface<casacore::Float> > itsMask, itsParentMask, itsGridWt; // mutliterm shares this...
284 
288 
290 
293 
295 
296  //
297  //------------------------------------------
298  // Non-persistent internal variables
300 
302 
303 private:
304 
305  virtual void initMetaInfo(std::shared_ptr<casacore::ImageInterface<casacore::Float> > &imptr,
306  const casacore::String name);
307 
308  std::shared_ptr<casacore::ImageInterface<casacore::Float> > itsPsf, itsModel, itsResidual, itsWeight, itsImage, itsSumWt, itsImagePBcor, itsPB;
309  std::shared_ptr<casacore::ImageInterface<casacore::Complex> > itsForwardGrid, itsBackwardGrid;
310 
312 
313 
314 };
315 
316 } //# NAMESPACE CASA - END
317 
318 #endif
virtual std::shared_ptr< SIImageStore > getSubImageStore(const casacore::Int facet=0, const casacore::Int nfacets=1, const casacore::Int chan=0, const casacore::Int nchanchunks=1, const casacore::Int pol=0, const casacore::Int npolchunks=1)
The images internall will reference back to a given section of the main of this.
A Vector of integers, for indexing into Array&lt;T&gt; objects.
Definition: IPosition.h:119
casacore::Float calcMean(casacore::Vector< casacore::Float > &vect, casacore::Vector< casacore::Bool > &flag)
virtual void divideModelByWeight(const casacore::Float pblimit=casacore::C::minfloat, const casacore::String normtype="flatnoise")
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsPB
Definition: SIImageStore.h:308
void recreate(casacore::String &fileName)
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsSumWt
Definition: SIImageStore.h:308
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsPsf
Definition: SIImageStore.h:308
casacore::Bool copyMask(casacore::CountedPtr< casacore::ImageInterface< casacore::Float > >inimage, casacore::CountedPtr< casacore::ImageInterface< casacore::Float > >outimage)
int Int
Definition: aipstype.h:50
casacore::Bool createMask(casacore::LatticeExpr< casacore::Bool > &lemask, casacore::CountedPtr< casacore::ImageInterface< casacore::Float > >outimage)
casacore::IPosition getShape()
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > model(casacore::uInt term=0)
virtual void pbcor()
Definition: SIImageStore.h:154
casacore::ImageBeamSet itsRestoredBeams
Definition: SIImageStore.h:292
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsParentImage
Definition: SIImageStore.h:311
virtual void printImageStats()
casacore::GaussianBeam findGoodBeam()
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsImagePBcor
Definition: SIImageStore.h:308
casacore::Int itsNPolChunks
Definition: SIImageStore.h:287
virtual casacore::Bool hasModel()
virtual casacore::Bool hasModel() {return (bool) itsModel;}
Definition: SIImageStore.h:183
virtual casacore::Bool hasRestored()
{return doesImageExist(itsImageName+imageExts(SUMWT));}
Definition: SIImageStore.h:190
virtual void printBeamSet(casacore::Bool verbose=casacore::False)
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > sumwt(casacore::uInt term=0)
casacore::Double memoryBeforeLattice()
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsParentSumWt
Definition: SIImageStore.h:311
casacore::Bool itsUseWeight
Definition: SIImageStore.h:279
virtual void initMetaInfo(std::shared_ptr< casacore::ImageInterface< casacore::Float > > &imptr, const casacore::String name)
virtual casacore::Long estimateRAM()
estimate of Memory to be used by the images held in KiloBytes
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsParentMask
Definition: SIImageStore.h:282
void accessImage(std::shared_ptr< casacore::ImageInterface< casacore::Float > > &ptr, std::shared_ptr< casacore::ImageInterface< casacore::Float > > &parentptr, const casacore::String label)
casacore::Int itsFacetId
Definition: SIImageStore.h:285
casacore::Float calcStd(casacore::Vector< casacore::Float > &vect, casacore::Vector< casacore::Bool > &flag, casacore::Vector< casacore::Float > &fit)
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > psf(casacore::uInt term=0)
virtual casacore::Bool releaseLocks()
Other.
casacore::Double getPbMax()
casacore::Float getModelFlux(casacore::uInt term=0)
casacore::GaussianBeam getPSFGaussian()
casacore::ImageBeamSet itsPSFBeams
Definition: SIImageStore.h:291
void releaseImage(std::shared_ptr< casacore::ImageInterface< casacore::Float > > &im)
casacore::Float getPSFSidelobeLevel()
void removeMask(casacore::CountedPtr< casacore::ImageInterface< casacore::Float > >im)
std::shared_ptr< casacore::ImageInterface< casacore::Float > > makeSubImage(const casacore::Int facet, const casacore::Int nfacets, const casacore::Int chan, const casacore::Int nchanchunks, const casacore::Int pol, const casacore::Int npolchunks, casacore::ImageInterface< casacore::Float > &image)
void makePBImage(const casacore::Float pblimit)
void setObjectName(const casacore::String)
virtual void restore(casacore::GaussianBeam &rbeam, casacore::String &usebeam, casacore::uInt term=0)
virtual casacore::GaussianBeam restorePlane();
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > beta()
Definition: SIImageStore.h:116
casacore::String getName()
virtual void init()
virtual std::shared_ptr< casacore::ImageInterface< casacore::Complex > > backwardGrid(casacore::uInt term=0)
virtual casacore::String getType()
Definition: SIImageStore.h:102
casacore::Int itsNChanChunks
Definition: SIImageStore.h:286
casacore::Int itsPolId
Definition: SIImageStore.h:287
ABSTRACT CLASSES Abstract class for colors Any implementation of color should be able to provide a hexadecimal form of the if a human readable name(i.e."black").In many places throughout the plotter
virtual void normalizePrimaryBeam(const casacore::Float pblimit=casacore::C::minfloat)
virtual casacore::Bool doesImageExist(casacore::String imagename)
casacore::Float itsPSFSideLobeLevel
Definition: SIImageStore.h:294
*casacore::IPosition itsImageShape
Definition: SIImageStore.h:274
casacore::CoordinateSystem itsParentCoordSys
Definition: SIImageStore.h:276
virtual std::shared_ptr< casacore::ImageInterface< casacore::Complex > > forwardGrid(casacore::uInt term=0)
virtual void resetImages(casacore::Bool resetpsf, casacore::Bool resetresidual, casacore::Bool resetweight)
casacore::Bool divideImageByWeightVal(casacore::ImageInterface< casacore::Float > &target)
Represents a Gaussian restoring beam associated with an image.
Definition: GaussianBeam.h:68
virtual casacore::Bool hasPB()
virtual casacore::Bool hasSensitivity(){return doesImageExist(itsImageName+imageExts(WEIGHT));} ...
Definition: SIImageStore.h:176
void setSumWt(casacore::ImageInterface< casacore::Float > &target, casacore::Matrix< casacore::Float > &sumwt)
virtual casacore::Double getReferenceFrequency()
Definition: SIImageStore.h:148
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > mask(casacore::uInt term=0)
virtual void addImages(std::shared_ptr< SIImageStore > imagestoadd, casacore::Bool addpsf, casacore::Bool addresidual, casacore::Bool addweight, casacore::Bool adddensity)
ABSTRACT CLASSES Deliberately vague to be general enough to allow for many different types of data
Definition: PlotData.h:48
void regridToModelImage(casacore::ImageInterface< casacore::Float > &inputimage, casacore::Int term=0)
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsParentGridWt
Definition: SIImageStore.h:311
virtual casacore::Bool hasPsf()
Definition: SIImageStore.h:184
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsParentWeight
Definition: SIImageStore.h:311
casacore::Matrix< casacore::Float > getSumWt(casacore::ImageInterface< casacore::Float > &target)
long Long
Definition: aipstype.h:52
SIImageStore()
Default constructor.
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsParentPB
Definition: SIImageStore.h:311
void setUseWeightImage(casacore::ImageInterface< casacore::Float > &target, casacore::Bool useweightimage)
casacore::Bool itsOverWrite
Definition: SIImageStore.h:278
casacore::Bool getUseWeightImage(casacore::ImageInterface< casacore::Float > &target)
casacore::Int itsOpened
Definition: SIImageStore.h:301
void setDataPolFrame(StokesImageUtil::PolRep datapolrep)
Definition: SIImageStore.h:216
Referenced counted pointer for constant data.
Definition: VisModelData.h:42
void openImage(const casacore::String &imagenamefull, std::shared_ptr< casacore::ImageInterface< T > > *img)
std::shared_ptr< casacore::ImageInterface< casacore::Complex > > itsForwardGrid
Definition: SIImageStore.h:309
A base class for astronomical images.
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsParentPsf
Definition: SIImageStore.h:311
casacore::ImageBeamSet getBeamSet()
*casacore::IPosition itsParentImageShape
Definition: SIImageStore.h:274
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsWeight
Definition: SIImageStore.h:308
virtual casacore::Array< casacore::Double > calcRobustRMS(casacore::Array< casacore::Double > &mdns, const casacore::Float pbmasklevel=0.0, const casacore::Bool fastcalc=true)
virtual casacore::uInt getNTaylorTerms(casacore::Bool dopsf=casacore::False)
Represents a set of restoring beams associated with an image.
Definition: ImageBeamSet.h:88
double Double
Definition: aipstype.h:55
virtual casacore::Bool hasMask()
virtual casacore::Bool hasPB(){return (bool) itsPB;}
Definition: SIImageStore.h:181
virtual casacore::Vector< casacore::String > getModelImageName()
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsResidual
Definition: SIImageStore.h:308
casacore::CoordinateSystem getCSys()
Definition: SIImageStore.h:219
casacore::Record itsMiscInfo
Definition: SIImageStore.h:281
void lineFit(casacore::Vector< casacore::Float > &data, casacore::Vector< casacore::Bool > &flag, casacore::Vector< casacore::Float > &fit, casacore::uInt lim1, casacore::uInt lim2)
StokesImageUtil::PolRep itsDataPolRep
Definition: SIImageStore.h:289
void buildImage(std::shared_ptr< casacore::ImageInterface< casacore::Float > > &imptr, casacore::IPosition shape, casacore::CoordinateSystem csys, const casacore::String name)
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsModel
Definition: SIImageStore.h:308
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > pb(casacore::uInt term=0)
virtual void calcSensitivity()
void rescaleResolution(casacore::Int chan, casacore::ImageInterface< casacore::Float > &subResidual, const casacore::GaussianBeam &newbeam, const casacore::GaussianBeam &oldbeam)
virtual void dividePSFByWeight(const casacore::Float pblimit=casacore::C::minfloat)
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
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsGridWt
Definition: SIImageStore.h:282
casacore::String itsObjectName
Definition: SIImageStore.h:280
virtual casacore::Bool hasResidualImage()
Definition: SIImageStore.h:187
casacore::Double itsPBScaleFactor
Definition: SIImageStore.h:283
virtual void setModelImage(casacore::Vector< casacore::String > modelnames)
casacore::Vector< casacore::String > imageExts
Non-persistent internal variables
Definition: SIImageStore.h:299
float Float
Definition: aipstype.h:54
virtual casacore::Bool releaseComplexGrids()
const Bool False
Definition: aipstype.h:44
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > image(casacore::uInt term=0)
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape...
Definition: ExprNode.h:1944
void fillSumWt(casacore::Int term=0)
virtual casacore::Bool hasSumWt()
Definition: SIImageStore.h:188
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsMask
Definition: SIImageStore.h:282
casacore::IPosition tileShape()
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > residual(casacore::uInt term=0)
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > gridwt(casacore::IPosition newshape=casacore::IPosition(0))
Gridwgt is for weight density sharing (Brigg&#39;s) thus only term 0 is done.
std::shared_ptr< casacore::ImageInterface< casacore::Float > > openImage(const casacore::String imagenamefull, const casacore::Bool overwrite, const casacore::Bool dosumwt=casacore::False, const casacore::Int nfacetsperside=1, const casacore::Bool checkCoord=casacore::True)
void setMiscInfo(const casacore::Record miscinfo)
std::shared_ptr< casacore::ImageInterface< casacore::Complex > > itsBackwardGrid
Definition: SIImageStore.h:309
Base class for all Casacore library errors.
Definition: Error.h:134
virtual void multiplyModelByWeight(const casacore::Float pblimit=casacore::C::minfloat, const casacore::String normtype="flatnoise")
virtual void setWeightDensity(std::shared_ptr< SIImageStore > imagetoset)
casacore::Float getPeakResidual()
Image Statistics....
LatticeExprNode mean(const LatticeExprNode &expr)
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > alpha()
Definition: SIImageStore.h:115
const Double minfloat
the minimum single precision floating point number, including denormalised numbers ...
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > weight(casacore::uInt term=0)
void makePBFromWeight(const casacore::Float pblimit)
casacore::Float getPeakResidualWithinMask()
String: the storage and methods of handling collections of characters.
Definition: String.h:223
virtual casacore::Bool hasResidual()
virtual casacore::Bool hasPsfImage() {return doesImageExist(itsImageName+imageExts(PSF));} ...
Definition: SIImageStore.h:186
virtual void makeImageBeamSet()
casacore::Bool findMinMaxLattice(const casacore::Lattice< casacore::Float > &lattice, const casacore::Lattice< casacore::Float > &mask, const casacore::Lattice< casacore::Bool > &pixmask, casacore::Float &maxAbs, casacore::Float &maxAbsMask, casacore::Float &minAbs, casacore::Float &minAbsMask)
virtual void setModelImageOne(casacore::String modelname, casacore::Int nterm=-1)
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsParentImagePBcor
Definition: SIImageStore.h:311
casacore::Int itsChanId
Definition: SIImageStore.h:286
void normPSF(casacore::Int term=0)
virtual void divideResidualByWeight(const casacore::Float pblimit=casacore::C::minfloat, const casacore::String normtype="flatnoise")
Class to allow C++ expressions involving lattices.
Definition: LatticeExpr.h:142
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsParentModel
Definition: SIImageStore.h:311
casacore::Int itsNFacets
Definition: SIImageStore.h:285
casacore::Float getMaskSum()
casacore::CoordinateSystem itsCoordSys
Definition: SIImageStore.h:276
virtual casacore::Bool hasSensitivity()
Definition: SIImageStore.h:178
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsImage
Definition: SIImageStore.h:308
const Bool True
Definition: aipstype.h:43
void makePersistent(casacore::String &fileName)
std::shared_ptr< casacore::ImageInterface< casacore::Float > > itsParentResidual
Definition: SIImageStore.h:311
casacore::String itsImageName
Definition: SIImageStore.h:275
virtual casacore::Bool isModelEmpty()
Interconvert pixel and world coordinates.
unsigned int uInt
Definition: aipstype.h:51
virtual std::shared_ptr< casacore::ImageInterface< casacore::Float > > imagepbcor(casacore::uInt term=0)
void findMinMax(const casacore::Array< casacore::Float > &lattice, const casacore::Array< casacore::Float > &mask, casacore::Float &minVal, casacore::Float &maxVal, casacore::Float &minValMask, casacore::Float &maxValMask)
virtual ~SIImageStore()