<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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)