summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniil Kazantsev <dkazanc@hotmail.com>2019-05-15 14:51:44 +0100
committerGitHub <noreply@github.com>2019-05-15 14:51:44 +0100
commit5fb5be32360bab1b6619bcef192dde0878d014ff (patch)
tree402aa4670dbbb6412df21441180940ebaace8551
parente8712929c6c18fb0799fcd60489692d809d95e89 (diff)
parent1207b14fa2fac7f8b83280d75884ad3a62e57e75 (diff)
downloadregularization-5fb5be32360bab1b6619bcef192dde0878d014ff.tar.gz
regularization-5fb5be32360bab1b6619bcef192dde0878d014ff.tar.bz2
regularization-5fb5be32360bab1b6619bcef192dde0878d014ff.tar.xz
regularization-5fb5be32360bab1b6619bcef192dde0878d014ff.zip
Merge pull request #122 from vais-ral/matlab_fix
fix to cmakelists file
-rwxr-xr-xbuild/run.sh6
-rw-r--r--demos/Matlab_demos/demoMatlab_denoise.m2
-rw-r--r--src/Core/CMakeLists.txt1
-rw-r--r--src/Python/ccpi/filters/regularisers.py13
-rw-r--r--src/Python/src/cpu_regularisers.pyx31
5 files changed, 5 insertions, 48 deletions
diff --git a/build/run.sh b/build/run.sh
index 2404d1b..c243b12 100755
--- a/build/run.sh
+++ b/build/run.sh
@@ -6,13 +6,13 @@ rm -r ../build_proj
mkdir ../build_proj
cd ../build_proj/
#make clean
-export CIL_VERSION=19.04
+export CIL_VERSION=19.06
# install Python modules without CUDA
-#cmake ../ -DBUILD_PYTHON_WRAPPER=ON -DBUILD_MATLAB_WRAPPER=OFF -DBUILD_CUDA=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install
+# cmake ../ -DBUILD_PYTHON_WRAPPER=ON -DBUILD_MATLAB_WRAPPER=OFF -DBUILD_CUDA=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install
# install Python modules with CUDA
cmake ../ -DBUILD_PYTHON_WRAPPER=ON -DBUILD_MATLAB_WRAPPER=OFF -DBUILD_CUDA=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install
# install Matlab modules without CUDA
-#cmake ../ -DBUILD_PYTHON_WRAPPER=OFF -DMatlab_ROOT_DIR=/dls_sw/apps/matlab/r2014a/ -DBUILD_MATLAB_WRAPPER=ON -DBUILD_CUDA=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install
+# cmake ../ -DBUILD_PYTHON_WRAPPER=OFF -DMatlab_ROOT_DIR=/dls_sw/apps/matlab/r2014a/ -DBUILD_MATLAB_WRAPPER=ON -DBUILD_CUDA=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install
# install Matlab modules with CUDA
# cmake ../ -DBUILD_PYTHON_WRAPPER=OFF -DMatlab_ROOT_DIR=/dls_sw/apps/matlab/r2014a/ -DBUILD_MATLAB_WRAPPER=ON -DBUILD_CUDA=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install
# cmake ../ -DBUILD_PYTHON_WRAPPER=OFF -DMatlab_ROOT_DIR=/home/algol/SOFT/MATLAB9/ -DBUILD_MATLAB_WRAPPER=ON -DBUILD_CUDA=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install
diff --git a/demos/Matlab_demos/demoMatlab_denoise.m b/demos/Matlab_demos/demoMatlab_denoise.m
index 5af927f..12d5570 100644
--- a/demos/Matlab_demos/demoMatlab_denoise.m
+++ b/demos/Matlab_demos/demoMatlab_denoise.m
@@ -2,9 +2,9 @@
clear; close all
fsep = '/';
-Path1 = sprintf(['..' fsep '..' fsep 'src' fsep 'Matlab' fsep 'mex_compile' fsep 'installed'], 1i);
Path2 = sprintf(['..' fsep 'data' fsep], 1i);
Path3 = sprintf(['..' fsep '..' fsep 'src' fsep 'Matlab' fsep 'supp'], 1i);
+Path1 = sprintf(['..' fsep '..' fsep 'src' fsep 'Matlab' fsep 'mex_compile' fsep 'installed'], 1i);
addpath(Path1);
addpath(Path2);
addpath(Path3);
diff --git a/src/Core/CMakeLists.txt b/src/Core/CMakeLists.txt
index 8aec749..eea0d63 100644
--- a/src/Core/CMakeLists.txt
+++ b/src/Core/CMakeLists.txt
@@ -68,7 +68,6 @@ add_library(cilreg SHARED
${CMAKE_CURRENT_SOURCE_DIR}/regularisers_CPU/SB_TV_core.c
${CMAKE_CURRENT_SOURCE_DIR}/regularisers_CPU/TGV_core.c
${CMAKE_CURRENT_SOURCE_DIR}/regularisers_CPU/Diffusion_core.c
- ${CMAKE_CURRENT_SOURCE_DIR}/regularisers_CPU/MASK_merge_core.c
${CMAKE_CURRENT_SOURCE_DIR}/regularisers_CPU/Diffus4th_order_core.c
${CMAKE_CURRENT_SOURCE_DIR}/regularisers_CPU/LLT_ROF_core.c
${CMAKE_CURRENT_SOURCE_DIR}/regularisers_CPU/ROF_TV_core.c
diff --git a/src/Python/ccpi/filters/regularisers.py b/src/Python/ccpi/filters/regularisers.py
index 2fee8b3..0b5b2ee 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, MASK_CORR_CPU
+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
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
@@ -212,15 +212,4 @@ def NDF_INP(inputData, maskData, regularisation_parameter, edge_parameter, itera
def NVM_INP(inputData, maskData, SW_increment, iterations):
return NVM_INPAINT_CPU(inputData, maskData, SW_increment, iterations)
-
-def MASK_CORR(maskdata, select_classes, total_classesNum, CorrectionWindow, device='cpu'):
- if device == 'cpu':
- return MASK_CORR_CPU(maskdata, select_classes, total_classesNum, CorrectionWindow)
- elif device == 'gpu' and gpu_enabled:
- return MASK_CORR_CPU(maskdata, select_classes, total_classesNum, CorrectionWindow)
- 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))
diff --git a/src/Python/src/cpu_regularisers.pyx b/src/Python/src/cpu_regularisers.pyx
index 9855eca..904b4f5 100644
--- a/src/Python/src/cpu_regularisers.pyx
+++ b/src/Python/src/cpu_regularisers.pyx
@@ -24,7 +24,6 @@ cdef extern float SB_TV_CPU_main(float *Input, float *Output, float *infovector,
cdef extern float LLT_ROF_CPU_main(float *Input, float *Output, float *infovector, float lambdaROF, float lambdaLLT, int iterationsNumb, float tau, float epsil, int dimX, int dimY, int dimZ);
cdef extern float TGV_main(float *Input, float *Output, float *infovector, float lambdaPar, float alpha1, float alpha0, int iterationsNumb, float L2, float epsil, int dimX, int dimY, int dimZ);
cdef extern float Diffusion_CPU_main(float *Input, float *Output, float *infovector, float lambdaPar, float sigmaPar, int iterationsNumb, float tau, int penaltytype, float epsil, int dimX, int dimY, int dimZ);
-cdef extern float Mask_merge_main(unsigned char *MASK, unsigned char *MASK_upd, unsigned char *CORRECTEDRegions, unsigned char *SelClassesList, int SelClassesList_length, int classesNumb, int CorrectionWindow, int dimX, int dimY, int dimZ);
cdef extern float Diffus4th_CPU_main(float *Input, float *Output, float *infovector, float lambdaPar, float sigmaPar, int iterationsNumb, float tau, float epsil, int dimX, int dimY, int dimZ);
cdef extern float dTV_FGP_CPU_main(float *Input, float *InputRef, float *Output, float *infovector, float lambdaPar, int iterationsNumb, float epsil, float eta, int methodTV, int nonneg, int dimX, int dimY, int dimZ);
cdef extern float TNV_CPU_main(float *Input, float *u, float lambdaPar, int maxIter, float tol, int dimX, int dimY, int dimZ);
@@ -707,36 +706,6 @@ def NVM_INP_2D(np.ndarray[np.float32_t, ndim=2, mode="c"] inputData,
return (outputData, maskData_upd)
-##############################################################################
-#****************************************************************#
-#********Mask (segmented image) correction module **************#
-#****************************************************************#
-def MASK_CORR_CPU(maskData, select_classes, total_classesNum, CorrectionWindow):
- if maskData.ndim == 2:
- return MASK_CORR_CPU_2D(maskData, select_classes, total_classesNum, CorrectionWindow)
- elif maskData.ndim == 3:
- return 0
-
-def MASK_CORR_CPU_2D(np.ndarray[np.uint8_t, ndim=2, mode="c"] maskData,
- np.ndarray[np.uint8_t, ndim=1, mode="c"] select_classes,
- int total_classesNum,
- int CorrectionWindow):
-
- cdef long dims[2]
- dims[0] = maskData.shape[0]
- dims[1] = maskData.shape[1]
-
- select_classes_length = select_classes.shape[0]
-
- cdef np.ndarray[np.uint8_t, ndim=2, mode="c"] mask_upd = \
- np.zeros([dims[0],dims[1]], dtype='uint8')
- cdef np.ndarray[np.uint8_t, ndim=2, mode="c"] corr_regions = \
- np.zeros([dims[0],dims[1]], dtype='uint8')
-
- # Run the function to process given MASK
- Mask_merge_main(&maskData[0,0], &mask_upd[0,0], &corr_regions[0,0], &select_classes[0], select_classes_length,
- total_classesNum, CorrectionWindow, dims[1], dims[0], 1)
- return (mask_upd,corr_regions)
##############################################################################