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

Function calcPadInfo

src/api/c/deconvolution.cpp:76–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

74}
75
76std::vector<af_seq> calcPadInfo(dim4& inLPad, dim4& psfLPad, dim4& inUPad,
77 dim4& psfUPad, dim4& odims, dim_t nElems,
78 const dim4& idims, const dim4& fdims) {
79 vector<af_seq> index(4);
80
81 for (int d = 0; d < 4; ++d) {
82 if (d < BASE_DIM) {
83 dim_t pad = idims[d] + fdims[d];
84
85 while (greatestPrimeFactor(pad) > GREATEST_PRIME_FACTOR) { pad++; }
86
87 dim_t diffLen = pad - idims[d];
88 inLPad[d] = diffLen / 2;
89 inUPad[d] = diffLen / 2 + diffLen % 2;
90 psfLPad[d] = 0;
91 psfUPad[d] = pad - fdims[d];
92 odims[d] = pad;
93 index[d].begin = inLPad[d];
94 index[d].end = index[d].begin + idims[d] - 1;
95 index[d].step = 1;
96
97 nElems *= odims[d];
98 } else {
99 inLPad[d] = 0;
100 psfLPad[d] = 0;
101 inUPad[d] = 0;
102 psfUPad[d] = 0;
103 odims[d] = std::max(idims[d], fdims[d]);
104 index[d] = af_span;
105 }
106 }
107 return index;
108}
109
110template<typename T, typename CT>
111void richardsonLucy(Array<T>& currentEstimate, const Array<T>& in,

Callers 2

iterDeconvFunction · 0.85
invDeconvFunction · 0.85

Calls 2

greatestPrimeFactorFunction · 0.85
maxFunction · 0.50

Tested by

no test coverage detected