Ignore:
Timestamp:
04/01/11 21:36:20 (13 years ago)
Author:
WataruKawasaki
Message:

New Development: No

JIRA Issue: No

Ready for Test: Yes

Interface Changes: No

What Interface Changed:

Test Programs:

Put in Release Notes: No

Module(s): Scantable

Description: minor bugfix/cleanup.


File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/Scantable.cpp

    r2084 r2094  
    17751775}
    17761776
    1777 void Scantable::polyBaseline(const std::vector<bool>& mask, int order, bool outLogger, const std::string& blfile)
     1777void Scantable::polyBaseline(const std::vector<bool>& mask, int order, bool getResidual, bool outLogger, const std::string& blfile)
    17781778{
    17791779  ofstream ofs;
     
    18031803    chanMask = getCompositeChanMask(whichrow, mask);
    18041804    fitBaseline(chanMask, whichrow, fitter);
    1805     setSpectrum(fitter.getResidual(), whichrow);
     1805    setSpectrum((getResidual ? fitter.getResidual() : fitter.getFit()), whichrow);
    18061806    outputFittingResult(outLogger, outTextFile, chanMask, whichrow, coordInfo, hasSameNchan, ofs, "polyBaseline()", fitter);
    18071807  }
     
    18101810}
    18111811
    1812 void Scantable::autoPolyBaseline(const std::vector<bool>& mask, int order, const std::vector<int>& edge, float threshold, int chanAvgLimit, bool outLogger, const std::string& blfile)
     1812void Scantable::autoPolyBaseline(const std::vector<bool>& mask, int order, const std::vector<int>& edge, float threshold, int chanAvgLimit, bool getResidual, bool outLogger, const std::string& blfile)
    18131813{
    18141814  ofstream ofs;
     
    18641864
    18651865    fitBaseline(chanMask, whichrow, fitter);
    1866     setSpectrum(fitter.getResidual(), whichrow);
     1866    setSpectrum((getResidual ? fitter.getResidual() : fitter.getFit()), whichrow);
    18671867
    18681868    outputFittingResult(outLogger, outTextFile, chanMask, whichrow, coordInfo, hasSameNchan, ofs, "autoPolyBaseline()", fitter);
     
    18721872}
    18731873
    1874 void Scantable::cubicSplineBaseline(const std::vector<bool>& mask, int nPiece, float thresClip, int nIterClip, bool outLogger, const std::string& blfile)
     1874void Scantable::cubicSplineBaseline(const std::vector<bool>& mask, int nPiece, float thresClip, int nIterClip, bool getResidual, bool outLogger, const std::string& blfile)
    18751875{
    18761876  ofstream ofs;
     
    19001900    chanMask = getCompositeChanMask(whichrow, mask);
    19011901    //fitBaseline(chanMask, whichrow, fitter);
    1902     //setSpectrum(fitter.getResidual(), whichrow);
     1902    //setSpectrum((getResidual ? fitter.getResidual() : fitter.getFit()), whichrow);
    19031903    std::vector<int> pieceEdges;
    19041904    std::vector<float> params;
    1905     std::vector<float> res = doCubicSplineFitting(getSpectrum(whichrow), chanMask, nPiece, pieceEdges, params, thresClip, nIterClip, true);
     1905    std::vector<float> res = doCubicSplineFitting(getSpectrum(whichrow), chanMask, nPiece, pieceEdges, params, thresClip, nIterClip, getResidual);
    19061906    setSpectrum(res, whichrow);
    19071907    //
     
    19131913}
    19141914
    1915 void Scantable::autoCubicSplineBaseline(const std::vector<bool>& mask, int nPiece, float thresClip, int nIterClip, const std::vector<int>& edge, float threshold, int chanAvgLimit, bool outLogger, const std::string& blfile)
     1915void Scantable::autoCubicSplineBaseline(const std::vector<bool>& mask, int nPiece, float thresClip, int nIterClip, const std::vector<int>& edge, float threshold, int chanAvgLimit, bool getResidual, bool outLogger, const std::string& blfile)
    19161916{
    19171917  ofstream ofs;
     
    19681968
    19691969    //fitBaseline(chanMask, whichrow, fitter);
    1970     //setSpectrum(fitter.getResidual(), whichrow);
     1970    //setSpectrum((getResidual ? fitter.getResidual() : fitter.getFit()), whichrow);
    19711971    std::vector<int> pieceEdges;
    19721972    std::vector<float> params;
    1973     std::vector<float> res = doCubicSplineFitting(getSpectrum(whichrow), chanMask, nPiece, pieceEdges, params, thresClip, nIterClip, true);
     1973    std::vector<float> res = doCubicSplineFitting(getSpectrum(whichrow), chanMask, nPiece, pieceEdges, params, thresClip, nIterClip, getResidual);
    19741974    setSpectrum(res, whichrow);
    19751975    //
     
    19871987  }
    19881988  if (nPiece < 1) {
    1989     throw(AipsError("wrong number of the sections for fitting"));
     1989    throw(AipsError("number of the sections must be one or more"));
    19901990  }
    19911991
     
    22292229    chanMask = getCompositeChanMask(whichrow, mask);
    22302230    //fitBaseline(chanMask, whichrow, fitter);
    2231     //setSpectrum(fitter.getResidual(), whichrow);
     2231    //setSpectrum((getResidual ? fitter.getResidual() : fitter.getFit()), whichrow);
    22322232    std::vector<float> params;
    2233     //std::vector<float> res = doSinusoidFitting(getSpectrum(whichrow), chanMask, nWaves, params, thresClip, nIterClip, true);
    22342233    std::vector<float> res = doSinusoidFitting(getSpectrum(whichrow), chanMask, nWaves, maxWaveLength, params, thresClip, nIterClip, getResidual);
    22352234    setSpectrum(res, whichrow);
     
    22972296
    22982297    //fitBaseline(chanMask, whichrow, fitter);
    2299     //setSpectrum(fitter.getResidual(), whichrow);
     2298    //setSpectrum((getResidual ? fitter.getResidual() : fitter.getFit()), whichrow);
    23002299    std::vector<float> params;
    23012300    std::vector<float> res = doSinusoidFitting(getSpectrum(whichrow), chanMask, nWaves, maxWaveLength, params, thresClip, nIterClip, getResidual);
     
    23492348
    23502349  const double PI = 6.0 * asin(0.5); // PI (= 3.141592653...)
    2351   double baseXFactor = 2.0*PI/(double)maxWaveLength/(double)(nChan-1);  //the denominator (nChan-1) should be changed to (xdata[nChan-1]-xdata[0]) for accepting x-values given in velocity or frequency when this function is moved to fitter.
     2350  double baseXFactor = 2.0*PI/(double)maxWaveLength/(double)(nChan-1);  //the denominator (nChan-1) should be changed to (xdata[nChan-1]-xdata[0]) for accepting x-values given in velocity or frequency when this function is moved to fitter. (2011/03/30 WK)
    23522351
    23532352  // xArray : contains elemental values for computing the least-square matrix.
     
    26492648
    26502649  if (verbose) {
    2651     for (int i = 0; i < 60; ++i) {
    2652       oss << "-";
    2653     }
    2654     oss << endl;
    26552650    oss <<  " Scan[" << getScan(whichrow)  << "]";
    26562651    oss <<  " Beam[" << getBeam(whichrow)  << "]";
     
    26732668    oss << "Results of baseline fit" << endl;
    26742669    oss << "  rms = " << setprecision(6) << rms << endl;
     2670    for (int i = 0; i < 60; ++i) {
     2671      oss << "-";
     2672    }
     2673    oss << flush;
    26752674  }
    26762675
Note: See TracChangeset for help on using the changeset viewer.