| 31 | |
| 32 | template<typename T> |
| 33 | static af_features susan(af_array const& in, const unsigned radius, |
| 34 | const float diff_thr, const float geom_thr, |
| 35 | const float feature_ratio, const unsigned edge) { |
| 36 | Array<float> x = createEmptyArray<float>(dim4()); |
| 37 | Array<float> y = createEmptyArray<float>(dim4()); |
| 38 | Array<float> score = createEmptyArray<float>(dim4()); |
| 39 | |
| 40 | af_features_t feat; |
| 41 | feat.n = susan<T>(x, y, score, getArray<T>(in), radius, diff_thr, geom_thr, |
| 42 | feature_ratio, edge); |
| 43 | |
| 44 | feat.x = getHandle(x); |
| 45 | feat.y = getHandle(y); |
| 46 | feat.score = getHandle(score); |
| 47 | feat.orientation = |
| 48 | getHandle(feat.n > 0 ? createValueArray<float>(feat.n, 0.0) |
| 49 | : createEmptyArray<float>(dim4())); |
| 50 | feat.size = getHandle(feat.n > 0 ? createValueArray<float>(feat.n, 1.0) |
| 51 | : createEmptyArray<float>(dim4())); |
| 52 | |
| 53 | return getFeaturesHandle(feat); |
| 54 | } |
| 55 | |
| 56 | af_err af_susan(af_features* out, const af_array in, const unsigned radius, |
| 57 | const float diff_thr, const float geom_thr, |
no test coverage detected