1. A method comprising: receiving three or more input images; and registering, simultaneously, the three or more input images in a gradient domain based on applying an energy minimization function, wherein registering the input images in the gradient domain comprises: determining registration parameters for each of the input images, for a first image registration; registering the input images based on the registration parameters; determining a gradient error associated with the first image registration; determining if the gradient error associated with the gradient error satisfies a predetermined minimization value; and generating a composite image, in an instance in which the gradient error satisfies the predetermined minimization value.