Archive for the ‘Academic’ Category

5 tactics to make short classes work

July 16th, 2012 3 comments a short (1-4 hour) class/tutorial to give? Want your students to learn tons and rave about the class? Want them to teach you and stay engaged in the topic moving forward?

Here are a few tips I’ve picked up from running mini-classes in academic and professional settings:

  • Listen to the room
  • Build skills through lessons
  • Let them get their hands dirty
  • Do the boring stuff in advance
  • Follow up with homeworks

These are mostly related to programming-type topics (see here and here from some examples), but I’ll bet the ideas are broadly applicable. Hopefully you can share some of your experiences as either a student or teacher in the comments!

   Click to continue →

Lesion Segmentation — Patent Granted!

April 10th, 2012 No comments

MRI_Body.261135135_stdBack in 2008, I (along with colleagues at Siemens Corporate Research) invented a system to find and segment tumors in full-body MRI scans. It’s challenging to find all types of tumors across the entire body, but the ability to automatically detect tumors wherever they are can aid early detection and save lives.

We patented the findings in 2008 and received confirmation today that the patent has been granted (#8,155,405). Read on for a quick overview of the approach and a few useful links if you’re interested in seeing how it works!

System and Method For Lesion Segmentation In Whole Body MRI.
Gozde Unal, Gregory G. Slabaugh, Tong Fang, Shawn Lankton, Valer Canda, Stefan Thesen, and Shuping Qing. US Patent Number: 8,155,405. Filed March 2008. Granted April 2012.

   Click to continue →

Categories: Academic, Publication, Vision Tags:

Convert images to data with Plot Digitizer

May 30th, 2011 2 comments

You’re scouring the internet for data to prove your point…
After hours of searching, you finally found it!
One problem – it’s a chart in a pdf…

Charts are better than nothing, but you really want to have the numbers in Excel or Matlab so you can do analysis and get big insights (or at least make a nicer-looking chart).

The answer is Plot Digitizer

   Click to continue →

A PhD’s Guide Getting Consulting Jobs

August 1st, 2009 11 comments

In this three-part series I’ll give you a how-to for getting an interview, preparing for it, and dazzling the interviewers once you’re across the table. These are the main topics we’ll cover:

Leaving academia and joining consulting firms is a something many PhD students (myself included) are getting interested in. Firms like McKinsey & Company, Boston Consulting Group (BCG), and Bain & Associates once hired mostly MBAs but are now branching out to hire MDs, lawyers, and PhDs.

I wanted to make a big impact with the skill I learned during my PhD. I got excited when I heard about consulting because it promises just that. In the next three parts, I’ll take you through the big lessons I learned while preparing and interviewing: How to get an interview, how to nail the case, and how to dazzle them with your experience.

Part 1: Branding Yourself and Making Making a “Wow” Resume gives you pointers to polish that scruffy science look off your C.V. and generally control your “personal brand” so that interviewers are impressed with you long before you walk in the door.

Part 2: Preparing for Your Case Interview to Get Bulletproof talks about how to approach the case and how to practice so that you can shine while others look dull. I’ll give you some simple exercises that will improve the structure and creativity of the “case” portion of your interview.

Part 3: Talking about Your Experience and Sounding like a Bad-ass covers an important and often overlooked portion of a consulting interview… talking about yourself! I know you have some amazing stories to tell. This sections shows how to make your stories say the right things about you.

Please enjoy!

Disclaimer: I recently went through the application and interview process with a top firm, came out with an offer, and signed it! In this series, I share my experience and give some ideas for people on a similar path. However, at the time of writing (July 2009), I do not have any inside information on how any company conducts their hiring. These are just my thoughts!

Part 1: Branding Yourself and Making Making a “Wow” Resume

August 1st, 2009 1 comment

This is the first part of “A PhD’s Guide to Getting a Consulting Job,” because personal branding and resume building can help you the most! Having a great resume and a powerful personal brand is necessary to get in the door, and if you do it right, you may have the job before you even start talking.

First I’ll talk about how to build your brand, then I’ll share my tips on resume writing.    Click to continue →

Part 2: Preparing for Your Case Interview to Get Bulletproof

August 1st, 2009 5 comments

So far in the “PhD’s Guide to Getting a Consulting Job,” we’ve covered how to work on your personal brand and write a resume that will get you an interview. Now, it’s time to get bulletproof for the interview itself.

Case interviews are an interview tool that consulting companies use to gauge your analytical skills. Essentially, the case interview involves answering an open-ended question about a business problem. The interviewer gives some background on a (hypothetical) company that needs help. Then the candidate talks through an analysis and solution.

I’m going to show you how to rock a case interview.    Click to continue →

Part 3: Talking about Your Experience and Sounding like a Bad-ass

August 1st, 2009 No comments

We have talked about how to get an interview and how to nail the case section. The last step in the “PhD’s Guide to Getting a Consulting Job” is discussing your personal experience in a way that is clear, compelling, and shows that you’ve got what it takes to be a consultant.    Click to continue →

Categories: Academic, Consulting, Tips Tags: , ,

RSS Feeds for Scientific Journals

July 14th, 2009 1 comment

Knowing about new research in my field helps keep my work informed and relevant. However, I rarely remember to log into IEEE Xplore, Springer, or Science Direct to see what’s new in top computer vision journals. Recently, I saw mention of using RSS to keep up with research on Productive Scholar.

It took a bit of searching, but eventually I found RSS feeds for many of the journals I’m interested in and loaded them into google reader. It is now quick to scroll through new abstracts as papers appear on-line prior to publication. Below are links to RSS feeds for some computer vision journals I’m keeping up with.

RSS Feeds for Computer Vision Journals

Finding RSS Feeds for Other Journals

It takes a bit of hunting sometimes, but I can’t imagine that a journal would not have RSS these days. IEEE Journals are easy to find, and I found that was a good resource for finding some of the other ones I have listed.

Any good feeds I missed?
Other good ideas for keeping current?

Leave them in the comments.

Making Active Contours Fast

July 2nd, 2009 2 comments

Active contours are a method of image segmentation. They are well-loved for their accuracy, ease of implementation, and nice mathematical underpinnings. However, a full level-set implementation can be quite slow, especially when dealing with large data! Here are some tips to speed things up. By combining these ideas and solid programming techniques I’ve been able to get active contour trackers running at hundreds of frames per second!

  1. Use Fast Level-Sets
  2. Start by using a fast level-sets implementation that minimizes the number of required computations [code]. This will already save a huge number of computations per iteration and speed things up quite a bit!

  3. Create better initializations.
  4. The farther the initial contour is from its final position, the more computations must be done for the contour to converge. Hence, if you can start the contour in almost the right place, you’ll drastically reduce the time needed for segmentation. You can use prior knowledge, user input, or other segmentation techniques to create a rough guess that is close to the right answer. Another initialization that can leads to quick initialization is ‘bubbles’ on an evenly-spaced grid.

  5. Use a multi-scale approach.
  6. This is a way to quickly get good initializations using active contours. Say your data is MxN. Instead of segmenting the full data set, downsample the data so that you are dealing with an (M/8)x(N/8) volume. The segmentation should run much quicker on the smaller volume. Next, upsample the result back to MxN and use this as an initialization for the full data. The idea is that the time saved on the full segmentation by having a good estimate based on downsampled data will make up for the time needed to downsample, segment on the small data, and upsample.

  7. Use approximate active contours.
  8. Using an approximate solution for all or part of your segmentation can be helpful. As in 2 and 3, you can use an approximate active contour technique to quickly get close to the right answer. Then you can use an accurate level sets implementation to get the right answer quickly. Alternatively, the discrete methods can work quite well alone! James Malcolm proposed a nice method in “Fast Approximate Surface Evolution in Arbitrary Dimension” [code].

  9. Use another technique entirely.
  10. Active contours are “variational,” so they give nice, principled solutions with analytic geometry, etc. However, if you just want fast segmentations, other techniques such as thresholding/morphology, graph cuts, region growing, etc. can all be viable solutions.

Any other tips or links to good implementations? Leave them in the comments.

Sparse Field Active Contours

April 21st, 2009 95 comments

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:
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