#include <MSUVBin.h>
Public Member Functions | |
| MSUVBin () | |
| MSUVBin (const MDirection &phaseCenter, const Int nx, const Int ny, const Int nchan, const Int npol, Quantity cellx, Quantity celly, Quantity freqStart, Quantity freqStep, Float memFraction=0.5, Bool dow=False, Bool doflag=False) | |
| npol should be only 1, 2 (parallel hands) or 4 | |
| MSUVBin (MeasurementSet &ms) | |
| Constructor to bin into an existing gridded ms. | |
| virtual Bool | selectData (const String &msname, const String &spw="", const String &field="", const String &baseline="", const String &scan="", const String &uvrange="", const String &taql="", const String &subarray="", const String &correlation="", const String &intent="", const String &obs="") |
| The following can be called multiple times to setup multiple input MS. | |
| void | setOutputMS (const String &msname) |
| void setInputMS(const MeasurementSet& ms); void setInputMS(const Block<const MeasurementSet*> mssPtr); | |
| Bool | fillOutputMS () |
| forceDiskUsage is to avoid using in memory gridding even if there is | |
| virtual | ~MSUVBin () |
Static Public Member Functions | |
| static Bool | String2MDirection (const String &theString, MDirection &theMeas, const String msname="") |
| Helper function for creating MDirection from a string. | |
Private Member Functions | |
| Bool | fillSmallOutputMS () |
| Bool | fillNewBigOutputMS () |
| Bool | fillBigOutputMS () |
| Int | recoverGridInfo (const String &msname) |
| void | storeGridInfo () |
| void | createOutputMS (const Int nrrows) |
| Int | makeUVW (const Double reffreq, Vector< Double > &incr, Vector< Int > ¢, Matrix< Double > &uvw) |
| void | locateuvw (Matrix< Int > &locuv, const Vector< Double > &increment, const Vector< Int > ¢er, const Matrix< Double > &uvw) |
| void | gridData (const vi::VisBuffer2 &vb, Cube< Complex > &grid, Matrix< Float > &wght, Cube< Float > &wghtSpec, Cube< Bool > &flag, Vector< Bool > &rowFlag, Matrix< Double > &uvw, Vector< Int > &ant1, Vector< Int > &ant2, Vector< Double > &time, const Matrix< Int > &locuv) |
| void | gridData (const vi::VisBuffer2 &vb, Cube< Complex > &grid, Matrix< Float > &wght, Cube< Float > &wghtSpec, Cube< Bool > &flag, Vector< Bool > &rowFlag, Matrix< Double > &uvw, Vector< Int > &ant1, Vector< Int > &ant2, Vector< Double > &time, const Int startchan, const Int endchan) |
| void | gridDataConv (const vi::VisBuffer2 &vb, Cube< Complex > &grid, Matrix< Float > &, Cube< Complex > &wghtSpec, Cube< Bool > &flag, Vector< Bool > &rowFlag, Matrix< Double > &uvw, Vector< Int > &ant1, Vector< Int > &ant2, Vector< Double > &timeCen, const Int startchan, const Int endchan, const Cube< Complex > &convFunc, const Vector< Int > &convSupport, const Double wScale, const Int convSampling) |
| void | gridDataConvThr (const vi::VisBuffer2 &vb, Cube< Complex > &grid, Cube< Complex > &wghtSpec, Cube< Bool > &flag, Vector< Bool > &rowFlag, Matrix< Double > &uvw, Vector< Int > &ant1, Vector< Int > &ant2, Vector< Double > &timeCen, const Int startchan, const Int endchan, const Cube< Complex > &convFunc, const Vector< Int > &convSupport, const Double wScale, const Int convSampling) |
| void | inplaceGridData (const vi::VisBuffer2 &vb) |
| void | inplaceLargeBW (const vi::VisBuffer2 &vb) |
| void | inplaceSmallBW (const vi::VisBuffer2 &vb) |
| void | makeCoordsys () |
| void | weightSync () |
| void | multiThrLoop (const Int outchan, const vi::VisBuffer2 &vb, Double refFreq, Vector< Float > scale, Bool hasCorrected, Bool needRot, const Vector< Double > &phasor, const Vector< Double > &visFreq, const Double &fracbw, Complex *&grid, Complex *&wghtSpec, Bool *&flag, Bool *&rowFlag, Double *&uvw, Int *&ant1, Int *&ant2, Double *&timeCen, Double *&sumWeight, Double *&numvis, const Int startchan, const Int endchan, const Cube< Complex > &convFunc, const Vector< Int > &convSupport, const Double wScale, const Int convSampling) |
| void | locateFlagFromGrid (vi::VisBuffer2 &vb, Cube< Bool > &datFlag, Cube< Float > &wghtSpec, Cube< Bool > &flag, Vector< Bool > &rowFlag, Matrix< Double > &uvw, Vector< Int > &ant1, Vector< Int > &ant2, Vector< Double > &timeCen, const Int startchan, const Int endchan) |
| Bool | datadescMap (const vi::VisBuffer2 &vb, Double &fracbw) |
| returns a false if either no channel map or pol map onto grid | |
| Bool | datadescMap (const VisBuffer &vb) |
| Bool | saveData (const Cube< Complex > &grid, const Cube< Bool > &flag, const Vector< Bool > &rowFlag, const Cube< Float > &wghtSpec, const Matrix< Float > &wght, const Matrix< Double > &uvw, const Vector< Int > &ant1, const Vector< Int > &ant2, const Vector< Double > &time) |
| Bool | saveData (const Cube< Complex > &grid, const Cube< Bool > &flag, const Vector< Bool > &rowFlag, const Cube< Float > &wghtSpec, const Matrix< Double > &uvw, const Vector< Int > &ant1, const Vector< Int > &ant2, const Vector< Double > &time, const Int startchan, const Int endchan, const Cube< Float > &imagwghtSpec=Cube< Float >()) |
| void | fillSubTables () |
| void | fillFieldTable () |
| void | copySubtable (const String &tabName, const Table &inTab, const Bool noRows=False) |
| void | fillDDTables () |
| void | setTileCache () |
| void | makeSFConv (Cube< Complex > &convFunc, Vector< Int > &convSupport, Double &wScale, Int &convSampling, Int &convSize) |
| void | makeWConv (vi::VisibilityIterator2 &iter, Cube< Complex > &convFunc, Vector< Int > &convSupport, Double &wScale, Int &convSampling, Int &convSize) |
Static Private Member Functions | |
| static Int | sepCommaEmptyToVectorStrings (Vector< String > &retStr, const String &str) |
Private Attributes | |
| CoordinateSystem | csys_p |
| Int | nx_p |
| Int | ny_p |
| Int | nchan_p |
| Int | npol_p |
| Double | freqStart_p |
| Double | freqStep_p |
| Vector< Int > | chanMap_p |
| Vector< Int > | polMap_p |
| Vector< Vector< Int > > | chanMapRev_p |
| MDirection | phaseCenter_p |
| Vector< Double > | deltas_p |
| Vector< Int > | whichStokes_p |
| Bool | existOut_p |
| String | outMSName_p |
| CountedPtr< MeasurementSet > | outMsPtr_p |
| Block< const MeasurementSet * > | mss_p |
| VisBufferUtil | vbutil_p |
| Float | memFraction_p |
| Bool | doW_p |
| Bool | doFlag_p |
| Matrix< Double > | numVis_p |
| Matrix< Double > | sumWeight_p |
Definition at line 46 of file MSUVBin.h.
| casa::MSUVBin::MSUVBin | ( | ) |
| casa::MSUVBin::MSUVBin | ( | const MDirection & | phaseCenter, | |
| const Int | nx, | |||
| const Int | ny, | |||
| const Int | nchan, | |||
| const Int | npol, | |||
| Quantity | cellx, | |||
| Quantity | celly, | |||
| Quantity | freqStart, | |||
| Quantity | freqStep, | |||
| Float | memFraction = 0.5, |
|||
| Bool | dow = False, |
|||
| Bool | doflag = False | |||
| ) |
npol should be only 1, 2 (parallel hands) or 4
| casa::MSUVBin::MSUVBin | ( | MeasurementSet & | ms | ) |
Constructor to bin into an existing gridded ms.
| virtual casa::MSUVBin::~MSUVBin | ( | ) | [virtual] |
| void casa::MSUVBin::copySubtable | ( | const String & | tabName, | |
| const Table & | inTab, | |||
| const Bool | noRows = False | |||
| ) | [private] |
| void casa::MSUVBin::createOutputMS | ( | const Int | nrrows | ) | [private] |
| Bool casa::MSUVBin::datadescMap | ( | const VisBuffer & | vb | ) | [private] |
| Bool casa::MSUVBin::datadescMap | ( | const vi::VisBuffer2 & | vb, | |
| Double & | fracbw | |||
| ) | [private] |
returns a false if either no channel map or pol map onto grid
| Bool casa::MSUVBin::fillBigOutputMS | ( | ) | [private] |
| void casa::MSUVBin::fillDDTables | ( | ) | [private] |
| void casa::MSUVBin::fillFieldTable | ( | ) | [private] |
| Bool casa::MSUVBin::fillNewBigOutputMS | ( | ) | [private] |
| Bool casa::MSUVBin::fillOutputMS | ( | ) |
forceDiskUsage is to avoid using in memory gridding even if there is
| Bool casa::MSUVBin::fillSmallOutputMS | ( | ) | [private] |
| void casa::MSUVBin::fillSubTables | ( | ) | [private] |
| void casa::MSUVBin::gridData | ( | const vi::VisBuffer2 & | vb, | |
| Cube< Complex > & | grid, | |||
| Matrix< Float > & | wght, | |||
| Cube< Float > & | wghtSpec, | |||
| Cube< Bool > & | flag, | |||
| Vector< Bool > & | rowFlag, | |||
| Matrix< Double > & | uvw, | |||
| Vector< Int > & | ant1, | |||
| Vector< Int > & | ant2, | |||
| Vector< Double > & | time, | |||
| const Int | startchan, | |||
| const Int | endchan | |||
| ) | [private] |
| void casa::MSUVBin::gridData | ( | const vi::VisBuffer2 & | vb, | |
| Cube< Complex > & | grid, | |||
| Matrix< Float > & | wght, | |||
| Cube< Float > & | wghtSpec, | |||
| Cube< Bool > & | flag, | |||
| Vector< Bool > & | rowFlag, | |||
| Matrix< Double > & | uvw, | |||
| Vector< Int > & | ant1, | |||
| Vector< Int > & | ant2, | |||
| Vector< Double > & | time, | |||
| const Matrix< Int > & | locuv | |||
| ) | [private] |
| void casa::MSUVBin::gridDataConv | ( | const vi::VisBuffer2 & | vb, | |
| Cube< Complex > & | grid, | |||
| Matrix< Float > & | , | |||
| Cube< Complex > & | wghtSpec, | |||
| Cube< Bool > & | flag, | |||
| Vector< Bool > & | rowFlag, | |||
| Matrix< Double > & | uvw, | |||
| Vector< Int > & | ant1, | |||
| Vector< Int > & | ant2, | |||
| Vector< Double > & | timeCen, | |||
| const Int | startchan, | |||
| const Int | endchan, | |||
| const Cube< Complex > & | convFunc, | |||
| const Vector< Int > & | convSupport, | |||
| const Double | wScale, | |||
| const Int | convSampling | |||
| ) | [private] |
| void casa::MSUVBin::gridDataConvThr | ( | const vi::VisBuffer2 & | vb, | |
| Cube< Complex > & | grid, | |||
| Cube< Complex > & | wghtSpec, | |||
| Cube< Bool > & | flag, | |||
| Vector< Bool > & | rowFlag, | |||
| Matrix< Double > & | uvw, | |||
| Vector< Int > & | ant1, | |||
| Vector< Int > & | ant2, | |||
| Vector< Double > & | timeCen, | |||
| const Int | startchan, | |||
| const Int | endchan, | |||
| const Cube< Complex > & | convFunc, | |||
| const Vector< Int > & | convSupport, | |||
| const Double | wScale, | |||
| const Int | convSampling | |||
| ) | [private] |
| void casa::MSUVBin::inplaceGridData | ( | const vi::VisBuffer2 & | vb | ) | [private] |
| void casa::MSUVBin::inplaceLargeBW | ( | const vi::VisBuffer2 & | vb | ) | [private] |
| void casa::MSUVBin::inplaceSmallBW | ( | const vi::VisBuffer2 & | vb | ) | [private] |
| void casa::MSUVBin::locateFlagFromGrid | ( | vi::VisBuffer2 & | vb, | |
| Cube< Bool > & | datFlag, | |||
| Cube< Float > & | wghtSpec, | |||
| Cube< Bool > & | flag, | |||
| Vector< Bool > & | rowFlag, | |||
| Matrix< Double > & | uvw, | |||
| Vector< Int > & | ant1, | |||
| Vector< Int > & | ant2, | |||
| Vector< Double > & | timeCen, | |||
| const Int | startchan, | |||
| const Int | endchan | |||
| ) | [private] |
| void casa::MSUVBin::locateuvw | ( | Matrix< Int > & | locuv, | |
| const Vector< Double > & | increment, | |||
| const Vector< Int > & | center, | |||
| const Matrix< Double > & | uvw | |||
| ) | [private] |
| void casa::MSUVBin::makeCoordsys | ( | ) | [private] |
| void casa::MSUVBin::makeSFConv | ( | Cube< Complex > & | convFunc, | |
| Vector< Int > & | convSupport, | |||
| Double & | wScale, | |||
| Int & | convSampling, | |||
| Int & | convSize | |||
| ) | [private] |
| Int casa::MSUVBin::makeUVW | ( | const Double | reffreq, | |
| Vector< Double > & | incr, | |||
| Vector< Int > & | cent, | |||
| Matrix< Double > & | uvw | |||
| ) | [private] |
| void casa::MSUVBin::makeWConv | ( | vi::VisibilityIterator2 & | iter, | |
| Cube< Complex > & | convFunc, | |||
| Vector< Int > & | convSupport, | |||
| Double & | wScale, | |||
| Int & | convSampling, | |||
| Int & | convSize | |||
| ) | [private] |
| void casa::MSUVBin::multiThrLoop | ( | const Int | outchan, | |
| const vi::VisBuffer2 & | vb, | |||
| Double | refFreq, | |||
| Vector< Float > | scale, | |||
| Bool | hasCorrected, | |||
| Bool | needRot, | |||
| const Vector< Double > & | phasor, | |||
| const Vector< Double > & | visFreq, | |||
| const Double & | fracbw, | |||
| Complex *& | grid, | |||
| Complex *& | wghtSpec, | |||
| Bool *& | flag, | |||
| Bool *& | rowFlag, | |||
| Double *& | uvw, | |||
| Int *& | ant1, | |||
| Int *& | ant2, | |||
| Double *& | timeCen, | |||
| Double *& | sumWeight, | |||
| Double *& | numvis, | |||
| const Int | startchan, | |||
| const Int | endchan, | |||
| const Cube< Complex > & | convFunc, | |||
| const Vector< Int > & | convSupport, | |||
| const Double | wScale, | |||
| const Int | convSampling | |||
| ) | [private] |
| Int casa::MSUVBin::recoverGridInfo | ( | const String & | msname | ) | [private] |
| Bool casa::MSUVBin::saveData | ( | const Cube< Complex > & | grid, | |
| const Cube< Bool > & | flag, | |||
| const Vector< Bool > & | rowFlag, | |||
| const Cube< Float > & | wghtSpec, | |||
| const Matrix< Double > & | uvw, | |||
| const Vector< Int > & | ant1, | |||
| const Vector< Int > & | ant2, | |||
| const Vector< Double > & | time, | |||
| const Int | startchan, | |||
| const Int | endchan, | |||
| const Cube< Float > & | imagwghtSpec = Cube< Float >() | |||
| ) | [private] |
| Bool casa::MSUVBin::saveData | ( | const Cube< Complex > & | grid, | |
| const Cube< Bool > & | flag, | |||
| const Vector< Bool > & | rowFlag, | |||
| const Cube< Float > & | wghtSpec, | |||
| const Matrix< Float > & | wght, | |||
| const Matrix< Double > & | uvw, | |||
| const Vector< Int > & | ant1, | |||
| const Vector< Int > & | ant2, | |||
| const Vector< Double > & | time | |||
| ) | [private] |
| virtual Bool casa::MSUVBin::selectData | ( | const String & | msname, | |
| const String & | spw = "", |
|||
| const String & | field = "", |
|||
| const String & | baseline = "", |
|||
| const String & | scan = "", |
|||
| const String & | uvrange = "", |
|||
| const String & | taql = "", |
|||
| const String & | subarray = "", |
|||
| const String & | correlation = "", |
|||
| const String & | intent = "", |
|||
| const String & | obs = "" | |||
| ) | [virtual] |
The following can be called multiple times to setup multiple input MS.
| static Int casa::MSUVBin::sepCommaEmptyToVectorStrings | ( | Vector< String > & | retStr, | |
| const String & | str | |||
| ) | [static, private] |
| void casa::MSUVBin::setOutputMS | ( | const String & | msname | ) |
void setInputMS(const MeasurementSet& ms); void setInputMS(const Block<const MeasurementSet*> mssPtr);
| void casa::MSUVBin::setTileCache | ( | ) | [private] |
| void casa::MSUVBin::storeGridInfo | ( | ) | [private] |
| static Bool casa::MSUVBin::String2MDirection | ( | const String & | theString, | |
| MDirection & | theMeas, | |||
| const String | msname = "" | |||
| ) | [static] |
Helper function for creating MDirection from a string.
| void casa::MSUVBin::weightSync | ( | ) | [private] |
Vector<Int> casa::MSUVBin::chanMap_p [private] |
Vector<Vector<Int> > casa::MSUVBin::chanMapRev_p [private] |
CoordinateSystem casa::MSUVBin::csys_p [private] |
Vector<Double> casa::MSUVBin::deltas_p [private] |
Bool casa::MSUVBin::doFlag_p [private] |
Bool casa::MSUVBin::doW_p [private] |
Bool casa::MSUVBin::existOut_p [private] |
Double casa::MSUVBin::freqStart_p [private] |
Double casa::MSUVBin::freqStep_p [private] |
Float casa::MSUVBin::memFraction_p [private] |
Block<const MeasurementSet *> casa::MSUVBin::mss_p [private] |
Int casa::MSUVBin::nchan_p [private] |
Int casa::MSUVBin::npol_p [private] |
Matrix<Double> casa::MSUVBin::numVis_p [private] |
Int casa::MSUVBin::nx_p [private] |
Int casa::MSUVBin::ny_p [private] |
String casa::MSUVBin::outMSName_p [private] |
CountedPtr<MeasurementSet> casa::MSUVBin::outMsPtr_p [private] |
MDirection casa::MSUVBin::phaseCenter_p [private] |
Vector<Int> casa::MSUVBin::polMap_p [private] |
Matrix<Double> casa::MSUVBin::sumWeight_p [private] |
VisBufferUtil casa::MSUVBin::vbutil_p [private] |
Vector<Int> casa::MSUVBin::whichStokes_p [private] |
1.6.1