code: func (f *Finder) FindImage(img string, asc string) (*types.Hash, error) {
  	ensureLogger(f.Debug)
  
  	// Check if it's an hash
  	if _, err := types.NewHash(img); err == nil {
  		h, err := f.getHashFromStore(img)
  		if err != nil {
  			return nil, err
  		}
  		return h, nil
  	}
  
  	d, err := DistFromImageString(img)
  	if err != nil {
  		return nil, err
  	}
  
  	// urls, names, paths have to be fetched, potentially remotely
  	ft := (*Fetcher)(f)
  	h, err := ft.FetchImage(d, img, asc)
  	if err != nil {
  		return nil, err
  	}
  	return h, nil
  }
docs: // FindImage tries to get a hash of a passed image, ideally from
  // store. Otherwise this might involve fetching it from remote with
  // the Fetcher.