source: trunk/src/EdgeDetector.h @ 2613

Last change on this file since 2613 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.