# HG changeset patch # User Sascha L. Teichmann # Date 1562752506 -7200 # Node ID 0b382767b5ab9c706d8e6a1885146d475002fd9c # Parent 37d5c4441c7016c1e6a7026a01679bbf084b218f Use custom class breaks in morpho differences. diff -r 37d5c4441c70 -r 0b382767b5ab pkg/controllers/diff.go --- a/pkg/controllers/diff.go Wed Jul 10 11:45:55 2019 +0200 +++ b/pkg/controllers/diff.go Wed Jul 10 11:55:06 2019 +0200 @@ -248,10 +248,6 @@ log.Printf("info: min/max: %f %f\n", tree.Min.Z, tree.Max.Z) - heights := octree.SampleDiffHeights( - tree.Min.Z, tree.Max.Z, contourStep) - log.Printf("info: num heights: %d\n", len(heights)) - start = time.Now() // XXX: Maybe we should start this transaction earlier!? @@ -261,6 +257,22 @@ } defer tx.Rollback() + var heights []float64 + + heights, err = octree.LoadClassBreaks( + ctx, tx, + "morphology_classbreaks_compare") + if err != nil { + log.Printf("warn: Loading class breaks failed: %v\n", err) + heights = octree.SampleDiffHeights( + tree.Min.Z, tree.Max.Z, contourStep) + } else { + heights = octree.ExtrapolateClassBreaks(heights, tree.Min.Z, tree.Max.Z) + heights = octree.InBetweenClassBreaks(heights, 0.05, 2) + } + + log.Printf("info: num heights: %d\n", len(heights)) + var stmt *sql.Stmt if stmt, err = tx.PrepareContext(ctx, insertDiffContourSQL); err != nil { return