func GetHash(reader io.Reader) (string, error) {
	image, err := imaging.Decode(reader)
	if err != nil {
		return "", err
	}
	image = imaging.Resize(image, 32, 32, imaging.Lanczos)
	image = imaging.Grayscale(image)
	imageMatrixData := getImageMatrix(image)	
	dctMatrix := getDCTMatrix(imageMatrixData)
	smallDctMatrix := reduceMatrix(dctMatrix, 8)
	dctMeanValue := calculateMeanValue(smallDctMatrix)
	return buildHash(smallDctMatrix, dctMeanValue), nil
}
GetHash returns a phash string for a JPEG image
package phash
import (
	"io"
	"github.com/disintegration/imaging"
)