#include <TePDIBufferedFilter.hpp>

Definition at line 39 of file TePDIBufferedFilter.hpp.
Public Types | |
| typedef const TeSharedPtr < TePDIBufferedFilter > | const_pointer |
| Type definition for a const algorithm instance pointer. | |
| typedef TeSharedPtr < TePDIBufferedFilter > | pointer |
| Type definition for an algorithm instance pointer. | |
Public Member Functions | |
| bool | Apply (const TePDIParameters ¶ms) |
| bool | Apply () |
| virtual bool | CheckParameters (const TePDIParameters ¶meters) const =0 |
| const TePDIParameters & | GetParameters () const |
| bool | Reset (const TePDIParameters ¶ms) |
| void | ToggleProgInt (bool enabled) |
| virtual | ~TePDIBufferedFilter () |
Static Public Member Functions | |
| static TePDIAlgorithm * | DefaultObject (const TePDIParameters ¶ms) |
Protected Member Functions | |
| bool | CheckInternalParameters () const |
| void | conv_buf_estatistics (unsigned int start_line, unsigned int start_column, unsigned int width, unsigned int height, double &mean, double &variance) |
| void | conv_buf_roolup (unsigned int count) |
| bool | IncProgInt () |
| void | init_conv_buf () |
| void | init_maskmatrix () |
| void | reset_conv_buf (unsigned int lines, unsigned int columns) |
| void | reset_maskmatrix (TePDIFilterMask::pointer &mask) |
| virtual void | ResetState (const TePDIParameters ¶ms) |
| virtual bool | RunImplementation ()=0 |
| void | StartProgInt (const std::string &message, unsigned int steps) |
| void | StopProgInt () |
| TePDIBufferedFilter () | |
| void | up_conv_buf (TePDITypes::TePDIRasterPtrType &inRaster, unsigned int line, unsigned int band) |
| bool | UpdateProgInt (unsigned int step) |
Protected Attributes | |
| double ** | conv_buf_ |
| unsigned int | conv_buf_columns_ |
| unsigned int | conv_buf_lines_ |
| TePDIParameters | params_ |
| TePDIPIManager | pi_manager_ |
| bool | progress_enabled_ |
| double ** | temp_maskmatrix_ |
| unsigned int | temp_maskmatrix_columns_ |
| unsigned int | temp_maskmatrix_lines_ |
| typedef const TeSharedPtr< TePDIBufferedFilter > TePDIBufferedFilter::const_pointer |
Reimplemented from TePDIAlgorithm.
Reimplemented in TePDILinearFilter, TePDIRadarFilter, TePDIRadarFrostFilter, TePDIRadarGammaFilter, TePDIRadarKuanFilter, and TePDIRadarLeeFilter.
Definition at line 44 of file TePDIBufferedFilter.hpp.
Reimplemented from TePDIAlgorithm.
Reimplemented in TePDILinearFilter, TePDIRadarFilter, TePDIRadarFrostFilter, TePDIRadarGammaFilter, TePDIRadarKuanFilter, and TePDIRadarLeeFilter.
Definition at line 42 of file TePDIBufferedFilter.hpp.
| TePDIBufferedFilter::~TePDIBufferedFilter | ( | ) | [virtual] |
Default Destructor
Definition at line 12 of file TePDIBufferedFilter.cpp.
References TePDIFilterMask::deleteWeightsMatrix(), reset_conv_buf(), temp_maskmatrix_, and temp_maskmatrix_lines_.
00013 { 00014 reset_conv_buf( 0, 0 ); 00015 TePDIFilterMask::deleteWeightsMatrix( temp_maskmatrix_, temp_maskmatrix_lines_ ); 00016 }
| TePDIBufferedFilter::TePDIBufferedFilter | ( | ) | [protected] |
Default Constructor.
Definition at line 5 of file TePDIBufferedFilter.cpp.
References init_conv_buf(), and init_maskmatrix().
00006 { 00007 init_conv_buf(); 00008 init_maskmatrix(); 00009 }
| bool TePDIAlgorithm::Apply | ( | const TePDIParameters & | params | ) | [inherited] |
Applies the algorithm following the state defined by the supplied parameters.
| params | The new supplied parameters. |
Definition at line 66 of file TePDIAlgorithm.cpp.
References TePDIAlgorithm::CheckParameters(), TePDIParameters::Clear(), TeException::message(), TePDIAlgorithm::params_, TePDIAlgorithm::ResetState(), TePDIAlgorithm::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 | ( | ) | [inherited] |
Applies the algorithm following the current state and internal stored parameters.
Definition at line 34 of file TePDIAlgorithm.cpp.
References TePDIAlgorithm::CheckInternalParameters(), TeException::message(), TePDIAlgorithm::RunImplementation(), TePDIAlgorithm::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, inherited] |
Checks if current internal parameters fits the requirements of each PDI algorithm implementation.
Definition at line 105 of file TePDIAlgorithm.cpp.
References TePDIAlgorithm::CheckParameters(), and TePDIAlgorithm::params_.
Referenced by TePDIAlgorithm::Apply().
00106 { 00107 return CheckParameters( params_ ); 00108 }
| virtual bool TePDIAlgorithm::CheckParameters | ( | const TePDIParameters & | parameters | ) | const [pure virtual, inherited] |
Checks if the supplied parameters fits the requirements of each PDI algorithm implementation.
| parameters | The parameters to be checked. |
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 TePDIAlgorithm::Apply(), TePDIAlgorithm::CheckInternalParameters(), and TePDIAlgorithm::Reset().
| void TePDIBufferedFilter::conv_buf_estatistics | ( | unsigned int | start_line, | |
| unsigned int | start_column, | |||
| unsigned int | width, | |||
| unsigned int | height, | |||
| double & | mean, | |||
| double & | variance | |||
| ) | [protected] |
Generates statistics of a suplied window inside the convolution buffer.
| start_line | Convolution buffer start line. | |
| start_column | Convolution buffer start column. | |
| width | Window width. | |
| height | Window height. | |
| mean | Mean. | |
| variance | variance. |
Definition at line 126 of file TePDIBufferedFilter.cpp.
References conv_buf_, conv_buf_columns_, conv_buf_lines_, and TEAGN_DEBUG_CONDITION.
Referenced by TePDIRadarLeeFilter::RunAdaptImplementation(), TePDIRadarKuanFilter::RunAdaptImplementation(), TePDIRadarLeeFilter::RunFixedImplementation(), TePDIRadarKuanFilter::RunFixedImplementation(), TePDIRadarGammaFilter::RunFixedImplementation(), and TePDIRadarFrostFilter::RunImplementation().
00129 { 00130 TEAGN_DEBUG_CONDITION( ( conv_buf_lines_ >= ( start_line + height ) ), 00131 "Invalid convolution buffer lines" ); 00132 TEAGN_DEBUG_CONDITION( ( conv_buf_columns_ >= ( start_column + width ) ), 00133 "Invalid convolution buffer columns" ); 00134 00135 mean = 0; 00136 variance = 0; 00137 00138 unsigned int line_bound = start_line + height; 00139 unsigned int column_bound = start_column + width; 00140 double buf_value; 00141 00142 for( unsigned int line = start_line ; line < line_bound ; ++line ) { 00143 for( unsigned int column = start_column ; column < column_bound ; ++column ) { 00144 buf_value = conv_buf_[ line ][ column ]; 00145 mean += buf_value; 00146 variance += ( buf_value * buf_value ); 00147 } 00148 } 00149 00150 mean = mean / ((double)width) / ((double)height); 00151 variance = ( variance / ((double)width) / ((double)height) ) - 00152 ( mean * mean ); 00153 }
| void TePDIBufferedFilter::conv_buf_roolup | ( | unsigned int | count | ) | [protected] |
Rools up the convolution buffer count lines.
| count | Count times to rool convolution buffer. |
Definition at line 156 of file TePDIBufferedFilter.cpp.
References conv_buf_, conv_buf_lines_, and TEAGN_DEBUG_CONDITION.
Referenced by up_conv_buf().
00157 { 00158 TEAGN_DEBUG_CONDITION( ( conv_buf_lines_ > 0 ), "Invalid convolution buffer lines" ); 00159 00160 double* first_buf_line_ptr; 00161 unsigned int conv_buf_last_line = conv_buf_lines_ - 1; 00162 unsigned int bufline; 00163 00164 for( unsigned int cur_count = 0 ; cur_count < count ; ++cur_count ) { 00165 first_buf_line_ptr = conv_buf_[ 0 ]; 00166 00167 for( bufline = 1 ; bufline < conv_buf_lines_ ; ++bufline ) { 00168 conv_buf_[ bufline - 1 ] = conv_buf_[ bufline ]; 00169 } 00170 00171 conv_buf_[ conv_buf_last_line ] = first_buf_line_ptr; 00172 } 00173 }
| TePDIAlgorithm * TePDIAlgorithm::DefaultObject | ( | const TePDIParameters & | params | ) | [static, inherited] |
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 [inherited] |
Returns a reference to the current internal parameters.
Definition at line 99 of file TePDIAlgorithm.cpp.
References TePDIAlgorithm::params_.
00100 { 00101 return params_; 00102 }
| bool TePDIAlgorithm::IncProgInt | ( | ) | [protected, inherited] |
Increments the the current progress by one step.
Definition at line 155 of file TePDIAlgorithm.cpp.
References TePDIPIManager::Increment(), and TePDIAlgorithm::pi_manager_.
Referenced by TePDIContrast::GetHistEqualizerLut(), and TePDIRegister::RunImplementation().
00156 { 00157 return pi_manager_.Increment(); 00158 }
| void TePDIBufferedFilter::init_conv_buf | ( | ) | [protected] |
Initiates the convolution buffer.
Definition at line 28 of file TePDIBufferedFilter.cpp.
References conv_buf_, conv_buf_columns_, and conv_buf_lines_.
Referenced by TePDIBufferedFilter().
00029 { 00030 conv_buf_ = 0; 00031 conv_buf_lines_ = 0; 00032 conv_buf_columns_ = 0; 00033 }
| void TePDIBufferedFilter::init_maskmatrix | ( | ) | [protected] |
Initiates the internal filter mask matrix representation.
Definition at line 36 of file TePDIBufferedFilter.cpp.
References temp_maskmatrix_, temp_maskmatrix_columns_, and temp_maskmatrix_lines_.
Referenced by TePDIBufferedFilter().
00037 { 00038 temp_maskmatrix_ = 0; 00039 temp_maskmatrix_lines_ = 0; 00040 temp_maskmatrix_columns_ = 0; 00041 }
| bool TePDIAlgorithm::Reset | ( | const TePDIParameters & | params | ) | [inherited] |
Reset the internal state with new supplied parameters.
| params | The new supplied parameters. |
Definition at line 16 of file TePDIAlgorithm.cpp.
References TePDIAlgorithm::CheckParameters(), TePDIParameters::Clear(), TePDIAlgorithm::params_, TePDIAlgorithm::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 }
| void TePDIBufferedFilter::reset_conv_buf | ( | unsigned int | lines, | |
| unsigned int | columns | |||
| ) | [protected] |
Resets the convolution buffer.
| lines | Convolution buffer lines. | |
| columns | Convolution buffer columns. |
Definition at line 44 of file TePDIBufferedFilter.cpp.
References conv_buf_, conv_buf_columns_, conv_buf_lines_, and TEAGN_TRUE_OR_THROW.
Referenced by ResetState(), TePDIRadarLeeFilter::RunAdaptImplementation(), TePDIRadarKuanFilter::RunAdaptImplementation(), TePDIMorfFilter::RunDilation(), TePDIMorfFilter::RunErosion(), TePDIRadarLeeFilter::RunFixedImplementation(), TePDIRadarKuanFilter::RunFixedImplementation(), TePDIRadarGammaFilter::RunFixedImplementation(), TePDIRadarFrostFilter::RunImplementation(), TePDILinearFilter::RunImplementation(), TePDIMorfFilter::RunMedian(), TePDIMorfFilter::RunMode(), TePDIBDFilter::RunRoberts(), TePDIBDFilter::RunSobel(), and ~TePDIBufferedFilter().
00045 { 00046 if( conv_buf_ != 0 ) { 00047 for( unsigned int line = 0 ; line < conv_buf_lines_ ; ++line ) { 00048 delete[] conv_buf_[ line ]; 00049 } 00050 00051 delete[] conv_buf_; 00052 00053 conv_buf_ = 0; 00054 conv_buf_lines_ = 0; 00055 conv_buf_columns_ = 0; 00056 } 00057 00058 if( ( lines > 0 ) && ( columns > 0 ) ) { 00059 conv_buf_ = new double*[ lines ]; 00060 00061 TEAGN_TRUE_OR_THROW( conv_buf_ != 0, "Memory allocation error" ); 00062 00063 for( unsigned int line = 0 ; line < lines ; ++line ) { 00064 conv_buf_[ line ] = new double[ columns ]; 00065 00066 TEAGN_TRUE_OR_THROW( conv_buf_[ line ] != 0, "Memory allocation error" ); 00067 } 00068 00069 conv_buf_lines_ = lines; 00070 conv_buf_columns_ = columns; 00071 } 00072 }
| void TePDIBufferedFilter::reset_maskmatrix | ( | TePDIFilterMask::pointer & | mask | ) | [protected] |
Resets the internal filter mask matrix representation..
| mask | The new filter Mask. |
Definition at line 116 of file TePDIBufferedFilter.cpp.
References TePDIFilterMask::deleteWeightsMatrix(), temp_maskmatrix_, temp_maskmatrix_columns_, and temp_maskmatrix_lines_.
Referenced by TePDIMorfFilter::RunDilation(), TePDIMorfFilter::RunErosion(), TePDILinearFilter::RunImplementation(), TePDIMorfFilter::RunMedian(), and TePDIMorfFilter::RunMode().
00117 { 00118 TePDIFilterMask::deleteWeightsMatrix( temp_maskmatrix_, temp_maskmatrix_lines_ ); 00119 00120 temp_maskmatrix_ = mask->getWeightsMatrix(); 00121 temp_maskmatrix_lines_ = mask->lines(); 00122 temp_maskmatrix_columns_ = mask->columns(); 00123 }
| void TePDIBufferedFilter::ResetState | ( | const TePDIParameters & | params | ) | [protected, virtual] |
Reset the internal state to the initial state.
| params | The new parameters referente at initial state. |
Implements TePDIAlgorithm.
Reimplemented in TePDIBDFilter, TePDILinearFilter, TePDIMorfFilter, TePDIRadarFilter, TePDIRadarFrostFilter, TePDIRadarGammaFilter, TePDIRadarKuanFilter, and TePDIRadarLeeFilter.
Definition at line 19 of file TePDIBufferedFilter.cpp.
References TePDIFilterMask::deleteWeightsMatrix(), reset_conv_buf(), temp_maskmatrix_, and temp_maskmatrix_lines_.
Referenced by TePDIRadarFilter::ResetState(), TePDIMorfFilter::ResetState(), TePDILinearFilter::ResetState(), and TePDIBDFilter::ResetState().
00020 { 00021 TePDIParameters dummy_params = params; 00022 00023 reset_conv_buf( 0, 0 ); 00024 TePDIFilterMask::deleteWeightsMatrix( temp_maskmatrix_, temp_maskmatrix_lines_ ); 00025 }
| virtual bool TePDIAlgorithm::RunImplementation | ( | ) | [protected, pure virtual, inherited] |
Runs the current algorithm implementation.
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 TePDIAlgorithm::Apply().
| void TePDIAlgorithm::StartProgInt | ( | const std::string & | message, | |
| unsigned int | steps | |||
| ) | [protected, inherited] |
Start the progress interface.
| message | Progress window message. | |
| steps | Progress window total steps. |
Definition at line 139 of file TePDIAlgorithm.cpp.
References TePDIAlgorithm::pi_manager_, TePDIAlgorithm::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, inherited] |
Stop the progress interface.
Definition at line 161 of file TePDIAlgorithm.cpp.
References TePDIAlgorithm::pi_manager_, and TePDIPIManager::Toggle().
Referenced by TePDIAlgorithm::Apply(), TePDIContrast::FullRangeLutRemapLevels(), TePDIContrast::GetHistEqualizerLut(), TePDILevelRemap::RemapLevels(), TePDIContrast::RemapLevels(), and TePDIRegister::RunImplementation().
00162 { 00163 pi_manager_.Toggle( false ); 00164 }
| void TePDIAlgorithm::ToggleProgInt | ( | bool | enabled | ) | [inherited] |
Enable / Disable the progress interface.
| enabled | Flag to enable ( true ) or disable ( false ). |
Definition at line 129 of file TePDIAlgorithm.cpp.
References TePDIAlgorithm::pi_manager_, TePDIAlgorithm::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 }
| void TePDIBufferedFilter::up_conv_buf | ( | TePDITypes::TePDIRasterPtrType & | inRaster, | |
| unsigned int | line, | |||
| unsigned int | band | |||
| ) | [protected] |
Updates the convolution buffer with a new raster line.
| inRaster | Input Raster. | |
| line | Raster line. | |
| band | Raster band. |
Definition at line 75 of file TePDIBufferedFilter.cpp.
References conv_buf_, conv_buf_columns_, conv_buf_lines_, conv_buf_roolup(), TeSharedPtr< T >::isActive(), TeSharedPtr< T >::nakedPointer(), TEAGN_DEBUG_CONDITION, and TEAGN_TRUE_OR_THROW.
Referenced by TePDIRadarLeeFilter::RunAdaptImplementation(), TePDIRadarKuanFilter::RunAdaptImplementation(), TePDIMorfFilter::RunDilation(), TePDIMorfFilter::RunErosion(), TePDIRadarLeeFilter::RunFixedImplementation(), TePDIRadarKuanFilter::RunFixedImplementation(), TePDIRadarGammaFilter::RunFixedImplementation(), TePDIRadarFrostFilter::RunImplementation(), TePDILinearFilter::RunImplementation(), TePDIMorfFilter::RunMedian(), TePDIMorfFilter::RunMode(), TePDIBDFilter::RunRoberts(), and TePDIBDFilter::RunSobel().
00077 { 00078 TEAGN_DEBUG_CONDITION( inRaster.isActive(), "Inactive pointer" ); 00079 00080 TeRaster* inRaster_nptr = inRaster.nakedPointer(); 00081 00082 TEAGN_DEBUG_CONDITION( ( inRaster_nptr->params().nlines_ > (int)line ), 00083 "Trying to get a non existent line from raster" ); 00084 TEAGN_DEBUG_CONDITION( ( inRaster_nptr->params().ncols_ == 00085 (int)conv_buf_columns_ ), 00086 "Buffer columns number not equal to raster columns" ); 00087 TEAGN_DEBUG_CONDITION( ( (int)band < inRaster_nptr->params().nBands() ), 00088 "Invalid Band" ); 00089 00090 bool dummy_used = inRaster_nptr->params().useDummy_; 00091 double dummy_value = 0; 00092 if( dummy_used ) { 00093 dummy_value = inRaster_nptr->params().dummy_[ band ]; 00094 } 00095 00096 /* Buffer roll up */ 00097 00098 conv_buf_roolup( 1 ); 00099 00100 /* Updating the last line */ 00101 00102 unsigned int conv_buf_last_line = conv_buf_lines_ - 1; 00103 00104 for( unsigned int bufcolumn = 0 ; bufcolumn < conv_buf_columns_ ; ++bufcolumn ) { 00105 if( ! inRaster_nptr->getElement( bufcolumn, line, 00106 conv_buf_[ conv_buf_last_line ][ bufcolumn ], band ) ) { 00107 00108 TEAGN_TRUE_OR_THROW( dummy_used, "Unable to read from input raster" ); 00109 00110 conv_buf_[ conv_buf_last_line ][ bufcolumn ] = dummy_value; 00111 } 00112 } 00113 }
| bool TePDIAlgorithm::UpdateProgInt | ( | unsigned int | step | ) | [protected, inherited] |
Update the current progress interface to the current step.
| step | Current step. |
Definition at line 149 of file TePDIAlgorithm.cpp.
References TePDIAlgorithm::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 }
double** TePDIBufferedFilter::conv_buf_ [protected] |
Convolution Buffer.
Definition at line 55 of file TePDIBufferedFilter.hpp.
Referenced by conv_buf_estatistics(), conv_buf_roolup(), init_conv_buf(), reset_conv_buf(), TePDIRadarLeeFilter::RunAdaptImplementation(), TePDIRadarKuanFilter::RunAdaptImplementation(), TePDIMorfFilter::RunDilation(), TePDIMorfFilter::RunErosion(), TePDIRadarLeeFilter::RunFixedImplementation(), TePDIRadarKuanFilter::RunFixedImplementation(), TePDIRadarGammaFilter::RunFixedImplementation(), TePDIRadarFrostFilter::RunImplementation(), TePDILinearFilter::RunImplementation(), TePDIMorfFilter::RunMedian(), TePDIMorfFilter::RunMode(), TePDIBDFilter::RunRoberts(), TePDIBDFilter::RunSobel(), and up_conv_buf().
unsigned int TePDIBufferedFilter::conv_buf_columns_ [protected] |
Convolution Buffer columns.
Definition at line 65 of file TePDIBufferedFilter.hpp.
Referenced by conv_buf_estatistics(), init_conv_buf(), reset_conv_buf(), and up_conv_buf().
unsigned int TePDIBufferedFilter::conv_buf_lines_ [protected] |
Convolution Buffer lines.
Definition at line 60 of file TePDIBufferedFilter.hpp.
Referenced by conv_buf_estatistics(), conv_buf_roolup(), init_conv_buf(), reset_conv_buf(), and up_conv_buf().
TePDIParameters TePDIAlgorithm::params_ [mutable, protected, inherited] |
Internal parameters reference
Definition at line 119 of file TePDIAlgorithm.hpp.
Referenced by TePDIAlgorithm::Apply(), TePDIAlgorithm::CheckInternalParameters(), TePDIHants::CheckParameters(), TePDIContrast::getBaseLut(), TePDIContrast::getHistogram(), TePDIAlgorithm::GetParameters(), TePDIContrast::GetStatLut(), TePDIAlgorithm::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, inherited] |
The internal progress interface.
Definition at line 134 of file TePDIAlgorithm.hpp.
Referenced by TePDIAlgorithm::IncProgInt(), TePDIAlgorithm::StartProgInt(), TePDIAlgorithm::StopProgInt(), TePDIAlgorithm::ToggleProgInt(), and TePDIAlgorithm::UpdateProgInt().
bool TePDIAlgorithm::progress_enabled_ [protected, inherited] |
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(), TePDIAlgorithm::StartProgInt(), TePDIFusionIndexes::structural_similarity_index(), TePDIAlgorithm::TePDIAlgorithm(), TePDIAlgorithm::ToggleProgInt(), TePDIFusionIndexes::uiqi_index(), and TePDIFusionIndexes::variance_difference_index().
double** TePDIBufferedFilter::temp_maskmatrix_ [protected] |
Temporary representation of filter masks.
Definition at line 70 of file TePDIBufferedFilter.hpp.
Referenced by init_maskmatrix(), reset_maskmatrix(), ResetState(), TePDIMorfFilter::RunDilation(), TePDIMorfFilter::RunErosion(), TePDILinearFilter::RunImplementation(), TePDIMorfFilter::RunMedian(), TePDIMorfFilter::RunMode(), and ~TePDIBufferedFilter().
unsigned int TePDIBufferedFilter::temp_maskmatrix_columns_ [protected] |
Number of columns of the temporary representation of filter masks.
Definition at line 80 of file TePDIBufferedFilter.hpp.
Referenced by init_maskmatrix(), reset_maskmatrix(), TePDIMorfFilter::RunDilation(), TePDIMorfFilter::RunErosion(), TePDILinearFilter::RunImplementation(), TePDIMorfFilter::RunMedian(), and TePDIMorfFilter::RunMode().
unsigned int TePDIBufferedFilter::temp_maskmatrix_lines_ [protected] |
Number of lines of the temporary representation of filter masks.
Definition at line 75 of file TePDIBufferedFilter.hpp.
Referenced by init_maskmatrix(), reset_maskmatrix(), ResetState(), TePDIMorfFilter::RunDilation(), TePDIMorfFilter::RunErosion(), TePDILinearFilter::RunImplementation(), TePDIMorfFilter::RunMedian(), TePDIMorfFilter::RunMode(), and ~TePDIBufferedFilter().
1.5.3