<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Big Blob</title>
	<atom:link href="http://www.thebigblob.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thebigblob.com</link>
	<description>A blog of blobs</description>
	<lastBuildDate>Tue, 26 Mar 2013 10:49:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Memory-mapped files using the boost library</title>
		<link>http://www.thebigblob.com/memory-mapped-files-using-the-boost-library/</link>
		<comments>http://www.thebigblob.com/memory-mapped-files-using-the-boost-library/#comments</comments>
		<pubDate>Thu, 11 Oct 2012 09:30:06 +0000</pubDate>
		<dc:creator>Erik Smistad</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[cmake]]></category>
		<category><![CDATA[iostreams]]></category>
		<category><![CDATA[memory-mapped file]]></category>
		<category><![CDATA[mmap]]></category>

		<guid isPermaLink="false">http://www.thebigblob.com/?p=767</guid>
		<description><![CDATA[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 one page at a time. For large files, this is much faster than using traditional methods in C such  [...]]]></description>
		<wfw:commentRss>http://www.thebigblob.com/memory-mapped-files-using-the-boost-library/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>GPU-based Gradient Vector Flow using OpenCL</title>
		<link>http://www.thebigblob.com/gpu-based-gradient-vector-flow-using-opencl/</link>
		<comments>http://www.thebigblob.com/gpu-based-gradient-vector-flow-using-opencl/#comments</comments>
		<pubDate>Mon, 23 Jul 2012 12:23:56 +0000</pubDate>
		<dc:creator>Erik Smistad</dc:creator>
				<category><![CDATA[Image Processing & GFX]]></category>
		<category><![CDATA[OpenCL]]></category>
		<category><![CDATA[2D]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[CL_SNORM_INT16]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[gradient vector flow]]></category>
		<category><![CDATA[gvf]]></category>
		<category><![CDATA[real-time]]></category>
		<category><![CDATA[texture]]></category>

		<guid isPermaLink="false">http://www.thebigblob.com/?p=739</guid>
		<description><![CDATA[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 image segmentation. However, GVF is also used for detection of tubular structures and  [...]]]></description>
		<wfw:commentRss>http://www.thebigblob.com/gpu-based-gradient-vector-flow-using-opencl/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Gaussian Blur using OpenCL and the built-in Images/Textures</title>
		<link>http://www.thebigblob.com/gaussian-blur-using-opencl-and-the-built-in-images-textures/</link>
		<comments>http://www.thebigblob.com/gaussian-blur-using-opencl-and-the-built-in-images-textures/#comments</comments>
		<pubDate>Tue, 17 Jul 2012 09:06:17 +0000</pubDate>
		<dc:creator>Erik Smistad</dc:creator>
				<category><![CDATA[Image Processing & GFX]]></category>
		<category><![CDATA[OpenCL]]></category>
		<category><![CDATA[Blur]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[convolution]]></category>
		<category><![CDATA[Gaussian Blur]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[ImageFormat]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[interpolation]]></category>
		<category><![CDATA[normalized floats]]></category>
		<category><![CDATA[OpenCLUtilities]]></category>
		<category><![CDATA[sipl]]></category>
		<category><![CDATA[Textures]]></category>

		<guid isPermaLink="false">http://www.thebigblob.com/?p=669</guid>
		<description><![CDATA[



If used correctly, OpenCL images / textures can give you large speedups on GPUs. In this post, I&#8217;ll show you a very short example of how to use OpenCL to blur/smooth an image. The goal is to show how images/textures are used in OpenCL and the benefits of using them. 
The source code can be  [...]]]></description>
		<wfw:commentRss>http://www.thebigblob.com/gaussian-blur-using-opencl-and-the-built-in-images-textures/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Measuring runtime in milliseconds using the C++ 11 chrono library</title>
		<link>http://www.thebigblob.com/measuring-runtime-in-milliseconds-using-the-c-11-chrono-library/</link>
		<comments>http://www.thebigblob.com/measuring-runtime-in-milliseconds-using-the-c-11-chrono-library/#comments</comments>
		<pubDate>Fri, 13 Jul 2012 08:11:58 +0000</pubDate>
		<dc:creator>Erik Smistad</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[c++0x]]></category>
		<category><![CDATA[c++11]]></category>
		<category><![CDATA[chrono]]></category>
		<category><![CDATA[milliseconds]]></category>
		<category><![CDATA[runtime]]></category>
		<category><![CDATA[timing]]></category>

		<guid isPermaLink="false">http://www.thebigblob.com/?p=689</guid>
		<description><![CDATA[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 can use to time your applications in milliseconds and print out the result. Timing can be turned off by removing  [...]]]></description>
		<wfw:commentRss>http://www.thebigblob.com/measuring-runtime-in-milliseconds-using-the-c-11-chrono-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting started with Google Test (GTest) on Ubuntu</title>
		<link>http://www.thebigblob.com/getting-started-with-google-test-on-ubuntu/</link>
		<comments>http://www.thebigblob.com/getting-started-with-google-test-on-ubuntu/#comments</comments>
		<pubDate>Thu, 05 Jul 2012 13:44:05 +0000</pubDate>
		<dc:creator>Erik Smistad</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[cmake]]></category>
		<category><![CDATA[google test]]></category>
		<category><![CDATA[googletest]]></category>
		<category><![CDATA[gtest]]></category>
		<category><![CDATA[libgtest-dev]]></category>
		<category><![CDATA[pthread]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[unit test]]></category>

		<guid isPermaLink="false">http://www.thebigblob.com/?p=677</guid>
		<description><![CDATA[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

Note that this package only install source files. You have to compile the code yourself to create  [...]]]></description>
		<wfw:commentRss>http://www.thebigblob.com/getting-started-with-google-test-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Simple Image Processing Library</title>
		<link>http://www.thebigblob.com/simple-image-processing-library/</link>
		<comments>http://www.thebigblob.com/simple-image-processing-library/#comments</comments>
		<pubDate>Tue, 01 May 2012 11:21:55 +0000</pubDate>
		<dc:creator>Erik Smistad</dc:creator>
				<category><![CDATA[Image Processing & GFX]]></category>
		<category><![CDATA[image gradient]]></category>
		<category><![CDATA[image processing library]]></category>
		<category><![CDATA[maximum intensity projection]]></category>
		<category><![CDATA[simple image processing library]]></category>
		<category><![CDATA[sipl]]></category>
		<category><![CDATA[vector images]]></category>
		<category><![CDATA[volume loader]]></category>
		<category><![CDATA[volume processing]]></category>

		<guid isPermaLink="false">http://www.thebigblob.com/?p=588</guid>
		<description><![CDATA[
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 my taste. ITK is one of the major image processing libraries used in my field of research, but this library is, in my  [...]]]></description>
		<wfw:commentRss>http://www.thebigblob.com/simple-image-processing-library/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Marching Cubes implementation using OpenCL and OpenGL</title>
		<link>http://www.thebigblob.com/marching-cubes-implementation-using-opencl-and-opengl/</link>
		<comments>http://www.thebigblob.com/marching-cubes-implementation-using-opencl-and-opengl/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 09:01:26 +0000</pubDate>
		<dc:creator>Erik Smistad</dc:creator>
				<category><![CDATA[Image Processing & GFX]]></category>
		<category><![CDATA[OpenCL]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[GPGPU]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[Marching Cubes]]></category>
		<category><![CDATA[OpenCL-OpenGL interoperability]]></category>
		<category><![CDATA[surface extraction]]></category>

		<guid isPermaLink="false">http://www.thebigblob.com/?p=524</guid>
		<description><![CDATA[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 together with my two supervisors about the implementation and presented it at the Joint Workshop  [...]]]></description>
		<wfw:commentRss>http://www.thebigblob.com/marching-cubes-implementation-using-opencl-and-opengl/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>OpenCL C++ Utilities</title>
		<link>http://www.thebigblob.com/opencl-utilities/</link>
		<comments>http://www.thebigblob.com/opencl-utilities/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 12:11:37 +0000</pubDate>
		<dc:creator>Erik Smistad</dc:creator>
				<category><![CDATA[OpenCL]]></category>
		<category><![CDATA[compilation errors]]></category>
		<category><![CDATA[context]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[OpenCL-OpenGL interoperability]]></category>
		<category><![CDATA[utility]]></category>

		<guid isPermaLink="false">http://www.thebigblob.com/?p=502</guid>
		<description><![CDATA[I recently created a small utility library for OpenCL with C++. It consists of a set of function based on the OpenCL C++ bindings to help set up an OpenCL context, compiling OpenCL code and viewing error functions. I hope these functions can be useful for others and I&#8217;m planning on adding more  [...]]]></description>
		<wfw:commentRss>http://www.thebigblob.com/opencl-utilities/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>3D Gradient Vector Flow Matlab Implementation</title>
		<link>http://www.thebigblob.com/3d-gradient-vector-flow-matlab-implementation/</link>
		<comments>http://www.thebigblob.com/3d-gradient-vector-flow-matlab-implementation/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 10:14:19 +0000</pubDate>
		<dc:creator>Erik Smistad</dc:creator>
				<category><![CDATA[Image Processing & GFX]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[active contour]]></category>
		<category><![CDATA[diffusion]]></category>
		<category><![CDATA[edge preserving]]></category>
		<category><![CDATA[feature preserving]]></category>
		<category><![CDATA[gradient vector flow]]></category>
		<category><![CDATA[gvf]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[segmentation]]></category>
		<category><![CDATA[snakes]]></category>

		<guid isPermaLink="false">http://www.thebigblob.com/?p=439</guid>
		<description><![CDATA[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 image segmentation. But GVF is also used for detection of tubular structures and skeletonization. In  [...]]]></description>
		<wfw:commentRss>http://www.thebigblob.com/3d-gradient-vector-flow-matlab-implementation/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Using the C++ bindings for OpenCL</title>
		<link>http://www.thebigblob.com/using-the-cpp-bindings-for-opencl/</link>
		<comments>http://www.thebigblob.com/using-the-cpp-bindings-for-opencl/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 15:00:43 +0000</pubDate>
		<dc:creator>Erik Smistad</dc:creator>
				<category><![CDATA[OpenCL]]></category>
		<category><![CDATA[C++ bindings]]></category>
		<category><![CDATA[GPU computing]]></category>
		<category><![CDATA[vector addition]]></category>
		<category><![CDATA[wrapper]]></category>

		<guid isPermaLink="false">http://www.thebigblob.com/?p=351</guid>
		<description><![CDATA[ While the OpenCL API is written in C, the OpenCL 1.1 specification also comes with a specification for C++ bindings. In this post I go through how to use the C++ bindings instead of C for the simple example of vector addition from my previous post Getting started with OpenCL and GPU  [...]]]></description>
		<wfw:commentRss>http://www.thebigblob.com/using-the-cpp-bindings-for-opencl/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
	</channel>
</rss>
