Quantcast
Channel: Erik Smistad
Browsing all 21 articles
Browse latest View live

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 Article



Simple 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 Article

Getting 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 Article

Measuring 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 Article

Gaussian 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 Article


GPU-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 Article

Memory-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 Article

Level 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 Article


OpenCL-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 Article


OpenCL 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 Article

Real-time medical surface extraction with FAST

This is a video of an example of the

View Article

Visualizing 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 Article

Vessel 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 Article


Object 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 Article

Fix 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 Article


Using 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 Article

Norges 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 Article


Highlighting 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 Article

Deep 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 Article

AMD 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
Browsing all 21 articles
Browse latest View live




Latest Images