MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / meanshiftTest

Function meanshiftTest

test/meanshift.cpp:55–100  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

53
54template<typename T, bool isColor>
55void meanshiftTest(string pTestFile, const float ss) {
56 SUPPORTED_TYPE_CHECK(T);
57 IMAGEIO_ENABLED_CHECK();
58
59 vector<dim4> inDims;
60 vector<string> inFiles;
61 vector<dim_t> outSizes;
62 vector<string> outFiles;
63
64 readImageTests(pTestFile, inDims, inFiles, outSizes, outFiles);
65
66 size_t testCount = inDims.size();
67
68 for (size_t testId = 0; testId < testCount; ++testId) {
69 af_array inArray = 0;
70 af_array inArray_f32 = 0;
71 af_array outArray = 0;
72 af_array goldArray = 0;
73 af_array goldArray_f32 = 0;
74 dim_t nElems = 0;
75
76 inFiles[testId].insert(0, string(TEST_DIR "/meanshift/"));
77 outFiles[testId].insert(0, string(TEST_DIR "/meanshift/"));
78
79 ASSERT_SUCCESS(
80 af_load_image(&inArray_f32, inFiles[testId].c_str(), isColor));
81 ASSERT_SUCCESS(conv_image<T>(&inArray, inArray_f32));
82
83 ASSERT_SUCCESS(
84 af_load_image(&goldArray_f32, outFiles[testId].c_str(), isColor));
85 ASSERT_SUCCESS(conv_image<T>(
86 &goldArray,
87 goldArray_f32)); // af_load_image always returns float array
88 ASSERT_SUCCESS(af_get_elements(&nElems, goldArray));
89
90 ASSERT_SUCCESS(af_mean_shift(&outArray, inArray, ss, 30.f, 5, isColor));
91
92 ASSERT_IMAGES_NEAR(goldArray, outArray, 0.02f);
93
94 ASSERT_SUCCESS(af_release_array(inArray));
95 ASSERT_SUCCESS(af_release_array(inArray_f32));
96 ASSERT_SUCCESS(af_release_array(outArray));
97 ASSERT_SUCCESS(af_release_array(goldArray));
98 ASSERT_SUCCESS(af_release_array(goldArray_f32));
99 }
100}
101
102// create a list of types to be tested
103// FIXME: since af_load_image returns only f32 type arrays

Callers

nothing calls this directly

Calls 5

readImageTestsFunction · 0.85
af_get_elementsFunction · 0.85
af_load_imageFunction · 0.50
af_mean_shiftFunction · 0.50
af_release_arrayFunction · 0.50

Tested by

no test coverage detected