diff options
| author | Mickael Savinaud <savmickael@users.noreply.github.com> | 2011-07-21 15:23:31 +0000 |
|---|---|---|
| committer | Mickael Savinaud <savmickael@users.noreply.github.com> | 2011-07-21 15:23:31 +0000 |
| commit | a19c8a4ea38866c1654f26f8389e4a4e7d9b092e (patch) | |
| tree | bdd190720637e1abcab95717bf039a42a56ac0a0 /tests/conformance | |
| parent | f8de2fc8eb78d52480bcf7755acdcd961ef3aa39 (diff) | |
add new decode tests based on conformance data and tolerance. Non regression is also added on the decoder output. Deactivate old tests.
Diffstat (limited to 'tests/conformance')
| -rw-r--r-- | tests/conformance/CMakeLists.txt | 420 |
1 files changed, 420 insertions, 0 deletions
diff --git a/tests/conformance/CMakeLists.txt b/tests/conformance/CMakeLists.txt new file mode 100644 index 00000000..600b9bb0 --- /dev/null +++ b/tests/conformance/CMakeLists.txt @@ -0,0 +1,420 @@ +# CONFORMANCE TESTS AND NON-REGRESSION ON THIS DATASET + +FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Temporary) + +SET(TEMP ${CMAKE_CURRENT_BINARY_DIR}/Temporary) +SET(BASELINE_CONF ${OPJ_DATA_ROOT}/baseline/conformance) +SET(BASELINE_NR ${OPJ_DATA_ROOT}/baseline/nonregression) +SET(INPUT_CONF ${OPJ_DATA_ROOT}/input/conformance) + + +# List of components by file (normaly p0_13.j2k have 257 components but for this +#set of test we consider only 4) +SET( CP0_nbC_list "not_used;1;1;1;3;4;4;3;3;1;3;1;1;4;3;1;1") +SET( CP1_nbC_list "not_used;1;3;4;1;3;3;2") + +SET(COMMENTCODEVAR FALSE) + + +#-------------------------------------------------------------------------- +# Tests about class 0 profile 0 +# try to decode +# compare to ref file provided by the Executable Test Suite +# non regression comparison + +# Parameters and tolerances given by Table C.1 +SET( C0P0_ResFactor_list "not_used;0;0;0;3;3;3;0;5;2;0;0;0;0;2;0;0") +SET( C0P0_PEAK_list "not_used;0;0;0;33;54;109;10;7;4;10;0;0;0;0;0;0") +SET( C0P0_MSE_list "not_used;0;0;0;55.8;68;743;0.34;6.72;1.47;2.84;0;0;0;0;0;0") + +FOREACH(numFileC0P0 RANGE 1 16) + + # Build filenames + IF(${numFileC0P0} LESS 10) + SET( filenameInput p0_0${numFileC0P0}.j2k ) + SET( filenameRef c0p0_0${numFileC0P0}.pgx ) + ELSE(${numFileC0P0} LESS 10) + SET( filenameInput p0_${numFileC0P0}.j2k ) + SET( filenameRef c0p0_${numFileC0P0}.pgx ) + ENDIF(${numFileC0P0} LESS 10) + + # Get corresponding tests parameters + list(GET C0P0_ResFactor_list ${numFileC0P0} ResFactor) + list(GET CP0_nbC_list ${numFileC0P0} nbComponents) + list(GET C0P0_PEAK_list ${numFileC0P0} PEAK_limit) + list(GET C0P0_MSE_list ${numFileC0P0} MSE_limit) + + # Manage cases which need to try different resolution reduction + IF (numFileC0P0 EQUAL 3 OR numFileC0P0 EQUAL 15) + + get_filename_component(filenameRefSub ${filenameRef} NAME_WE) + + #r = 0 + ADD_TEST(ETS-C0P0-${filenameInput}-r0-decode + ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image + -i ${INPUT_CONF}/${filenameInput} + -o ${TEMP}/c0${filenameInput}-r0.pgx + -r 0 + ) + + ADD_TEST(ETS-C0P0-${filenameInput}-r0-compare2ref + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_CONF}/${filenameRefSub}r0.pgx + -t ${TEMP}/c0${filenameInput}-r0.pgx + -n ${nbComponents} + -p ${PEAK_limit} + -m ${MSE_limit} + -s t_ + ) + + SET_TESTS_PROPERTIES(ETS-C0P0-${filenameInput}-r0-compare2ref + PROPERTIES DEPENDS + ETS-C0P0-${filenameInput}-r0-decode) + + ADD_TEST(NR-C0P0-${filenameInput}-r0-compare2base + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_NR}/opj_${filenameRefSub}-r0.pgx + -t ${TEMP}/c0${filenameInput}-r0.pgx + -n ${nbComponents} + -d + -s b_t_ + ) + + SET_TESTS_PROPERTIES(NR-C0P0-${filenameInput}-r0-compare2base + PROPERTIES DEPENDS + ETS-C0P0-${filenameInput}-r0-decode) + + #r = 1 + ADD_TEST(ETS-C0P0-${filenameInput}-r1-decode + ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image + -i ${INPUT_CONF}/${filenameInput} + -o ${TEMP}/c0${filenameInput}-r1.pgx + -r 1 + ) + + ADD_TEST(ETS-C0P0-${filenameInput}-r1-compare2ref + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_CONF}/${filenameRefSub}r1.pgx + -t ${TEMP}/c0${filenameInput}-r1.pgx + -n ${nbComponents} + -p ${PEAK_limit} + -m ${MSE_limit} + -s t_ + ) + + SET_TESTS_PROPERTIES(ETS-C0P0-${filenameInput}-r1-compare2ref + PROPERTIES DEPENDS + ETS-C0P0-${filenameInput}-r1-decode) + + ADD_TEST(NR-C0P0-${filenameInput}-r1-compare2base + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_NR}/opj_${filenameRefSub}-r1.pgx + -t ${TEMP}/c0${filenameInput}-r1.pgx + -n ${nbComponents} + -d + -s b_t_ + ) + + SET_TESTS_PROPERTIES(NR-C0P0-${filenameInput}-r1-compare2base + PROPERTIES DEPENDS + ETS-C0P0-${filenameInput}-r1-decode) + + ELSE(numFileC0P0 EQUAL 3 OR numFileC0P0 EQUAL 15) + + ADD_TEST(ETS-C0P0-${filenameInput}-decode + ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image + -i ${INPUT_CONF}/${filenameInput} + -o ${TEMP}/c0${filenameInput}.pgx + -r ${ResFactor} + ) + + ADD_TEST(ETS-C0P0-${filenameInput}-compare2ref + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_CONF}/${filenameRef} + -t ${TEMP}/c0${filenameInput}.pgx + -n ${nbComponents} + -p ${PEAK_limit} + -m ${MSE_limit} + -s t_ + ) + + SET_TESTS_PROPERTIES(ETS-C0P0-${filenameInput}-compare2ref + PROPERTIES DEPENDS + ETS-C0P0-${filenameInput}-decode) + + ADD_TEST(NR-C0P0-${filenameInput}-compare2base + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_NR}/opj_${filenameRef} + -t ${TEMP}/c0${filenameInput}.pgx + -n ${nbComponents} + -d + -s b_t_ + ) + + SET_TESTS_PROPERTIES(NR-C0P0-${filenameInput}-compare2base + PROPERTIES DEPENDS + ETS-C0P0-${filenameInput}-decode) + + ENDIF(numFileC0P0 EQUAL 3 OR numFileC0P0 EQUAL 15) + +ENDFOREACH(numFileC0P0) + +#-------------------------------------------------------------------------- +# Tests about class 0 profile 1 +# try to decode +# compare to ref file +# non regression comparison + +# Parameters and tolerances given by Table C.4 +SET( C0P1_ResFactor_list "not_used;0;3;3;0;4;1;0") +SET( C0P1_PEAK_list "not_used;0;35;28;2;128;128;0") +SET( C0P1_MSE_list "not_used;0;74;18.8;0.550;16384;16384;0") + +FOREACH(numFileC0P1 RANGE 1 7) + + # Build filenames + SET( filenameInput p1_0${numFileC0P1}.j2k ) + SET( filenameRef c0p1_0${numFileC0P1}.pgx ) + + # Get corresponding tests parameters + list(GET C0P1_ResFactor_list ${numFileC0P1} ResFactor) + list(GET CP1_nbC_list ${numFileC0P1} nbComponents) + list(GET C0P1_PEAK_list ${numFileC0P1} PEAK_limit) + list(GET C0P1_MSE_list ${numFileC0P1} MSE_limit) + + + # Manage cases which need to try different resolution reduction + IF (numFileC0P1 EQUAL 4 ) + + get_filename_component(filenameRefSub ${filenameRef} NAME_WE) + + #r = 0 + ADD_TEST(ETS-C0P1-${filenameInput}-r0-decode + ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image + -i ${INPUT_CONF}/${filenameInput} + -o ${TEMP}/c0${filenameInput}-r0.pgx + -r 0 + ) + + ADD_TEST(ETS-C0P1-${filenameInput}-r0-compare2ref + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_CONF}/${filenameRefSub}r0.pgx + -t ${TEMP}/c0${filenameInput}-r0.pgx + -n ${nbComponents} + -p ${PEAK_limit} + -m ${MSE_limit} + -s t_ + ) + + SET_TESTS_PROPERTIES(ETS-C0P1-${filenameInput}-r0-compare2ref + PROPERTIES DEPENDS + ETS-C0P1-${filenameInput}-r0-decode) + + ADD_TEST(NR-C0P1-${filenameInput}-r0-compare2base + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_NR}/opj_${filenameRefSub}-r0.pgx + -t ${TEMP}/c0${filenameInput}-r0.pgx + -n ${nbComponents} + -d + -s b_t_ + ) + + SET_TESTS_PROPERTIES(NR-C0P1-${filenameInput}-r0-compare2base + PROPERTIES DEPENDS + ETS-C0P1-${filenameInput}-r0-decode) + + #r = 3 + ADD_TEST(ETS-C0P1-${filenameInput}-r3-decode + ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image + -i ${INPUT_CONF}/${filenameInput} + -o ${TEMP}/c0${filenameInput}-r3.pgx + -r 3 + ) + + ADD_TEST(ETS-C0P1-${filenameInput}-r3-compare2ref + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_CONF}/${filenameRefSub}r3.pgx + -t ${TEMP}/c0${filenameInput}-r3.pgx + -n ${nbComponents} + -p ${PEAK_limit} + -m ${MSE_limit} + -s t_ + ) + + SET_TESTS_PROPERTIES(ETS-C0P1-${filenameInput}-r3-compare2ref + PROPERTIES DEPENDS + ETS-C0P1-${filenameInput}-r3-decode) + + ADD_TEST(NR-C0P1-${filenameInput}-r3-compare2base + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_NR}/opj_${filenameRefSub}-r3.pgx + -t ${TEMP}/c0${filenameInput}-r3.pgx + -n ${nbComponents} + -d + -s b_t_ + ) + + SET_TESTS_PROPERTIES(NR-C0P1-${filenameInput}-r3-compare2base + PROPERTIES DEPENDS + ETS-C0P1-${filenameInput}-r3-decode) + + ELSE(numFileC0P1 EQUAL 4) + + ADD_TEST(ETS-C0P1-${filenameInput}-decode + ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image + -i ${INPUT_CONF}/${filenameInput} + -o ${TEMP}/c0${filenameInput}.pgx + -r ${ResFactor} + ) + + ADD_TEST(ETS-C0P1-${filenameInput}-compare2ref + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_CONF}/${filenameRef} + -t ${TEMP}/c0${filenameInput}.pgx + -n ${nbComponents} + -p ${PEAK_limit} + -m ${MSE_limit} + -s t_ + ) + + SET_TESTS_PROPERTIES(ETS-C0P1-${filenameInput}-compare2ref + PROPERTIES DEPENDS + ETS-C0P1-${filenameInput}-decode) + + ADD_TEST(NR-C0P1-${filenameInput}-compare2base + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_NR}/opj_${filenameRef} + -t ${TEMP}/c0${filenameInput}.pgx + -n ${nbComponents} + -d + -s b_t_ + ) + + SET_TESTS_PROPERTIES(NR-C0P1-${filenameInput}-compare2base + PROPERTIES DEPENDS + ETS-C0P1-${filenameInput}-decode) + + ENDIF(numFileC0P1 EQUAL 4) + +ENDFOREACH(numFileC0P1) + +#-------------------------------------------------------------------------- +# Tests about class 1 profile 0 +# try to decode +# compare to ref file +# non regression comparison + +# Parameters and tolerances given by Table C.6 +SET( C1P0_ResFactor_list "not_used;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0") +SET( C1P0_PEAK_list "not_used;0;0;0;5:4:6;2:2:2:0;635:403:378:0;0:0:0;0:0:0;0;0:0:0;0;0;0:0:0:0;0:0:0;0;0") +SET( C1P0_MSE_list "not_used;0;0;0;0.776:0.626:1.070;0.302:0.307:0.269:0;11287:6124:3968:0;0:0:0;0:0:0;0;0:0:0;0;0;0:0:0:0;0:0:0;0;0") + +FOREACH(numFileC1P0 RANGE 1 16) + + # Build filenames + IF(${numFileC1P0} LESS 10) + SET( filenameInput p0_0${numFileC1P0}.j2k ) + SET( filenameRef c1p0_0${numFileC1P0}.pgx ) + ELSE(${numFileC1P0} LESS 10) + SET( filenameInput p0_${numFileC1P0}.j2k ) + SET( filenameRef c1p0_${numFileC1P0}.pgx ) + ENDIF(${numFileC1P0} LESS 10) + + # Get corresponding tests parameters + list(GET CP0_nbC_list ${numFileC1P0} nbComponents) + list(GET C1P0_ResFactor_list ${numFileC1P0} ResFactor) + list(GET C1P0_PEAK_list ${numFileC1P0} PEAK_limit) + list(GET C1P0_MSE_list ${numFileC1P0} MSE_limit) + + ADD_TEST(ETS-C1P0-${filenameInput}-decode + ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image + -i ${INPUT_CONF}/${filenameInput} + -o ${TEMP}/c1${filenameInput}.pgx + -r ${ResFactor} + ) + + ADD_TEST(ETS-C1P0-${filenameInput}-compare2ref + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_CONF}/${filenameRef} + -t ${TEMP}/c1${filenameInput}.pgx + -n ${nbComponents} + -p ${PEAK_limit} + -m ${MSE_limit} + -s b_t_ + ) + + SET_TESTS_PROPERTIES(ETS-C1P0-${filenameInput}-compare2ref + PROPERTIES DEPENDS + ETS-C1P0-${filenameInput}-decode) + + ADD_TEST(NR-C1P0-${filenameInput}-compare2base + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_NR}/opj_${filenameRef} + -t ${TEMP}/c1${filenameInput}.pgx + -n ${nbComponents} + -d + -s b_t_ + ) + + SET_TESTS_PROPERTIES(NR-C1P0-${filenameInput}-compare2base + PROPERTIES DEPENDS + ETS-C1P0-${filenameInput}-decode) + +ENDFOREACH(numFileC1P0) + +#-------------------------------------------------------------------------- +# Tests about class 1 profile 1 +# try to decode +# compare to ref file +# non regression comparison + +# Parameters and tolerances given by Table C.7 +SET( C1P1_PEAK_list "not_used;0;5:4:6;2:2:1:0;624;40:40:40;2:2:2;0:0") +SET( C1P1_MSE_list "not_used;0;0.765:0.616:1.051;0.3:0.210:0.200:0;3080;8.458:9.816:10.154;0.6:0.6:0.6;0:0") + +FOREACH(numFileC1P1 RANGE 1 7) + + # Build filenames + SET( filenameInput p1_0${numFileC1P1}.j2k ) + SET( filenameRef c1p1_0${numFileC1P1}.pgx ) + + # Get corresponding tests parameters + list(GET CP1_nbC_list ${numFileC1P1} nbComponents) + list(GET C1P1_PEAK_list ${numFileC1P1} PEAK_limit) + list(GET C1P1_MSE_list ${numFileC1P1} MSE_limit) + + ADD_TEST(ETS-C1P1-${filenameInput}-decode + ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image + -i ${INPUT_CONF}/${filenameInput} + -o ${TEMP}/c1${filenameInput}.pgx + -r 0 + ) + + ADD_TEST(ETS-C1P1-${filenameInput}-compare2ref + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_CONF}/${filenameRef} + -t ${TEMP}/c1${filenameInput}.pgx + -n ${nbComponents} + -p ${PEAK_limit} + -m ${MSE_limit} + -s b_t_ + ) + + SET_TESTS_PROPERTIES(ETS-C1P1-${filenameInput}-compare2ref + PROPERTIES DEPENDS + ETS-C1P1-${filenameInput}-decode) + + ADD_TEST(NR-C1P1-${filenameInput}-compare2base + ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages + -b ${BASELINE_NR}/opj_${filenameRef} + -t ${TEMP}/c1${filenameInput}.pgx + -n ${nbComponents} + -d + -s b_t_ + ) + + SET_TESTS_PROPERTIES(NR-C1P1-${filenameInput}-compare2base + PROPERTIES DEPENDS + ETS-C1P1-${filenameInput}-decode) + +ENDFOREACH(numFileC1P1)
\ No newline at end of file |
