| TerraLib 4.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/image_processing/TePDIFilterMask.hpp
Go to the documentation of this file.

    00001 /*
    00002 TerraLib - a library for developing GIS applications.
    00003 Copyright  2001, 2002, 2003 INPE and Tecgraf/PUC-Rio.
    00004
    00005 This code is part of the TerraLib library.
    00006 This library is free software; you can redistribute it and/or
    00007 modify it under the terms of the GNU Lesser General Public
    00008 License as published by the Free Software Foundation; either
    00009 version 2.1 of the License, or (at your option) any later version.
    00010
    00011 You should have received a copy of the GNU Lesser General Public
    00012 License along with this library.
    00013
    00014 The authors reassure the license terms regarding the warranties.
    00015 They specifically disclaim any warranties, including, but not limited to,
    00016 the implied warranties of merchantability and fitness for a particular
    00017 purpose. The library provided hereunder is on an "as is" basis, and the
    00018 authors have no obligation to provide maintenance, support, updates,
    00019 enhancements, or modifications.
    00020 In no event shall INPE be held liable to any party
    00021 for direct, indirect, special, incidental, or consequential damages arising
    00022 out of the use of this library and its documentation.
    00023 */
    00024
    00025 #ifndef TEPDIFILTERMASK_HPP
    00026   #define TEPDIFILTERMASK_HPP
    00027
    00028  #include "TePDIDefines.hpp"
    00029  #include "../kernel/TeSharedPtr.h"
    00030
    00031   #include "../kernel/TeMatrix.h"
    00032
    00039   class PDI_DLL TePDIFilterMask {
    00040     public :
    00043       typedef TeSharedPtr< TePDIFilterMask > pointer;
    00046       typedef const TeSharedPtr< TePDIFilterMask > const_pointer;
    00047
    00052       TePDIFilterMask();
    00053
    00060       TePDIFilterMask( unsigned int width, double gain = 0 );
    00061
    00065       ~TePDIFilterMask();
    00066
    00073       void reset( unsigned int width, double gain = 0 );
    00074
    00080       unsigned int columns() const;
    00081
    00087       unsigned int lines() const;
    00088
    00096       void set( unsigned int line, unsigned int column, double value );
    00097
    00105       double get( unsigned int line, unsigned int column ) const;
    00106
    00112       double getSum();
    00113
    00119              void operator=( const TePDIFilterMask& external );
    00120
    00124       void normalize();
    00125
    00134       double** getWeightsMatrix() const;
    00135
    00142       static void deleteWeightsMatrix( double** matrix, unsigned int lines );
    00143
    00144
    00150       bool isMorfMask();
    00151
    00157       static TePDIFilterMask::pointer create_Dummy();
    00158
    00165       static TePDIFilterMask::pointer create_Avg3x3( bool no_norm = false );
    00166
    00173       static TePDIFilterMask::pointer create_Avg5x5( bool no_norm = false );
    00174
    00181       static TePDIFilterMask::pointer create_Avg7x7( bool no_norm = false );
    00182
    00188       static TePDIFilterMask::pointer create_S();
    00189
    00195       static TePDIFilterMask::pointer create_N();
    00196
    00202       static TePDIFilterMask::pointer create_E();
    00203
    00209       static TePDIFilterMask::pointer create_W();
    00210
    00216       static TePDIFilterMask::pointer create_NW();
    00217
    00223       static TePDIFilterMask::pointer create_SW();
    00224
    00230       static TePDIFilterMask::pointer create_NE();
    00231
    00237       static TePDIFilterMask::pointer create_SE();
    00238
    00244       static TePDIFilterMask::pointer create_NDLow();
    00245
    00251       static TePDIFilterMask::pointer create_NDMed();
    00252
    00258       static TePDIFilterMask::pointer create_NDHigh();
    00259
    00266       static TePDIFilterMask::pointer create_TMEnh( bool no_norm = false );
    00267
    00274       static TePDIFilterMask::pointer create_MorfD();
    00275
    00282       static TePDIFilterMask::pointer create_MorfE();
    00283
    00290       static TePDIFilterMask::pointer create_MorfM();
    00291
    00298       static TePDIFilterMask::pointer create_MorfM_();
    00299
    00306       static TePDIFilterMask::pointer create_MorfMPlus();
    00307
    00314       static TePDIFilterMask::pointer create_MorfMtot();
    00315
    00322       static TePDIFilterMask::pointer create_MorfMX();
    00323
    00324     protected :
    00325
    00329       mutable TeMatrix internal_matrix_;
    00330
    00334       double weights_sum_;
    00335
    00339       double weights_gain_;
    00340   };
    00341
    00346 #endif //TEPDIFILTERMASK_HPP

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines