A method for controlling a printing process by which a print head prints an image onto predetermined printable area of a label, wherein the label is disposed on a curved surface of an article, the method comprising: (a) effecting relative movement between a timing mark sensor and the label, wherein effecting relative movement between the label and the timing mark sensor comprises rotating the article with respect to the timing mark sensor; (b) during step (a), detecting a position of a timing mark with the timing mark sensor, wherein the timing mark sensor is configured to detect reflectivity of a surface passing before the timing mark sensor, and wherein detecting the position of the timing mark comprises detecting the reflectivity of portions of the label passing by the timing mark sensor, the reflectivity of the timing mark being different from the reflectivity of portions of the label surrounding the timing mark; (c) after step (b), effecting relative movement between the print head and the label to position the print head at an image position at a specified distance from the position of the timing mark detected in step (b), wherein effecting relative movement between the label and the print head comprises rotating the article with respect to the print head; (d) activating the print head; (e) during step (d) effecting relative movement between the print head and the label for a specified image distance to print the image onto the printable area; (f) after step (e), deactivating the print head and effecting relative movement between the timing mark sensor and the label; (g) during step (f), with the timing mark sensor, detecting a position of the timing mark on the label; (h) determining the amount of relative movement between the timing mark sensor and the label during step (f) when the timing mark is detected in step (g); and (i) comparing the amount of relative movement determined in step (h) with an expected distance between an end of the image printed in step (e) and the timing mark. (a) effecting relative movement between a timing mark sensor and the label, wherein effecting relative movement between the label and the timing mark sensor comprises rotating the article with respect to the timing mark sensor; (b) during step (a), detecting a position of a timing mark with the timing mark sensor, wherein the timing mark sensor is configured to detect reflectivity of a surface passing before the timing mark sensor, and wherein detecting the position of the timing mark comprises detecting the reflectivity of portions of the label passing by the timing mark sensor, the reflectivity of the timing mark being different from the reflectivity of portions of the label surrounding the timing mark; (c) after step (b), effecting relative movement between the print head and the label to position the print head at an image position at a specified distance from the position of the timing mark detected in step (b), wherein effecting relative movement between the label and the print head comprises rotating the article with respect to the print head; (d) activating the print head; (e) during step (d) effecting relative movement between the print head and the label for a specified image distance to print the image onto the printable area; (f) after step (e), deactivating the print head and effecting relative movement between the timing mark sensor and the label; (g) during step (f), with the timing mark sensor, detecting a position of the timing mark on the label; (h) determining the amount of relative movement between the timing mark sensor and the label during step (f) when the timing mark is detected in step (g); and (i) comparing the amount of relative movement determined in step (h) with an expected distance between an end of the image printed in step (e) and the timing mark.