diff options
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | Readme.md | 29 | ||||
-rw-r--r-- | Wrappers/Python/conda-recipe/build.sh | 17 | ||||
-rw-r--r-- | build/FindAnacondaEnvironment.cmake (renamed from CMake/FindAnacondaEnvironment.cmake) | 0 | ||||
-rwxr-xr-x | build/build-install.sh | 4 | ||||
-rw-r--r-- | build/run.sh (renamed from run.sh) | 0 | ||||
-rw-r--r-- | demos/data/SinoInpaint.mat (renamed from data/SinoInpaint.mat) | bin | 3335061 -> 3335061 bytes | |||
-rw-r--r-- | demos/data/lena_gray_512.tif (renamed from Wrappers/Python/conda-recipe/lena_gray_512.tif) | bin | 262598 -> 262598 bytes | |||
-rw-r--r-- | demos/demoMatlab_3Ddenoise.m (renamed from Wrappers/Matlab/demos/demoMatlab_3Ddenoise.m) | 6 | ||||
-rw-r--r-- | demos/demoMatlab_denoise.m (renamed from Wrappers/Matlab/demos/demoMatlab_denoise.m) | 10 | ||||
-rw-r--r-- | demos/demoMatlab_inpaint.m (renamed from Wrappers/Matlab/demos/demoMatlab_inpaint.m) | 4 | ||||
-rw-r--r-- | demos/demo_cpu_inpainters.py (renamed from Wrappers/Python/demos/demo_cpu_inpainters.py) | 2 | ||||
-rw-r--r-- | demos/demo_cpu_regularisers.py (renamed from Wrappers/Python/demos/demo_cpu_regularisers.py) | 2 | ||||
-rw-r--r-- | demos/demo_cpu_regularisers3D.py (renamed from Wrappers/Python/demos/demo_cpu_regularisers3D.py) | 2 | ||||
-rw-r--r-- | demos/demo_cpu_vs_gpu_regularisers.py (renamed from Wrappers/Python/demos/demo_cpu_vs_gpu_regularisers.py) | 2 | ||||
-rw-r--r-- | demos/demo_gpu_regularisers.py (renamed from Wrappers/Python/demos/demo_gpu_regularisers.py) | 2 | ||||
-rw-r--r-- | demos/demo_gpu_regularisers3D.py (renamed from Wrappers/Python/demos/demo_gpu_regularisers3D.py) | 4 | ||||
-rw-r--r-- | demos/images/TV_vs_NLTV.jpg (renamed from docs/images/TV_vs_NLTV.jpg) | bin | 111273 -> 111273 bytes | |||
-rw-r--r-- | demos/images/probl.pdf (renamed from docs/images/probl.pdf) | bin | 62326 -> 62326 bytes | |||
-rw-r--r-- | demos/images/probl.png (renamed from docs/images/probl.png) | bin | 38161 -> 38161 bytes | |||
-rw-r--r-- | demos/images/reg_penalties.jpg (renamed from docs/images/reg_penalties.jpg) | bin | 237455 -> 237455 bytes | |||
-rw-r--r-- | demos/qualitymetrics.py (renamed from Wrappers/Matlab/mex_compile/installed/MEXed_files_location.txt) | 0 | ||||
-rw-r--r-- | docs/installation.txt | 11 | ||||
-rw-r--r-- | recipe/bld.bat (renamed from Wrappers/Python/conda-recipe/bld.bat) | 0 | ||||
-rw-r--r-- | recipe/build.sh | 18 | ||||
-rw-r--r-- | recipe/conda_build_config.yaml (renamed from Wrappers/Python/conda-recipe/conda_build_config.yaml) | 0 | ||||
-rw-r--r-- | recipe/meta.yaml (renamed from Wrappers/Python/conda-recipe/meta.yaml) | 2 | ||||
-rwxr-xr-x | recipe/run_test.py (renamed from Wrappers/Python/conda-recipe/run_test.py) | 0 | ||||
-rw-r--r-- | recipes/regularisers/bld.bat | 21 | ||||
-rw-r--r-- | recipes/regularisers/build.sh | 19 | ||||
-rw-r--r-- | recipes/regularisers/meta.yaml | 27 | ||||
-rw-r--r-- | src/CMakeLists.txt (renamed from Wrappers/CMakeLists.txt) | 1 | ||||
-rw-r--r-- | src/Core/CCPiDefines.h (renamed from Core/CCPiDefines.h) | 0 | ||||
-rw-r--r-- | src/Core/CMakeLists.txt (renamed from Core/CMakeLists.txt) | 0 | ||||
-rw-r--r-- | src/Core/inpainters_CPU/Diffusion_Inpaint_core.c (renamed from Core/inpainters_CPU/Diffusion_Inpaint_core.c) | 0 | ||||
-rw-r--r-- | src/Core/inpainters_CPU/Diffusion_Inpaint_core.h (renamed from Core/inpainters_CPU/Diffusion_Inpaint_core.h) | 0 | ||||
-rw-r--r-- | src/Core/inpainters_CPU/NonlocalMarching_Inpaint_core.c (renamed from Core/inpainters_CPU/NonlocalMarching_Inpaint_core.c) | 0 | ||||
-rw-r--r-- | src/Core/inpainters_CPU/NonlocalMarching_Inpaint_core.h (renamed from Core/inpainters_CPU/NonlocalMarching_Inpaint_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/Diffus4th_order_core.c (renamed from Core/regularisers_CPU/Diffus4th_order_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/Diffus4th_order_core.h (renamed from Core/regularisers_CPU/Diffus4th_order_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/Diffusion_core.c (renamed from Core/regularisers_CPU/Diffusion_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/Diffusion_core.h (renamed from Core/regularisers_CPU/Diffusion_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/FGP_TV_core.c (renamed from Core/regularisers_CPU/FGP_TV_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/FGP_TV_core.h (renamed from Core/regularisers_CPU/FGP_TV_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/FGP_dTV_core.c (renamed from Core/regularisers_CPU/FGP_dTV_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/FGP_dTV_core.h (renamed from Core/regularisers_CPU/FGP_dTV_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/LLT_ROF_core.c (renamed from Core/regularisers_CPU/LLT_ROF_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/LLT_ROF_core.h (renamed from Core/regularisers_CPU/LLT_ROF_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/Nonlocal_TV_core.c (renamed from Core/regularisers_CPU/Nonlocal_TV_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/Nonlocal_TV_core.h (renamed from Core/regularisers_CPU/Nonlocal_TV_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/PatchSelect_core.c (renamed from Core/regularisers_CPU/PatchSelect_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/PatchSelect_core.h (renamed from Core/regularisers_CPU/PatchSelect_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/ROF_TV_core.c (renamed from Core/regularisers_CPU/ROF_TV_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/ROF_TV_core.h (renamed from Core/regularisers_CPU/ROF_TV_core.h) | 0 | ||||
-rwxr-xr-x | src/Core/regularisers_CPU/SB_TV_core.c (renamed from Core/regularisers_CPU/SB_TV_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/SB_TV_core.h (renamed from Core/regularisers_CPU/SB_TV_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/TGV_core.c (renamed from Core/regularisers_CPU/TGV_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/TGV_core.h (renamed from Core/regularisers_CPU/TGV_core.h) | 0 | ||||
-rwxr-xr-x | src/Core/regularisers_CPU/TNV_core.c (renamed from Core/regularisers_CPU/TNV_core.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/TNV_core.h (renamed from Core/regularisers_CPU/TNV_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/utils.c (renamed from Core/regularisers_CPU/utils.c) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_CPU/utils.h (renamed from Core/regularisers_CPU/utils.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/Diffus_4thO_GPU_core.cu (renamed from Core/regularisers_GPU/Diffus_4thO_GPU_core.cu) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/Diffus_4thO_GPU_core.h (renamed from Core/regularisers_GPU/Diffus_4thO_GPU_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/LLT_ROF_GPU_core.cu (renamed from Core/regularisers_GPU/LLT_ROF_GPU_core.cu) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/LLT_ROF_GPU_core.h (renamed from Core/regularisers_GPU/LLT_ROF_GPU_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/NonlDiff_GPU_core.cu (renamed from Core/regularisers_GPU/NonlDiff_GPU_core.cu) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/NonlDiff_GPU_core.h (renamed from Core/regularisers_GPU/NonlDiff_GPU_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/PatchSelect_GPU_core.cu (renamed from Core/regularisers_GPU/PatchSelect_GPU_core.cu) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/PatchSelect_GPU_core.h (renamed from Core/regularisers_GPU/PatchSelect_GPU_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/TGV_GPU_core.cu (renamed from Core/regularisers_GPU/TGV_GPU_core.cu) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/TGV_GPU_core.h (renamed from Core/regularisers_GPU/TGV_GPU_core.h) | 0 | ||||
-rwxr-xr-x | src/Core/regularisers_GPU/TV_FGP_GPU_core.cu (renamed from Core/regularisers_GPU/TV_FGP_GPU_core.cu) | 0 | ||||
-rwxr-xr-x | src/Core/regularisers_GPU/TV_FGP_GPU_core.h (renamed from Core/regularisers_GPU/TV_FGP_GPU_core.h) | 0 | ||||
-rwxr-xr-x | src/Core/regularisers_GPU/TV_ROF_GPU_core.cu (renamed from Core/regularisers_GPU/TV_ROF_GPU_core.cu) | 0 | ||||
-rwxr-xr-x | src/Core/regularisers_GPU/TV_ROF_GPU_core.h (renamed from Core/regularisers_GPU/TV_ROF_GPU_core.h) | 0 | ||||
-rwxr-xr-x | src/Core/regularisers_GPU/TV_SB_GPU_core.cu (renamed from Core/regularisers_GPU/TV_SB_GPU_core.cu) | 0 | ||||
-rwxr-xr-x | src/Core/regularisers_GPU/TV_SB_GPU_core.h (renamed from Core/regularisers_GPU/TV_SB_GPU_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/dTV_FGP_GPU_core.cu (renamed from Core/regularisers_GPU/dTV_FGP_GPU_core.cu) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/dTV_FGP_GPU_core.h (renamed from Core/regularisers_GPU/dTV_FGP_GPU_core.h) | 0 | ||||
-rw-r--r-- | src/Core/regularisers_GPU/shared.h (renamed from Core/regularisers_GPU/shared.h) | 0 | ||||
-rwxr-xr-x | src/Matlab/CMakeLists.txt (renamed from Wrappers/Matlab/CMakeLists.txt) | 10 | ||||
-rw-r--r-- | src/Matlab/mex_compile/compileCPU_mex_Linux.m (renamed from Wrappers/Matlab/mex_compile/compileCPU_mex_Linux.m) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/compileCPU_mex_WINDOWS.m (renamed from Wrappers/Matlab/mex_compile/compileCPU_mex_WINDOWS.m) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/compileGPU_mex.m (renamed from Wrappers/Matlab/mex_compile/compileGPU_mex.m) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/installed/MEXed_files_location.txt (renamed from Wrappers/Python/ccpi/__init__.py) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/Diffusion_4thO.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/Diffusion_4thO.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/FGP_TV.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/FGP_TV.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/FGP_dTV.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/FGP_dTV.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/LLT_ROF.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/LLT_ROF.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/NonlDiff.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/NonlDiff.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/NonlDiff_Inp.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/NonlDiff_Inp.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/NonlocalMarching_Inpaint.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/NonlocalMarching_Inpaint.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/Nonlocal_TV.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/Nonlocal_TV.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/PatchSelect.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/PatchSelect.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/ROF_TV.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/ROF_TV.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/SB_TV.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/SB_TV.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/TGV.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/TGV.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/TNV.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/TNV.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_CPU/TV_energy.c (renamed from Wrappers/Matlab/mex_compile/regularisers_CPU/TV_energy.c) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_GPU/Diffusion_4thO_GPU.cpp (renamed from Wrappers/Matlab/mex_compile/regularisers_GPU/Diffusion_4thO_GPU.cpp) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_GPU/FGP_TV_GPU.cpp (renamed from Wrappers/Matlab/mex_compile/regularisers_GPU/FGP_TV_GPU.cpp) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_GPU/FGP_dTV_GPU.cpp (renamed from Wrappers/Matlab/mex_compile/regularisers_GPU/FGP_dTV_GPU.cpp) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_GPU/LLT_ROF_GPU.cpp (renamed from Wrappers/Matlab/mex_compile/regularisers_GPU/LLT_ROF_GPU.cpp) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_GPU/NonlDiff_GPU.cpp (renamed from Wrappers/Matlab/mex_compile/regularisers_GPU/NonlDiff_GPU.cpp) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_GPU/ROF_TV_GPU.cpp (renamed from Wrappers/Matlab/mex_compile/regularisers_GPU/ROF_TV_GPU.cpp) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_GPU/SB_TV_GPU.cpp (renamed from Wrappers/Matlab/mex_compile/regularisers_GPU/SB_TV_GPU.cpp) | 0 | ||||
-rw-r--r-- | src/Matlab/mex_compile/regularisers_GPU/TGV_GPU.cpp (renamed from Wrappers/Matlab/mex_compile/regularisers_GPU/TGV_GPU.cpp) | 0 | ||||
-rw-r--r-- | src/Matlab/supp/RMSE.m (renamed from Wrappers/Matlab/supp/RMSE.m) | 0 | ||||
-rw-r--r-- | src/Matlab/supp/my_red_yellowMAP.mat (renamed from Wrappers/Matlab/supp/my_red_yellowMAP.mat) | bin | 1761 -> 1761 bytes | |||
-rw-r--r-- | src/Python/CMakeLists.txt (renamed from Wrappers/Python/CMakeLists.txt) | 24 | ||||
-rw-r--r-- | src/Python/ccpi/__init__.py (renamed from Wrappers/Python/ccpi/filters/__init__.py) | 0 | ||||
-rw-r--r-- | src/Python/ccpi/filters/__init__.py | 0 | ||||
-rw-r--r-- | src/Python/ccpi/filters/regularisers.py (renamed from Wrappers/Python/ccpi/filters/regularisers.py) | 0 | ||||
-rw-r--r-- | src/Python/setup-regularisers.py.in (renamed from Wrappers/Python/setup-regularisers.py.in) | 24 | ||||
-rw-r--r-- | src/Python/src/cpu_regularisers.pyx (renamed from Wrappers/Python/src/cpu_regularisers.pyx) | 0 | ||||
-rw-r--r-- | src/Python/src/gpu_regularisers.pyx (renamed from Wrappers/Python/src/gpu_regularisers.pyx) | 0 | ||||
-rw-r--r-- | test/lena_gray_512.tif (renamed from data/lena_gray_512.tif) | bin | 262598 -> 262598 bytes | |||
-rw-r--r-- | test/test_CPU_regularisers.py | 128 | ||||
-rw-r--r-- | test/testroutines.py | 37 |
120 files changed, 260 insertions, 152 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index b95107a..043f13c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,7 @@ set(MATLAB_DEST "${CMAKE_INSTALL_PREFIX}/matlab") endif() message(STATUS "Matlab wrappers will be installed in " ${MATLAB_DEST}) -set(PYTHON_DEST_DIR "" CACHE PATH "Directory of the Matlab wrappers") +set(PYTHON_DEST_DIR "" CACHE PATH "Directory of the Python wrappers") if (PYTHON_DEST_DIR) set(PYTHON_DEST "${PYTHON_DEST_DIR}") else() @@ -55,5 +55,5 @@ endif() message(STATUS "Python wrappers will be installed in " ${PYTHON_DEST}) -add_subdirectory(Core) -add_subdirectory(Wrappers) +#add_subdirectory(src/Core) +add_subdirectory(src) @@ -9,15 +9,15 @@ **Iterative image reconstruction (IIR) methods normally require regularisation to stabilise the convergence and make the reconstruction problem (inverse problem) more well-posed. The CCPi-RGL software provides 2D/3D and multi-channel regularisation strategies to ensure better performance of IIR methods. The regularisation modules are well-suited to use with [splitting algorithms](https://en.wikipedia.org/wiki/Augmented_Lagrangian_method#Alternating_direction_method_of_multipliers), such as, [ADMM](https://github.com/dkazanc/ADMM-tomo) and [FISTA](https://github.com/dkazanc/FISTA-tomo). Furthermore, the toolkit can be used for simpler inversion tasks, such as, image denoising, inpaiting, deconvolution etc. The core modules are written in C-OMP and CUDA languages and wrappers for Matlab and Python are provided.** <div align="center"> - <img src="docs/images/probl.png" height="225"><br> + <img src="demos/images/probl.png" height="225"><br> </div> <div align="center"> - <img src="docs/images/reg_penalties.jpg" height="450"><br> + <img src="demos/images/reg_penalties.jpg" height="450"><br> </div> <div align="center"> - <img src="docs/images/TV_vs_NLTV.jpg" height="300"><br> + <img src="demos/images/TV_vs_NLTV.jpg" height="300"><br> </div> ## Prerequisites: @@ -50,13 +50,29 @@ ## Installation: -The package comes as a [CMake](https://cmake.org) project so you will need CMake (v.>=3) to configure it. Additionally you will need a C compiler, `make` (on linux) and CUDA SDK where available. The toolkit may be used directly from C/C++ as it is compiled as a shared library (check-out the include files in `Core` for this). We provide wrappers for Python and Matlab. +The package comes as a [CMake](https://cmake.org) project +and additional wrappers for Python and Matlab. +To install precompiled binaries, you need `conda` and install from `ccpi` channel using : +``` +conda install ccpi-regulariser -c ccpi -c conda-forge +``` + +In order to compile C/C++ sources and additional wrappers from source code for numpy 1.12 and python 3.6, the recommended way is: +``` +git clone https://github.com/vais-ral/CCPi-Regularisation-Toolkit +cd CCPi-Regularisation-Toolkit +export CCPI_BUILD_ARGS="--numpy 1.12 --python 3.6" +build/jenkins-build.sh +``` +this will install `conda build` environment and compiles C/C++ and Python wrappers and performs basic tests for environment with python 3.6 and numpy 1.12. + +### CMake +If you want to build directly using cmake, install CMake (v.>=3) to configure it. Additionally you will need a C compiler, `make` (on linux) and CUDA SDK where available. The toolkit may be used directly from C/C++ as it is compiled as a shared library (check-out the include files in `Core` for this) 1. Clone this repository to a directory, i.e. `CCPi-Regularisation-Toolkit`, 2. create a build directory. 3. Issue `cmake` to configure (or `cmake-gui`, or `ccmake`, or `cmake3`). Use additional flags to fine tune the configuration. -### CMake flags Flags used during configuration | CMake flag | type | meaning | @@ -167,8 +183,7 @@ addpath(/path/to/library); ### Applications: -* [Regularised FISTA iterative reconstruction algorithm for X-ray tomographic reconstruction with highly inaccurate measurements (MATLAB/Python code)](https://github.com/dkazanc/FISTA-tomo) -* [Regularised ADMM iterative reconstruction algorithm for X-ray tomographic reconstruction (MATLAB code)](https://github.com/dkazanc/ADMM-tomo) +* [A library of tomographic reconstruction methods: direct and model-based iterative (MATLAB/Python code)](https://github.com/dkazanc/TomoRec) * [Joint image reconstruction method with correlative multi-channel prior for X-ray spectral computed tomography (MATLAB code)](https://github.com/dkazanc/multi-channel-X-ray-CT) ### License: diff --git a/Wrappers/Python/conda-recipe/build.sh b/Wrappers/Python/conda-recipe/build.sh deleted file mode 100644 index 39c0f2c..0000000 --- a/Wrappers/Python/conda-recipe/build.sh +++ /dev/null @@ -1,17 +0,0 @@ - -mkdir "$SRC_DIR/ccpi" -cp -rv "$RECIPE_DIR/../.." "$SRC_DIR/ccpi" -cp -rv "$RECIPE_DIR/../../../Core" "$SRC_DIR/Core" - -cd $SRC_DIR -##cuda=off - -cmake -G "Unix Makefiles" $RECIPE_DIR/../../../ -DBUILD_PYTHON_WRAPPER=ON -DCONDA_BUILD=ON -DBUILD_CUDA=ON -DCMAKE_BUILD_TYPE="Release" -DLIBRARY_LIB=$CONDA_PREFIX/lib -DLIBRARY_INC=$CONDA_PREFIX -DCMAKE_INSTALL_PREFIX=$PREFIX - - -make install - -#$PYTHON setup-regularisers.py build_ext -#$PYTHON setup-regularisers.py install - - diff --git a/CMake/FindAnacondaEnvironment.cmake b/build/FindAnacondaEnvironment.cmake index 6475128..6475128 100644 --- a/CMake/FindAnacondaEnvironment.cmake +++ b/build/FindAnacondaEnvironment.cmake diff --git a/build/build-install.sh b/build/build-install.sh new file mode 100755 index 0000000..def66a4 --- /dev/null +++ b/build/build-install.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +export CCPI_BUILD_ARGS="--numpy 1.12 --python 3.6" +bash <(curl -L https://raw.githubusercontent.com/vais-ral/CCPi-VirtualMachine/master/scripts/jenkins-build.sh) +conda install -y ccpi-regulariser --use-local --force
\ No newline at end of file diff --git a/data/SinoInpaint.mat b/demos/data/SinoInpaint.mat Binary files differindex d748fb4..d748fb4 100644 --- a/data/SinoInpaint.mat +++ b/demos/data/SinoInpaint.mat diff --git a/Wrappers/Python/conda-recipe/lena_gray_512.tif b/demos/data/lena_gray_512.tif Binary files differindex f80cafc..f80cafc 100644 --- a/Wrappers/Python/conda-recipe/lena_gray_512.tif +++ b/demos/data/lena_gray_512.tif diff --git a/Wrappers/Matlab/demos/demoMatlab_3Ddenoise.m b/demos/demoMatlab_3Ddenoise.m index ac8e1ba..cf2c88a 100644 --- a/Wrappers/Matlab/demos/demoMatlab_3Ddenoise.m +++ b/demos/demoMatlab_3Ddenoise.m @@ -1,8 +1,8 @@ % Volume (3D) denoising demo using CCPi-RGL clear; close all -Path1 = sprintf(['..' filesep 'mex_compile' filesep 'installed'], 1i); -Path2 = sprintf(['..' filesep '..' filesep '..' filesep 'data' filesep], 1i); -Path3 = sprintf(['..' filesep 'supp'], 1i); +Path1 = sprintf(['..' filesep 'src' filesep 'Matlab' filesep 'mex_compile' filesep 'installed'], 1i); +Path2 = sprintf(['data' filesep], 1i); +Path3 = sprintf(['..' filesep 'src' filesep 'Matlab' filesep 'supp'], 1i); addpath(Path1); addpath(Path2); addpath(Path3); diff --git a/Wrappers/Matlab/demos/demoMatlab_denoise.m b/demos/demoMatlab_denoise.m index 62e5834..5135129 100644 --- a/Wrappers/Matlab/demos/demoMatlab_denoise.m +++ b/demos/demoMatlab_denoise.m @@ -2,11 +2,11 @@ clear; close all fsep = '/'; -Path1 = sprintf(['..' fsep 'mex_compile' fsep 'installed'], 1i); -Path2 = sprintf(['..' fsep '..' fsep '..' fsep 'data' fsep], 1i); -Path3 = sprintf(['..' fsep 'supp'], 1i); -addpath(Path1); -addpath(Path2); +Path1 = sprintf(['..' fsep 'src' fsep 'Matlab' fsep 'mex_compile' fsep 'installed'], 1i); +Path2 = sprintf([ data' fsep], 1i); +Path3 = sprintf(['..' filesep 'src' filesep 'Matlab' filesep 'supp'], 1i); +addpath(Path1); +addpath(Path2); addpath(Path3); Im = double(imread('lena_gray_512.tif'))/255; % loading image diff --git a/Wrappers/Matlab/demos/demoMatlab_inpaint.m b/demos/demoMatlab_inpaint.m index 66f9c15..a85f2b9 100644 --- a/Wrappers/Matlab/demos/demoMatlab_inpaint.m +++ b/demos/demoMatlab_inpaint.m @@ -1,7 +1,7 @@ % Image (2D) inpainting demo using CCPi-RGL clear; close all -Path1 = sprintf(['..' filesep 'mex_compile' filesep 'installed'], 1i); -Path2 = sprintf(['..' filesep '..' filesep '..' filesep 'data' filesep], 1i); +Path1 = sprintf(['..' filesep 'src' filesep 'Matlab' filesep 'mex_compile' filesep 'installed'], 1i); +Path2 = sprintf(['data' filesep], 1i); addpath(Path1); addpath(Path2); diff --git a/Wrappers/Python/demos/demo_cpu_inpainters.py b/demos/demo_cpu_inpainters.py index c61ea50..2e6ccf2 100644 --- a/Wrappers/Python/demos/demo_cpu_inpainters.py +++ b/demos/demo_cpu_inpainters.py @@ -29,7 +29,7 @@ def printParametersToString(pars): ############################################################################### # read sinogram and the mask -filename = os.path.join(".." , ".." , ".." , "data" ,"SinoInpaint.mat") +filename = os.path.join("data" ,"SinoInpaint.mat") sino = io.loadmat(filename) sino_full = sino.get('Sinogram') Mask = sino.get('Mask') diff --git a/Wrappers/Python/demos/demo_cpu_regularisers.py b/demos/demo_cpu_regularisers.py index b8dadf5..d34607a 100644 --- a/Wrappers/Python/demos/demo_cpu_regularisers.py +++ b/demos/demo_cpu_regularisers.py @@ -31,7 +31,7 @@ def printParametersToString(pars): return txt ############################################################################### #%% -filename = os.path.join(".." , ".." , ".." , "data" ,"lena_gray_512.tif") +filename = os.path.join( "data" ,"lena_gray_512.tif") # read image Im = plt.imread(filename) diff --git a/Wrappers/Python/demos/demo_cpu_regularisers3D.py b/demos/demo_cpu_regularisers3D.py index df8af27..fd6c545 100644 --- a/Wrappers/Python/demos/demo_cpu_regularisers3D.py +++ b/demos/demo_cpu_regularisers3D.py @@ -30,7 +30,7 @@ def printParametersToString(pars): return txt ############################################################################### #%% -filename = os.path.join(".." , ".." , ".." , "data" ,"lena_gray_512.tif") +filename = os.path.join( "data" ,"lena_gray_512.tif") # read image Im = plt.imread(filename) diff --git a/Wrappers/Python/demos/demo_cpu_vs_gpu_regularisers.py b/demos/demo_cpu_vs_gpu_regularisers.py index 6c4ab5e..e1eb91f 100644 --- a/Wrappers/Python/demos/demo_cpu_vs_gpu_regularisers.py +++ b/demos/demo_cpu_vs_gpu_regularisers.py @@ -31,7 +31,7 @@ def printParametersToString(pars): return txt ############################################################################### -filename = os.path.join(".." , ".." , ".." , "data" ,"lena_gray_512.tif") +filename = os.path.join("data" ,"lena_gray_512.tif") # read image Im = plt.imread(filename) diff --git a/Wrappers/Python/demos/demo_gpu_regularisers.py b/demos/demo_gpu_regularisers.py index 54a1c14..89bb948 100644 --- a/Wrappers/Python/demos/demo_gpu_regularisers.py +++ b/demos/demo_gpu_regularisers.py @@ -31,7 +31,7 @@ def printParametersToString(pars): return txt ############################################################################### #%% -filename = os.path.join(".." , ".." , ".." , "data" ,"lena_gray_512.tif") +filename = os.path.join( "data" ,"lena_gray_512.tif") # read image Im = plt.imread(filename) diff --git a/Wrappers/Python/demos/demo_gpu_regularisers3D.py b/demos/demo_gpu_regularisers3D.py index d50c08e..be16921 100644 --- a/Wrappers/Python/demos/demo_gpu_regularisers3D.py +++ b/demos/demo_gpu_regularisers3D.py @@ -30,7 +30,7 @@ def printParametersToString(pars): return txt ############################################################################### #%% -filename = os.path.join(".." , ".." , ".." , "data" ,"lena_gray_512.tif") +filename = os.path.join( "data" ,"lena_gray_512.tif") # read image Im = plt.imread(filename) @@ -70,7 +70,7 @@ del Im2 slices = 20 -filename = os.path.join(".." , ".." , ".." , "data" ,"lena_gray_512.tif") +filename = os.path.join( "data" ,"lena_gray_512.tif") Im = plt.imread(filename) Im = np.asarray(Im, dtype='float32') diff --git a/docs/images/TV_vs_NLTV.jpg b/demos/images/TV_vs_NLTV.jpg Binary files differindex e976512..e976512 100644 --- a/docs/images/TV_vs_NLTV.jpg +++ b/demos/images/TV_vs_NLTV.jpg diff --git a/docs/images/probl.pdf b/demos/images/probl.pdf Binary files differindex 6a06021..6a06021 100644 --- a/docs/images/probl.pdf +++ b/demos/images/probl.pdf diff --git a/docs/images/probl.png b/demos/images/probl.png Binary files differindex af0e852..af0e852 100644 --- a/docs/images/probl.png +++ b/demos/images/probl.png diff --git a/docs/images/reg_penalties.jpg b/demos/images/reg_penalties.jpg Binary files differindex 923d5c4..923d5c4 100644 --- a/docs/images/reg_penalties.jpg +++ b/demos/images/reg_penalties.jpg diff --git a/Wrappers/Matlab/mex_compile/installed/MEXed_files_location.txt b/demos/qualitymetrics.py index e69de29..e69de29 100644 --- a/Wrappers/Matlab/mex_compile/installed/MEXed_files_location.txt +++ b/demos/qualitymetrics.py diff --git a/docs/installation.txt b/docs/installation.txt deleted file mode 100644 index f6db38c..0000000 --- a/docs/installation.txt +++ /dev/null @@ -1,11 +0,0 @@ -One can install CCPi-RGL toolkit using cmake: - - -cmake ../CCPi-Regularisation-Toolkit/ -DBUILD_MATLAB_WRAPPERS=ON -DBUILD_PYTHON_WRAPPERS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DMatlab_ROOT_DIR=<Matlab directory> -DBUILD_CUDA=OFF - -make - -make install - -Running Matlab from Linux do: -PATH="/path/to/mex/:$PATH" LD_LIBRARY_PATH="/path/to/library:$LD_LIBRARY_PATH" ./matlab -nosplash & diff --git a/Wrappers/Python/conda-recipe/bld.bat b/recipe/bld.bat index 6c84355..6c84355 100644 --- a/Wrappers/Python/conda-recipe/bld.bat +++ b/recipe/bld.bat diff --git a/recipe/build.sh b/recipe/build.sh new file mode 100644 index 0000000..a156193 --- /dev/null +++ b/recipe/build.sh @@ -0,0 +1,18 @@ + +#mkdir "$SRC_DIR/ccpi" +#cp -rv "$RECIPE_DIR/../src/Matlab" "$SRC_DIR/ccpi" +#cp -rv "$RECIPE_DIR/../src/Python" "$SRC_DIR/ccpi" +#cp -rv "$RECIPE_DIR/../src/Core" "$SRC_DIR/Core" + +cd $SRC_DIR +##cuda=off + +cmake -G "Unix Makefiles" $RECIPE_DIR/../ -DBUILD_PYTHON_WRAPPER=ON -DCONDA_BUILD=ON -DBUILD_CUDA=ON -DCMAKE_BUILD_TYPE="Release" -DLIBRARY_LIB=$CONDA_PREFIX/lib -DLIBRARY_INC=$CONDA_PREFIX -DCMAKE_INSTALL_PREFIX=$PREFIX + + +make install + +#$PYTHON setup-regularisers.py build_ext +#$PYTHON setup-regularisers.py install + + diff --git a/Wrappers/Python/conda-recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml index fbe82dc..fbe82dc 100644 --- a/Wrappers/Python/conda-recipe/conda_build_config.yaml +++ b/recipe/conda_build_config.yaml diff --git a/Wrappers/Python/conda-recipe/meta.yaml b/recipe/meta.yaml index 7435b2b..61d17bd 100644 --- a/Wrappers/Python/conda-recipe/meta.yaml +++ b/recipe/meta.yaml @@ -10,7 +10,7 @@ build: test: files: - - lena_gray_512.tif + - ../test/lena_gray_512.tif requires: - pillow=4.1.1 diff --git a/Wrappers/Python/conda-recipe/run_test.py b/recipe/run_test.py index 21f3216..21f3216 100755 --- a/Wrappers/Python/conda-recipe/run_test.py +++ b/recipe/run_test.py diff --git a/recipes/regularisers/bld.bat b/recipes/regularisers/bld.bat deleted file mode 100644 index 43a5286..0000000 --- a/recipes/regularisers/bld.bat +++ /dev/null @@ -1,21 +0,0 @@ -IF NOT DEFINED CIL_VERSION ( -ECHO CIL_VERSION Not Defined. -exit 1 -) - -mkdir "%SRC_DIR%\build" -ROBOCOPY /E "%RECIPE_DIR%\..\..\Core" "%SRC_DIR%\build" -::ROBOCOPY /E "%RECIPE_DIR%\..\..\Wrappers\python\src" "%SRC_DIR%\build\module" -cd "%SRC_DIR%\build" - -echo "we should be in %SRC_DIR%\build" - -cmake -G "NMake Makefiles" "%RECIPE_DIR%\..\..\" -DLIBRARY_LIB="%CONDA_PREFIX%\lib" -DLIBRARY_INC="%CONDA_PREFIX%" -DCMAKE_INSTALL_PREFIX="%PREFIX%\Library" -DCONDA_BUILD=ON -DBUILD_WRAPPERS=OFF - -::-DBOOST_LIBRARYDIR="%CONDA_PREFIX%\Library\lib" -DBOOST_INCLUDEDIR="%CONDA_PREFIX%\Library\include" -DBOOST_ROOT="%CONDA_PREFIX%\Library\lib" - -:: Build C library -nmake install -if errorlevel 1 exit 1 - -:: Install step diff --git a/recipes/regularisers/build.sh b/recipes/regularisers/build.sh deleted file mode 100644 index eaa778e..0000000 --- a/recipes/regularisers/build.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -echo build.sh CIL_VERSION: $CIL_VERSION -#if [ -z "$CIL_VERSION" ]; then -# echo "Need to set CIL_VERSION" -# exit 1 -#fi -#export CIL_VERSION=0.9.1 - - - -mkdir ${SRC_DIR}/build -cp -rv ${RECIPE_DIR}/../../Core/ ${SRC_DIR}/build -mkdir ${SRC_DIR}/build/build -cd ${SRC_DIR}/build/build -cmake -G "Unix Makefiles" -DLIBRARY_LIB="${CONDA_PREFIX}/lib" -DLIBRARY_INC="${CONDA_PREFIX}" -DCMAKE_INSTALL_PREFIX="${PREFIX}" ../Core - -make -j2 VERBOSE=1 -make install diff --git a/recipes/regularisers/meta.yaml b/recipes/regularisers/meta.yaml deleted file mode 100644 index 3ffcd1d..0000000 --- a/recipes/regularisers/meta.yaml +++ /dev/null @@ -1,27 +0,0 @@ -package: - name: cil_regulariser - version: {{ environ['CIL_VERSION'] }} - - -build: - preserve_egg_dir: False - script_env: - - CIL_VERSION - -requirements: - build: - - cmake >=3.1 - - vc 14 # [win and py36] - - vc 14 # [win and py35] - - vc 9 # [win and py27] - - run: - - vc 14 # [win and py36] - - vc 14 # [win and py35] - - vc 9 # [win and py27] - - -about: - home: http://www.ccpi.ac.uk - license: Apache v2.0 - summary: Regulariser package from CCPi diff --git a/Wrappers/CMakeLists.txt b/src/CMakeLists.txt index bdcb8f4..5fe1a57 100644 --- a/Wrappers/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +add_subdirectory(Core) if (BUILD_MATLAB_WRAPPER) add_subdirectory(Matlab) endif() diff --git a/Core/CCPiDefines.h b/src/Core/CCPiDefines.h index d3038f9..d3038f9 100644 --- a/Core/CCPiDefines.h +++ b/src/Core/CCPiDefines.h diff --git a/Core/CMakeLists.txt b/src/Core/CMakeLists.txt index b3c0dfb..b3c0dfb 100644 --- a/Core/CMakeLists.txt +++ b/src/Core/CMakeLists.txt diff --git a/Core/inpainters_CPU/Diffusion_Inpaint_core.c b/src/Core/inpainters_CPU/Diffusion_Inpaint_core.c index 08b168a..08b168a 100644 --- a/Core/inpainters_CPU/Diffusion_Inpaint_core.c +++ b/src/Core/inpainters_CPU/Diffusion_Inpaint_core.c diff --git a/Core/inpainters_CPU/Diffusion_Inpaint_core.h b/src/Core/inpainters_CPU/Diffusion_Inpaint_core.h index a96fe79..a96fe79 100644 --- a/Core/inpainters_CPU/Diffusion_Inpaint_core.h +++ b/src/Core/inpainters_CPU/Diffusion_Inpaint_core.h diff --git a/Core/inpainters_CPU/NonlocalMarching_Inpaint_core.c b/src/Core/inpainters_CPU/NonlocalMarching_Inpaint_core.c index b488ca4..b488ca4 100644 --- a/Core/inpainters_CPU/NonlocalMarching_Inpaint_core.c +++ b/src/Core/inpainters_CPU/NonlocalMarching_Inpaint_core.c diff --git a/Core/inpainters_CPU/NonlocalMarching_Inpaint_core.h b/src/Core/inpainters_CPU/NonlocalMarching_Inpaint_core.h index 0f99ed4..0f99ed4 100644 --- a/Core/inpainters_CPU/NonlocalMarching_Inpaint_core.h +++ b/src/Core/inpainters_CPU/NonlocalMarching_Inpaint_core.h diff --git a/Core/regularisers_CPU/Diffus4th_order_core.c b/src/Core/regularisers_CPU/Diffus4th_order_core.c index 01f4f64..01f4f64 100644 --- a/Core/regularisers_CPU/Diffus4th_order_core.c +++ b/src/Core/regularisers_CPU/Diffus4th_order_core.c diff --git a/Core/regularisers_CPU/Diffus4th_order_core.h b/src/Core/regularisers_CPU/Diffus4th_order_core.h index d81afcb..d81afcb 100644 --- a/Core/regularisers_CPU/Diffus4th_order_core.h +++ b/src/Core/regularisers_CPU/Diffus4th_order_core.h diff --git a/Core/regularisers_CPU/Diffusion_core.c b/src/Core/regularisers_CPU/Diffusion_core.c index b765796..b765796 100644 --- a/Core/regularisers_CPU/Diffusion_core.c +++ b/src/Core/regularisers_CPU/Diffusion_core.c diff --git a/Core/regularisers_CPU/Diffusion_core.h b/src/Core/regularisers_CPU/Diffusion_core.h index cc36dad..cc36dad 100644 --- a/Core/regularisers_CPU/Diffusion_core.h +++ b/src/Core/regularisers_CPU/Diffusion_core.h diff --git a/Core/regularisers_CPU/FGP_TV_core.c b/src/Core/regularisers_CPU/FGP_TV_core.c index 68d58b7..68d58b7 100644 --- a/Core/regularisers_CPU/FGP_TV_core.c +++ b/src/Core/regularisers_CPU/FGP_TV_core.c diff --git a/Core/regularisers_CPU/FGP_TV_core.h b/src/Core/regularisers_CPU/FGP_TV_core.h index 3418604..3418604 100644 --- a/Core/regularisers_CPU/FGP_TV_core.h +++ b/src/Core/regularisers_CPU/FGP_TV_core.h diff --git a/Core/regularisers_CPU/FGP_dTV_core.c b/src/Core/regularisers_CPU/FGP_dTV_core.c index 17b75ff..17b75ff 100644 --- a/Core/regularisers_CPU/FGP_dTV_core.c +++ b/src/Core/regularisers_CPU/FGP_dTV_core.c diff --git a/Core/regularisers_CPU/FGP_dTV_core.h b/src/Core/regularisers_CPU/FGP_dTV_core.h index 442dd30..442dd30 100644 --- a/Core/regularisers_CPU/FGP_dTV_core.h +++ b/src/Core/regularisers_CPU/FGP_dTV_core.h diff --git a/Core/regularisers_CPU/LLT_ROF_core.c b/src/Core/regularisers_CPU/LLT_ROF_core.c index 8416a14..8416a14 100644 --- a/Core/regularisers_CPU/LLT_ROF_core.c +++ b/src/Core/regularisers_CPU/LLT_ROF_core.c diff --git a/Core/regularisers_CPU/LLT_ROF_core.h b/src/Core/regularisers_CPU/LLT_ROF_core.h index 8e6591e..8e6591e 100644 --- a/Core/regularisers_CPU/LLT_ROF_core.h +++ b/src/Core/regularisers_CPU/LLT_ROF_core.h diff --git a/Core/regularisers_CPU/Nonlocal_TV_core.c b/src/Core/regularisers_CPU/Nonlocal_TV_core.c index c4c9118..c4c9118 100644 --- a/Core/regularisers_CPU/Nonlocal_TV_core.c +++ b/src/Core/regularisers_CPU/Nonlocal_TV_core.c diff --git a/Core/regularisers_CPU/Nonlocal_TV_core.h b/src/Core/regularisers_CPU/Nonlocal_TV_core.h index 6d55101..6d55101 100644 --- a/Core/regularisers_CPU/Nonlocal_TV_core.h +++ b/src/Core/regularisers_CPU/Nonlocal_TV_core.h diff --git a/Core/regularisers_CPU/PatchSelect_core.c b/src/Core/regularisers_CPU/PatchSelect_core.c index cf5cdc7..cf5cdc7 100644 --- a/Core/regularisers_CPU/PatchSelect_core.c +++ b/src/Core/regularisers_CPU/PatchSelect_core.c diff --git a/Core/regularisers_CPU/PatchSelect_core.h b/src/Core/regularisers_CPU/PatchSelect_core.h index ddaa428..ddaa428 100644 --- a/Core/regularisers_CPU/PatchSelect_core.h +++ b/src/Core/regularisers_CPU/PatchSelect_core.h diff --git a/Core/regularisers_CPU/ROF_TV_core.c b/src/Core/regularisers_CPU/ROF_TV_core.c index 1858442..1858442 100644 --- a/Core/regularisers_CPU/ROF_TV_core.c +++ b/src/Core/regularisers_CPU/ROF_TV_core.c diff --git a/Core/regularisers_CPU/ROF_TV_core.h b/src/Core/regularisers_CPU/ROF_TV_core.h index 4e320e9..4e320e9 100644 --- a/Core/regularisers_CPU/ROF_TV_core.h +++ b/src/Core/regularisers_CPU/ROF_TV_core.h diff --git a/Core/regularisers_CPU/SB_TV_core.c b/src/Core/regularisers_CPU/SB_TV_core.c index 769ea67..769ea67 100755 --- a/Core/regularisers_CPU/SB_TV_core.c +++ b/src/Core/regularisers_CPU/SB_TV_core.c diff --git a/Core/regularisers_CPU/SB_TV_core.h b/src/Core/regularisers_CPU/SB_TV_core.h index 7485e3b..7485e3b 100644 --- a/Core/regularisers_CPU/SB_TV_core.h +++ b/src/Core/regularisers_CPU/SB_TV_core.h diff --git a/Core/regularisers_CPU/TGV_core.c b/src/Core/regularisers_CPU/TGV_core.c index 136e0bd..136e0bd 100644 --- a/Core/regularisers_CPU/TGV_core.c +++ b/src/Core/regularisers_CPU/TGV_core.c diff --git a/Core/regularisers_CPU/TGV_core.h b/src/Core/regularisers_CPU/TGV_core.h index 11b12c1..11b12c1 100644 --- a/Core/regularisers_CPU/TGV_core.h +++ b/src/Core/regularisers_CPU/TGV_core.h diff --git a/Core/regularisers_CPU/TNV_core.c b/src/Core/regularisers_CPU/TNV_core.c index 753cc5f..753cc5f 100755 --- a/Core/regularisers_CPU/TNV_core.c +++ b/src/Core/regularisers_CPU/TNV_core.c diff --git a/Core/regularisers_CPU/TNV_core.h b/src/Core/regularisers_CPU/TNV_core.h index aa050a4..aa050a4 100644 --- a/Core/regularisers_CPU/TNV_core.h +++ b/src/Core/regularisers_CPU/TNV_core.h diff --git a/Core/regularisers_CPU/utils.c b/src/Core/regularisers_CPU/utils.c index 7a4e80b..7a4e80b 100644 --- a/Core/regularisers_CPU/utils.c +++ b/src/Core/regularisers_CPU/utils.c diff --git a/Core/regularisers_CPU/utils.h b/src/Core/regularisers_CPU/utils.h index cfaf6d7..cfaf6d7 100644 --- a/Core/regularisers_CPU/utils.h +++ b/src/Core/regularisers_CPU/utils.h diff --git a/Core/regularisers_GPU/Diffus_4thO_GPU_core.cu b/src/Core/regularisers_GPU/Diffus_4thO_GPU_core.cu index a4dbe70..a4dbe70 100644 --- a/Core/regularisers_GPU/Diffus_4thO_GPU_core.cu +++ b/src/Core/regularisers_GPU/Diffus_4thO_GPU_core.cu diff --git a/Core/regularisers_GPU/Diffus_4thO_GPU_core.h b/src/Core/regularisers_GPU/Diffus_4thO_GPU_core.h index 77d5d79..77d5d79 100644 --- a/Core/regularisers_GPU/Diffus_4thO_GPU_core.h +++ b/src/Core/regularisers_GPU/Diffus_4thO_GPU_core.h diff --git a/Core/regularisers_GPU/LLT_ROF_GPU_core.cu b/src/Core/regularisers_GPU/LLT_ROF_GPU_core.cu index 87871be..87871be 100644 --- a/Core/regularisers_GPU/LLT_ROF_GPU_core.cu +++ b/src/Core/regularisers_GPU/LLT_ROF_GPU_core.cu diff --git a/Core/regularisers_GPU/LLT_ROF_GPU_core.h b/src/Core/regularisers_GPU/LLT_ROF_GPU_core.h index a6bfcc7..a6bfcc7 100644 --- a/Core/regularisers_GPU/LLT_ROF_GPU_core.h +++ b/src/Core/regularisers_GPU/LLT_ROF_GPU_core.h diff --git a/Core/regularisers_GPU/NonlDiff_GPU_core.cu b/src/Core/regularisers_GPU/NonlDiff_GPU_core.cu index ff7ce4d..ff7ce4d 100644 --- a/Core/regularisers_GPU/NonlDiff_GPU_core.cu +++ b/src/Core/regularisers_GPU/NonlDiff_GPU_core.cu diff --git a/Core/regularisers_GPU/NonlDiff_GPU_core.h b/src/Core/regularisers_GPU/NonlDiff_GPU_core.h index 5fe457e..5fe457e 100644 --- a/Core/regularisers_GPU/NonlDiff_GPU_core.h +++ b/src/Core/regularisers_GPU/NonlDiff_GPU_core.h diff --git a/Core/regularisers_GPU/PatchSelect_GPU_core.cu b/src/Core/regularisers_GPU/PatchSelect_GPU_core.cu index 98c8488..98c8488 100644 --- a/Core/regularisers_GPU/PatchSelect_GPU_core.cu +++ b/src/Core/regularisers_GPU/PatchSelect_GPU_core.cu diff --git a/Core/regularisers_GPU/PatchSelect_GPU_core.h b/src/Core/regularisers_GPU/PatchSelect_GPU_core.h index 8c124d3..8c124d3 100644 --- a/Core/regularisers_GPU/PatchSelect_GPU_core.h +++ b/src/Core/regularisers_GPU/PatchSelect_GPU_core.h diff --git a/Core/regularisers_GPU/TGV_GPU_core.cu b/src/Core/regularisers_GPU/TGV_GPU_core.cu index e4abf72..e4abf72 100644 --- a/Core/regularisers_GPU/TGV_GPU_core.cu +++ b/src/Core/regularisers_GPU/TGV_GPU_core.cu diff --git a/Core/regularisers_GPU/TGV_GPU_core.h b/src/Core/regularisers_GPU/TGV_GPU_core.h index 9f73d1c..9f73d1c 100644 --- a/Core/regularisers_GPU/TGV_GPU_core.h +++ b/src/Core/regularisers_GPU/TGV_GPU_core.h diff --git a/Core/regularisers_GPU/TV_FGP_GPU_core.cu b/src/Core/regularisers_GPU/TV_FGP_GPU_core.cu index b371c5d..b371c5d 100755 --- a/Core/regularisers_GPU/TV_FGP_GPU_core.cu +++ b/src/Core/regularisers_GPU/TV_FGP_GPU_core.cu diff --git a/Core/regularisers_GPU/TV_FGP_GPU_core.h b/src/Core/regularisers_GPU/TV_FGP_GPU_core.h index bf13508..bf13508 100755 --- a/Core/regularisers_GPU/TV_FGP_GPU_core.h +++ b/src/Core/regularisers_GPU/TV_FGP_GPU_core.h diff --git a/Core/regularisers_GPU/TV_ROF_GPU_core.cu b/src/Core/regularisers_GPU/TV_ROF_GPU_core.cu index 76f5be9..76f5be9 100755 --- a/Core/regularisers_GPU/TV_ROF_GPU_core.cu +++ b/src/Core/regularisers_GPU/TV_ROF_GPU_core.cu diff --git a/Core/regularisers_GPU/TV_ROF_GPU_core.h b/src/Core/regularisers_GPU/TV_ROF_GPU_core.h index 3a09296..3a09296 100755 --- a/Core/regularisers_GPU/TV_ROF_GPU_core.h +++ b/src/Core/regularisers_GPU/TV_ROF_GPU_core.h diff --git a/Core/regularisers_GPU/TV_SB_GPU_core.cu b/src/Core/regularisers_GPU/TV_SB_GPU_core.cu index 1f494ee..1f494ee 100755 --- a/Core/regularisers_GPU/TV_SB_GPU_core.cu +++ b/src/Core/regularisers_GPU/TV_SB_GPU_core.cu diff --git a/Core/regularisers_GPU/TV_SB_GPU_core.h b/src/Core/regularisers_GPU/TV_SB_GPU_core.h index 901b90f..901b90f 100755 --- a/Core/regularisers_GPU/TV_SB_GPU_core.h +++ b/src/Core/regularisers_GPU/TV_SB_GPU_core.h diff --git a/Core/regularisers_GPU/dTV_FGP_GPU_core.cu b/src/Core/regularisers_GPU/dTV_FGP_GPU_core.cu index 7503ec7..7503ec7 100644 --- a/Core/regularisers_GPU/dTV_FGP_GPU_core.cu +++ b/src/Core/regularisers_GPU/dTV_FGP_GPU_core.cu diff --git a/Core/regularisers_GPU/dTV_FGP_GPU_core.h b/src/Core/regularisers_GPU/dTV_FGP_GPU_core.h index f9281e8..f9281e8 100644 --- a/Core/regularisers_GPU/dTV_FGP_GPU_core.h +++ b/src/Core/regularisers_GPU/dTV_FGP_GPU_core.h diff --git a/Core/regularisers_GPU/shared.h b/src/Core/regularisers_GPU/shared.h index fe98cd6..fe98cd6 100644 --- a/Core/regularisers_GPU/shared.h +++ b/src/Core/regularisers_GPU/shared.h diff --git a/Wrappers/Matlab/CMakeLists.txt b/src/Matlab/CMakeLists.txt index 0c26148..b97f845 100755 --- a/Wrappers/Matlab/CMakeLists.txt +++ b/src/Matlab/CMakeLists.txt @@ -9,7 +9,7 @@ find_package(Matlab REQUIRED COMPONENTS MAIN_PROGRAM MX_LIBRARY ENG_LIBRARY ) # matlab_add_mex(
# NAME CPU_ROF
# SRC
- # ${CMAKE_SOURCE_DIR}/Wrappers/Matlab/mex_compile/regularisers_CPU/ROF_TV.c
+ # ${CMAKE_SOURCE_DIR}/Matlab/mex_compile/regularisers_CPU/ROF_TV.c
# LINK_TO cilreg ${Matlab_LIBRARIES}
# )
@@ -23,7 +23,7 @@ find_package(Matlab REQUIRED COMPONENTS MAIN_PROGRAM MX_LIBRARY ENG_LIBRARY ) # matlab_add_mex(
# NAME CPU_TNV
# SRC
- # ${CMAKE_SOURCE_DIR}/Wrappers/Matlab/mex_compile/regularisers_CPU/TNV.c
+ # ${CMAKE_SOURCE_DIR}/Matlab/mex_compile/regularisers_CPU/TNV.c
# LINK_TO cilreg ${Matlab_LIBRARIES}
# )
@@ -40,8 +40,8 @@ find_package(Matlab REQUIRED COMPONENTS MAIN_PROGRAM MX_LIBRARY ENG_LIBRARY ) #list(APPEND MEX_TARGETS "CPU_ROF")
file(GLOB CPU_MEX_FILES
- "${CMAKE_SOURCE_DIR}/Wrappers/Matlab/mex_compile/regularisers_CPU/*.c"
- #"${CMAKE_SOURCE_DIR}/Wrappers/Matlab/mex_compile/regularisers_GPU/*.c"
+ "${CMAKE_SOURCE_DIR}/Matlab/mex_compile/regularisers_CPU/*.c"
+ #"${CMAKE_SOURCE_DIR}/Matlab/mex_compile/regularisers_GPU/*.c"
)
#message("CPU_MEX_FILES " ${CPU_MEX_FILES})
@@ -101,7 +101,7 @@ if (BUILD_CUDA) find_package(CUDA)
if (CUDA_FOUND)
file(GLOB GPU_MEX_FILES
- "${CMAKE_SOURCE_DIR}/Wrappers/Matlab/mex_compile/regularisers_GPU/*.cpp"
+ "${CMAKE_SOURCE_DIR}/Matlab/mex_compile/regularisers_GPU/*.cpp"
)
list(LENGTH GPU_MEX_FILES num)
diff --git a/Wrappers/Matlab/mex_compile/compileCPU_mex_Linux.m b/src/Matlab/mex_compile/compileCPU_mex_Linux.m index 72a828e..72a828e 100644 --- a/Wrappers/Matlab/mex_compile/compileCPU_mex_Linux.m +++ b/src/Matlab/mex_compile/compileCPU_mex_Linux.m diff --git a/Wrappers/Matlab/mex_compile/compileCPU_mex_WINDOWS.m b/src/Matlab/mex_compile/compileCPU_mex_WINDOWS.m index 6f7541c..6f7541c 100644 --- a/Wrappers/Matlab/mex_compile/compileCPU_mex_WINDOWS.m +++ b/src/Matlab/mex_compile/compileCPU_mex_WINDOWS.m diff --git a/Wrappers/Matlab/mex_compile/compileGPU_mex.m b/src/Matlab/mex_compile/compileGPU_mex.m index dd1475c..dd1475c 100644 --- a/Wrappers/Matlab/mex_compile/compileGPU_mex.m +++ b/src/Matlab/mex_compile/compileGPU_mex.m diff --git a/Wrappers/Python/ccpi/__init__.py b/src/Matlab/mex_compile/installed/MEXed_files_location.txt index e69de29..e69de29 100644 --- a/Wrappers/Python/ccpi/__init__.py +++ b/src/Matlab/mex_compile/installed/MEXed_files_location.txt diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/Diffusion_4thO.c b/src/Matlab/mex_compile/regularisers_CPU/Diffusion_4thO.c index 66ea9be..66ea9be 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/Diffusion_4thO.c +++ b/src/Matlab/mex_compile/regularisers_CPU/Diffusion_4thO.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/FGP_TV.c b/src/Matlab/mex_compile/regularisers_CPU/FGP_TV.c index 642362f..642362f 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/FGP_TV.c +++ b/src/Matlab/mex_compile/regularisers_CPU/FGP_TV.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/FGP_dTV.c b/src/Matlab/mex_compile/regularisers_CPU/FGP_dTV.c index 1a0c070..1a0c070 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/FGP_dTV.c +++ b/src/Matlab/mex_compile/regularisers_CPU/FGP_dTV.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/LLT_ROF.c b/src/Matlab/mex_compile/regularisers_CPU/LLT_ROF.c index ab45446..ab45446 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/LLT_ROF.c +++ b/src/Matlab/mex_compile/regularisers_CPU/LLT_ROF.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/NonlDiff.c b/src/Matlab/mex_compile/regularisers_CPU/NonlDiff.c index ec35b8b..ec35b8b 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/NonlDiff.c +++ b/src/Matlab/mex_compile/regularisers_CPU/NonlDiff.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/NonlDiff_Inp.c b/src/Matlab/mex_compile/regularisers_CPU/NonlDiff_Inp.c index 9833392..9833392 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/NonlDiff_Inp.c +++ b/src/Matlab/mex_compile/regularisers_CPU/NonlDiff_Inp.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/NonlocalMarching_Inpaint.c b/src/Matlab/mex_compile/regularisers_CPU/NonlocalMarching_Inpaint.c index b3f2c98..b3f2c98 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/NonlocalMarching_Inpaint.c +++ b/src/Matlab/mex_compile/regularisers_CPU/NonlocalMarching_Inpaint.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/Nonlocal_TV.c b/src/Matlab/mex_compile/regularisers_CPU/Nonlocal_TV.c index 014c0a0..014c0a0 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/Nonlocal_TV.c +++ b/src/Matlab/mex_compile/regularisers_CPU/Nonlocal_TV.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/PatchSelect.c b/src/Matlab/mex_compile/regularisers_CPU/PatchSelect.c index f942539..f942539 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/PatchSelect.c +++ b/src/Matlab/mex_compile/regularisers_CPU/PatchSelect.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/ROF_TV.c b/src/Matlab/mex_compile/regularisers_CPU/ROF_TV.c index 55ef2b1..55ef2b1 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/ROF_TV.c +++ b/src/Matlab/mex_compile/regularisers_CPU/ROF_TV.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/SB_TV.c b/src/Matlab/mex_compile/regularisers_CPU/SB_TV.c index 8636322..8636322 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/SB_TV.c +++ b/src/Matlab/mex_compile/regularisers_CPU/SB_TV.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/TGV.c b/src/Matlab/mex_compile/regularisers_CPU/TGV.c index aa4eed4..aa4eed4 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/TGV.c +++ b/src/Matlab/mex_compile/regularisers_CPU/TGV.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/TNV.c b/src/Matlab/mex_compile/regularisers_CPU/TNV.c index acea75d..acea75d 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/TNV.c +++ b/src/Matlab/mex_compile/regularisers_CPU/TNV.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_CPU/TV_energy.c b/src/Matlab/mex_compile/regularisers_CPU/TV_energy.c index d457f46..d457f46 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_CPU/TV_energy.c +++ b/src/Matlab/mex_compile/regularisers_CPU/TV_energy.c diff --git a/Wrappers/Matlab/mex_compile/regularisers_GPU/Diffusion_4thO_GPU.cpp b/src/Matlab/mex_compile/regularisers_GPU/Diffusion_4thO_GPU.cpp index 0cc042b..0cc042b 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_GPU/Diffusion_4thO_GPU.cpp +++ b/src/Matlab/mex_compile/regularisers_GPU/Diffusion_4thO_GPU.cpp diff --git a/Wrappers/Matlab/mex_compile/regularisers_GPU/FGP_TV_GPU.cpp b/src/Matlab/mex_compile/regularisers_GPU/FGP_TV_GPU.cpp index c174e75..c174e75 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_GPU/FGP_TV_GPU.cpp +++ b/src/Matlab/mex_compile/regularisers_GPU/FGP_TV_GPU.cpp diff --git a/Wrappers/Matlab/mex_compile/regularisers_GPU/FGP_dTV_GPU.cpp b/src/Matlab/mex_compile/regularisers_GPU/FGP_dTV_GPU.cpp index 3f5a4b3..3f5a4b3 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_GPU/FGP_dTV_GPU.cpp +++ b/src/Matlab/mex_compile/regularisers_GPU/FGP_dTV_GPU.cpp diff --git a/Wrappers/Matlab/mex_compile/regularisers_GPU/LLT_ROF_GPU.cpp b/src/Matlab/mex_compile/regularisers_GPU/LLT_ROF_GPU.cpp index e8da4ce..e8da4ce 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_GPU/LLT_ROF_GPU.cpp +++ b/src/Matlab/mex_compile/regularisers_GPU/LLT_ROF_GPU.cpp diff --git a/Wrappers/Matlab/mex_compile/regularisers_GPU/NonlDiff_GPU.cpp b/src/Matlab/mex_compile/regularisers_GPU/NonlDiff_GPU.cpp index 1cd0cdc..1cd0cdc 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_GPU/NonlDiff_GPU.cpp +++ b/src/Matlab/mex_compile/regularisers_GPU/NonlDiff_GPU.cpp diff --git a/Wrappers/Matlab/mex_compile/regularisers_GPU/ROF_TV_GPU.cpp b/src/Matlab/mex_compile/regularisers_GPU/ROF_TV_GPU.cpp index bd01d55..bd01d55 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_GPU/ROF_TV_GPU.cpp +++ b/src/Matlab/mex_compile/regularisers_GPU/ROF_TV_GPU.cpp diff --git a/Wrappers/Matlab/mex_compile/regularisers_GPU/SB_TV_GPU.cpp b/src/Matlab/mex_compile/regularisers_GPU/SB_TV_GPU.cpp index 9d1328f..9d1328f 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_GPU/SB_TV_GPU.cpp +++ b/src/Matlab/mex_compile/regularisers_GPU/SB_TV_GPU.cpp diff --git a/Wrappers/Matlab/mex_compile/regularisers_GPU/TGV_GPU.cpp b/src/Matlab/mex_compile/regularisers_GPU/TGV_GPU.cpp index 1173282..1173282 100644 --- a/Wrappers/Matlab/mex_compile/regularisers_GPU/TGV_GPU.cpp +++ b/src/Matlab/mex_compile/regularisers_GPU/TGV_GPU.cpp diff --git a/Wrappers/Matlab/supp/RMSE.m b/src/Matlab/supp/RMSE.m index 002f776..002f776 100644 --- a/Wrappers/Matlab/supp/RMSE.m +++ b/src/Matlab/supp/RMSE.m diff --git a/Wrappers/Matlab/supp/my_red_yellowMAP.mat b/src/Matlab/supp/my_red_yellowMAP.mat Binary files differindex c2a5b87..c2a5b87 100644 --- a/Wrappers/Matlab/supp/my_red_yellowMAP.mat +++ b/src/Matlab/supp/my_red_yellowMAP.mat diff --git a/Wrappers/Python/CMakeLists.txt b/src/Python/CMakeLists.txt index c2ef855..ab95ecc 100644 --- a/Wrappers/Python/CMakeLists.txt +++ b/src/Python/CMakeLists.txt @@ -7,7 +7,7 @@ project(regulariserPython) # The version number. #set (CIL_VERSION $ENV{CIL_VERSION} CACHE INTERNAL "Core Imaging Library version" FORCE) - +message("Creating Python Wrapper") # conda orchestrated build message("CIL_VERSION: ${CIL_VERSION}") #include (GenerateExportHeader) @@ -19,7 +19,7 @@ endif() ## Build the regularisers package as a library -message("Creating Regularisers as shared library") +#TODO message("Creating Regularisers as shared library") message("CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}") @@ -87,7 +87,7 @@ if (PYTHONINTERP_FOUND) set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup-regularisers.py.in") set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup-regularisers.py") #set(DEPS "${CMAKE_CURRENT_SOURCE_DIR}/module/__init__.py") - set (DEPS "${CMAKE_BINARY_DIR}/Core/") + set (DEPS "${CMAKE_BINARY_DIR}/src/Core/") set(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build/timestamp") configure_file(${SETUP_PY_IN} ${SETUP_PY}) @@ -99,9 +99,9 @@ if (PYTHONINTERP_FOUND) COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/ccpi ${CMAKE_CURRENT_BINARY_DIR}/ccpi COMMAND ${CMAKE_COMMAND} -E env CIL_VERSION=${CIL_VERSION} - PREFIX=${CMAKE_SOURCE_DIR}/Core - LIBRARY_INC=${CMAKE_SOURCE_DIR}/Core - LIBRARY_LIB=${CMAKE_BINARY_DIR}/Core + PREFIX=${CMAKE_SOURCE_DIR}/src/Core + LIBRARY_INC=${CMAKE_SOURCE_DIR}/src/Core + LIBRARY_LIB=${CMAKE_BINARY_DIR}/src/Core ${PYTHON_EXECUTABLE} ${SETUP_PY} install COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT} DEPENDS cilreg) @@ -112,9 +112,9 @@ if (PYTHONINTERP_FOUND) COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/ccpi ${CMAKE_CURRENT_BINARY_DIR}/ccpi COMMAND ${CMAKE_COMMAND} -E env CIL_VERSION=${CIL_VERSION} - PREFIX=${CMAKE_SOURCE_DIR}/Core - LIBRARY_INC=${CMAKE_SOURCE_DIR}/Core - LIBRARY_LIB=${CMAKE_BINARY_DIR}/Core/${CMAKE_BUILD_TYPE} + PREFIX=${CMAKE_SOURCE_DIR}/src/Core + LIBRARY_INC=${CMAKE_SOURCE_DIR}/src/Core + LIBRARY_LIB=${CMAKE_BINARY_DIR}/src/Core/${CMAKE_BUILD_TYPE} ${PYTHON_EXECUTABLE} ${SETUP_PY} build_ext --inplace COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT} DEPENDS cilreg) @@ -123,9 +123,9 @@ if (PYTHONINTERP_FOUND) COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/ccpi ${CMAKE_CURRENT_BINARY_DIR}/ccpi COMMAND ${CMAKE_COMMAND} -E env CIL_VERSION=${CIL_VERSION} - PREFIX=${CMAKE_SOURCE_DIR}/Core - LIBRARY_INC=${CMAKE_SOURCE_DIR}/Core - LIBRARY_LIB=${CMAKE_BINARY_DIR}/Core + PREFIX=${CMAKE_SOURCE_DIR}/src/Core + LIBRARY_INC=${CMAKE_SOURCE_DIR}/src/Core + LIBRARY_LIB=${CMAKE_BINARY_DIR}/src/Core ${PYTHON_EXECUTABLE} ${SETUP_PY} build_ext --inplace COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT} DEPENDS cilreg) diff --git a/Wrappers/Python/ccpi/filters/__init__.py b/src/Python/ccpi/__init__.py index e69de29..e69de29 100644 --- a/Wrappers/Python/ccpi/filters/__init__.py +++ b/src/Python/ccpi/__init__.py diff --git a/src/Python/ccpi/filters/__init__.py b/src/Python/ccpi/filters/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/Python/ccpi/filters/__init__.py diff --git a/Wrappers/Python/ccpi/filters/regularisers.py b/src/Python/ccpi/filters/regularisers.py index 588ea32..588ea32 100644 --- a/Wrappers/Python/ccpi/filters/regularisers.py +++ b/src/Python/ccpi/filters/regularisers.py diff --git a/Wrappers/Python/setup-regularisers.py.in b/src/Python/setup-regularisers.py.in index 16fb380..82d9f9f 100644 --- a/Wrappers/Python/setup-regularisers.py.in +++ b/src/Python/setup-regularisers.py.in @@ -34,18 +34,18 @@ extra_libraries = ['cilreg'] print ("extra_library_dirs " , extra_library_dirs) -extra_include_dirs += [os.path.join(".." , ".." , "Core"), - os.path.join(".." , ".." , "Core", "regularisers_CPU"), - os.path.join(".." , ".." , "Core", "inpainters_CPU"), - os.path.join(".." , ".." , "Core", "regularisers_GPU" , "TV_FGP" ) , - os.path.join(".." , ".." , "Core", "regularisers_GPU" , "TV_ROF" ) , - os.path.join(".." , ".." , "Core", "regularisers_GPU" , "TV_SB" ) , - os.path.join(".." , ".." , "Core", "regularisers_GPU" , "TGV" ) , - os.path.join(".." , ".." , "Core", "regularisers_GPU" , "LLTROF" ) , - os.path.join(".." , ".." , "Core", "regularisers_GPU" , "NDF" ) , - os.path.join(".." , ".." , "Core", "regularisers_GPU" , "dTV_FGP" ) , - os.path.join(".." , ".." , "Core", "regularisers_GPU" , "DIFF4th" ) , - os.path.join(".." , ".." , "Core", "regularisers_GPU" , "PatchSelect" ) , +extra_include_dirs += [os.path.join(".." , "Core"), + os.path.join(".." , "Core", "regularisers_CPU"), + os.path.join(".." , "Core", "inpainters_CPU"), + os.path.join(".." , "Core", "regularisers_GPU" , "TV_FGP" ) , + os.path.join(".." , "Core", "regularisers_GPU" , "TV_ROF" ) , + os.path.join(".." , "Core", "regularisers_GPU" , "TV_SB" ) , + os.path.join(".." , "Core", "regularisers_GPU" , "TGV" ) , + os.path.join(".." , "Core", "regularisers_GPU" , "LLTROF" ) , + os.path.join(".." , "Core", "regularisers_GPU" , "NDF" ) , + os.path.join(".." , "Core", "regularisers_GPU" , "dTV_FGP" ) , + os.path.join(".." , "Core", "regularisers_GPU" , "DIFF4th" ) , + os.path.join(".." , "Core", "regularisers_GPU" , "PatchSelect" ) , "."] if platform.system() == 'Windows': diff --git a/Wrappers/Python/src/cpu_regularisers.pyx b/src/Python/src/cpu_regularisers.pyx index 11a0617..11a0617 100644 --- a/Wrappers/Python/src/cpu_regularisers.pyx +++ b/src/Python/src/cpu_regularisers.pyx diff --git a/Wrappers/Python/src/gpu_regularisers.pyx b/src/Python/src/gpu_regularisers.pyx index b52f669..b52f669 100644 --- a/Wrappers/Python/src/gpu_regularisers.pyx +++ b/src/Python/src/gpu_regularisers.pyx diff --git a/data/lena_gray_512.tif b/test/lena_gray_512.tif Binary files differindex f80cafc..f80cafc 100644 --- a/data/lena_gray_512.tif +++ b/test/lena_gray_512.tif diff --git a/test/test_CPU_regularisers.py b/test/test_CPU_regularisers.py new file mode 100644 index 0000000..8940926 --- /dev/null +++ b/test/test_CPU_regularisers.py @@ -0,0 +1,128 @@ +import unittest +import math +import os +import timeit +from ccpi.filters.regularisers import FGP_TV, SB_TV, TGV, LLT_ROF, FGP_dTV, NDF, Diff4th, ROF_TV +from testroutines import * + +############################################################################### + +class TestRegularisers(unittest.TestCase): + + def getPars(self): + filename = os.path.join("lena_gray_512.tif") + plt = TiffReader() + # read image + Im = plt.imread(filename) + Im = np.asarray(Im, dtype='float32') + Im = Im / 255 + perc = 0.05 + u0 = Im + np.random.normal(loc=0, + scale=perc * Im, + size=np.shape(Im)) + u_ref = Im + np.random.normal(loc=0, + scale=0.01 * Im, + size=np.shape(Im)) + # map the u0 u0->u0>0 + # f = np.frompyfunc(lambda x: 0 if x < 0 else x, 1,1) + u0 = u0.astype('float32') + u_ref = u_ref.astype('float32') + # set parameters + #pars = {'algorithm': alg, \ + # 'input': u0, \ + # 'regularisation_parameter': 0.04, \ + # 'number_of_iterations': noi, \ + # 'tolerance_constant': 0.00001, \ + # 'methodTV': 0, \ + # 'nonneg': 0, \ + # 'printingOut': 0, \ + # 'time_marching_parameter': 0.00002 + # } + return Im,u0,u_ref + + + def test_FGP_TV_CPU(self): + Im,input,ref = self.getPars() + + fgp_cpu = FGP_TV(input,0.04,1200,1e-5,0,0,0,'cpu'); + + rms = rmse(Im, fgp_cpu) + + self.assertAlmostEqual(rms,0.02,delta=0.01) + + def test_TV_ROF_CPU(self): + # set parameters + Im, input,ref = self.getPars() + # call routine + fgp_cpu = ROF_TV(input,0.04,1200,2e-5, 'cpu') + + rms = rmse(Im, fgp_cpu) + + # now test that it generates some expected output + self.assertAlmostEqual(rms,0.02,delta=0.01) + + def test_SB_TV_CPU(self): + # set parameters + Im, input,ref = self.getPars() + # call routine + sb_cpu = SB_TV(input,0.04,150,1e-5,0,0,'cpu') + + rms = rmse(Im, sb_cpu) + + # now test that it generates some expected output + self.assertAlmostEqual(rms,0.02,delta=0.01) + + def test_TGV_CPU(self): + # set parameters + Im, input,ref = self.getPars() + # call routine + sb_cpu = TGV(input,0.04,1.0,2.0,250,12,'cpu') + + rms = rmse(Im, sb_cpu) + + # now test that it generates some expected output + self.assertAlmostEqual(rms,0.02,delta=0.01) + + def test_LLT_ROF_CPU(self): + # set parameters + Im, input,ref = self.getPars() + # call routine + sb_cpu = LLT_ROF(input,0.04,0.01,1000,1e-4,'cpu') + + rms = rmse(Im, sb_cpu) + + # now test that it generates some expected output + self.assertAlmostEqual(rms,0.02,delta=0.01) + + def test_NDF_CPU(self): + # set parameters + Im, input,ref = self.getPars() + # call routine + sb_cpu = NDF(input, 0.06, 0.04,1000,0.025,1, 'cpu') + + rms = rmse(Im, sb_cpu) + + # now test that it generates some expected output + self.assertAlmostEqual(rms, 0.02, delta=0.01) + + def test_Diff4th_CPU(self): + # set parameters + Im, input,ref = self.getPars() + # call routine + sb_cpu = Diff4th(input, 3.5,0.02,500,0.001, 'cpu') + + rms = rmse(Im, sb_cpu) + + # now test that it generates some expected output + self.assertAlmostEqual(rms, 0.02, delta=0.01) + + def test_FGP_dTV_CPU(self): + # set parameters + Im, input,ref = self.getPars() + # call routine + sb_cpu = FGP_dTV(input,ref,0.04,1000,1e-7,0.2,0,0,0, 'cpu') + + rms = rmse(Im, sb_cpu) + + # now test that it generates some expected output + self.assertAlmostEqual(rms, 0.02, delta=0.01) diff --git a/test/testroutines.py b/test/testroutines.py new file mode 100644 index 0000000..8da5c5e --- /dev/null +++ b/test/testroutines.py @@ -0,0 +1,37 @@ +import numpy as np +from PIL import Image + +class TiffReader(object): + def imread(self, filename): + return np.asarray(Image.open(filename)) + + +############################################################################### +def printParametersToString(pars): + txt = r'' + for key, value in pars.items(): + if key == 'algorithm': + txt += "{0} = {1}".format(key, value.__name__) + elif key == 'input': + txt += "{0} = {1}".format(key, np.shape(value)) + elif key == 'refdata': + txt += "{0} = {1}".format(key, np.shape(value)) + else: + txt += "{0} = {1}".format(key, value) + txt += '\n' + return txt + + +def nrmse(im1, im2): + rmse = np.sqrt(np.sum((im2 - im1) ** 2) / float(im1.size)) + max_val = max(np.max(im1), np.max(im2)) + min_val = min(np.min(im1), np.min(im2)) + return 1 - (rmse / (max_val - min_val)) + + +def rmse(im1, im2): + rmse = np.sqrt(np.sum((im1 - im2) ** 2) / float(im1.size)) + return rmse + + +############################################################################### |