29 #ifndef SYNTHESIS_SKYEQUATION_H
30 #define SYNTHESIS_SKYEQUATION_H
133 class ComponentFTMachine;
134 class ROVisibilityIterator;
135 class VisibilityIterator;
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 ~SkyEquation()
Destructor.
casacore::Bool isPSFWork_p
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.
FTMachine & fTMachine()
Return the (Sky->Vis) FTMachine used by this SkyEquation.
virtual void putConvolve(const VisBuffer &vb, casacore::Int model, casacore::Int &numXFR)
FTMachine * ft_
FTMachine objects.
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_
SkyModel & skyModel()
Return the SkyModel used by this SkyEquation.
virtual Type type()
Return the type enum.
FTMachine & iFTMachine()
Return the (Vis->Sky) FTMachine used by this SkyEquation.
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
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
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.
PredefinedColumns
The Main table colums with predefined meaning.
virtual casacore::Bool changedSkyJones(const VisBuffer &vb, casacore::Int row)
Have the SkyJones changed since their last application?
casacore::Vector< casacore::Bool > modelIsEmpty_p
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).
A base class for astronomical images.
casacore::String scaleType_p
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...
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.
Type
Types of known Images that may be made using the makeImage method.
casacore::Bool isBeginingOfSkyJonesCache_p
SkyJones::changed returns a true the first time its called We have to ignore this at the very beginin...
Converts UVW coordinates between coordinate systems.
bool Bool
Define the standard types used by Casacore.
virtual casacore::ImageInterface< casacore::Complex > & applySkyJones(const VisBuffer &vb, casacore::Int row, casacore::ImageInterface< casacore::Float > &in, casacore::ImageInterface< casacore::Complex > &out)
ComponentFTMachine & componentFTMachine()
Return the (Sky->Vis) ComponentFTMachine used by this SkyEquation.
A drop-in replacement for Block<T*>.
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...
virtual casacore::Bool isNewFTM()
casacore::LogSink logSink_p
casacore::LogSink & logSink()
virtual casacore::Bool changedFTMachine(const VisBuffer &vb)
Has the FTMachine changed since last application?
Sky Model: Model the Sky Brightness for the SkyEquation.
virtual casacore::Bool changedIFTMachine(const VisBuffer &vb)
VisibilityIterator * wvi_p
Visibilityiterators.
SkyJones * ej_
casacore::List of terms in left to right order
virtual casacore::Bool solveSkyJones(SkyJones &sj)
virtual void unScaleDeltaImage(casacore::Int model=0)
Sky Jones: Model sky-plane instrumental effects for the SkyEquation.
virtual void fixImageScale()
Modify the ggS and Create the imageScale.
A class for manipulating groups of components.
casacore::Float constPB_p
Distribute LogMessages to their destination(s)
A component of a model of the sky.
String: the storage and methods of handling collections of characters.
virtual void finalizePutConvolve(const VisBuffer &vb, casacore::Int Model, casacore::Int numXFR)
VisBuffers encapsulate one chunk of visibility data for processing.
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
casacore::Bool noModelCol_p
virtual void initializePutConvolve(const VisBuffer &vb, casacore::Int model, casacore::Int numXFR)
Puts for calculating the complex convolutions.
virtual void incrementGradientsChiSquared()
Increment gradientsChiSquared.
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.
defines interface for the Fourier Transform Machine
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); ...
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.