Curved surfaces of single crystals inherently contain vicinals with largely varying step densities. Sparked by increased use of such crystals, we present a new Python script for analysis of STM-generated images of stepped surfaces. The script facilitates easy extraction of statistical information from individual images. Crucial to the image analysis is an accurate determination of step location even in the absence of atomic resolution. Central to determining the exact location of each step is a minimization of the terrace height variation for the entire image. Noise and thermal drift are removed using standard statistical methods. The script generates 2D and 3D plots of the surface highlighting the location of each step. Histograms show terrace width distributions for individual terraces and averages for the entire image. By overlaying an atomic grid, we generate ’grid-fitted’ meandering of step edges allowing for easy determination of kink formation energy.