1. A computer-implemented method for creating a state diagram which specifies a machine vision program, the method comprising: graphically assembling the state diagram on a display in response to user input, wherein said graphically assembling the state diagram comprises: receiving first user input selecting a first plurality of icons that represent states of the state diagram; receiving second user input associating machine vision steps with each of the first plurality of icons, wherein said associating comprises associating a plurality of machine vision steps with at least one icon of the first plurality of icons; receiving third user input configuring a first plurality of lines connecting various ones of the first plurality of icons, wherein the first plurality of lines represent state transitions between various ones of the first plurality of icons based on user specified conditions, wherein one or more of the user specified conditions depends on one or more characteristics of an object under inspection; wherein one or more of the first plurality of icons represent one or more additional diagrams that specify a machine vision or inspection routine; wherein the state diagram specifies the machine vision program, wherein the machine vision program is stored in a memory of the computer.