1. A system for inspecting railroad ties, comprising: a. a rail vehicle, configured for moving along a railroad track in a travel direction; b. a light generator, attached to the rail vehicle, oriented to project a beam of light across the railroad track while moving thereon; c. an optical receiver, attached to the rail vehicle, oriented to receive at least a portion of the beam of light reflected from the railroad track and configured to generate image data representative of a profile of at least a portion of the railroad track; and d. a processor, configured to analyze the image data by applying one or more algorithms configured to: i. find boundaries of at least one railroad tie in the railroad track; and ii. determine the condition of the at least one railroad tie by: a. determining a series of condition metrics of the at least one railroad tie; b. applying a weight factor to each condition metric; and c. computing a condition grade of the at least one railroad tie based on the weighted condition metrics.