std::tuple<TcleanProcessingInfo, casacore::Vector<casacore::Int>, casacore::Vector<casacore::Int> > nSubCubeFitInMemory(const casacore::Int fudge_factor, const casacore::IPosition& imshape, const casacore::Float padding=1.0);
#ifndef SYNTHESIS_SYNTHESISIMAGERVI2_H
#define SYNTHESIS_SYNTHESISIMAGERVI2_H
#include <synthesis/ImagerObjects/SynthesisImager.h>
#include <synthesis/TransformMachines2/FTMachine.h>
#include <msvis/MSVis/ViFrequencySelection.h>
#include <msvis/MSVis/VisibilityIterator2.h>
#include <msvis/MSVis/VisBuffer2.h>
template<class T> class ImageInterface;
class SynthesisImagerVi2 : public SynthesisImager
virtual ~SynthesisImagerVi2();
using SynthesisImager::selectData;
virtual casacore::Bool selectData(const SynthesisParamsSelect& selpars);
virtual casacore::Bool defineImage(SynthesisParamsImage& impars, const SynthesisParamsGrid& gridpars);
virtual casacore::Vector<SynthesisParamsSelect> tuneSelectData();
virtual casacore::Bool defineImage(casacore::CountedPtr<SIImageStore> imstor, const casacore::String& ftmachine);
virtual casacore::Bool defineImage(casacore::CountedPtr<SIImageStore> imstor,
const casacore::Record& ftmachine, const casacore::Record& invftmachine);
virtual casacore::Bool defineImage(casacore::CountedPtr<SIImageStore> imstor,
SynthesisParamsImage& impars, const SynthesisParamsGrid& gridpars);
virtual casacore::Bool weight(const casacore::String& type="natural",