func Open(filename string) (*Reader, error) {
	h := Reader{}
	file, err := os.Open(filename)
	if err != nil {
		return nil, err
	}
	h.file = file
	h.reader = bufio.NewReader(h.file)
	if err := h.readHeaders(); err != nil {
		return nil, err
	}
	return &h, nil
}
Open attempts to open the given filename and returns an instance of the reader or nil and an error.
package hdr
import (
	"bufio"
	"errors"
	"fmt"
	"github.com/jamiec7919/vermeer/image"
	"os"
)
type Reader struct {
	file   *os.File
	reader *bufio.Reader
	spec   image.Spec
}
func init() {
	open := func(filename string) (image.Reader, error) {
		r, err := Open(filename)
		if err == nil && r != nil {
			return r, err
		}
		return nil, err
	}
	image.RegisterReader(open)
}