1; 2; Testing DILATE 3; Todo: DILATION of images 4; 5; Licensed under GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> 6; 7; --------------------- 8; Modification history: 9; 10; 2018-08-30 : Bin Wu <bin.wu (at) edinsights (dot) no> 11; - Initial version 12; - Basic DILATE tests 13; --------------------- 14; 15 16PRO TEST_DILATE, HELP = HELP, NERR_TOTAL, TEST = TEST, verbose = verbose 17 18 IF KEYWORD_SET(HELP) THEN BEGIN 19 PRINT, 'PRO TEST_DILATE, HELP=HELP, TEST=TEST, no_exit=no_exit, verbose=verbose' 20 RETURN 21 ENDIF 22 NERR = 0 23 24 ;; Test on 8-bit grayscale images. (There is no reference image can be used. Forget it.) 25 ;File = FILE_SEARCH_FOR_TESTSUIT('tiff/8bit_gray_geo.tif') 26 ;Image = READ_TIFF(File) 27 ;Image = DILATE(Image,REPLICATE(1,5,5),/GRAY) 28 29 ; Test on EXAMPLE 1 from http://www.harrisgeospatial.com/docs/DILATE.html 30 Image = BYTE([[0,1,0,0],[0,1,0,0],[0,1,1,0],[1,0,0,0],[0,0,0,0]]) 31 S = [1,1] 32 Result = DILATE(Image,S,0,0) 33 Result_IDL = BYTE([[0,1,1,0],[0,1,1,0],[0,1,1,1],[1,1,0,0],[0,0,0,0]]) 34 IF ~ARRAY_EQUAL(Result, Result_IDL) THEN $ 35 ERRORS_ADD, NERR, 'Unexpected return value of DILATION on BINARY Image' 36 37 ; Test on EXAMPLE 2 from http://www.harrisgeospatial.com/docs/DILATE.html 38 Image = BYTE([2,1,3,3,3,3,1,2]) 39 ; S = [1,1] 40 Result = DILATE(Image, S, /GRAY) 41 Result_IDL = BYTE([1,3,3,3,3,3,2,2]) 42 IF ~ARRAY_EQUAL(Result, Result_IDL) THEN $ 43 ERRORS_ADD, NERR, 'Unexpected return values of DILATION on GRAYscale Image: DILATION using no padding' 44 Result = DILATE([0, Image], S, /GRAY) 45 Result = Result[1:N_ELEMENTS(image)] 46 Result_IDL = BYTE([2,3,3,3,3,3,2,2]) 47 IF ~ARRAY_EQUAL(Result, Result_IDL) THEN $ 48 ERRORS_ADD, NERR, 'Unexpected return values of DILATION on GRAYscale Image: DILATION using padding' 49 50 BANNER_FOR_TESTSUITE, 'TEST_DILATE', NERR, /STATUS 51 ERRORS_CUMUL, NERR_TOTAL, NERR 52 IF KEYWORD_SET(TEST) THEN STOP 53END 54