When a partially coherent X-ray source illuminates an object with an irregular surface, a near-field speckle pattern may appear at some distance downstream. Speckle-based X-ray, a relatively novel imaging technique, exploits this effect to extract information about attenuation, refraction, and small-angle scatter induced by a sample. Over the last ten years, different acquisition and image processing techniques have been developed to extract this information from the image data. One of these techniques, Unified Modulated Pattern Analysis (UMPA), uses a speckle-tracking approach, implemented by the least-squares minimization of a cost function that simultaneously models all three image modalities. We here present a new implementation of UMPA. By shifting from Python to C++ and Cython, execution speed was increased by a factor of about 125. Furthermore, a new acquisition modality, “sample-stepping”, was introduced. Finally, we discuss the origin and mitigation of two types of image artifacts that may arise during image processing with UMPA.