#include <synthesis/Utilities/FixVis.h>
#include <msvis/MSVis/MSUVWGenerator.h>
#include <msvis/MSVis/SubMS.h>
#include <casacore/measures/Measures/MeasTable.h>
#include <casacore/measures/Measures/UVWMachine.h>
#include <casacore/casa/Logging/LogIO.h>
#include <casacore/casa/Exceptions/Error.h>
#include <casacore/casa/Quanta/MVAngle.h>
#include <casacore/coordinates/Coordinates/Projection.h>
#include <casacore/coordinates/Coordinates/DirectionCoordinate.h>
#include <casacore/coordinates/Coordinates/ObsInfo.h>
#include <casacore/images/Images/PagedImage.h>
#include <casacore/images/Images/ImageInfo.h>
#include <casacore/ms/MeasurementSets/MSColumns.h>
#include <casacore/ms/MeasurementSets/MSDopplerUtil.h>
#include <casacore/ms/MSSel/MSSelection.h>
#include <casacore/ms/MSSel/MSSelectionTools.h>
#include <msvis/MSVis/VisibilityIterator.h>
#include <msvis/MSVis/VisBuffer.h>
#include <casacore/casa/BasicSL/String.h>
using namespace casacore;
FixVis::FixVis(MeasurementSet& ms, const String& dataColName) :
cimageShape_p(4, npix_p, npix_p, 1, 1),
tileShape_p(4, npix_p, npix_p, 1, 1),
tiledShape_p(cimageShape_p, tileShape_p),
logSink() << LogOrigin("FixVis", "") << LogIO::NORMAL3;
antennaSelStr_p.resize();
dataCols_p = SubMS::parseColumnNames(dataColName, ms);
nDataCols_p = dataCols_p.nelements();
spectralwindowids_p.resize(ms_p.spectralWindow().nrow());
indgen(spectralwindowids_p);