From cdae5c7c0ff3ff73fdb84522fcab36d9079991fe Mon Sep 17 00:00:00 2001 From: Justin Hawkins Date: Mon, 3 Jun 2024 23:09:36 +0930 Subject: [PATCH] Fix remaining (?) edge case bugs, add tests --- go.mod | 11 +++++- go.sum | 9 +++++ main.go | 63 +++++++++++++++++++++++-------- slice_test.go | 92 ++++++++++++++++++++++++++++++++++++++++++++++ testdata/gold.jpg | Bin 0 -> 66710 bytes 5 files changed, 158 insertions(+), 17 deletions(-) create mode 100644 slice_test.go create mode 100644 testdata/gold.jpg diff --git a/go.mod b/go.mod index 0de7c15..438aca3 100644 --- a/go.mod +++ b/go.mod @@ -4,4 +4,13 @@ go 1.22.1 require github.com/disintegration/imaging v1.6.2 -require golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 // indirect +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect +) + +require ( + github.com/stretchr/testify v1.9.0 + golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 // indirect +) diff --git a/go.sum b/go.sum index 6e27fcd..507dfe1 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,14 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/disintegration/imaging v1.6.2 h1:w1LecBlG2Lnp8B3jk5zSuNqd7b4DXhcjwek1ei82L+c= github.com/disintegration/imaging v1.6.2/go.mod h1:44/5580QXChDfwIclfc/PCwrr44amcmDAg8hxG0Ewe4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 h1:hVwzHzIUGRjiF7EcUjqNxk3NCfkPxbDKRdnNE1Rpg0U= golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/main.go b/main.go index 638d277..eed22b7 100644 --- a/main.go +++ b/main.go @@ -8,6 +8,7 @@ import ( "image/png" "io" "log" + "math" "os" "path/filepath" "sync" @@ -41,6 +42,8 @@ func (rp *resultPrinter) Run() { } } +const defaultPathTemplate = "%s-%d-%d-%d.%s" + func main() { t0 := time.Now() filenamePtr := flag.String("filename", "", "filename to open") @@ -48,7 +51,7 @@ func main() { concurrencyPtr := flag.Int("concurrency", 5, "how many tiles to generate concurrently (threads)") baseName := flag.String("basename", "tile", "base of the output files") outFormat := flag.String("format", "png", "output format (jpg/png)") - pathTemplate := flag.String("path-template", "%s-%d-%d-%d.%s", "template for output files - base, zoom, x, y, format") + pathTemplate := flag.String("path-template", defaultPathTemplate, "template for output files - base, zoom, x, y, format") flag.Parse() @@ -63,16 +66,27 @@ func main() { } log.Println("opening file:", *filenamePtr) - src, err := imaging.Open(*filenamePtr) + src, err := os.Open(*filenamePtr) if err != nil { fmt.Println("Error: Could not open file:", err) return } + processImage(src, *baseName, *pathTemplate, *outFormat, *tileSizePtr, *concurrencyPtr, diskOutput{}) + log.Printf("done in %.2f", time.Since(t0).Seconds()) +} + +func processImage(input io.Reader, basename string, pathTemplate string, format string, tileSize int, concurrency int, output outputter) { + + src, err := imaging.Decode(input) + if err != nil { + panic(err) + } + size := src.Bounds().Max - tile_size_x := *tileSizePtr - tile_size_y := *tileSizePtr + tile_size_x := tileSize + tile_size_y := tileSize // work out maximum zoom var max_zoom int @@ -88,9 +102,6 @@ func main() { z := max_zoom log.Println("maximum zoom level is", max_zoom) - - concurrency := *concurrencyPtr - log.Println("starting tiling with concurrency of", concurrency) results := make(chan string) @@ -126,8 +137,16 @@ func main() { log.Printf("zoom level: %d (%d x %d)\n", z, size.X, size.Y) - yTiles := (size.Y / tile_size_y) - xTiles := (size.X / tile_size_x) + // size 257 => 2 + // size 256 => 1 + // size 255 => 1 + yTiles := int(math.Ceil(float64(size.Y) / float64(tile_size_y))) + xTiles := int(math.Ceil(float64(size.X) / float64(tile_size_x))) + + if z == 0 { + xTiles = 1 + yTiles = 1 + } tilesToRender := xTiles * yTiles rp.Reset(tilesToRender) @@ -135,12 +154,14 @@ func main() { wg := sync.WaitGroup{} wg.Add(tilesToRender) + log.Printf("rendering %d tiles", tilesToRender) + for y := 0; y < yTiles; y++ { for x := 0; x < xTiles; x++ { jobs <- tileJob{ - baseName: *baseName, - pathTemplate: *pathTemplate, - format: *outFormat, + baseName: basename, + pathTemplate: pathTemplate, + format: format, src: src, zoom: z, x: x, @@ -148,6 +169,7 @@ func main() { tileSizeX: tile_size_x, tileSizeY: tile_size_y, wg: &wg, + output: output, } } @@ -164,11 +186,17 @@ func main() { fmt.Print("\033[u\033[K") // restore the cursor position and clear the line } close(results) - log.Printf("done in %.2f", time.Since(t0).Seconds()) - + log.Printf("all tiles complete") } -func createPathAndFile(fn string) (io.WriteCloser, error) { +type outputter interface { + CreatePathAndFile(fn string) (io.WriteCloser, error) +} + +type diskOutput struct { +} + +func (do diskOutput) CreatePathAndFile(fn string) (io.WriteCloser, error) { dir, _ := filepath.Split(fn) err := os.MkdirAll(dir, 0777) if err != nil { @@ -188,6 +216,7 @@ type tileJob struct { x, y int tileSizeX int tileSizeY int + output outputter wg *sync.WaitGroup } @@ -197,7 +226,7 @@ func tileWorker(jobs <-chan tileJob, results chan<- string) { cropped := imaging.Crop(j.src, image.Rect(j.tileSizeX*j.x, j.tileSizeY*j.y, j.tileSizeX*j.x+j.tileSizeX, j.tileSizeY*j.y+j.tileSizeY)) // log.Printf("writing to %s", output_filename) - writer, err := createPathAndFile(output_filename) + writer, err := j.output.CreatePathAndFile(output_filename) if err != nil { panic(err) } @@ -207,6 +236,8 @@ func tileWorker(jobs <-chan tileJob, results chan<- string) { err = jpeg.Encode(writer, cropped, &jpeg.Options{ Quality: 40, }) + } else { + panic("bad format") } if err != nil { panic(err) diff --git a/slice_test.go b/slice_test.go new file mode 100644 index 0000000..0cc5e7b --- /dev/null +++ b/slice_test.go @@ -0,0 +1,92 @@ +package main + +import ( + "fmt" + "io" + "os" + "testing" + + "github.com/stretchr/testify/assert" +) + +type testWriteCloser struct { + written int + closed bool +} + +func (twc *testWriteCloser) Close() error { + twc.closed = true + return nil +} + +func (twc *testWriteCloser) Write(b []byte) (int, error) { + twc.written += len(b) + return len(b), nil +} + +type testOutputter struct { + closers map[string]*testWriteCloser +} + +func (to *testOutputter) CreatePathAndFile(fn string) (io.WriteCloser, error) { + to.closers[fn] = &testWriteCloser{} + return to.closers[fn], nil +} + +func (to *testOutputter) Dump() string { + out := "" + for k, v := range to.closers { + out += fmt.Sprintf("%20s: %6d/%t\n", k, v.written, v.closed) + } + return out +} + +func NewTestOutputter() *testOutputter { + to := testOutputter{} + to.closers = make(map[string]*testWriteCloser) + return &to +} + +func TestXxx(t *testing.T) { + + // testdata/gold.jpg: JPEG image data, JFIF standard 1.01, 794x447 + f, err := os.Open("testdata/gold.jpg") + if err != nil { + panic(err) + } + + // with a tile size larger than the image itself, we should + // get a single image at zoom level 0 + testOutputter := NewTestOutputter() + processImage(f, "indy", defaultPathTemplate, "jpg", 1000, 1, testOutputter) + t.Log(testOutputter.Dump()) + assert.Equal(t, 1, len(testOutputter.closers)) + assert.Equal(t, 28082, testOutputter.closers["indy-0-0-0.jpg"].written) + + f, _ = os.Open("testdata/gold.jpg") + + // with a tilesize smaller than *one* of the dimensions, 3 tiles + // 1@zoom 0, 2@zoom 1 + testOutputter = NewTestOutputter() + processImage(f, "indy", defaultPathTemplate, "jpg", 500, 1, testOutputter) + t.Log(testOutputter.Dump()) + assert.Equal(t, 3, len(testOutputter.closers)) + assert.Equal(t, 10304, testOutputter.closers["indy-0-0-0.jpg"].written) + assert.Equal(t, 18014, testOutputter.closers["indy-1-0-0.jpg"].written) + assert.Equal(t, 10749, testOutputter.closers["indy-1-1-0.jpg"].written) + + f, _ = os.Open("testdata/gold.jpg") + + // with a tilesize smaller than *both* of the dimensions, 5 tiles + // zoom 0, zoom 1 x 4 + testOutputter = NewTestOutputter() + processImage(f, "indy", defaultPathTemplate, "jpg", 400, 1, testOutputter) + t.Log(testOutputter.Dump()) + assert.Equal(t, 5, len(testOutputter.closers)) + assert.Equal(t, 10304, testOutputter.closers["indy-0-0-0.jpg"].written) + assert.Equal(t, 12607, testOutputter.closers["indy-1-0-0.jpg"].written) + assert.Equal(t, 12050, testOutputter.closers["indy-1-1-0.jpg"].written) + assert.Equal(t, 2722, testOutputter.closers["indy-1-0-1.jpg"].written) + assert.Equal(t, 2477, testOutputter.closers["indy-1-1-1.jpg"].written) + +} diff --git a/testdata/gold.jpg b/testdata/gold.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f1f16ca137dec17b37199ddabdec704342071a30 GIT binary patch literal 66710 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�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 gyBJ6