casa
5.7.0-16
|
#include <SkyEquation.h>
Public Member Functions | |
SkyEquation (SkyModel &sm, VisSet &vs, FTMachine &ft) | |
Define a SkyEquation linking a VisSet vs with a SkyModel sm using an FTMachine ft for transforms in both directions. More... | |
SkyEquation (SkyModel &sm, VisSet &vs, FTMachine &ft, ComponentFTMachine &cft, casacore::Bool noModelcol=false) | |
Define a SkyEquation linking a VisSet vs with a SkyModel sm using an FTMachine ft for transforms in both directions and a ComponentFTMachine for the component lists. More... | |
SkyEquation (SkyModel &sm, ROVisibilityIterator &vi, FTMachine &ft, ComponentFTMachine &cft, casacore::Bool noModelCol) | |
SkyEquation with ROVisIter. More... | |
SkyEquation (SkyModel &sm, VisSet &vs, FTMachine &ft, FTMachine &ift) | |
Define a SkyEquation linking a VisSet vs with a SkyModel sm using an FTMachine ft for Sky->Vis and ift for Vis->Sky. More... | |
SkyEquation (SkyModel &sm, VisSet &vs, FTMachine &ft, FTMachine &ift, ComponentFTMachine &cft) | |
Define a SkyEquation linking a VisSet vs with a SkyModel sm using an FTMachine ft for Sky->Vis and ift for Vis->Sky and a ComponentFTMachine for the component lists Default make use of MODEL_DATA Column of ms. More... | |
SkyModel & | skyModel () |
Return the SkyModel used by this SkyEquation. More... | |
VisSet & | visSet () |
Return the VisSet used by this SkyEquation. More... | |
FTMachine & | fTMachine () |
Return the (Sky->Vis) FTMachine used by this SkyEquation. More... | |
FTMachine & | iFTMachine () |
Return the (Vis->Sky) FTMachine used by this SkyEquation. More... | |
ComponentFTMachine & | componentFTMachine () |
Return the (Sky->Vis) ComponentFTMachine used by this SkyEquation. More... | |
virtual | ~SkyEquation () |
Destructor. More... | |
SkyEquation & | operator= (const SkyEquation &other) |
Assignment operator. More... | |
SkyEquation (const SkyEquation &other) | |
Copy constructor. More... | |
void | setSkyJones (SkyJones &j) |
Add Jones matrices to be used for Gain calculations. More... | |
virtual void | makeApproxPSF (casacore::Int model, casacore::ImageInterface< casacore::Float > &PSF) |
Make an approximate PSF for each model. More... | |
virtual void | makeApproxPSF (casacore::PtrBlock< casacore::ImageInterface< casacore::Float > * > &PSFs) |
make all the approx psfs in one go More... | |
virtual void | makeComplexXFRs () |
Make complex XFRs needed for incrementGradientChiSquared. More... | |
virtual void | predict (casacore::Bool incremental=false, casacore::MS::PredefinedColumns Type=casacore::MS::MODEL_DATA) |
Predict model coherence for the SkyModel. More... | |
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 measurements. More... | |
virtual void | gradientsChiSquared (casacore::Bool incremental, casacore::Bool commitToMS=false) |
virtual casacore::Bool | solveSkyModel () |
Solve for variables. More... | |
virtual casacore::Bool | solveSkyJones (SkyJones &sj) |
void | setImagePlaneWeighting (const casacore::String &type, const casacore::Float minPB, const casacore::Float constPB) |
Set image plane weighting. More... | |
virtual void | lock () |
Lock and unlock the underlying MeasurementSet. More... | |
virtual void | unlock () |
virtual casacore::String | associatedMSName () |
Return the name of the underlying MeasurementSet. More... | |
virtual void | getCoverageImage (casacore::Int model, casacore::ImageInterface< casacore::Float > &im) |
assign the flux scale that the ftmachines have if they have More... | |
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 search for centimetric imaging) More... | |
virtual void | getWeightImage (const casacore::Int, casacore::ImageInterface< casacore::Float > &) |
get the weight image from the ftmachines More... | |
virtual casacore::Bool | isNewFTM () |
virtual void | setPhaseCenterTime (const casacore::Double time) |
virtual casacore::Double | getPhaseCenterTime () |
Protected Member Functions | |
virtual void | incrementGradientsChiSquared () |
Increment gradientsChiSquared. More... | |
virtual void | fullGradientsChiSquared (casacore::Bool incremental=false) |
Do the full calculation - this must be called if the FTMachine cannot be represented by a Fourier transform. More... | |
SkyEquation () | |
casacore::Bool | ok () |
Check for validity. More... | |
virtual void | initializeGet (const VisBuffer &vb, casacore::Int row, casacore::Int model, casacore::Bool incremental) |
Apply Sky Jones to an image, also adjoint operation. More... | |
virtual VisBuffer & | get (VisBuffer &vb, casacore::Int model, casacore::Bool incremental, casacore::MS::PredefinedColumns Type=casacore::MS::MODEL_DATA) |
virtual void | finalizeGet () |
virtual void | initializePut (const VisBuffer &vb, casacore::Int model) |
virtual void | put (const VisBuffer &vb, casacore::Int model, casacore::Bool dopsf=false, FTMachine::Type col=FTMachine::OBSERVED) |
virtual void | finalizePut (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 rows that has the same SkyJones). More... | |
virtual casacore::Bool | changedSkyJones (const VisBuffer &vb, casacore::Int row) |
Have the SkyJones changed since their last application? More... | |
virtual casacore::Bool | changedFTMachine (const VisBuffer &vb) |
Has the FTMachine changed since last application? More... | |
virtual casacore::Bool | changedIFTMachine (const VisBuffer &vb) |
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 same skyJones. More... | |
virtual void | resetSkyJones () |
virtual void | assertSkyJones (const VisBuffer &vb, casacore::Int row) |
virtual casacore::ImageInterface < casacore::Complex > & | applySkyJones (const VisBuffer &vb, casacore::Int row, casacore::ImageInterface< casacore::Float > &in, casacore::ImageInterface< casacore::Complex > &out) |
virtual void | applySkyJonesInv (const VisBuffer &vb, casacore::Int row, casacore::ImageInterface< casacore::Complex > &in, casacore::ImageInterface< casacore::Float > &work, casacore::ImageInterface< casacore::Float > &out) |
virtual void | applySkyJonesSquare (const VisBuffer &vb, casacore::Int row, casacore::Matrix< casacore::Float > &weights, casacore::ImageInterface< casacore::Float > &work, casacore::ImageInterface< casacore::Float > &ggS) |
virtual void | initializePutXFR (const VisBuffer &vb, casacore::Int model, casacore::Int numXFR) |
Puts for calculating the complex XFRs. More... | |
virtual void | putXFR (const VisBuffer &vb, casacore::Int model, casacore::Int &numXFR) |
virtual void | finalizePutXFR (const VisBuffer &vb, casacore::Int Model, casacore::Int numXFR) |
virtual void | initializePutConvolve (const VisBuffer &vb, casacore::Int model, casacore::Int numXFR) |
Puts for calculating the complex convolutions. More... | |
virtual void | putConvolve (const VisBuffer &vb, casacore::Int model, casacore::Int &numXFR) |
virtual void | finalizePutConvolve (const VisBuffer &vb, casacore::Int Model, casacore::Int numXFR) |
virtual VisBuffer & | get (VisBuffer &vb, const SkyComponent &component) |
Get, etc. More... | |
virtual VisBuffer & | get (VisBuffer &vb, const ComponentList &components) |
SkyComponent & | applySkyJones (SkyComponent &corruptedComponent, const VisBuffer &vb, casacore::Int row) |
Do the sum of the gets for all the models for this visbuffer. More... | |
virtual void | fixImageScale () |
Modify the ggS and Create the imageScale. More... | |
virtual void | scaleImage (casacore::Int model, casacore::Bool incremental) |
Deal with scaling or unscaling image or deltaImage. More... | |
virtual void | unScaleImage (casacore::Int model, casacore::Bool incremental) |
virtual void | scaleImage (casacore::Int model=0) |
virtual void | unScaleImage (casacore::Int model=0) |
virtual void | scaleDeltaImage (casacore::Int model=0) |
virtual void | unScaleDeltaImage (casacore::Int model=0) |
virtual void | checkVisIterNumRows (ROVisibilityIterator &vi) |
Check the VisIter chunck size...force a more reasonable chunk if default is too small. More... | |
virtual void | predictComponents (casacore::Bool &incremental, casacore::Bool &initialized, casacore::MS::PredefinedColumns Type=casacore::MS::MODEL_DATA) |
virtual void predictComponents(casacore::Bool& incremental, casacore::Bool& initialized); More... | |
casacore::LogSink & | logSink () |
Definition at line 138 of file SkyEquation.h.
Define a SkyEquation linking a VisSet vs with a SkyModel sm using an FTMachine ft for transforms in both directions.
casa::SkyEquation::SkyEquation | ( | SkyModel & | sm, |
VisSet & | vs, | ||
FTMachine & | ft, | ||
ComponentFTMachine & | cft, | ||
casacore::Bool | noModelcol = false |
||
) |
Define a SkyEquation linking a VisSet vs with a SkyModel sm using an FTMachine ft for transforms in both directions and a ComponentFTMachine for the component lists.
casa::SkyEquation::SkyEquation | ( | SkyModel & | sm, |
ROVisibilityIterator & | vi, | ||
FTMachine & | ft, | ||
ComponentFTMachine & | cft, | ||
casacore::Bool | noModelCol | ||
) |
SkyEquation with ROVisIter.
Define a SkyEquation linking a VisSet vs with a SkyModel sm using an FTMachine ft for Sky->Vis and ift for Vis->Sky.
casa::SkyEquation::SkyEquation | ( | SkyModel & | sm, |
VisSet & | vs, | ||
FTMachine & | ft, | ||
FTMachine & | ift, | ||
ComponentFTMachine & | cft | ||
) |
Define a SkyEquation linking a VisSet vs with a SkyModel sm using an FTMachine ft for Sky->Vis and ift for Vis->Sky and a ComponentFTMachine for the component lists Default make use of MODEL_DATA Column of ms.
|
virtual |
Destructor.
casa::SkyEquation::SkyEquation | ( | const SkyEquation & | other | ) |
Copy constructor.
|
inlineprotected |
Definition at line 265 of file SkyEquation.h.
|
protectedvirtual |
|
protected |
Do the sum of the gets for all the models for this visbuffer.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
virtual |
Return the name of the underlying MeasurementSet.
|
protectedvirtual |
Has the FTMachine changed since last application?
|
protectedvirtual |
|
protectedvirtual |
Have the SkyJones changed since their last application?
|
protectedvirtual |
Do the Sky Jones change in this Visbuffer, starting from row1? Returns row2, the last row with the same skyJones.
|
protectedvirtual |
This encapsulates all of the change logic we should have to deal with (short of returning a range of rows that has the same SkyJones).
First we look to see if the first row of the VB requires a new SkyJones; then we determine if there are internal SkyJones changes in the VB which require going row by row in the get/put formalism.
|
protectedvirtual |
Check the VisIter chunck size...force a more reasonable chunk if default is too small.
|
inline |
Return the (Sky->Vis) ComponentFTMachine used by this SkyEquation.
Definition at line 181 of file SkyEquation.h.
References cft_.
|
inlinevirtual |
Set this to true if the residual image for mosaic is to be in pb^2 units (optimum mode for clean search for centimetric imaging)
Definition at line 243 of file SkyEquation.h.
References doflat_p.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Modify the ggS and Create the imageScale.
Reimplemented in casa::CubeSkyEquation.
|
inline |
Return the (Sky->Vis) FTMachine used by this SkyEquation.
Definition at line 175 of file SkyEquation.h.
References ft_.
|
protectedvirtual |
Do the full calculation - this must be called if the FTMachine cannot be represented by a Fourier transform.
|
protectedvirtual |
|
protectedvirtual |
Get, etc.
for a SkyComponent is much simpler
|
protectedvirtual |
|
virtual |
assign the flux scale that the ftmachines have if they have
Reimplemented in casa::CubeSkyEquation.
|
virtual |
|
inlinevirtual |
get the weight image from the ftmachines
Reimplemented in casa::CubeSkyEquation.
Definition at line 246 of file SkyEquation.h.
|
virtual |
Find sum of weights, Chi-squared, and the first and second derivatives by transforming to the measurements.
|
virtual |
Reimplemented in casa::CubeSkyEquation.
|
inline |
Return the (Vis->Sky) FTMachine used by this SkyEquation.
Definition at line 178 of file SkyEquation.h.
References ift_.
|
protectedvirtual |
Increment gradientsChiSquared.
The image of SkyModel must contain the increment to the image. For each model, a collection of complex transfer functions are used to avoid gridding and degridding all the visibilities.
|
protectedvirtual |
Apply Sky Jones to an image, also adjoint operation.
|
protectedvirtual |
|
protectedvirtual |
Puts for calculating the complex convolutions.
|
protectedvirtual |
Puts for calculating the complex XFRs.
|
inlinevirtual |
Reimplemented in casa::CubeSkyEquation.
Definition at line 248 of file SkyEquation.h.
|
virtual |
Lock and unlock the underlying MeasurementSet.
|
inlineprotected |
Definition at line 402 of file SkyEquation.h.
References logSink_p.
|
virtual |
Make an approximate PSF for each model.
The PSF is approximate in the sense that it is a shift-invariant approximation
|
virtual |
make all the approx psfs in one go
Reimplemented in casa::CubeSkyEquation.
|
virtual |
Make complex XFRs needed for incrementGradientChiSquared.
|
protected |
Check for validity.
SkyEquation& casa::SkyEquation::operator= | ( | const SkyEquation & | other | ) |
Assignment operator.
|
virtual |
Predict model coherence for the SkyModel.
If this is incremental then the model visibilities are not reset but are simply added to virtual void predict(casacore::Bool incremental=false);
Reimplemented in casa::CubeSkyEquation.
|
protectedvirtual |
virtual void predictComponents(casacore::Bool& incremental, casacore::Bool& initialized);
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Deal with scaling or unscaling image or deltaImage.
|
protectedvirtual |
|
inline |
Set image plane weighting.
Definition at line 227 of file SkyEquation.h.
References constPB_p, minPB_p, scaleType_p, and casa::type().
|
virtual |
Reimplemented in casa::CubeSkyEquation.
void casa::SkyEquation::setSkyJones | ( | SkyJones & | j | ) |
|
inline |
Return the SkyModel used by this SkyEquation.
Definition at line 169 of file SkyEquation.h.
References sm_.
|
virtual |
|
virtual |
|
virtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
inline |
Return the VisSet used by this SkyEquation.
Definition at line 172 of file SkyEquation.h.
References vs_.
|
protected |
Definition at line 384 of file SkyEquation.h.
Referenced by componentFTMachine().
|
protected |
Workspace.
Definition at line 397 of file SkyEquation.h.
|
protected |
Definition at line 414 of file SkyEquation.h.
Referenced by setImagePlaneWeighting().
|
protected |
Definition at line 390 of file SkyEquation.h.
|
protected |
Definition at line 427 of file SkyEquation.h.
Referenced by doFlatNoise().
|
protected |
casacore::List of terms in left to right order
Definition at line 389 of file SkyEquation.h.
|
protected |
Definition at line 392 of file SkyEquation.h.
|
protected |
|
protected |
Definition at line 398 of file SkyEquation.h.
|
protected |
Definition at line 402 of file SkyEquation.h.
|
protected |
Definition at line 383 of file SkyEquation.h.
Referenced by iFTMachine().
|
protected |
SkyJones::changed returns a true the first time its called We have to ignore this at the very begining and first call to 'changed' and not call finalizePut.
Definition at line 426 of file SkyEquation.h.
|
protected |
Definition at line 417 of file SkyEquation.h.
|
protected |
Definition at line 401 of file SkyEquation.h.
Referenced by logSink().
|
protected |
Definition at line 413 of file SkyEquation.h.
Referenced by setImagePlaneWeighting().
|
protected |
Definition at line 421 of file SkyEquation.h.
|
protected |
Definition at line 419 of file SkyEquation.h.
|
protected |
Definition at line 377 of file SkyEquation.h.
|
protected |
Definition at line 415 of file SkyEquation.h.
Referenced by setImagePlaneWeighting().
|
protected |
|
protected |
Definition at line 397 of file SkyEquation.h.
|
protected |
Definition at line 391 of file SkyEquation.h.
|
mutableprotected |
Previous VisBuffer, used to determine how to apply SkyJones; Set in initializePut and initializePutXFR, Used in finalizePut and finalizePutXFR.
Definition at line 411 of file SkyEquation.h.
|
protected |
|
protected |
Visibilityiterators.
Definition at line 376 of file SkyEquation.h.