// // 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 casacore::Matrix &dir ) ; void setTime( const casacore::Vector &t ) ; void setOption( const casacore::Record &option ) ; virtual casacore::Vector detect() = 0 ; protected: virtual void parseOption( const casacore::Record &option ) = 0 ; casacore::Vector vectorFromTempStorage( const casacore::uInt &n ) ; void initDetect() ; // input data casacore::Matrix dir_ ; casacore::Vector time_ ; // output data: list of indexes for OFF positions casacore::Vector off_ ; // temporary memory storage casacore::Block tempuInt_ ; casacore::IPosition tempIP_ ; // logging casacore::LogIO os_ ; private: void resizeTempArea( const casacore::uInt &n ) ; } ; } #endif /* _EDGE_DETECTOR_H_ */