diff options
author | Edoardo Pasca <edo.paskino@gmail.com> | 2019-01-10 14:50:36 +0000 |
---|---|---|
committer | Edoardo Pasca <edo.paskino@gmail.com> | 2019-01-10 14:50:36 +0000 |
commit | 4c1cdbe58a441a27e46da0d6983851740db94939 (patch) | |
tree | 8fc0faee0cf549214053b24b1a27a417f02ba9c7 /Wrappers | |
parent | 9f943b6ee5018e917a032eeebfa938855502934c (diff) | |
download | regularization-4c1cdbe58a441a27e46da0d6983851740db94939.tar.gz regularization-4c1cdbe58a441a27e46da0d6983851740db94939.tar.bz2 regularization-4c1cdbe58a441a27e46da0d6983851740db94939.tar.xz regularization-4c1cdbe58a441a27e46da0d6983851740db94939.zip |
allows 3D TGV by a for loop on slices
Diffstat (limited to 'Wrappers')
-rw-r--r-- | Wrappers/Python/src/cpu_regularisers.pyx | 11 | ||||
-rw-r--r-- | Wrappers/Python/src/gpu_regularisers.pyx | 7 |
2 files changed, 15 insertions, 3 deletions
diff --git a/Wrappers/Python/src/cpu_regularisers.pyx b/Wrappers/Python/src/cpu_regularisers.pyx index 4aa3251..33d6eb7 100644 --- a/Wrappers/Python/src/cpu_regularisers.pyx +++ b/Wrappers/Python/src/cpu_regularisers.pyx @@ -199,9 +199,16 @@ def TV_SB_3D(np.ndarray[np.float32_t, ndim=3, mode="c"] inputData, #***************************************************************# def TGV_CPU(inputData, regularisation_parameter, alpha1, alpha0, iterations, LipshitzConst): if inputData.ndim == 2: - return TGV_2D(inputData, regularisation_parameter, alpha1, alpha0, iterations, LipshitzConst) + return TGV_2D(inputData, regularisation_parameter, alpha1, alpha0, + iterations, LipshitzConst) elif inputData.ndim == 3: - return 0 + shape = inputData.shape + print (shape) + out = inputData.copy() + for i in range(shape[0]): + out[i,:,:] = TGV_2D(inputData[i,:,:], regularisation_parameter, + alpha1, alpha0, iterations, LipshitzConst) + return out def TGV_2D(np.ndarray[np.float32_t, ndim=2, mode="c"] inputData, float regularisation_parameter, diff --git a/Wrappers/Python/src/gpu_regularisers.pyx b/Wrappers/Python/src/gpu_regularisers.pyx index 2b97865..47a6149 100644 --- a/Wrappers/Python/src/gpu_regularisers.pyx +++ b/Wrappers/Python/src/gpu_regularisers.pyx @@ -102,7 +102,12 @@ def TGV_GPU(inputData, regularisation_parameter, alpha1, alpha0, iterations, Lip if inputData.ndim == 2: return TGV2D(inputData, regularisation_parameter, alpha1, alpha0, iterations, LipshitzConst) elif inputData.ndim == 3: - return 0 + shape = inputData.shape + out = inputData.copy() + for i in range(shape[0]): + out[i,:,:] = TGV2D(inputData[i,:,:], regularisation_parameter, + alpha1, alpha0, iterations, LipshitzConst) + return out # Directional Total-variation Fast-Gradient-Projection (FGP) def dTV_FGP_GPU(inputData, refdata, |