A method of generating an algorithm, comprising: a machine learning system reading training data, wherein the training data includes: at least one training image for each of a plurality of training weldments, at least one record of training weld data associated with creating each weldment of the plurality of training weldments, and the machine learning system training a classification algorithm using the training data, characterized in that: the at least one image is a cross-sectional image, where each training cross-sectional image reveals an internal grain structure of a corresponding training weldment; the training data includes truth data, for each training weldment of the plurality of training weldments, indicating that the training weldment meets a specification or does not meet the specification, wherein the training cross-sectional image, the training weld data, and the truth data for each training weldment of the plurality of training weldments are associated with each other within the machine learning system as at least one digital record, stored in a memory, representing a corresponding training weldment; and wherein the classification algorithm is trained to classify a test weldment as meeting the specification or not meeting the specification when at least one test cross-sectional image of the test weldment and at least one record of test weld data used to create the test weldment are read as input and processed by the classification algorithm as trained, wherein the specification includes at least one of a strength specification, a ductility specification, a hardness specification, a toughness specification, or a percent refinement of bead grain structure specification. a machine learning system reading training data, wherein the training data includes: at least one training image for each of a plurality of training weldments, at least one record of training weld data associated with creating each weldment of the plurality of training weldments, and the machine learning system training a classification algorithm using the training data, characterized in that: the at least one image is a cross-sectional image, where each training cross-sectional image reveals an internal grain structure of a corresponding training weldment; the training data includes truth data, for each training weldment of the plurality of training weldments, indicating that the training weldment meets a specification or does not meet the specification, wherein the training cross-sectional image, the training weld data, and the truth data for each training weldment of the plurality of training weldments are associated with each other within the machine learning system as at least one digital record, stored in a memory, representing a corresponding training weldment; and the at least one image is a cross-sectional image, where each training cross-sectional image reveals an internal grain structure of a corresponding training weldment; the training data includes truth data, for each training weldment of the plurality of training weldments, indicating that the training weldment meets a specification or does not meet the specification, wherein the training cross-sectional image, the training weld data, and the truth data for each training weldment of the plurality of training weldments are associated with each other within the machine learning system as at least one digital record, stored in a memory, representing a corresponding training weldment;