CUDA implementation of "Distance Regularized Level Set Evolution and Its Application to Image Segmentation" by Li et al
It is capable of running this modality of level set algorithm with iterative calls to a few CUDA kernels. On a NVIDIA GTX 1060 6GB it can segment a 256x256 image in a little under 4s, but there is a ton of room for optimizations.
- Cuda v9.1
- Easiest way would be to clone the
0_Simple\template
example project from CUDA samples, put the code in there and set it up - Solution and project files for Visual Studio 2015 are also provided
- Just run the program, it will output (or overwrite)
input.dat
andoutput.dat
files on the source directory. These are just packed 256*256 32-bit floats. For easy viewing, I recommend using ImageJ, and picking Import->Raw, choosing "32-bit Real" for the image type, 256x256 pixels and checking "Little-endian byte order", if that is the case for you - You can configure the DRLSE parameters within the runCUDA function, but be aware: They are extremely sensitive and interdependent. See my other repo for a program that uses genetic algorithms to find those out for you
- Narrowband optimizations