-
Notifications
You must be signed in to change notification settings - Fork 4
calculate mutual information and mattes mutual information in CUDA
License
yge58/mutual_information_cuda
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Project: Image Mutual Information in CUDA Developer: Yan Ge Time: March 2017 - May 2017 Source Code based on: [1] CUDA sample histogram [2] ITK Image Mutual Information sample code. (https://itk.org/Wiki/ITK/Examples/Registration/MutualInformation) _______________________________________________________________________ I dedicate this project to my mom, in celebration of her 50th birthday! _______________________________________________________________________ How to use: [1] Install ITK (It takes long, when you type "make", type "make -j 4(# of processors you have in your PC)" https://itk.org/ITK/resources/software.html) Install CMAKE (https://cmake.org/download/) [2] mkdir cudaMutualInformation tar -xvzf *.tar cd cudaMutualInformation && mkdir build && cmake ../ if cmake failed, the following may help build. [3] Build using cmake. you might need to change a few lines of code in "CMakeList.txt". Suggestions: <1> build a sample ITK program using cmake (ITK/Configuring and Building, https://itk.org/Wiki/ITK/Configuring_and_Building) <2> build a sample CUDA program using cmake (how to use cmake with cuda, https://codeyarns.com/2013/09/13/how-to-build-cuda-programs-using-cmake/) <3> now combine them, build a ITK CUDA program using my example "CMakeList.txt" (please find comment in "CMakeList.txt") [4] make [5] Copy any two images to directory "build", I have provided you with a 3D brain image (.nrrd file). You may choose any two images, they can be the same, or different, as long as ITK recognize them. [6] Example command line options: <1> use ITK (#_bin), for example ./ImageMutualInformation ManualRegistrationExample_fixed.nrrd ManualRegistrationExample_fixed.nrrd 0 #_bin <2> use CUDA (only 64-bin or 256 bin) ./ImageMutualInformation ManualRegistrationExample_fixed.nrrd ManualRegistrationExample_fixed.nrrd 1 (64 or 256) Attention: the "double" format in ITK is more precise than CUDA. For eample, if bin count is 42, ITK gives 0.00840947, while CUDA gives 0.008409. Thank you for trying this software, and I certainly welcome any comments.
About
calculate mutual information and mattes mutual information in CUDA
Topics
Resources
License
Stars
Watchers
Forks
Releases
No releases published