code: func (cli *Client) ImageList(ctx context.Context, options types.ImageListOptions) ([]types.ImageSummary, error) {
  	var images []types.ImageSummary
  	query := url.Values{}
  
  	optionFilters := options.Filters
  	referenceFilters := optionFilters.Get("reference")
  	if versions.LessThan(cli.version, "1.25") && len(referenceFilters) > 0 {
  		query.Set("filter", referenceFilters[0])
  		for _, filterValue := range referenceFilters {
  			optionFilters.Del("reference", filterValue)
  		}
  	}
  	if optionFilters.Len() > 0 {
  		filterJSON, err := filters.ToParamWithVersion(cli.version, optionFilters)
  		if err != nil {
  			return images, err
  		}
  		query.Set("filters", filterJSON)
  	}
  	if options.All {
  		query.Set("all", "1")
  	}
  
  	serverResp, err := cli.get(ctx, "/images/json", query, nil)
  	defer ensureReaderClosed(serverResp)
  	if err != nil {
  		return images, err
  	}
  
  	err = json.NewDecoder(serverResp.body).Decode(&images)
  	return images, err
  }
docs: // ImageList returns a list of images in the docker host.