TePDIAlgorithm Class Reference
[General purpose algorithms.]

#include <TePDIAlgorithm.hpp>

Inheritance diagram for TePDIAlgorithm:

TePDIArithmetic TePDIBaatz TePDIBatchGeoMosaic TePDIBufferedFilter TePDIColorTransform TePDIContrast TePDICorrelationMatching TePDIDecorrelationEnhancement TePDIEMClas TePDIFFT TePDIFusionIndexes TePDIGarguetFusion TePDIGeneralizedIHSFusion TePDIGeoMosaic TePDIHants TePDIHaralick TePDIIHSFusion TePDIIHSWaveletFusion TePDIIsosegClas TePDIKMeansClas TePDILevelRemap TePDIMallatWavelets TePDIMIMatching TePDIMixModel TePDIMMIOMatching TePDIOFMatching TePDIParallelSegmenter TePDIPCAWaveletFusion TePDIPrincipalComponents TePDIPrincipalComponentsFusion TePDIRaster2Vector TePDIRegGrowSeg TePDIRegister TePDISAMClassifier TePDISensorSimulator TePDISimplex TePDIStatistic TePDITPMosaic TePDIVenturaFusion TePDIWaveletAtrous TePDIWaveletAtrousFusion TePDIWiSpeRFusion

Detailed Description

The base class for digital image processing algorithms.
Author:
Emiliano F. Castejon <castejon@dpi.inpe.br>

Definition at line 41 of file TePDIAlgorithm.hpp.


Public Types

typedef const
TeSharedPtr
< TePDIAlgorithm
const_pointer
 Type definition for a const algorithm instance pointer.
typedef TeSharedPtr
< TePDIAlgorithm
pointer
 Type definition for an algorithm instance pointer.

Public Member Functions

bool Apply (const TePDIParameters &params)
bool Apply ()
virtual bool CheckParameters (const TePDIParameters &parameters) const =0
const TePDIParametersGetParameters () const
bool Reset (const TePDIParameters &params)
void ToggleProgInt (bool enabled)
virtual ~TePDIAlgorithm ()

Static Public Member Functions

static TePDIAlgorithmDefaultObject (const TePDIParameters &params)

Protected Member Functions

bool CheckInternalParameters () const
bool IncProgInt ()
virtual void ResetState (const TePDIParameters &params)=0
virtual bool RunImplementation ()=0
void StartProgInt (const std::string &message, unsigned int steps)
void StopProgInt ()
 TePDIAlgorithm ()
bool UpdateProgInt (unsigned int step)

Protected Attributes

TePDIParameters params_
TePDIPIManager pi_manager_
bool progress_enabled_

Private Member Functions

const TePDIAlgorithmoperator= (const TePDIAlgorithm &external)
 TePDIAlgorithm (const TePDIAlgorithm &)

Member Typedef Documentation

const TeSharedPtr< TePDIAlgorithm > TePDIAlgorithm::const_pointer

Reimplemented in TePDIBufferedFilter, TePDIEMClas, TePDIFusionIndexes, TePDIGeneralizedIHSFusion, TePDIIsosegClas, TePDIKMeansClas, TePDILevelRemap, TePDILinearFilter, TePDIRadarFilter, TePDIRadarFrostFilter, TePDIRadarGammaFilter, TePDIRadarKuanFilter, TePDIRadarLeeFilter, TePDIRaster2Vector, TePDISensorSimulator, and TePDIStatistic.

Definition at line 52 of file TePDIAlgorithm.hpp.

TeSharedPtr< TePDIAlgorithm > TePDIAlgorithm::pointer

Reimplemented in TePDIBufferedFilter, TePDIEMClas, TePDIFusionIndexes, TePDIGeneralizedIHSFusion, TePDIIsosegClas, TePDIKMeansClas, TePDILevelRemap, TePDILinearFilter, TePDIRadarFilter, TePDIRadarFrostFilter, TePDIRadarGammaFilter, TePDIRadarKuanFilter, TePDIRadarLeeFilter, TePDIRaster2Vector, TePDISensorSimulator, and TePDIStatistic.

Definition at line 47 of file TePDIAlgorithm.hpp.


Constructor & Destructor Documentation

TePDIAlgorithm::~TePDIAlgorithm (  )  [virtual]

Default Destructor

Definition at line 11 of file TePDIAlgorithm.cpp.

00012 {
00013 }

TePDIAlgorithm::TePDIAlgorithm (  )  [protected]

Default Constructor

Definition at line 5 of file TePDIAlgorithm.cpp.

References progress_enabled_.

00006 {
00007   progress_enabled_ = true;
00008 }

TePDIAlgorithm::TePDIAlgorithm ( const TePDIAlgorithm  )  [inline, private]

Alternative constructor.

Note:
Algorithms cannot be copied.

Definition at line 217 of file TePDIAlgorithm.hpp.

00217 {};


Member Function Documentation

bool TePDIAlgorithm::Apply ( const TePDIParameters params  ) 

Applies the algorithm following the state defined by the supplied parameters.

Parameters:
params The new supplied parameters.
Returns:
true if OK. false on error.

Definition at line 66 of file TePDIAlgorithm.cpp.

References CheckParameters(), TePDIParameters::Clear(), TeException::message(), params_, ResetState(), RunImplementation(), TEAGN_LOG_AND_RETURN, and TEAGN_TRUE_OR_RETURN.

00067 {
00068   TEAGN_TRUE_OR_RETURN( CheckParameters( params ),
00069     "Invalid parameters" )
00070     
00071   ResetState( params );
00072 
00073   /* This line must come after the ResetState line, because some algorithms
00074      checks the difference between the current internal parameters and the
00075      new supplied parameters */
00076   params_.Clear();
00077   params_ = params;
00078   
00079   #ifdef NDEBUG
00080     try
00081     {
00082       return RunImplementation();
00083     }
00084     catch( const TeException& exc )
00085     {
00086       TEAGN_LOG_AND_RETURN( "Exception raised from algorithm - " +
00087         exc.message() );
00088     }
00089     catch(...)
00090     {
00091       TEAGN_LOG_AND_RETURN( "Unhandled exception raised from algorithm" );
00092     }
00093   #else
00094     return RunImplementation();
00095   #endif    
00096 }

bool TePDIAlgorithm::Apply (  ) 

Applies the algorithm following the current state and internal stored parameters.

Returns:
true if OK. false on error.
Examples:
TePDIArithmetic_test.cpp, TePDIBDFilter_test.cpp, TePDIClassification_test.cpp, TePDIColorTransform_test.cpp, TePDIContrast_test.cpp, TePDICorrelationMatching_test.cpp, TePDIDecorrelationEnhancement_test.cpp, TePDIFFT_test.cpp, TePDIFusion_test.cpp, TePDIHants_test.cpp, TePDILinearFilter_test.cpp, TePDIMIMatching_test.cpp, TePDIMixModel_test.cpp, TePDIMMIOMatching_test.cpp, TePDIMorfFilter_test.cpp, TePDIMosaic_test.cpp, TePDIParallelSegmenter_test.cpp, TePDIPrincipalComponents_test.cpp, TePDIRadarFilters_test.cpp, TePDIRaster2Vector_test.cpp, TePDIRegister_test.cpp, TePDISegmentation_test.cpp, TePDISensorSimulator_test.cpp, TePDISimplex_test.cpp, and TePDIWavelets_test.cpp.

Definition at line 34 of file TePDIAlgorithm.cpp.

References CheckInternalParameters(), TeException::message(), RunImplementation(), StopProgInt(), TEAGN_LOG_AND_RETURN, and TEAGN_LOGERR.

Referenced by Avg3x3_test(), Avg7x7_test(), Baatz_Strategy_test(), BatchGeoMosaic_test1(), BatchGeoMosaic_test2(), buildData(), Dilation_1_iteration_test(), Dilation_2_iterations_test(), Dilation_3_iterations_test(), Dilation_4_iterations_test(), Dilation_with_dummy_test(), DummyMask_RGB_test(), EMClassification_test(), Erosion_1_iteration_test(), Erosion_2_iterations_test(), Erosion_3_iterations_test(), Erosion_4_iterations_test(), Erosion_with_dummy_test(), TePDIParaSegRegGrowStrategy::execute(), TePDIParaSegBaatzStrategy::execute(), Frost_test(), Gamma_test(), GarguetFusion_test(), GeoMosaic_test1(), GeoMosaic_test2(), GeoMosaic_test3(), GeoMosaic_test4(), halfsampledImageTest(), halfsampledImageTest2(), halfsampledRotadedImageTest(), halfsampledRotadedImageWithDownsampleTest(), HRCxCCDTest(), IHSFusion_test(), IsosegClassification_test(), KMeansClassification_test(), KuanAdaptative_test(), KuanFixed_test(), LeeAdaptative_test(), LeeFixed_test(), main(), Mallat_GetPyramid_and_RecomposePyramid_test(), Mallat_low_low_swap_test(), Median_1_iteration_test(), Median_2_iterations_test(), Median_3_iterations_test(), Median_4_iterations_test(), Median_with_dummy_test(), Mode_1_iteration_test(), Mode_2_iteration_test(), Mode_3_iteration_test(), NDHigh_test(), pca_test(), PrincoMixModel_test(), Raster2Vector_test(), RegionGrowing_Strategy_pattern1_test(), RegionGrowing_Strategy_test(), Register_test1(), RGB2IHS_IHS2RGB_image_test(), RGB2IHS_IHS2RGB_numeric_test(), Roberts_test(), TePDIWiSpeRFusion::RunImplementation(), TePDIWaveletAtrousFusion::RunImplementation(), TePDIVenturaFusion::RunImplementation(), TePDISensorSimulator::RunImplementation(), TePDIRegGrowSeg::RunImplementation(), TePDIPrincipalComponentsFusion::RunImplementation(), TePDIPCAWaveletFusion::RunImplementation(), TePDIIHSWaveletFusion::RunImplementation(), TePDIIHSFusion::RunImplementation(), TePDIGeneralizedIHSFusion::RunImplementation(), TePDIGarguetFusion::RunImplementation(), TePDIDecorrelationEnhancement::RunImplementation(), TePDIBatchGeoMosaic::RunImplementation(), TePDIBaatz::RunImplementation(), S_test(), sameImageAndBoxesTest(), sameImageAndBoxesWithMaskTest(), sameImageDifBoxesTest(), sameImageGreenXBlueTest(), sameImageGreenXRedTest(), sameImageTest(), sameImageTest2(), sameImageTestWithMultiThread(), sameInvertedImageTest(), Sobel_test(), TePDIArithmetic_operator_test1(), TePDIArithmetic_precedence_test(), TePDIArithmetic_real_number_test(), TePDIBaatz_test(), TePDIContrastHistEqualizer_test(), TePDIContrastLinear_plus_histo_test(), TePDIContrastLog_test(), TePDIContrastLog_with_use_dummy_test(), TePDIContrastMinMax_autolevels_test(), TePDIContrastMinMax_no_input_image_test(), TePDIContrastNegative_test(), TePDIContrastSimpleSlicer_test(), TePDIContrastSquare_test(), TePDIContrastSquareRoot_test(), TePDIContrastStat_test(), TePDIDecorrelationEnhancement_test(), TePDIFFT_test(), TePDIGeneralizedIHSFusion_test(), TePDIHants_test(), TePDIIHSWaveletFusion_test(), TePDIPCAWaveletFusion_test(), TePDIPrincipalComponentsFusion_test(), TePDIRegGrowSeg_test(), TePDISAMClassifier_test(), TePDISensorSimulator_test(), TePDIWaveletAtrous_test(), TePDIWaveletAtrousFusion_test(), TePDIWiSpeRFusion_test(), TPMosaic_test1(), TPMosaic_test2(), and VenturaFusion_test().

00035 {
00036   bool return_value = false;
00037   
00038   if( CheckInternalParameters() ) {
00039     #ifdef NDEBUG
00040       try
00041       {
00042         return_value = RunImplementation();
00043       }
00044       catch( const TeException& exc )
00045       {
00046         TEAGN_LOGERR( "Exception raised from algorithm - " +
00047           exc.message() );
00048       }
00049       catch(...)
00050       {
00051         TEAGN_LOGERR( "Unhandled exception raised from algorithm" );
00052       }
00053     #else
00054       return_value = RunImplementation();
00055     #endif
00056     
00057     StopProgInt();
00058   } else {
00059     TEAGN_LOG_AND_RETURN( "Invalid supplied parameters" );
00060   }
00061   
00062   return return_value;
00063 }

bool TePDIAlgorithm::CheckInternalParameters (  )  const [protected]

Checks if current internal parameters fits the requirements of each PDI algorithm implementation.

Note:
Error log messages must be generated. No exceptions generated.
Returns:
true if the internal parameters are OK. false if not.

Definition at line 105 of file TePDIAlgorithm.cpp.

References CheckParameters(), and params_.

Referenced by Apply().

00106 {
00107   return CheckParameters( params_ );
00108 }

virtual bool TePDIAlgorithm::CheckParameters ( const TePDIParameters parameters  )  const [pure virtual]

Checks if the supplied parameters fits the requirements of each PDI algorithm implementation.

Note:
Error log messages must be generated. No exceptions generated.
Parameters:
parameters The parameters to be checked.
Returns:
true if the parameters are OK. false if not.

Implemented in TePDIArithmetic, TePDIBaatz, TePDIBatchGeoMosaic, TePDIBDFilter, TePDIColorTransform, TePDIContrast, TePDICorrelationMatching, TePDIDecorrelationEnhancement, TePDIEMClas, TePDIFFT, TePDIFusionIndexes, TePDIGarguetFusion, TePDIGeneralizedIHSFusion, TePDIGeoMosaic, TePDIHants, TePDIHaralick, TePDIIHSFusion, TePDIIHSWaveletFusion, TePDIIsosegClas, TePDIKMeansClas, TePDILinearFilter, TePDIMallatWavelets, TePDIMIMatching, TePDIMixModel, TePDIMMIOMatching, TePDIMorfFilter, TePDIOFMatching, TePDIParallelSegmenter, TePDIPCAWaveletFusion, TePDIPrincipalComponents, TePDIPrincipalComponentsFusion, TePDIRadarFrostFilter, TePDIRadarGammaFilter, TePDIRadarKuanFilter, TePDIRadarLeeFilter, TePDIRaster2Vector, TePDIRegGrowSeg, TePDIRegister, TePDISAMClassifier, TePDISensorSimulator, TePDISimplex, TePDIStatistic, TePDITPMosaic, TePDIVenturaFusion, TePDIWaveletAtrous, TePDIWaveletAtrousFusion, and TePDIWiSpeRFusion.

Referenced by Apply(), CheckInternalParameters(), and Reset().

TePDIAlgorithm * TePDIAlgorithm::DefaultObject ( const TePDIParameters params  )  [static]

Returns a default object.

Returns:
A default object.

Definition at line 119 of file TePDIAlgorithm.cpp.

References TEAGN_LOG_AND_THROW.

00120 {
00121   TEAGN_LOG_AND_THROW( "Trying to create an invalid algorithm instance" );
00122   
00123   TePDIParameters dummy_params = params;
00124 
00125   return 0;
00126 }

const TePDIParameters & TePDIAlgorithm::GetParameters (  )  const

Returns a reference to the current internal parameters.

Returns:
A reference to the current internal parameters.

Definition at line 99 of file TePDIAlgorithm.cpp.

References params_.

00100 {
00101   return params_;
00102 }

bool TePDIAlgorithm::IncProgInt (  )  [protected]

Increments the the current progress by one step.

Returns:
true if the interface was canceled, false otherwise.
Deprecated:
DEPRECATED - This method will be removed in the future (each algorithm must check the variable TePDIAlgorithm::progress_enabled_ and instantiate its own TePDIPIManager when necessary).

Definition at line 155 of file TePDIAlgorithm.cpp.

References TePDIPIManager::Increment(), and pi_manager_.

Referenced by TePDIContrast::GetHistEqualizerLut(), and TePDIRegister::RunImplementation().

00156 {
00157   return pi_manager_.Increment();
00158 }

const TePDIAlgorithm & TePDIAlgorithm::operator= ( const TePDIAlgorithm external  )  [private]

Operator = overload.

Note:
Algorithms cannot be copied.
Parameters:
external External algorithm reference.
Returns:
A const Algorithm reference.

Definition at line 111 of file TePDIAlgorithm.cpp.

References TEAGN_LOG_AND_THROW.

00113 {
00114   TEAGN_LOG_AND_THROW( "Algorithms cannot be copied" );  
00115   
00116   return external;
00117 }

bool TePDIAlgorithm::Reset ( const TePDIParameters params  ) 

Reset the internal state with new supplied parameters.

Parameters:
params The new supplied parameters.
Returns:
true if parameters OK, false on error.
Examples:
TePDIBDFilter_test.cpp, TePDIClassification_test.cpp, TePDIColorTransform_test.cpp, TePDIContrast_test.cpp, TePDICorrelationMatching_test.cpp, TePDIDecorrelationEnhancement_test.cpp, TePDIFFT_test.cpp, TePDIFusion_test.cpp, TePDIHants_test.cpp, TePDIHaralick_test.cpp, TePDILinearFilter_test.cpp, TePDIMIMatching_test.cpp, TePDIMixModel_test.cpp, TePDIMMIOMatching_test.cpp, TePDIMorfFilter_test.cpp, TePDIOFMatching_test.cpp, TePDIPrincipalComponents_test.cpp, TePDIRadarFilters_test.cpp, TePDIRaster2Vector_test.cpp, TePDIRegister_test.cpp, TePDISegmentation_test.cpp, TePDISensorSimulator_test.cpp, TePDISimplex_test.cpp, TePDIStatistic_test.cpp, and TePDIWavelets_test.cpp.

Definition at line 16 of file TePDIAlgorithm.cpp.

References CheckParameters(), TePDIParameters::Clear(), params_, ResetState(), and TEAGN_LOG_AND_RETURN.

Referenced by TePDIMallatWavelets::AllocateTopLevel(), Avg3x3_test(), Avg7x7_test(), TePDIFusionIndexes::bias_index(), TePDISensorSimulatorFactory::build(), TePDIRegisterFactory::build(), TePDIRegGrowSegFactory::build(), TePDIRaster2VectorFactory::build(), TePDIRadarLeeFilterFactory::build(), TePDIRadarKuanFilterFactory::build(), TePDIRadarFrostFilterFactory::build(), TePDIPrincipalComponentsFactory::build(), TePDIMorfFilterFactory::build(), TePDIMixModelFactory::build(), TePDILinearFilterFactory::build(), TePDIKMeansClasFactory::build(), TePDIIsosegClasFactory::build(), TePDIEMClasFactory::build(), TePDIContrastFactory::build(), TePDIColorTransformFactory::build(), TePDIBDFilterFactory::build(), TePDIArithmeticFactory::build(), buildData(), TePDIFusionIndexes::correlation_coefficient_index(), TePDIMallatWavelets::Decompose(), Dilation_1_iteration_test(), Dilation_2_iterations_test(), Dilation_3_iterations_test(), Dilation_4_iterations_test(), Dilation_with_dummy_test(), DummyMask_RGB_test(), EMClassification_test(), TePDIFusionIndexes::ergas_index(), Erosion_1_iteration_test(), Erosion_2_iterations_test(), Erosion_3_iterations_test(), Erosion_4_iterations_test(), Erosion_with_dummy_test(), TePDIFusionIndexes::fit_histogram(), Frost_test(), Gamma_test(), GarguetFusion_test(), halfsampledImageTest(), halfsampledImageTest2(), halfsampledRotadedImageTest(), halfsampledRotadedImageWithDownsampleTest(), HRCxCCDTest(), IHSFusion_test(), IsosegClassification_test(), KMeansClassification_test(), KuanAdaptative_test(), KuanFixed_test(), LeeAdaptative_test(), LeeFixed_test(), main(), Mallat_GetPyramid_and_RecomposePyramid_test(), Mallat_low_low_swap_test(), Median_1_iteration_test(), Median_2_iterations_test(), Median_3_iterations_test(), Median_4_iterations_test(), Median_with_dummy_test(), Mode_1_iteration_test(), Mode_2_iteration_test(), Mode_3_iteration_test(), NDHigh_test(), numeric_test_with_polygonset(), numeric_with_histograms_test(), pca_test(), PrincoMixModel_test(), Raster2Vector_test(), Register_test1(), RGB2IHS_IHS2RGB_image_test(), RGB2IHS_IHS2RGB_numeric_test(), Roberts_test(), TePDIWiSpeRFusion::RunImplementation(), TePDIWaveletAtrousFusion::RunImplementation(), TePDIVenturaFusion::RunImplementation(), TePDISensorSimulator::RunImplementation(), TePDIRegGrowSeg::RunImplementation(), TePDIPrincipalComponentsFusion::RunImplementation(), TePDIPCAWaveletFusion::RunImplementation(), TePDIIHSWaveletFusion::RunImplementation(), TePDIIHSFusion::RunImplementation(), TePDIGeneralizedIHSFusion::RunImplementation(), TePDIGarguetFusion::RunImplementation(), TePDIDecorrelationEnhancement::RunImplementation(), TePDIBaatz::RunImplementation(), TePDIPrincipalComponents::RunImplementation_direct(), S_test(), sameImageAndBoxesTest(), sameImageAndBoxesWithMaskTest(), sameImageDifBoxesTest(), sameImageGreenXBlueTest(), sameImageGreenXRedTest(), sameImageTest(), sameImageTest2(), sameImageTestWithMultiThread(), sameInvertedImageTest(), Sobel_test(), TePDIFusionIndexes::standard_deviation_diff_index(), TePDIFusionIndexes::structural_similarity_index(), TePDIBaatz_test(), TePDIContrastHistEqualizer_test(), TePDIContrastLinear_plus_histo_test(), TePDIContrastLog_test(), TePDIContrastLog_with_use_dummy_test(), TePDIContrastMinMax_autolevels_test(), TePDIContrastMinMax_no_input_image_test(), TePDIContrastNegative_test(), TePDIContrastSimpleSlicer_test(), TePDIContrastSquare_test(), TePDIContrastSquareRoot_test(), TePDIContrastStat_test(), TePDIDecorrelationEnhancement_test(), TePDIFFT_test(), TePDIHants_test(), TePDIPrincipalComponentsFusion_test(), TePDIRegGrowSeg_test(), TePDISAMClassifier_test(), TePDISensorSimulator_test(), TePDIFusionIndexes::uiqi_index(), TePDIFusionIndexes::variance_difference_index(), and VenturaFusion_test().

00017 {
00018   if( CheckParameters( params ) ) {
00019     ResetState( params );
00020 
00021     /* This line must come after the ResetState line, because some algorithms
00022        checks the difference between the current internal parameters and the
00023        new supplied parameters */
00024     params_.Clear();
00025     params_ = params;
00026 
00027     return true;
00028   } else {
00029     TEAGN_LOG_AND_RETURN( "Invalid supplied parameters" );
00030   }
00031 }

virtual void TePDIAlgorithm::ResetState ( const TePDIParameters params  )  [protected, pure virtual]

Reset the internal state to the initial state.

Parameters:
params The new parameters referente at initial state.

Implemented in TePDIArithmetic, TePDIBaatz, TePDIBatchGeoMosaic, TePDIBDFilter, TePDIBufferedFilter, TePDIColorTransform, TePDIContrast, TePDICorrelationMatching, TePDIDecorrelationEnhancement, TePDIEMClas, TePDIFFT, TePDIFusionIndexes, TePDIGarguetFusion, TePDIGeneralizedIHSFusion, TePDIGeoMosaic, TePDIHants, TePDIHaralick, TePDIIHSFusion, TePDIIHSWaveletFusion, TePDIIsosegClas, TePDIKMeansClas, TePDILevelRemap, TePDILinearFilter, TePDIMallatWavelets, TePDIMIMatching, TePDIMixModel, TePDIMMIOMatching, TePDIMorfFilter, TePDIOFMatching, TePDIParallelSegmenter, TePDIPCAWaveletFusion, TePDIPrincipalComponents, TePDIPrincipalComponentsFusion, TePDIRadarFilter, TePDIRadarFrostFilter, TePDIRadarGammaFilter, TePDIRadarKuanFilter, TePDIRadarLeeFilter, TePDIRaster2Vector, TePDIRegGrowSeg, TePDIRegister, TePDISAMClassifier, TePDISensorSimulator, TePDISimplex, TePDIStatistic, TePDITPMosaic, TePDIVenturaFusion, TePDIWaveletAtrous, TePDIWaveletAtrousFusion, and TePDIWiSpeRFusion.

Referenced by Apply(), and Reset().

virtual bool TePDIAlgorithm::RunImplementation (  )  [protected, pure virtual]

Runs the current algorithm implementation.

Returns:
true if OK. false on error.

Implemented in TePDIArithmetic, TePDIBaatz, TePDIBatchGeoMosaic, TePDIBDFilter, TePDIColorTransform, TePDIContrast, TePDICorrelationMatching, TePDIDecorrelationEnhancement, TePDIEMClas, TePDIFFT, TePDIFusionIndexes, TePDIGarguetFusion, TePDIGeneralizedIHSFusion, TePDIGeoMosaic, TePDIHants, TePDIHaralick, TePDIIHSFusion, TePDIIHSWaveletFusion, TePDIIsosegClas, TePDIKMeansClas, TePDILinearFilter, TePDIMallatWavelets, TePDIMIMatching, TePDIMixModel, TePDIMMIOMatching, TePDIMorfFilter, TePDIOFMatching, TePDIParallelSegmenter, TePDIPCAWaveletFusion, TePDIPrincipalComponents, TePDIPrincipalComponentsFusion, TePDIRadarFrostFilter, TePDIRadarGammaFilter, TePDIRadarKuanFilter, TePDIRadarLeeFilter, TePDIRaster2Vector, TePDIRegGrowSeg, TePDIRegister, TePDISAMClassifier, TePDISensorSimulator, TePDISimplex, TePDIStatistic, TePDITPMosaic, TePDIVenturaFusion, TePDIWaveletAtrous, TePDIWaveletAtrousFusion, and TePDIWiSpeRFusion.

Referenced by Apply().

void TePDIAlgorithm::StartProgInt ( const std::string message,
unsigned int  steps 
) [protected]

Start the progress interface.

Parameters:
message Progress window message.
steps Progress window total steps.
Deprecated:
DEPRECATED - This method will be removed in the future (each algorithm must check the variable TePDIAlgorithm::progress_enabled_ and instantiate its own TePDIPIManager when necessary).

Definition at line 139 of file TePDIAlgorithm.cpp.

References pi_manager_, progress_enabled_, TePDIPIManager::Reset(), and TePDIPIManager::Toggle().

Referenced by TePDIContrast::FullRangeLutRemapLevels(), TePDIContrast::GetHistEqualizerLut(), TePDIContrast::GetLinearLut(), TePDIContrast::GetLogLut(), TePDIContrast::GetNegativeLut(), TePDIContrast::GetSimpleSlicerLut(), TePDIContrast::GetSquareLut(), TePDIContrast::GetSquareRootLut(), TePDILevelRemap::RemapLevels(), TePDIContrast::RemapLevels(), TePDIRadarLeeFilter::RunAdaptImplementation(), TePDIRadarKuanFilter::RunAdaptImplementation(), TePDIMorfFilter::RunDilation(), TePDIMorfFilter::RunErosion(), TePDIRadarLeeFilter::RunFixedImplementation(), TePDIRadarKuanFilter::RunFixedImplementation(), TePDIRadarGammaFilter::RunFixedImplementation(), TePDIColorTransform::RunIhs2Rgb(), TePDIRegister::RunImplementation(), TePDIRaster2Vector::RunImplementation(), TePDIRadarFrostFilter::RunImplementation(), TePDIMorfFilter::RunMedian(), TePDIMorfFilter::RunMode(), TePDIBDFilter::RunRoberts(), and TePDIBDFilter::RunSobel().

00141 {
00142   if( progress_enabled_ ) {
00143     pi_manager_.Reset( message, steps );
00144     pi_manager_.Toggle( true );
00145   }
00146 }

void TePDIAlgorithm::StopProgInt (  )  [protected]

Stop the progress interface.

Deprecated:
DEPRECATED - This method will be removed in the future (each algorithm must check the variable TePDIAlgorithm::progress_enabled_ and instantiate its own TePDIPIManager when necessary).

Definition at line 161 of file TePDIAlgorithm.cpp.

References pi_manager_, and TePDIPIManager::Toggle().

Referenced by Apply(), TePDIContrast::FullRangeLutRemapLevels(), TePDIContrast::GetHistEqualizerLut(), TePDILevelRemap::RemapLevels(), TePDIContrast::RemapLevels(), and TePDIRegister::RunImplementation().

00162 {
00163   pi_manager_.Toggle( false );
00164 }

void TePDIAlgorithm::ToggleProgInt ( bool  enabled  ) 

Enable / Disable the progress interface.

Parameters:
enabled Flag to enable ( true ) or disable ( false ).
Examples:
TePDICorrelationMatching_test.cpp, TePDIMIMatching_test.cpp, and TePDIOFMatching_test.cpp.

Definition at line 129 of file TePDIAlgorithm.cpp.

References pi_manager_, progress_enabled_, and TePDIPIManager::Toggle().

Referenced by TePDIFusionIndexes::bias_index(), TePDIFusionIndexes::correlation_coefficient_index(), TePDIFusionIndexes::ergas_index(), TePDIFusionIndexes::fit_histogram(), halfsampledImageTest(), halfsampledImageTest2(), halfsampledRotadedImageTest(), halfsampledRotadedImageWithDownsampleTest(), TePDIWiSpeRFusion::RunImplementation(), TePDIWaveletAtrousFusion::RunImplementation(), TePDIVenturaFusion::RunImplementation(), TePDIPrincipalComponentsFusion::RunImplementation(), TePDIPCAWaveletFusion::RunImplementation(), TePDIIHSWaveletFusion::RunImplementation(), TePDIIHSFusion::RunImplementation(), TePDIGarguetFusion::RunImplementation(), TePDIDecorrelationEnhancement::RunImplementation(), TePDIPrincipalComponents::RunImplementation_direct(), sameImageAndBoxesTest(), sameImageDifBoxesTest(), sameImageGreenXBlueTest(), sameImageGreenXRedTest(), sameImageTest(), sameImageTest2(), sameImageTestWithMultiThread(), sameInvertedImageTest(), TePDIFusionIndexes::standard_deviation_diff_index(), TePDIFusionIndexes::structural_similarity_index(), TePDIParaSegBaatzStrategy::TePDIParaSegBaatzStrategy(), TePDIParaSegRegGrowStrategy::TePDIParaSegRegGrowStrategy(), TePDIFusionIndexes::uiqi_index(), and TePDIFusionIndexes::variance_difference_index().

00130 {
00131   progress_enabled_ = enabled;
00132   
00133   if( ! enabled ) {
00134     pi_manager_.Toggle( false );
00135   }
00136 }

bool TePDIAlgorithm::UpdateProgInt ( unsigned int  step  )  [protected]

Update the current progress interface to the current step.

Parameters:
step Current step.
Returns:
true if the interface was canceled, false otherwise.
Deprecated:
DEPRECATED - This method will be removed in the future (each algorithm must check the variable TePDIAlgorithm::progress_enabled_ and instantiate its own TePDIPIManager when necessary).

Definition at line 149 of file TePDIAlgorithm.cpp.

References pi_manager_, and TePDIPIManager::Update().

Referenced by TePDIContrast::FullRangeLutRemapLevels(), TePDIContrast::GetLinearLut(), TePDIContrast::GetLogLut(), TePDIContrast::GetNegativeLut(), TePDIContrast::GetSimpleSlicerLut(), TePDIContrast::GetSquareLut(), TePDIContrast::GetSquareRootLut(), TePDILevelRemap::RemapLevels(), TePDIContrast::RemapLevels(), TePDIRadarLeeFilter::RunAdaptImplementation(), TePDIRadarKuanFilter::RunAdaptImplementation(), TePDIMorfFilter::RunDilation(), TePDIMorfFilter::RunErosion(), TePDIRadarLeeFilter::RunFixedImplementation(), TePDIRadarKuanFilter::RunFixedImplementation(), TePDIRadarGammaFilter::RunFixedImplementation(), TePDIColorTransform::RunIhs2Rgb(), TePDIRaster2Vector::RunImplementation(), TePDIRadarFrostFilter::RunImplementation(), TePDIMorfFilter::RunMedian(), TePDIMorfFilter::RunMode(), TePDIBDFilter::RunRoberts(), and TePDIBDFilter::RunSobel().

00150 {
00151   return pi_manager_.Update( step );
00152 }


Field Documentation

TePDIParameters TePDIAlgorithm::params_ [mutable, protected]

Internal parameters reference

Definition at line 119 of file TePDIAlgorithm.hpp.

Referenced by Apply(), CheckInternalParameters(), TePDIHants::CheckParameters(), TePDIContrast::getBaseLut(), TePDIContrast::getHistogram(), GetParameters(), TePDIContrast::GetStatLut(), Reset(), TePDIStatistic::ResetState(), TePDIRegGrowSeg::ResetState(), TePDIContrast::ResetState(), TePDIRadarLeeFilter::RunAdaptImplementation(), TePDIRadarKuanFilter::RunAdaptImplementation(), TePDIMorfFilter::RunDilation(), TePDIMorfFilter::RunErosion(), TePDIRadarLeeFilter::RunFixedImplementation(), TePDIRadarKuanFilter::RunFixedImplementation(), TePDIRadarGammaFilter::RunFixedImplementation(), TePDIWiSpeRFusion::RunImplementation(), TePDIWaveletAtrousFusion::RunImplementation(), TePDIWaveletAtrous::RunImplementation(), TePDIVenturaFusion::RunImplementation(), TePDITPMosaic::RunImplementation(), TePDISimplex::RunImplementation(), TePDISensorSimulator::RunImplementation(), TePDISAMClassifier::RunImplementation(), TePDIRegister::RunImplementation(), TePDIRegGrowSeg::RunImplementation(), TePDIRaster2Vector::RunImplementation(), TePDIRadarLeeFilter::RunImplementation(), TePDIRadarKuanFilter::RunImplementation(), TePDIRadarGammaFilter::RunImplementation(), TePDIRadarFrostFilter::RunImplementation(), TePDIPrincipalComponentsFusion::RunImplementation(), TePDIPrincipalComponents::RunImplementation(), TePDIPCAWaveletFusion::RunImplementation(), TePDIParallelSegmenter::RunImplementation(), TePDIOFMatching::RunImplementation(), TePDIMorfFilter::RunImplementation(), TePDIMMIOMatching::RunImplementation(), TePDIMixModel::RunImplementation(), TePDIMIMatching::RunImplementation(), TePDIMallatWavelets::RunImplementation(), TePDILinearFilter::RunImplementation(), TePDIKMeansClas::RunImplementation(), TePDIIsosegClas::RunImplementation(), TePDIIHSWaveletFusion::RunImplementation(), TePDIIHSFusion::RunImplementation(), TePDIHants::RunImplementation(), TePDIGeoMosaic::RunImplementation(), TePDIGeneralizedIHSFusion::RunImplementation(), TePDIGarguetFusion::RunImplementation(), TePDIFusionIndexes::RunImplementation(), TePDIFFT::RunImplementation(), TePDIEMClas::RunImplementation(), TePDIDecorrelationEnhancement::RunImplementation(), TePDICorrelationMatching::RunImplementation(), TePDIContrast::RunImplementation(), TePDIColorTransform::RunImplementation(), TePDIBDFilter::RunImplementation(), TePDIBatchGeoMosaic::RunImplementation(), TePDIBaatz::RunImplementation(), TePDIArithmetic::RunImplementation(), TePDIWaveletAtrous::RunImplementation_decompose(), TePDIPrincipalComponents::RunImplementation_direct(), TePDIPrincipalComponents::RunImplementation_inverse(), TePDIWaveletAtrous::RunImplementation_recompose(), TePDIMorfFilter::RunMedian(), TePDIMorfFilter::RunMode(), TePDIBDFilter::RunRoberts(), and TePDIBDFilter::RunSobel().

TePDIPIManager TePDIAlgorithm::pi_manager_ [protected]

The internal progress interface.

Deprecated:
DEPRECATED - This object will be removed in the future (each algorithm must check the variable TePDIAlgorithm::progress_enabled_ and instantiate its own TePDIPIManager when necessary).

Definition at line 134 of file TePDIAlgorithm.hpp.

Referenced by IncProgInt(), StartProgInt(), StopProgInt(), ToggleProgInt(), and UpdateProgInt().

bool TePDIAlgorithm::progress_enabled_ [protected]

A flag to indicate when the algorithm should initiate a progress interface.

Definition at line 125 of file TePDIAlgorithm.hpp.

Referenced by TePDIFusionIndexes::bias_index(), TePDITPMosaic::calcStats(), TePDIGeoMosaic::calcStats(), TePDIKMeansClas::classifyPixels(), TePDIFusionIndexes::correlation_coefficient_index(), TePDIFusionIndexes::ergas_index(), TePDIFusionIndexes::fit_histogram(), TePDIKMeansClas::GenerateClassificationParameters(), TePDIMallatWavelets::GenerateLevel(), TePDIStatistic::getHistogram(), TePDIStatistic::getJointHistogram(), TePDIKMeansClas::kmeans(), TePDIMMIOMatching::matchFeatures(), TePDIFusionIndexes::raster_mean(), TePDIFusionIndexes::rasters_difference(), TePDIMallatWavelets::Recompose(), TePDIWiSpeRFusion::RunImplementation(), TePDIWaveletAtrousFusion::RunImplementation(), TePDIVenturaFusion::RunImplementation(), TePDITPMosaic::RunImplementation(), TePDISensorSimulator::RunImplementation(), TePDISAMClassifier::RunImplementation(), TePDIRegGrowSeg::RunImplementation(), TePDIPrincipalComponentsFusion::RunImplementation(), TePDIPCAWaveletFusion::RunImplementation(), TePDIParallelSegmenter::RunImplementation(), TePDIOFMatching::RunImplementation(), TePDIMMIOMatching::RunImplementation(), TePDIMIMatching::RunImplementation(), TePDILinearFilter::RunImplementation(), TePDIIHSWaveletFusion::RunImplementation(), TePDIIHSFusion::RunImplementation(), TePDIGeoMosaic::RunImplementation(), TePDIGeneralizedIHSFusion::RunImplementation(), TePDIGarguetFusion::RunImplementation(), TePDIEMClas::RunImplementation(), TePDIDecorrelationEnhancement::RunImplementation(), TePDICorrelationMatching::RunImplementation(), TePDIBaatz::RunImplementation(), TePDIArithmetic::RunImplementation(), TePDIWaveletAtrous::RunImplementation_decompose(), TePDIPrincipalComponents::RunImplementation_direct(), TePDIPrincipalComponents::RunImplementation_inverse(), TePDIWaveletAtrous::RunImplementation_recompose(), TePDIColorTransform::RunRgb2Ihs(), TePDIFusionIndexes::sergas_index(), TePDIFusionIndexes::spatial_correlation_coefficient_index(), TePDIFusionIndexes::standard_deviation_diff_index(), StartProgInt(), TePDIFusionIndexes::structural_similarity_index(), TePDIAlgorithm(), ToggleProgInt(), TePDIFusionIndexes::uiqi_index(), and TePDIFusionIndexes::variance_difference_index().


The documentation for this class was generated from the following files:
Generated on Sun Jul 29 04:07:31 2012 for TerraLib - Development Source by  doxygen 1.5.3