Ignore:
Timestamp:
02/25/11 16:51:50 (13 years ago)
Author:
WataruKawasaki
Message:

New Development: Yes

JIRA Issue: Yes (CAS-2373, CAS-2620)

Ready for Test: Yes

Interface Changes: Yes

What Interface Changed: For Scantable::polyBaseline(), parameters and return value have been changed.

Test Programs:

Put in Release Notes: Yes

Module(s): sdbaseline, sd.linefinder

Description: (1) CAS-2373-related:

(1.1) Modified Scantable::polyBaseline() to have the row-based loop inside.

Now it fits and subtracts baseline for all rows and also output info
about the fitting result to logger and text file, while in the
previous version this method just did baseline fitting/subtraction
for one row only and had to be put inside a row-based loop at the
python side ("poly_baseline()" in scantable.py) and result output had
also to be controlled at the python side. Using a test data from NRO
45m telescope (348,000 rows, 512 channels), the processing time of
scantable.poly_baseline() has reduced from 130 minutes to 5-6 minutes.

(1.2) For accelerating the another polynomial fitting function, namely

scantable.auto_poly_baseline(), added a method
Scantable::autoPolyBaseline(). This basically does the same thing
with Scantable::polyBaseline(), but uses linefinfer also to
automatically flag the line regions.

(1.3) To make linefinder usable in Scantable class, added a method

linefinder.setdata(). This makes it possible to apply linefinder
for a float-list data given as a parameter, without setting scantable,
while it was indispensable to set scantable to use linefinger previously.

(2) CAS-2620-related:

Added Scantable::cubicSplineBaseline() and autoCubicSplineBaseline() for
fit baseline using the cubic spline function. Parameters include npiece
(number of polynomial pieces), clipthresh (clipping threshold), and
clipniter (maximum iteration number).



File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/STLineFinder.h

    r1644 r2012  
    164164   // set the scan to work with (in_scan parameter)
    165165   void setScan(const ScantableWrapper &in_scan) throw(casa::AipsError);
     166
     167   // set spectrum data to work with. this is a method to allow linefinder work
     168   // without setting scantable for the purpose of using linefinder inside some
     169   // method in scantable class. (Dec. 22, 2010 by W.Kawasaki)
     170   void setData(const std::vector<float> &in_spectrum);
    166171
    167172   // search for spectral lines in a row specified by whichRow
     
    257262   // the lowest 80% of deviations (default)
    258263   casa::Bool itsUseMedian;
     264
     265   // true if spectra and mask data should be provided from
     266   // scantable (default = true)
     267   bool useScantable;
    259268};
    260269
Note: See TracChangeset for help on using the changeset viewer.