Marching Cubes implementation using OpenCL and OpenGL
In a school project I recently created a fast implementation of Marching Cubes that uses OpenCL to extract surfaces from volumetric datasets and OpenGL to render the surfaces on screen. I wrote a paper...
View ArticleSimple Image Processing Library
I do a lot image processing both on images and 3D images / volumes. There exist many image processing libraries out there. Some are big and some are small, but none seems to fit...
View ArticleGetting started with Google Test (GTest) on Ubuntu
Google test is a framework for writing C++ unit tests. In this short post, I explain how to set it up in Ubuntu. Start by installing the gtest development package: sudo apt-get install libgtest-dev...
View ArticleMeasuring runtime in milliseconds using the C++ 11 chrono library
I have been playing around with the new C++ 11 standard. It includes a nice new library called chrono which includes some useful clocks and timers. Below is an example of some macros you...
View ArticleGaussian Blur using OpenCL and the built-in Images/Textures
If used correctly, OpenCL images / textures can give you large speedups on GPUs. In this post, I’ll show you a very short example of how to use OpenCL to blur/smooth an image. The...
View ArticleGPU-based Gradient Vector Flow using OpenCL
Gradient Vector Flow (GVF) is a feature-preserving diffusion of gradient information. It was originally introduced by Xu and Prince to drive snakes, or active contours, towards edges of interest in...
View ArticleMemory-mapped files using the boost library
The objective of memory mapping files is to increase I/O performance. Memory mapping a file creates a pointer to a segment in virtual memory and the actual loading is performed by the Operating System...
View ArticleLevel set segmentation on GPUs using OpenCL
Level sets is a mathematical method of evolving contours in Cartesian grids such as images. The method works by considering a function , called the level set function, which has one more dimension than...
View ArticleOpenCL-OpenGL interoperability problems on AMD GPUs and Linux
After experimenting with the OpenCL-OpenGL interoperability on AMD GPUs on Ubuntu Linux I got some cryptic error messages from X (see below). This happens both for the AMD APP samples like SimpleGL and...
View ArticleOpenCL bugs
OpenCL is a great framework, however, AMD’s, NVIDIA’s and Apple’s OpenCL compilers are not. I have worked over 4 years with OpenCL and I have experienced a lot of bugs. Here I present a...
View ArticleVisualizing learned features of a caffe neural network
After training a convolutional neural network, one often wants to see what the network has learned. The following python function creates and displays an image with all convolutions of a specific layer...
View ArticleVessel detection in ultrasound images using deep convolutional neural networks
The video shows our first result in the field of deep learning and convolutional neural networks. We designed a neural network which can automatically locate and segment blood vessels in real-time from...
View ArticleObject tracking with Kinect and FAST
This video shows the work in progress on an algorithm for tracking objects captured by a Kinect camera using the FAST framework. FAST now comes with a Kinect module which uses libfreenect2 to stream...
View ArticleFix NVIDIA driver 387 for Linux kernel 4.13+ on Ubuntu
Apparently, the current NVIDIA drivers (387) which comes with CUDA 9.1 doesn’t compile with the new Linux kernels (4.13+) on Ubuntu. The error report from DKMS will say something like:...
View ArticleUsing deep neural networks to automate cardiac measurements in 2D ultrasound...
This video shows an application we are currently working on at the Centre for Innovative Ultrasound Solutions (CIUS). The application is developed using FAST which is integrated with TensorFlow for...
View ArticleNorges fylker og kommuner i GeoJSON format
Her finner du Norges fylke og kommunegrenser i GeoJSON format og EPSG:3857 projeksjon. Disse grensene er opprinnelig hentet fra Geonorge, Norges offisielle kart database. Grensekoordinatene fra...
View ArticleHighlighting nerves and blood vessels for ultrasound axillary nerve blocks...
Just published an article in Journal of Medical Imaging on using neural networks to highlight nerves and blood vessels seen during ultrasound-guided axillary nerve blocks. The video above shows the...
View ArticleDeep learning inference engines
I have been working a lot lately with different deep learning inference engines, integrating them into the FAST framework. Specifically I have been working with Google’s TensorFlow (with cuDNN...
View ArticleAMD OpenCL-OpenGL interoperability on Ubuntu Linux
As far as I know, the OpenCL-OpenGL interopability on Linux only works with the amdgpu pro driver. In this post I explain how you can get the CL-GL interop to work on ubuntu. Start...
View Article
More Pages to Explore .....