source: branches/plotter2/src/EdgeDetector.h@ 2887

Last change on this file since 2887 was 2613, checked in by Takeshi Nakazato, 12 years ago

New Development: Yes

JIRA Issue: Yes CAS-2825

Ready for Test: No

Interface Changes: Yes

What Interface Changed: added new python module sd.edgemarker

Test Programs: not available

Put in Release Notes: Yes

Module(s): Module Names change impacts.

Description: Describe your changes here...

New python module edgemarker is available. The edgemarker is a tool to
detect edge of observed area and mark data near edge as OFF. It can be
used to calibrate OTF data without explicit OFF scan.


File size: 1.2 KB
Line 
1//
2// C++ Interface: EdgeDetector
3//
4// Description:
5//
6//
7// Author: Takeshi Nakazato <takeshi.nakazato@nao.ac.jp>, (C) 2012
8//
9// Copyright: See COPYING file that comes with this distribution
10//
11//
12#ifndef _EDGE_DETECTOR_H_
13#define _EDGE_DETECTOR_H_
14
15#include <casa/Arrays/Matrix.h>
16#include <casa/Arrays/Vector.h>
17#include <casa/Containers/Record.h>
18#include <casa/Logging/LogIO.h>
19
20namespace asap {
21
22class EdgeDetector
23{
24public:
25 EdgeDetector() ;
26 virtual ~EdgeDetector() ;
27
28 void setDirection( const casa::Matrix<casa::Double> &dir ) ;
29 void setTime( const casa::Vector<casa::Double> &t ) ;
30 void setOption( const casa::Record &option ) ;
31 virtual casa::Vector<casa::uInt> detect() = 0 ;
32
33protected:
34 virtual void parseOption( const casa::Record &option ) = 0 ;
35 casa::Vector<casa::uInt> vectorFromTempStorage( const casa::uInt &n ) ;
36 void initDetect() ;
37
38 // input data
39 casa::Matrix<casa::Double> dir_ ;
40 casa::Vector<casa::Double> time_ ;
41
42 // output data: list of indexes for OFF positions
43 casa::Vector<casa::uInt> off_ ;
44
45 // temporary memory storage
46 casa::Block<casa::uInt> tempuInt_ ;
47 casa::IPosition tempIP_ ;
48
49 // logging
50 casa::LogIO os_ ;
51
52private:
53 void resizeTempArea( const casa::uInt &n ) ;
54} ;
55
56}
57#endif /* _EDGE_DETECTOR_H_ */
Note: See TracBrowser for help on using the repository browser.