// // C++ Interface: EdgeDetector // // Description: // // // Author: Takeshi Nakazato , (C) 2012 // // Copyright: See COPYING file that comes with this distribution // // #ifndef _EDGE_DETECTOR_H_ #define _EDGE_DETECTOR_H_ #include #include #include #include namespace asap { class EdgeDetector { public: EdgeDetector() ; virtual ~EdgeDetector() ; void setDirection( const casa::Matrix &dir ) ; void setTime( const casa::Vector &t ) ; void setOption( const casa::Record &option ) ; virtual casa::Vector detect() = 0 ; protected: virtual void parseOption( const casa::Record &option ) = 0 ; casa::Vector vectorFromTempStorage( const casa::uInt &n ) ; void initDetect() ; // input data casa::Matrix dir_ ; casa::Vector time_ ; // output data: list of indexes for OFF positions casa::Vector off_ ; // temporary memory storage casa::Block tempuInt_ ; casa::IPosition tempIP_ ; // logging casa::LogIO os_ ; private: void resizeTempArea( const casa::uInt &n ) ; } ; } #endif /* _EDGE_DETECTOR_H_ */