
Search

Segmenting images into "super pixels" is lately a very hot topic. One implementation of such a technique is by Felzenszwalb and Huttenlocher. We propose a new class, vtkSuperPixelSegmentation, which has wrapped Felzenszwalb's code (with permission) to provide [...]

The Wavefront OBJ format is a common file format for storing mesh data. It is convenient to be able to write VTK data structures out into this format, as the data can then be used in software that can read OBJ files.

This document presents a set of classes to enable operations on itkPointSet objects. In particular, itkTransformPointSetFilter allows a transformation to be applied to a set of points. We propose these classes as addition to the Insight Toolkit ITK.

This document presents a set of classes which implement a region growing algorithm whose criterion for growth is different than existing ITK region growing algorithms. The region is grown into the query pixel based only on the difference between the query [...]

This document presents an implementation of a stratified mesh sampling algorithm in the VTK framework. This code was adapted directly from the original implementation by Diego Nehab, with permission. We present a class, vtkStratifiedSampling, which uniformly [...]

This document presents a set of classes to read a PTX file (a common file format produced by LiDAR scanners) into an itkMesh object. We propose these classes as addition to the Insight Toolkit ITK (www.itk.org).

K-Means clustering is an excellent technique for clustering points when the number of clusters is known. We present a implementation (vtkKMeanClustering) of the algorithm written in a VTK context. We also implement the K-Means++ initialization method which [...]

RANdom SAmple Concensus (RANSAC) is an iterative method to estimate parameters of a model. It assumes that their are inliers in the data which are well explained by the chosen model. We propose a new class for VTK, vtkRANSACPlane, which estimates the best [...]

Leica LiDAR scanners output points in the PTX file format. It is often useful to convert this format to a standard VTK point cloud or mesh format before processing. We propose a new class, vtkPTXReader, to provide this functionality.

Voodoo is a popular, free structure from motion software package. It takes several, ordered images as input and computes the camera parameters of each image as well as a point cloud of an estimate of the 3D structure of the scene. This document presents a set [...]

Region growing is a technique that can be used to propagate information over a mesh. We provide an iterator that can be used with vtkPointSet subclasses to traverse a mesh in a reasonable fashion. A "front" is emanated from a selected starting vertex, and the [...]

This document presents a set of classes (vtkPhysicalCamera, vtkImageCamera) to enable a camera and an image acquired by that camera to be visualized in a 3D scene. Two situations where one would want to visualize camaras with associated images are range data [...]

In recent years, Light Detection and Ranging (LiDAR) scanners have become more prevalent in the scientific community. They capture a "2.5-D" image of a scene by sending out thousands of laser pulses and using time-of-flight calculations to determine the [...]

Expectation maximization (EM) is a common technique for estimating the parameters of a model after having collected observations of data generated by the model. We first explain the algorithm, then present our impelementation. We focus on estimation of the [...]

It is convenient to acquire data in a format which VTK can read directly. To enable this, we provide a wrapper of the Hokuyo UTM-30LX interface in a class vtkHokuyo. The code is currently hosted at git@github.com:daviddoria/vtkHokuyo.git. This class only [...]

Mean shift clustering is an excellent technique for clustering points when the number of clusters is not known. We present a implementation (vtkMeanShiftClustering) of the simplest version of the algorithm written in a VTK context.
The code is currently [...]

This document presents a set of classes (vtkPointSetSurfaceReconstruction, vtkVoxelizePolyData) to produce a surface from an oriented point set. These classes are implemented as VTK filters. A Paraview plugin interface is provided to allow extremely easy [...]

This code provides an implementation of two techniques from ``Poisson Image Editing'' on ITK images. First, we fill a hole in an image given only the pixel values on the boundary. Second, we copy a patch of an image into another image and make the result as [...]

This code provides a base implementation of Loopy Belief Propagation on MRFs in ITK. We use binary image denoising as an example problem to demonstrate this code.
This document is intended only to describe the implementation, not the theory. A complete [...]

This document presents a system to fill a hole in an image by copying patches from elsewhere in the image. These patches should be a good continuation of the hole boundary into the hole. The patch copying is done in an order which attempts to preserve linear [...]

This document presents an implementation of an algorithm to perform a morphological opening on a graph. The intent is to remove short branches in a graph while preserving the large scale structure. This implementation is based on the algorithm described in [...]

This document presents an implementation of an algorithm to find a low edge-count approximation of a complex, discrete, 2D closed contour. This implementation is based on the algorithm described in ``Using Aerial Lidar Data to Segment And Model Buildings'' [...]

Point Set Processing for VTK - Outlier Removal, Curvature Estimation, Normal Estimation, Normal Orientation
Published in The VTK Journal
Published in The VTK Journal
This document presents a set of classes (vtkPointSetOutlierRemoval, vtkPointSetNormalEstimation, vtkPointSetNormalOrientation, vtkPointSetCurvatureEstimation, vtkEuclideanMinimumSpanningTree, and vtkRiemannianGraphFilter) to enable several basic operations on [...]

This document presents a VTK implementation of the algorithm described in
"A clustering method for efficient segmentation of 3D laser data" by Klasing, Klaas Wollherr, Dirk, and Buss, Martin. The algorithm .
The code is available [...]

This code provides an implementation of a simple technique to fill small holes in an image. We use a multi-pass method that fills pixels on the border of a hole with the average of its non-hole 8-connected neighbors. This process is repeated until all holes [...]

This document presents an implementation of Moore Neighbor Tracing - an algorithm to find an ordered outline of a blob or contour in an image.
An excellent tutorial on Moore Neighbor Tracing is provided [...]

ItkImageFunctionImageFilter: A New Filter To Apply An itkImageFunction To Every Pixel In An itkImage
Published in The Insight Journal
Published in The Insight Journal
This document presents a new class to apply an itkImageFunction to every pixel in an itkImage. This functionality is almost identical to itkUnaryFunctorImageFilter, but it uses an itkImageFunction rather than an itk::Functor. As some functionalities in ITK [...]

This document presents a GUI application to manually select corresponding points in two data sets. The data sets can each be either an image or a point cloud. If both data sets are images, the functionality is equivalent to Matlab's 'cpselect' function. There [...]

Region growing is a technique that can be used to propagate information over a mesh. In a previous submission, "A Mesh Front Iterator for VTK", we introduced an iterator that can be used with vtkPointSet subclasses to traverse a mesh. It is sometimes useful [...]

This document presents a VTK wrapper of an extracted portion of ‘3DTK - The 3D Toolkit’
(http://threedtk.de) to enable a developer to find planes in 3D point cloud data.

This document presents an implementation of the Poisson surface reconstruction algorithm in the VTK framework. (This code was, with permission, adapted directly from the original implementation by Kazhdan, Bolitho, and Hugues. The original implementation can [...]

This document presents a system to "scribble" on an image to mark foreground and background pixels and then feed these pixels to a graph cuts segmentation technique. The interaction is done using the Visualization Toolkit and the processing is done using the [...]

This document presents an implementation of two algorithms, Voronoi Neighbors and Binary Space Partition (BSP) Neighbors. These algorithms find neighbors of a point in a point set that are somehow ``better'' than a ``K nearest neighbors'' or a ``all neighbors [...]
