1 /********************************************************** 2 * Version $Id$ 3 *********************************************************/ 4 5 /////////////////////////////////////////////////////////// 6 // // 7 // SAGA // 8 // // 9 // System for Automated Geoscientific Analyses // 10 // // 11 // Tool Library // 12 // Grid_Filter // 13 // // 14 //-------------------------------------------------------// 15 // // 16 // Filter_Majority.h // 17 // // 18 // Copyright (C) 2010 by // 19 // Olaf Conrad // 20 // // 21 //-------------------------------------------------------// 22 // // 23 // This file is part of 'SAGA - System for Automated // 24 // Geoscientific Analyses'. SAGA is free software; you // 25 // can redistribute it and/or modify it under the terms // 26 // of the GNU General Public License as published by the // 27 // Free Software Foundation, either version 2 of the // 28 // License, or (at your option) any later version. // 29 // // 30 // SAGA is distributed in the hope that it will be // 31 // useful, but WITHOUT ANY WARRANTY; without even the // 32 // implied warranty of MERCHANTABILITY or FITNESS FOR A // 33 // PARTICULAR PURPOSE. See the GNU General Public // 34 // License for more details. // 35 // // 36 // You should have received a copy of the GNU General // 37 // Public License along with this program; if not, see // 38 // <http://www.gnu.org/licenses/>. // 39 // // 40 //-------------------------------------------------------// 41 // // 42 // e-mail: oconrad@saga-gis.org // 43 // // 44 // contact: Olaf Conrad // 45 // Institute of Geography // 46 // University of Hamburg // 47 // Germany // 48 // // 49 /////////////////////////////////////////////////////////// 50 51 //--------------------------------------------------------- 52 53 54 /////////////////////////////////////////////////////////// 55 // // 56 // // 57 // // 58 /////////////////////////////////////////////////////////// 59 60 //--------------------------------------------------------- 61 #ifndef HEADER_INCLUDED__Filter_Majority_H 62 #define HEADER_INCLUDED__Filter_Majority_H 63 64 65 /////////////////////////////////////////////////////////// 66 // // 67 // // 68 // // 69 /////////////////////////////////////////////////////////// 70 71 //--------------------------------------------------------- 72 #include "MLB_Interface.h" 73 74 75 /////////////////////////////////////////////////////////// 76 // // 77 // // 78 // // 79 /////////////////////////////////////////////////////////// 80 81 //--------------------------------------------------------- 82 class CFilter_Majority : public CSG_Tool_Grid 83 { 84 public: 85 CFilter_Majority(void); 86 87 88 protected: 89 90 virtual bool On_Execute (void); 91 92 virtual bool On_After_Execution (void); 93 94 95 private: 96 97 int m_Type, m_Threshold; 98 99 CSG_Grid_Cell_Addressor m_Kernel; 100 101 CSG_Grid *m_pInput; 102 103 104 double Get_Majority (int x, int y); 105 106 }; 107 108 109 /////////////////////////////////////////////////////////// 110 // // 111 // // 112 // // 113 /////////////////////////////////////////////////////////// 114 115 //--------------------------------------------------------- 116 #endif // #ifndef HEADER_INCLUDED__Filter_Majority_H 117