Blog

Sparse Field Active Contours

Active contour methods for image segmentation allow a contour to deform iteratively to partition an image into regions. Active contours are often implemented with level sets. The primary drawback, however, is that they are slow to compute. This post presents a technical report describing, in detail, the sparse field method (SFM) proposed by Ross Whitaker [pdf], which allows one to implement level set active contours very efficiently. The algorithm is described in detail, specific notes are given about implementation, and source code is provided.

Fast Level Sets Demo

The links below point to the technical report and a demo written in C++/MEX that can be run directly in MATLAB. The demo implements the Chan-Vese segmentation energy, but many energies can be minimized using the provided framework.

Sparse Field Method – Technical Report [pdf]
Sparse Field Method – Matlab Demo [zip]

To run the MATLAB demo, simply unzip the file and run:
>>sfm_chanvese_demo
at the command line. On the first run, this will compile the MEX code on your machine and then run the demo. If the MEX compile fails, please check your MEX setup. The demo is for a 2D image, but the codes work for 3D images as well.

My hope is that other researchers wishing to quickly implement Whitaker’s method can use this information to easily understand the intricacies of the algorithm which, in my opinion, were not presented clearly in Whitaker’s original paper. Personally, these codes have SUBSTANTIALLY sped up my segmentations, and are allowing me to make much faster progress towards completing my PhD!

Thanks to Ernst Schwartz and Andy for helping to find small bugs in the codes and documentation. (they’re fixed now!)

This code can be used according to the MIT license. As long as this work is appropriately cited and attributed, and not being used for proprietary or commercial purposes, I’m fully supportive of you using it. Please drop me a line if it helps you!

For more information regarding active contour, segmentation, and computer vision, check here: Computer Vision Posts

Using Hyperref, Graphicx, and Algorithm together

In LaTeX, the hyperref package can be challenging to work with. It is well known that the hyperref package must be loaded last, BUT when using the algorithm package as well things get tricky. algorithm must be loaded after hyperref BUT, doing the following error if figures are used at the same time with pdfTeX:

ERROR: pdfTeX warning (ext4): destination with the same identifier (name{figure.1})

The solution is to load the float package (which is normally loaded by other more high-level packages) before hyperref like so:

\usepackage{amsmath,amsymb,graphicx,subfigure,etc.,etc.}
\usepackage{float}
\usepackage{hyperref}
\usepackage{algorithm}

The other solution is to not use pdfLaTeX, and use regular LaTeX instead.

Advanced LaTeX Workshop

The “LaTeX Intro Workshop” was such a big hit that I was asked to do an advanced workshop as a follow up.

LaTeX

I will cover these main topics:

  • LaTeX Basics
  • GT Thesis Writing
  • Useful packages
  • BibTeX bibliographies
  • Advanced figure tutorial
  • Beamer slides presentation tutorial
  • Beamer poster tutorial

While there is certainly enough minutia within LaTeX to keep someone busy forever trying to learn it all, I decided to focus on some of the bigger-picture topics that might benefit everyone. After all, there’s always google to answer those little specific questions.

Here are the files for the tutorial that will be covered during the talk:

advanced_latex_presentation.zip

This zip file holds three different tutorials. The first is a tutorial on creating beautiful figures. The second is on creating slideshows in beamer. The third is a short intro to making posters in beamer.

This tutorial will be performed LIVE on March 26th at 3pm in the Homer Rice Instructional Center in the Georgia Tech Library.

PhD Thesis Proposal Presentation

This week I made a presentation to my thesis committee at Georgia Tech to propose the content that will make up my Ph.D. dissertation. I’m happy to say that it went well and I’m on-track to graduate in September of 2009. The video below is an abridged version of the presentation I gave. It’s about 15 minutes long, and gives a general idea of the work I’ve been doing over the past three years as well as what I hope to accomplish before I finish. In a sentence, I propose a way to analyze image statistics locally that improves performance in several medical image processing applications.


On a side note, people interested in creating screen-casts of presentations on a Mac, should consider the program ScreenFlow, which worked great for me! This was also my first presentation created with Apple’s Keynote software, but I’m sure it won’t be the last.

Evolution by Stephen Baxter

As a dedicated member of the human species, I was curious when my advisor recommended this book about human evolution. The author uses an engaging approach to discuss the changes that took place as early primates from the Cretaceous period evolved bit by bit towards modern humans and beyond!

Evolution by Stephen Baxter

Baxter selects 19 individuals and follows each through a portion of their lives. The first is a tiny, rat-like primate living along-side dinosaurs 65 million years ago, and the last is a distant relative of humans living 500 million years in the future. As we get to know each individual we get a sense of what motivates them, how they live, and how they have built upon that which their ancestors used to be successful.

I had two big take-aways from this book. Continue reading “Evolution by Stephen Baxter”

LaTeX Intro Workshop

LaTeX (pronounced lah-tech) is a powerful tool for creating beautiful documents. This post covers a workshop I gave recently introducing LaTeX to some curious graduate students. The materials here show some of the features and walk new users through the basics of using LaTeX.

This would make a nice tutorial for others trying to teach LaTeX as well as enterprising students trying to find a quick way to jump in and start using it. The workshop I taught was part of a class put on by the Georgia Tech Library. I will teach a second class on Dec. 1, 2008. Much of the work in creating these examples was done by David Reid and adopted (slightly) by me.

I began the class with this presentation:

LaTeX Introduction Presentation

This covers what LaTeX is, why it’s useful, and walks the class through the setup of the integrated TeX editor use used, TeXnicCenter. This talk also introduces the examples covered during the workshop. Below is a link to the example files used.

LaTeX Workshop Files

I walked the class through each of the files, explaining peculiarities and pointing out the differences between commands, environments, etc. The workshop finished with a quick summary of some of the other uses of LaTeX including making slides and posters. I also provided links to these very useful resources:

David’s Slideshow
The Not So Short Guide to LaTeX2e

I may try to tape-record the next class and post the video here for anyone interested in watching.

Inerpersonal Check List

My father, a well known psychotherapist, uses a personality model known as the Interpersonal Check List (ICL). This model is notoriously hard to administer, score, and graph. I developed a program to do all of these things automatically.

Interpersonal Check List

This is a 128 question test where people mark whether or not adjectives describe them. Thus a person might check yes to “Good Leader” and no to “Hard to Impress.” Once all the appropriate answers are marked, each one is weighed and put into an appropriate bin. The size of each bin marks the prominence of that personality trait in the person.

I’ve used this program as my first e-commerce venture. Visit http://www.shawnlankton.com/icl to get information about the program, download the fully-featured demo, or purchase the full program!

Preparing Final Submissions for IEEE Journal Articles

Once you get through the process of writing your paper, getting it reviewed, making revisions, and finally getting that ACCEPT email in your inbox, the work isn’t done. You must prepare the figures in the paper so that they can be easily used by the IEEE to make a nice, high-quality, correctly laid-out, final print version of the article. This process could be quite complex and time consuming.

This post will cover some tips, tricks, and scripts to get your journal submission ready to go quickly and easily. The big challenges are:

  • Getting all figures into single eps files
  • Creating a list of figure captions

The good news is that both of these are delightfully quick if you’ve been using LaTeX to compose your article. Read on to find out how Continue reading “Preparing Final Submissions for IEEE Journal Articles”

Tasty Tofu Spread

A tasty spread is great to have on hand. I use it on sandwiches and wraps or as a dip for veggies and chips. It has a great creamy consistency, but its all vegan and low fat! This is my favorite way to use tofu. Here is a picture of the spread in action on a tasty wrap (instructions for the wrap are included!).

I show one version of this spread, but it’s very versatile and can seasoned any way you like. Read on for the full recipe! Continue reading “Tasty Tofu Spread”

CVPR 2008 Wrap-Up and Selected Papers

I return today from a week-long trip to Anchorage, Alaska. I spent the week enjoying the beautiful mountains, and the exciting science being presentented at the Conference for Computer Vision and Pattern Recognition (CVPR 2008) [here are some links to lots of papers from the conference]. This was my first trip to this conference, and I must say that I was impressed with the quality of the work presented. Below, I list some of my favorite papers and give a (very) brief overview:

Continue reading “CVPR 2008 Wrap-Up and Selected Papers”