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

Function cannyTest

test/canny.cpp:38–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36
37template<typename T>
38void cannyTest(string pTestFile) {
39 SUPPORTED_TYPE_CHECK(T);
40
41 vector<dim4> numDims;
42 vector<vector<T>> in;
43 vector<vector<char>> tests;
44
45 readTests<T, char, int>(pTestFile, numDims, in, tests);
46
47 dim4 sDims = numDims[0];
48 af_array outArray = 0;
49 af_array sArray = 0;
50
51 ASSERT_SUCCESS(af_create_array(&sArray, &(in[0].front()), sDims.ndims(),
52 sDims.get(),
53 (af_dtype)dtype_traits<T>::af_type));
54
55 ASSERT_SUCCESS(af_canny(&outArray, sArray, AF_CANNY_THRESHOLD_MANUAL,
56 0.4147f, 0.8454f, 3, true));
57
58 vector<char> outData(sDims.elements());
59
60 ASSERT_SUCCESS(af_get_data_ptr((void*)outData.data(), outArray));
61
62 vector<char> currGoldBar = tests[0];
63 size_t nElems = currGoldBar.size();
64 for (size_t elIter = 0; elIter < nElems; ++elIter) {
65 ASSERT_EQ(currGoldBar[elIter], outData[elIter])
66 << "at: " << elIter << endl;
67 }
68
69 // cleanup
70 ASSERT_SUCCESS(af_release_array(sArray));
71 ASSERT_SUCCESS(af_release_array(outArray));
72}
73
74TYPED_TEST(CannyEdgeDetector, ArraySizeLessThanBlockSize10x10) {
75 UNSUPPORTED_BACKEND(AF_BACKEND_ONEAPI);

Callers

nothing calls this directly

Calls 7

af_create_arrayFunction · 0.50
af_cannyFunction · 0.50
af_get_data_ptrFunction · 0.50
af_release_arrayFunction · 0.50
ndimsMethod · 0.45
getMethod · 0.45
elementsMethod · 0.45

Tested by

no test coverage detected