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/python_Scantable.cpp

    r1947 r2012  
    143143          boost::python::arg("nmax")=-1) )
    144144    .def("_poly_baseline", &ScantableWrapper::polyBaseline)
    145     .def("_poly_baseline_batch", &ScantableWrapper::polyBaselineBatch)
     145    .def("_auto_poly_baseline", &ScantableWrapper::autoPolyBaseline)
     146    .def("_cspline_baseline", &ScantableWrapper::cubicSplineBaseline)
     147    .def("_auto_cspline_baseline", &ScantableWrapper::autoCubicSplineBaseline)
     148    .def("get_rms", &ScantableWrapper::getRms)
     149    .def("format_blparams_row", &ScantableWrapper::formatBaselineParams)
     150    .def("format_piecewise_blparams_row", &ScantableWrapper::formatPiecewiseBaselineParams)
    146151    .def("_getflagtrafast", &ScantableWrapper::getFlagtraFast,
    147152         (boost::python::arg("whichrow")=0) )
     153    //.def("_sspline_baseline", &ScantableWrapper::smoothingSplineBaseline,
     154    // (boost::python::arg("thres")=3.0,
     155    //  boost::python::arg("niter")=1) )
     156    //.def("_test_cin", &ScantableWrapper::testCin)
    148157  ;
    149158};
Note: See TracChangeset for help on using the changeset viewer.