Admin

Author's details

Date registered: May 4, 2011
URL: http://daviddoria.com
Jabber / Google Talk: daviddoria

Latest posts

  1. Cat Scratching Post — May 7, 2013
  2. Pen — May 3, 2013
  3. Coffee Table — May 3, 2013
  4. Bookcase #2 — May 3, 2013
  5. Grill Addition — May 3, 2013

Most commented posts

  1. Loopy Belief Propagation on MRFs in ITK — 2 comments
  2. Bookcase #1 — 1 comment
  3. A Synthetic LiDAR Scanner for VTK — 1 comment
  4. Teach the “Why”, Not the “How” — 1 comment
  5. ITK Examples Wiki — 1 comment

Author's posts listings

May 07

Cat Scratching Post

IMG_2380

See more pictures of the scratching post here!

We bought a new scratching post/perch for our cats.  The base and top was originally laminated MDF.  I upgraded it by redoing the base and top with red oak, finished only with shellac.  Looks much nicer, and the shellac has no toxins for the cats …

Continue reading »

May 03

Pen

Click here to see more pictures of the pen!

This was my first time turning anything on a lathe.  I took a pen turning course and this is what I ended up with!  I was very happy with the result after only a few hours working on a lathe.

May 03

Coffee Table

IMG_4184

Click here to see more pictures of the coffee table!

This coffee table was a PROCESS.  My wife and I really wanted a neat centerpiece for our new living room and we thought the modern design of this really matched our taste.  What I didn’t know, when I was picking out wood for …

Continue reading »

May 03

Bookcase #2

IMG_4236

Click here to see more pictures of the second bookcase!

This is the second bookcase that almost matches the first.  This bookcase is the larger of the two.  It has three shelves and is the same height as the first, just wider.  Another difference is I did the front of this using …

Continue reading »

May 03

Grill Addition

IMG_4222

Click here to see more pictures of the grill extension!

My wife and I recently bought a new grill, and we thought it’d be helpful if we had a bit more surface area to place plates or food, etc.  So, I added an extension wing to the end of it!

May 03

Drying Rack

IMG_4228

I ideally need a separate finishing room in my woodshop but at this point in time, my wife won’t let me spend the money (boo!).  So, I built a drying rack where I could lay several pieces I am working on to dry instead of placing them all over the other surface tops in the …

Continue reading »

Feb 21

Bookcase #1

IMG_4055

Click here to see more pictures of the bookcase!

I am building two bookcases for our offices at home.  Both are made out of cherry and have a similar style.  This one is the smaller of the two.  It has two shelves, is 26″ wide and 35″ high.  I finished the bookshelf …

Continue reading »

Feb 21

New Workbench

Click here to see more pictures of the workbench!

As you may know, before I moved to Maryland, my workshop was in my one-car garage.  Since my wife insisted on parking in the garage (how ridiculous, right?!), everything I used had to be able to be folded up against the side of the …

Continue reading »

Feb 21

End Tables

Click here to see more pictures of the end tables!

Second on the list was to create a couple of small end tables for our basement setup.  These were made out of sassafras wood.  I’ve never worked with this wood before, but it  was actually incredibly pungent!  it smelled like strong fresh herbs while I …

Continue reading »

Feb 21

TiVo Table

Click here to see more pictures of the TiVo table!

My third major project was building a table to put in the master bedroom.  This table was specifically built to hold our TiVo and DVD player.  This was built out of black walnut.  I loved the natural color of the wood, …

Continue reading »

Jun 25

Consistency/Confidence Poster 3DIM 2009

I presented this poster at the 3-Dimensional Imaging and Modeling (3DIM) workshop in conjunction with the International Conference on Computer Vision in 2009 in Kyoto, Japan.

Jun 23

Filling Large Holes in LiDAR Data By Inpainting Depth Gradients Presentation

 

 

 

Filling Large Holes in LiDAR Data By Inpainting Depth Gradients Presentation

This presentation was given at the Point Cloud Processing Workshop in conjunction with the Computer Vision and Pattern Recognition (CVPR) conference in Providence, Rhode Island (June 2012). It summarizes the work in “Filling Large Holes in LiDAR …

Continue reading »

Jun 23

PCL Enhancements (CVPR PCL Tutorial 2012)

PCL Enhancements

I presented this talk at the Point Cloud Library Tutorial session at the Computer Vision and Pattern Recognition (CVPR) conference in Providence, Rhode Island (June, 2012). The talk focused on recent events in the Point Cloud Library, many of which were the result of several Google …

Continue reading »

May 03

Filling Large Holes in LiDAR Data By Inpainting Depth Gradients

We introduce a technique to fill large holes in LiDAR data sets. We combine concepts from patch-based image inpainting and gradient-domain image editing to simultaneously fill both texture and structure in a LiDAR scan. We discuss the problems with directly inpainting a depth image, and present a solution to this problem based on inpainting the …

Continue reading »

Mar 12

A Robotics Based Design Activity to Teach the Doppler Effect

Jonathan Ashdown, David Doria , “A Robotics Based Design Activity to Teach the Doppler Effect” 2012 IEEE Integrated STEM Education Conference.

Feb 02

A Greedy Patch-based Image Inpainting Framework

Click here to see the full publication.

We present a system for filling holes 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. There is typically no “right answer” as we are extrapolating image data …

Continue reading »

Feb 02

Poisson Editing in ITK

Click here to see the full publication.

Two very related problems in image processing are hole filling and compositing. This article explains an implementation of similar algorithms to solve both of these problems – poisson editing and …

Continue reading »

Feb 02

Kitware Source 2011 Top Submission of the Year

One of my articles, “Poisson Editing in ITK“, was chosen as one of Kitware Source’s top submissions of 2011.

Feb 01

Teaching software libraries by example

Teaching software libraries by example

Jan 30

Kitware Source 2011 Top Submission of the Year (#2)

One of my articles, “A Greedy Patch-based Image Inpainting Framework“, was chosen as one of Kitware Source’s top submissions of 2011.

Jan 30

2011 People’s Choice Award

OpenSource.com chose me as their top contributor in 2011.

Jan 06

const a*, a* const, and const a* const, oh my!

Everyone knows how to pass a pointer to a function:

void MyFunction(int*){}

int* a = new a; MyFunction(a);

But how do you make this const correct? (I learned this from here: http://www.parashift.com/c++-faq-lite/const-correctness.html#faq-18.5)

Lets start with the non-pointer const syntax:

void MyFunction(const int a){}

This means ‘a’ is passed by value, so if you change a …

Continue reading »

Nov 27

Improving the speed and quality of research via shared algorithm implementations

I wrote an article for the March 2011 Edition of IEEE GOLDRush magazine.

(Hosted locally for redundancy)

A short summary of the article is:

“Sharing and dissemination of ideas throughout a research field is absolutely critical. Recently, algorithms have become quite complex and ideas are tightly coupled to their …

Continue reading »

Nov 27

Social Coding

Social Coding

I prepared this talk for the Product Design and Innovation course at RPI to teach students about modern tools (such as Github) that allow them to work collaboratively on projects.

Nov 27

Benefits of Open Source Practices

Benefits of Open Source Practices 2011-09-15(pdf)

Benefits of Open Source Practices 2011-09-15(odp)

Benefits of Open Source Practices 2012-09-10(pdf)

Benefits of Open Source Practices 2012-09-10(odp)

I prepared this talk for the Product Design and Innovation course at RPI to encourage students to share their ideas and …

Continue reading »

Oct 01

My Wedding

400663_622505936200_423842273_n

I married my wife on October 1, 2011.  Some of our wedding photos can be viewed here!

Aug 26

Small Hole Filling in ITK

Click here to see the full publication.

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 …

Continue reading »

Aug 26

Interactive Correspondence Selection

Click here to see the full publication.

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 are …

Continue reading »

Aug 12

Moore Neighbor Tracing

Click here to see the full publication.

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 here.

The code is available here.

Aug 12

Clustering Segmentation for VTK

Please click here to read the full publication.

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 code is available here.

Jul 22

Smart Nearest Neighbors

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 within a radius” query. This type of nearest neighbor query is more …

Continue reading »

Jul 20

Morphological Opening on a Graph

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 “Efficient Closed Contour Extraction from Range Image’s Edge Points”. We have …

Continue reading »

Jul 20

Closed Loop Simplification

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” and “A Bayesian Approach to Building Footprint Extraction from Aerial LIDAR Data.”

The …

Continue reading »

Jun 27

Hough Transform Plane Detector

This document presents a VTK wrapper of an extracted portion of ‘3DTK – The 3D Toolkit’ to enable a developer to find planes in 3D point cloud data. Click here to see the publication.

May 04

Cats

I have two cats, Bebop and Ella. Surprisingly, Hayley came up with the names, not me! Bebop (aka Monkey, aka Bop, aka Bopper) is the gray domestic short hair. Sometimes I think he is smarter than I am, but sometimes, only when he wants to, he is the snuggliest cat you have ever …

Continue reading »

May 04

Bird House

Click here to see more pictures of the birdhouse!

This was my very first project. It turned out decent, but I learned first hand exactly how warped pine from a hardware store is! Even when I “measured twice and cut once”, things didn’t line up very well. After some investigation it turned out …

Continue reading »

May 04

Dog Stairs

Click here to see more picture of the stairs!

I was asked to build some small stairs so a neighbors dog with a bad knee could more easily climb onto their bed. There is a dado (aka notch) in the back two sets of legs for the previous step to sit in. Since …

Continue reading »

May 04

Cat Feeder Lockdown

kitty feeder

One of my cats, Bebop, is quite a little trouble maker. We bought the cats an automatic feeder because the other one, Ella, can’t control her food intake properly! Unfortunately, it seems that the testing process implemented by the designers of this device did not include putting it near a …

Continue reading »

May 04

Folding Workbench

Click here to see more pictures of the folding workbench!

As I only have a one car garage, if I wanted to continue to park in it as well as do some woodworking, I had to build this folding workbench. It works great!

May 04

Coffee Table

Click here to see more pictures of the coffee table!

This was my first contract gig as a wood worker. A guy on CraigsList had broken the glass on his coffee table and wanted to replace it with wood so the repair would be less expensive. I made a orange/gold inlay to …

Continue reading »

May 04

Oak Bench

Click here to see more pictures of my first project, this bench!

Pushing the limits of my woodworking skills, I built a bench out of red oak. I was extremely pleased with the result! It is happily displayed at the foot of my bed.

 

May 04

Motorized Bicycle

Motorized Bicycle

I’m still not sure about how good of an idea this was, but I decided to make a motorized bicycle. It worked pretty well, going nearly 35mph! It was a “friction drive” system – powered by rotating the tire directly. It would be pretty neat if it didn’t come to …

Continue reading »

May 04

Coil Gun

Coil Gun

This was a “pre-engineering school” attempt at a coil gun. It was a nice practical introduction to capacitors, rectification, and inductance.

May 04

Aluminum Chess Set

Chess Set

I’m not much of a chess player, but I thought this would be a good exercise to become proficient in a metal shop. The board is made from an old server rack shelf. The pieces are made from scrap aluminum stock. One team is polished and the other is sandblasted.

May 04

Kaleidoscope

Kaleidoscope Kaleidoscope

My girlfriend (now wife!) collects kaleidoscopes so I decided to make her one. They are actually quite simple – three first surface mirrors configured in a triangle stuck in a tube. Easier said than done! The result was great though! I used a laser cutter to make the acrylic stand.

May 04

Daniweb.com contributions

Daniweb.com

At the beginning of my graduate school career I realized that my C++ skills were not as refined as they needed to be. I joined an amazingly helpful formum of Daniweb.com (almost 1 Million members) . After receiving excellent, very quick help for quite some time, I realized that forums …

Continue reading »

May 04

ITK Examples Wiki

ITK Examples Wiki

Motivated by the success of the VTK Examples Wiki, I created the same platform for ITK . My hope is that this page will again significantly reduce the learning curve of these very useful, but quite complex, toolkits.

May 04

VTK Examples Wiki

VTK Examples Wiki

After struggling through the learning curve of VTK and ITK for a few years, I decided no one else should need to do the same. I created the VTK Examples Wiki to host short, compilable examples that demonstrate basic functionalities and tasks. This wiki was extremely well received by the …

Continue reading »

May 04

New Course at RPI: Introduction To Visualization

Introduction To Visualization

I co-taught a course at RPI (CSCI-4972) named “Introduction To Visualization” to share my knowledge and experience using the Visualization Toolkit (VTK). I prepared the lectures in such a way that they are usable even by people not in the course : VTK Lectures.

May 04

The role of technical forums in the progress of open source

The role of technical forums in the progress of open source

May 04

Improving the speed and quality of research via shared algorithm implementations

Improving the speed and quality of research via shared algorithm implementations

May 04

How To: Founding an Open Source Software Center at a University

How To: Founding an Open Source Software Center at a University

May 04

Open source software gains ground in higher education

Open source software gains ground in higher education. OpenSource.com, February 2011

May 04

Loopy Belief Propagation on MRFs in ITK

David Doria “Loopy Belief Propagation on MRFs in ITK “. The Insight Journal, March 2011

 

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 …

Continue reading »

Apr 28

inSCIght: The Scientific Computing Podcast, Episode 10

I was a moderator for inSCIght’s Episode 10 about how to improve technical education.  Click here to listen!

Mar 12

Poisson Editing in ITK

David Doria “Poisson Editing in ITK“. The Insight Journal, March 2011

 

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 …

Continue reading »

Mar 04

Teaching Practical Software Tools Using Screencasts While Simultaneously Reinforcing Theoretical Course Concepts

Jon Ashdown, David Doria, Michael Wozny, “Teaching Practical Software Tools Using Screencasts While Simultaneously Reinforcing Theoretical Course Concepts“. American Society of Engineering Education St. Lawrence Section Conference, March 2011.

Mar 01

inSCIght: The Scientific Computing Podcast

I was a guest on inSCIght’s Episode 2 podcast.  Listen to it here!

Feb 04

Criminisi Inpainting

David Doria “Criminisi Inpainting“. The Insight Journal, February 2011

 

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 …

Continue reading »

Jan 30

Kitware Source 2010 Top Submission of the Year

One of my articles, “A Synthetic LiDAR Scanner for VTK“, was chosen as one of Kitware Source’s top submissions of 2010.

Jan 03

Selfish Behavior Leads to Inefficiency

In the language of Game Theory (http://en.wikipedia.org/wiki/Game_theory), a zero-sum game is a situation in which one player’s (person’s) success comes at the other’s expense. For example, if I take a big piece of cake, there is less cake left for everyone else. This is also known as a “rivalrous good” in Economics. While this …

Continue reading »

Nov 29

Interactive Image Graph Cut Segmentation

David Doria, Siqi Chen “Interactive Image Graph Cut Segmentation“. The Insight Journal, November 2010

 

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 …

Continue reading »

Nov 08

Introduction to the ITK Examples Wiki

ITK Examples Wiki

I prepared this talk for the ITKv4 Fall 2010 Meeting (Iowa) to announce the ITK Examples Wiki. I was unable to attend the meeting so the talk was presented by Luiz Ibanez on my behalf.

Nov 03

Qt Introduction

Qt Introduction

I prepared this talk to introduce RPI students to Qt4.

Oct 13

RPI UserVoice – Crowdsourcing Campus Improvements

RPI UserVoice – Crowdsourcing Campus Improvements

I gave this presentation to the RPI Student Senate to encourage them to utilize the student body (the “crowd”) to develop interesting and useful improvements to the campus.

Oct 05

A VTK Interface for the Hokuyo UTM 30LX Laser Range Finder

David Doria, “A VTK Interface for the Hokuyo UTM 30LX Laser Range Finder“. The VTK Journal, October 2010

 

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.

Sep 28

A K-Means++ Clustering Implementation for VTK

David Doria, “A K-Means++ Clustering Implementation for VTK“. The VTK Journal, September 2010

 

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 finds the …

Continue reading »

Sep 23

A Mean Shift Clustering Implementation for VTK

David Doria, “A Mean Shift Clustering Implementation for VTK“. The VTK Journal, September 2010

 

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.

Sep 21

Expectation Maximization of Gausian Mixture Models in VTK

David Doria, “Expectation Maximization of Gausian Mixture Models in VTK“. The VTK Journal, September 2010

 

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 …

Continue reading »

Sep 09

Systematically Writing Free Articles And Texts

Systematically Writing Free Articles And Texts

I gave this presentation at a meeting of the Rensselaer Center for Open Source (RCOS) to encourage students to share their knowledge and insights by producing useful and lasting documents which capture the main ideas.

Sep 04

Fix/Report Problems As You Find Them!

The title says it all. This applies to all aspects of life – from a pothole on your drive to work, to a broken link on a website, to asking a question in a class, to fixing a bug in a software project.

There are three main reasons I attribute to people following this bad …

Continue reading »

Aug 28

Improving Technical Topics at WikiVersity – Wikipedia Conference at NYU

Improving Technical Topics at WikiVersity – Wikipedia Conference at NYU

I prepared this talk to alert Wikipedians to some best practices in crowdsourcing engineering education content production.

Jul 22

Call for coherent, systematic field summaries

The overview

As a Ph.D. student, figuring out what has already been done by past researchers is by far the hardest problem I have come across. The current expectation and requirement is that every student will browse tens of conferences and journals going back tens of years. At the end of this long and tedious …

Continue reading »

Jul 22

Conference Summary Committees

At every professional conference, hundreds of papers are presented. This can quickly become quite overwhelming. For people in attendance, the game plan seems to be to scan the list of titles in the conference schedule to see which posters and talks seem most interesting and/or most applicable to the individuals research objectives. To be sure, …

Continue reading »

Jul 22

Students are not being prepared for industry

I can only speak about my field (computer vision and image processing), but I imagine the situation is similar across the board. What we learn in college are “the fundamentals” – the theoretical (often too much so) ideas of many topics. We are seldom asked to implement these ideas in software. When we are, it …

Continue reading »

Jun 01

Stop letting students play online during class!

Walk into almost any college classroom and you will almost certainly see at least a handful of students staring at a laptop screen, clearly not at all paying attention to the instructor. In this discussion, let’s ignore the underlying reasons that the students are not paying attention (most times it is the lecturers fault that …

Continue reading »

May 26

Granularity of Grading Scales

One thing that has always bothered me is the granularity of grading scales. The point of the exercise of giving a grade should be an attempt to classify how well the student learned the material. It seems reasonable to classify this level of understanding into “not at all”, “not very much”, “ok”, “pretty well”, and …

Continue reading »

May 24

Why does no one care that professors aren’t trained as instructors?

It has always seemed extremely odd and unacceptable to me that faculty members of most universities, while being experts in their areas of research, have not received even a single hour of training on how to be an effective educator. While such expert status may make someone the best person to teach a very specialized …

Continue reading »

May 20

Teach the “Why”, Not the “How”

Let us consider a college Calculus course. The timeline of the course goes approximately like this:

Week 1 – What is a derivative? Week 2-10 – Practice manually computing derivatives of hundreds of functions. Week 11 – What is an integral? Week 12-20 – Learn many methods for performing integration manually and practice this on …

Continue reading »

May 17

Problem Abstraction: Helping others help you & promoting the archive-ability of your answers

I find all too often on mailing lists and forums that people are so concerned with getting the answer to their question that they forget that no one else has anywhere near the same view of the problem as they do.

Asking too specific of a question is extremely harmful to all parties. For the …

Continue reading »

May 14

Creating a Common Research Language

As a research engineer, the sharing and dissemination of ideas throughout the field is absolutely critical. These ideas are tightly coupled to their implementations. As a explanatory example, consider a very simple invention, the pencil. Once can explain the concept of a pencil in a single sentence : “A pencil is a writing implement usually …

Continue reading »

May 10

ASEE Northeast Section Conference May 7-8 2010 Summary

I recently attended the Northeast Section ASEE conference in Boston, MA. While there were two full days of poster and oral presentations, there were a few that stood out as particularly profound to me. The following is a brief summary of the conference and these excellent presentations.

Theme The conference theme was “Education in the …

Continue reading »

Apr 19

A Conditional Mesh Front Iterator for VTK

David Doria, “A Conditional Mesh Front Iterator for VTK“. The VTK Journal, April 2010

 

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 …

Continue reading »

Apr 09

A Mesh Front Iterator for VTK

David Doria, “A Mesh Front Iterator for VTK“. The VTK Journal, April 2010

 

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 …

Continue reading »

Mar 16

Graph Cuts Based Super Pixel Segmentation for VTK

David Doria, “Graph Cuts Based Super Pixel Segmentation for VTK“. The VTK Journal, March 2010

 

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 …

Continue reading »

Mar 12

Poisson Surface Reconstruction for VTK

D. Doria, A. Gelas, “Poisson Surface Reconstruction for VTK“. The VTK Journal, March 2010

 

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 be found

Continue reading »

Mar 12

Stratified Mesh Sampling for VTK

David Doria, “Stratified Mesh Sampling for VTK“. The VTK Journal, March 2010

 

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 samples a mesh. A …

Continue reading »

Feb 18

Introduction to Image Processing – ITK Guest Lecture

Introduction to Image Processing – ITK Guest Lecture

I prepared this talk to bring the capabilities of the ITK toolkit to the attention of a course of undergraduate electrical engineering students.

Feb 17

A Voodoo Reader and Viewer for VTK

David Doria, “A Voodoo Reader and Viewer for VTK“. The VTK Journal, March 2010

 

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 …

Continue reading »

Feb 17

Using and Visualizing Projective Cameras in VTK

David Doria, “Using and Visualizing Projective Cameras in VTK“. The VTK Journal, March 2010

 

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 …

Continue reading »

Jan 31

Point Set Surface Reconstruction for VTK

David Doria, “Point Set Surface Reconstruction for VTK“. The VTK Journal, March 2010

 

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 experimentation with the new …

Continue reading »

Jan 31

A Leica PTX Reader for VTK

David Doria, “A Leica PTX Reader for VTK“. The VTK Journal, March 2010

 

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.

Jan 28

A Wavefront OBJ Writer for VTK

David Doria, “A Wavefront OBJ Writer for VTK“. The VTK Journal, January 2010

 

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 …

Continue reading »

Jan 01

A Synthetic LiDAR Scanner for VTK

David Doria, “A Synthetic LiDAR Scanner for VTK”. The Kitware Source Magazine, January 2010

The Kitware Source is a quarterly magazine published by Kitware about their open source products. Each January they run a special issue which features the strongest submissions over the last 12 months. My work was featured in the

Continue reading »

Dec 09

RANSAC Plane Fitting for VTK

David Doria, “RANSAC Plane Fitting for VTK“. The VTK Journal, January 2010

 

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 …

Continue reading »

Dec 04

A Point Set Processing Toolkit for VTK

David Doria, “A Point Set Processing Toolkit for VTK“. The VTK Journal, December 2009

 

In the last several years, an increasing number of tools produce 3D points as output. Examples include Light Detection and Ranging (LiDAR) scanners, Structure From Motion (SFM) algorithms, and Multi View Stereo (MVS) algorithms. These unordered point sets …

Continue reading »

Oct 01

Consistency and Confidence: A Dual Metric for Verifying 3D Object Detections in Multiple LiDAR Scans

We introduce a dual, physically meaningful metric for verifying whether a 3D model occupies a hypothesized location in LiDAR scans of a real world scene. We propose two complementary measures: consistency and confidence. The consistency measure uses a free space model along each scanner ray to determine whether the observations are consistent with the hypothesized …

Continue reading »

Sep 14

A Synthetic LiDAR Scanner for VTK

David Doria, “A Synthetic LiDAR Scanner for VTK“. The Insight Journal, September 2009

 

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 …

Continue reading »

Sep 01

Reading a PTX file into an itkMesh

David Doria, “Reading a PTX file into an itkMesh“. The Insight Journal, September 2009

 

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.

Aug 07

Region Growing Using a Criterion on the Region Boundary

David Doria, “Region Growing Using a Criterion on the Region Boundary“. The Insight Journal, August 2009

 

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 …

Continue reading »

Older posts «