1. A method for creating a machine vision program, the method comprising: displaying a first plurality of icons on a display in response to first user input, wherein the first plurality of icons represents states of the machine vision program; associating machine vision steps with each of the first plurality of icons in response to second user input; displaying a plurality of lines connecting various ones of the first plurality of icons in response to third user input, wherein the plurality of lines represent state transitions between various ones of the first plurality of icons based on user specified conditions; wherein said displaying the plurality of icons, associating the machine vision steps, and displaying the plurality of lines graphically specifies the machine vision program.