def min_images(images):
        """Create a min Image from a list of Images.

        Parameters
        ----------
        :obj:`list` of :obj:`Image`
            A list of Image objects.

        Returns
        -------
        :obj:`Image`
            A new Image of the same type whose data is the min of all of
            the images' data.
        """
        images_data = np.array([image.data for image in images])
        images_data[images_data == 0] = np.inf
        min_image_data = np.min(images_data, axis=0)
        min_image_data[min_image_data == np.inf] = 0.0

        an_image = images[0]
        return type(an_image)(
            min_image_data.astype(
                an_image.data.dtype),
            an_image.frame)