| 174 | |
| 175 | template<typename T, bool isColor> |
| 176 | void medfiltImageTest(string pTestFile, dim_t w_len, dim_t w_wid) { |
| 177 | SUPPORTED_TYPE_CHECK(T); |
| 178 | IMAGEIO_ENABLED_CHECK(); |
| 179 | |
| 180 | vector<dim4> inDims; |
| 181 | vector<string> inFiles; |
| 182 | vector<dim_t> outSizes; |
| 183 | vector<string> outFiles; |
| 184 | |
| 185 | readImageTests(pTestFile, inDims, inFiles, outSizes, outFiles); |
| 186 | |
| 187 | size_t testCount = inDims.size(); |
| 188 | |
| 189 | for (size_t testId = 0; testId < testCount; ++testId) { |
| 190 | af_array inArray = 0; |
| 191 | af_array outArray = 0; |
| 192 | af_array goldArray = 0; |
| 193 | dim_t nElems = 0; |
| 194 | |
| 195 | inFiles[testId].insert(0, string(TEST_DIR "/medianfilter/")); |
| 196 | outFiles[testId].insert(0, string(TEST_DIR "/medianfilter/")); |
| 197 | |
| 198 | ASSERT_SUCCESS( |
| 199 | af_load_image(&inArray, inFiles[testId].c_str(), isColor)); |
| 200 | ASSERT_SUCCESS( |
| 201 | af_load_image(&goldArray, outFiles[testId].c_str(), isColor)); |
| 202 | ASSERT_SUCCESS(af_get_elements(&nElems, goldArray)); |
| 203 | |
| 204 | ASSERT_SUCCESS( |
| 205 | af_medfilt2(&outArray, inArray, w_len, w_wid, AF_PAD_ZERO)); |
| 206 | |
| 207 | ASSERT_IMAGES_NEAR(goldArray, outArray, 0.018f); |
| 208 | |
| 209 | ASSERT_SUCCESS(af_release_array(inArray)); |
| 210 | ASSERT_SUCCESS(af_release_array(outArray)); |
| 211 | ASSERT_SUCCESS(af_release_array(goldArray)); |
| 212 | } |
| 213 | } |
| 214 | |
| 215 | template<typename T> |
| 216 | void medfiltInputTest(void) { |
nothing calls this directly
no test coverage detected