• Stars
    star
    192
  • Rank 202,019 (Top 4 %)
  • Language
    C
  • License
    Other
  • Created over 13 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A GPU implementation of the Marching Cubes algorithm for extracting surfaces from volumes using OpenCL and OpenGL

About

A GPU implementation of the Marching Cubes algorithm for extracting surfaces from volumes using OpenCL and OpenGL. See http://www.eriksmistad.no/marching-cubes-implementation-using-opencl-and-opengl/ for detailed information about this implementation.

Note that this software has been moved into the FAST framework where it is further developed and maintained.

Dependencies

OpenGL, GLUT, GLU, GLEW and OpenCL (with C++ bindings)

Notes about implementation

  • Example 3D RAW files can be downloaded from www.volvis.org
  • Currently only supports 8 bit raw files, but should be easily extended to other types
  • Due to the lack of 3D texture write support on NVIDIA GPUs a slower version is used on NVIDIA GPUs. This version uses regular buffers and morton codes to emulate 3D caching. (not optimal, but at least it works)
  • See LICENCE file for license information
  • If you clone the project, remember to run git submodule init and git submodule update to fetch the contents of the OpenCLUtilities submodule

Compiling

Use the attached CMakeLists.txt to compile the program: cmake CMakeLists.txt

Usage

Run the program with the following arguments:

filename.raw sizeX sizeY sizeZ [stepSizeX stepSizeY stepSizeZ] [spacingX spacingY spacingZ]

More Repositories

1

FAST

A framework for high-performance medical image processing, neural network inference and visualization
C++
441
star
2

OpenCL-Getting-Started

A small "getting started" tutorial for OpenCL. See http://www.eriksmistad.no/getting-started-with-opencl-and-gpu-computing/ for more info
C
95
star
3

Tube-Segmentation-Framework

A software for fast segmentation and centerline extraction of tubular structures (e.g. blood vessels and airways) from different modalities and organs using GPUs and OpenCL
C++
92
star
4

OpenCLUtilities

A small set of function based on the OpenCL C++ bindings to help set up an OpenCL and OpenCL-GL context as well as compiling OpenCL code
C++
36
star
5

OpenCL-Gaussian-Blur

An example of Gaussian blur using OpenCL and the built-in Images/textures
C++
32
star
6

annotationweb

A web-based annnotation system for easy annotation of image sequences such as ultrasound and camera recordings
Python
32
star
7

OpenCL-GVF

An optimized OpenCL implementation of Gradient Vector Flow (GVF) that runs on GPUs and CPUs for both 2D and 3D. For more details about the implementation, see the scientific article Real-time gradient vector flow on GPUs using OpenCL http://www.springerlink.com/content/v0071r27706u5135/
C++
30
star
8

visualize-caffe

Some useful python functions for visualizing a caffe network
Python
27
star
9

SIPL

The Simple Image Processing Library (SIPL) is a C++ library with the main goal of making it easy to go from an algorithm concept to pictures on the screen.
C++
27
star
10

GTest

Just a simple test of the google C++ unit test framework (GTest)
C++
25
star
11

3D-Gradient-Vector-Flow-for-Matlab

This is an implementation of Gradient Vector Flow (GVF) for 3D in Matlab. It is based on the original 2D implementation of Xu and Prince.
MATLAB
22
star
12

convert-tensorflow-model-to-tensorrt-uff

Simple script to convert a frozen tensorflow .pb file to TensorRT UFF format
Python
18
star
13

OpenCL-Level-Set-Segmentation

Parallel/GPU level set volume segmentation using OpenCL
C++
18
star
14

konverter-norgeskart-projeksjon

Dette scriptet konverterer norgeskart fra genorge i UTM-33 projeksjon til EPSG:3857 som Google og Leaflet bruker
Python
13
star
15

Qt-OpenGL-OpenCL-Interoperability

Testing Qt, OpenGL and OpenCL interoperability
C++
10
star
16

Multiple-Windows-Single-OpenGL-Context

A simple test for having multiple windows with the same OpenGL context using GLUT
C++
9
star
17

Memory-mapped-file

Creating a memory mapped file using the boost iostrames library
C++
4
star
18

OpenCLUtilityLibrary

C++
4
star
19

GPU-Multigrid-Gradient-Vector-Flow

A GPU implementation of a full multgrid solver of Gradient Vector Flow (GVF) using OpenCL
C++
4
star
20

SIPL-Example

This is an example of how to use the Simple Image Processing Library (see www.github.com/smistad/SIPL/).
C++
4
star
21

Gradient-Vector-Flow

C++ implementation of Gradient Vector Flow
C++
3
star
22

FAST-dependencies

Project for building third party library dependencies of FAST
CMake
2
star
23

simple-cpp-plugin-test

Small test of a simple plugin system in C++ for Windows and Linux
C++
2
star
24

FAST-example-project

C++
1
star
25

FAST-WSI-pipeline-and-gui

C++
1
star
26

FAST-data-hub

A web based system for sharing and deploying medical image data, neural network models and pipelines for FAST
CSS
1
star
27

Level-Set-Segmentation

C
1
star
28

SWIG-test

A test for creating python bindings of a C++ library using SWIG and CMake
C++
1
star
29

Detect-Screen-GPU-With-OpenCL

A test script to see if it is possible to detect which GPU is connected to the screen using OpenCL. The purpose of this is to use the GPU connected to screen for visualizations and the others for computation only.
C++
1
star