summaryrefslogtreecommitdiffstats
path: root/src/Python/ccpi
diff options
context:
space:
mode:
authordkazanc <dkazanc@hotmail.com>2019-04-09 16:44:39 +0100
committerdkazanc <dkazanc@hotmail.com>2019-04-09 16:44:39 +0100
commitd6ee5585e696f855d1c687d34efa04328729e94c (patch)
tree5ff04822b93d69a37a9cfce8a2e473ebc9d0ef18 /src/Python/ccpi
parentd882861f8cfc59ffe70aa2f286dda83b348d7a70 (diff)
downloadregularization-d6ee5585e696f855d1c687d34efa04328729e94c.tar.gz
regularization-d6ee5585e696f855d1c687d34efa04328729e94c.tar.bz2
regularization-d6ee5585e696f855d1c687d34efa04328729e94c.tar.xz
regularization-d6ee5585e696f855d1c687d34efa04328729e94c.zip
2D CPU version for constrained diffusion
Diffstat (limited to 'src/Python/ccpi')
-rw-r--r--src/Python/ccpi/filters/regularisers.py27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/Python/ccpi/filters/regularisers.py b/src/Python/ccpi/filters/regularisers.py
index 398e11c..1e427bf 100644
--- a/src/Python/ccpi/filters/regularisers.py
+++ b/src/Python/ccpi/filters/regularisers.py
@@ -2,7 +2,7 @@
script which assigns a proper device core function based on a flag ('cpu' or 'gpu')
"""
-from ccpi.filters.cpu_regularisers import TV_ROF_CPU, TV_FGP_CPU, TV_SB_CPU, dTV_FGP_CPU, TNV_CPU, NDF_CPU, Diff4th_CPU, TGV_CPU, LLT_ROF_CPU, PATCHSEL_CPU, NLTV_CPU
+from ccpi.filters.cpu_regularisers import TV_ROF_CPU, TV_FGP_CPU, TV_SB_CPU, dTV_FGP_CPU, TNV_CPU, NDF_CPU, NDF_MASK_CPU, Diff4th_CPU, TGV_CPU, LLT_ROF_CPU, PATCHSEL_CPU, NLTV_CPU
try:
from ccpi.filters.gpu_regularisers import TV_ROF_GPU, TV_FGP_GPU, TV_SB_GPU, dTV_FGP_GPU, NDF_GPU, Diff4th_GPU, TGV_GPU, LLT_ROF_GPU, PATCHSEL_GPU
gpu_enabled = True
@@ -127,6 +127,31 @@ def NDF(inputData, regularisation_parameter, edge_parameter, iterations,
raise ValueError ('GPU is not available')
raise ValueError('Unknown device {0}. Expecting gpu or cpu'\
.format(device))
+def NDF_MASK(inputData, diffuswindow, regularisation_parameter, edge_parameter, iterations,
+ time_marching_parameter, penalty_type, tolerance_param, device='cpu'):
+ if device == 'cpu':
+ return NDF_MASK_CPU(inputData,
+ diffuswindow,
+ regularisation_parameter,
+ edge_parameter,
+ iterations,
+ time_marching_parameter,
+ penalty_type,
+ tolerance_param)
+ elif device == 'gpu' and gpu_enabled:
+ return NDF_MASK_CPU(inputData,
+ diffuswindow,
+ regularisation_parameter,
+ edge_parameter,
+ iterations,
+ time_marching_parameter,
+ penalty_type,
+ tolerance_param)
+ else:
+ if not gpu_enabled and device == 'gpu':
+ raise ValueError ('GPU is not available')
+ raise ValueError('Unknown device {0}. Expecting gpu or cpu'\
+ .format(device))
def Diff4th(inputData, regularisation_parameter, edge_parameter, iterations,
time_marching_parameter, tolerance_param, device='cpu'):
if device == 'cpu':