source: trunk/src/GenericEdgeDetector.h@ 3003

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

New Development: No

JIRA Issue: Yes CAS-2825

Ready for Test: Yes

Interface Changes: No

What Interface Changed: Please list interface changes

Test Programs: not available

Put in Release Notes: No

Module(s): Module Names change impacts.

Description: Describe your changes here...

Correct DEC correction on R.A.


File size: 1.6 KB
Line 
1//
2// C++ Interface: GenericEdgeDetector
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 _GENERIC_EDGE_DETECTOR_H_
13#define _GENERIC_EDGE_DETECTOR_H_
14
15#include <casa/Arrays/Vector.h>
16#include <casa/Containers/Record.h>
17
18#include "EdgeDetector.h"
19
20namespace asap {
21
22class GenericEdgeDetector : public EdgeDetector
23{
24public:
25 GenericEdgeDetector() ;
26 virtual ~GenericEdgeDetector() ;
27
28 casa::Vector<casa::uInt> detect() ;
29
30private:
31 // parse options
32 void parseOption( const casa::Record &option ) ;
33
34 // steps for edge detection algorithm
35 void topixel() ;
36 void countup() ;
37 void thresholding() ;
38 void labeling() ;
39 void trimming() ;
40 void selection() ;
41 void tuning() ;
42
43 // internal methods
44 void setup() ;
45 casa::uInt _labeling() ;
46 casa::uInt __labeling( casa::Vector<casa::uInt> &a ) ;
47 casa::uInt _trimming() ;
48 casa::uInt _trimming1DX() ;
49 casa::uInt _trimming1DY() ;
50 casa::uInt _trimming1D( casa::Vector<casa::uInt> &a ) ;
51 void _search( casa::uInt &start,
52 casa::uInt &end,
53 const casa::Vector<casa::uInt> &a ) ;
54
55 // pixel info
56 casa::Double cenx_ ;
57 casa::Double ceny_ ;
58 casa::Double pcenx_ ;
59 casa::Double pceny_ ;
60 casa::uInt nx_ ;
61 casa::uInt ny_ ;
62 casa::Double dx_ ;
63 casa::Double dy_ ;
64
65 // storage for detection
66 casa::Matrix<casa::Double> pdir_ ;
67 casa::Matrix<casa::uInt> apix_ ;
68
69 // options
70 casa::Float width_ ;
71 casa::Float fraction_ ;
72 casa::Bool elongated_ ;
73} ;
74
75}
76#endif /* _GENERIC_EDGE_DETECTOR_H_ */
Note: See TracBrowser for help on using the repository browser.