| 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/TePDIOFMatching.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 TEPDIOFMATCHING_HPP
    00026   #define TEPDIOFMATCHING_HPP
    00027
    00028   #include "TePDIAlgorithm.hpp"
    00029   #include "TePDIMatrix.hpp"
    00030
    00031   #include "../kernel/TeThreadParameters.h"
    00032
    00109   class PDI_DLL TePDIOFMatching : public TePDIAlgorithm {
    00110     public :
    00111
    00116       TePDIOFMatching();
    00117
    00121       ~TePDIOFMatching();
    00122
    00132       bool CheckParameters( const TePDIParameters& parameters ) const;
    00133
    00134     protected :
    00135
    00140       typedef TePDIMatrix< double > ImgMatrixT;
    00141
    00147       bool RunImplementation();
    00148
    00155       void ResetState( const TePDIParameters& params );
    00156
    00164       static bool loadImage( const TeThreadParameters& params );
    00165
    00174       static bool generateFeatures(
    00175         const TeThreadParameters& params );
    00176
    00187       static bool gaussianSmoothing(
    00188         const ImgMatrixT& input_matrix,
    00189         ImgMatrixT& output_matrix,
    00190         unsigned int iterations,
    00191         bool progress_enabled,
    00192         TeMutex& glb_mem_lock );
    00193
    00204       static bool generateLSSurface(
    00205         const ImgMatrixT& input_matrix,
    00206         ImgMatrixT& ls_surface_matrix,
    00207         bool progress_enabled,
    00208         TeMutex& glb_mem_lock );
    00209
    00217       static void matrix2Tiff(
    00218         const ImgMatrixT& input_matrix,
    00219         const std::string& out_file_name,
    00220         const std::vector< TeCoord2D >& maxima_points );
    00221
    00232       static void raster2Tiff(
    00233         const TePDITypes::TePDIRasterPtrType& input_raster_ptr,
    00234         unsigned int raster_channel,
    00235         const std::string& out_file_name,
    00236         const std::vector< TeCoord2D >& maxima_points,
    00237         const TeSharedPtr< TeCoordPairVect >& out_tie_points_ptr,
    00238         unsigned int tie_points_space );
    00239
    00253       static bool getMaximaPoints(
    00254         const ImgMatrixT& input_matrix,
    00255         std::vector< TeCoord2D >& maxima_points,
    00256         unsigned int max_points, unsigned int corr_window_width,
    00257         bool progress_enabled,
    00258         double maximas_sens );
    00259
    00275       static bool generateCorrWindows(
    00276         const ImgMatrixT& img_matrix,
    00277         unsigned int corr_window_width,
    00278         const std::vector< TeCoord2D >& img_maxima_points,
    00279         ImgMatrixT& img_features_matrix,
    00280         bool progress_enabled,
    00281         TeMutex& glb_mem_lock );
    00282
    00295       static void features2Tiff(
    00296         unsigned int corr_window_width,
    00297         const std::vector< TeCoord2D >& img_maxima_points,
    00298         ImgMatrixT& img_features_matrix,
    00299         const std::string& filenameaddon );
    00300
    00322       static bool locateBestFeaturesMatching(
    00323         const TeThreadParameters& params );
    00324
    00330       bool checkMaximaPoints( const std::vector< TeCoord2D >& maximas )
    00331         const;
    00332
    00338       bool checkTPs(
    00339         const TeCoordPairVect& tpsvec ) const;
    00340   };
    00341
    00346 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines