#include <imageanalysis/ImageAnalysis/SpectralFitter.h>
#include <casacore/casa/Arrays/ArrayMath.h>
#include <casacore/casa/OS/Directory.h>
#include <casacore/casa/OS/RegularFile.h>
#include <casacore/casa/OS/SymLink.h>
#include <casacore/coordinates/Coordinates/SpectralCoordinate.h>
#include <casacore/images/Images/ImageUtilities.h>
#include <imageanalysis/ImageAnalysis/ImageMoments.h>
#include <casacore/images/Images/FITSImage.h>
#include <casacore/images/Images/FITSQualityImage.h>
#include <casacore/images/Images/MIRIADImage.h>
#include <casacore/images/Images/PagedImage.h>
#include <casacore/images/Images/SubImage.h>
#include <casacore/images/Images/TempImage.h>
#include <components/SpectralComponents/SpectralList.h>
#include <components/SpectralComponents/SpectralElement.h>
#include <components/SpectralComponents/ProfileFit1D.h>
#include <casacore/lattices/Lattices/LatticeUtilities.h>
using namespace casacore;
SpectralFitter::SpectralFitter():
_log(new LogIO()), _resultMsg(""){
SpectralFitter::~SpectralFitter() {
Bool SpectralFitter::fit(const Vector<Float> &spcVals,
const Vector<Float> &yVals, const Vector<Float> &eVals,
const Float startVal, const Float endVal,
const Bool fitGauss, const Bool fitPoly,
const uInt nPoly, String &msg) {