Skip to content

Optimize UCIE colormap performance with half-space penalty#42

Merged
adamjtaylor merged 4 commits into
mainfrom
33-split-out-ucie
Jan 13, 2026
Merged

Optimize UCIE colormap performance with half-space penalty#42
adamjtaylor merged 4 commits into
mainfrom
33-split-out-ucie

Conversation

@adamjtaylor
Copy link
Copy Markdown
Owner

Replace slow Delaunay/cdist-based optimization with fast ConvexHull half-space inequalities. This achieves ~5-20x speedup on large embeddings.

Key changes:

  • Replace Delaunay.find_simplex with ConvexHull half-space test
  • Replace cdist distance matrix with facet violation penalty
  • Add support point subsampling for optimization
  • Cache LAB/RGB gamut hulls for reuse
  • Add verbose parameter to control logging
  • Remove per-iteration print statements

Performance on 100k points: 3D LAB ~6s, 2D ~0.1s

Also integrates optimize_embedding into core.py with --optimize flag for both 3D (LAB/RGB) and 2D colormaps.

Replace slow Delaunay/cdist-based optimization with fast ConvexHull
half-space inequalities. This achieves ~5-20x speedup on large embeddings.

Key changes:
- Replace Delaunay.find_simplex with ConvexHull half-space test
- Replace cdist distance matrix with facet violation penalty
- Add support point subsampling for optimization
- Cache LAB/RGB gamut hulls for reuse
- Add verbose parameter to control logging
- Remove per-iteration print statements

Performance on 100k points: 3D LAB ~6s, 2D ~0.1s

Also integrates optimize_embedding into core.py with --optimize flag
for both 3D (LAB/RGB) and 2D colormaps.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
adamjtaylor and others added 2 commits January 12, 2026 19:02
- Add --optimize/--no-optimize flags to CLI options table
- Update 3D Embeddings section to explain default optimization
- Add performance benchmarks for rotation optimization

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Exclude slow benchmark tests from CI run
- Replace deprecated UCIE colormap with LAB (optimization enabled by default)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@claude
Copy link
Copy Markdown

claude Bot commented Jan 12, 2026

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@claude
Copy link
Copy Markdown

claude Bot commented Jan 12, 2026


Code review

No issues found. Checked for bugs and CLAUDE.md compliance.


@adamjtaylor adamjtaylor merged commit 5b4de8c into main Jan 13, 2026
2 checks passed
@adamjtaylor adamjtaylor deleted the 33-split-out-ucie branch January 13, 2026 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Split out UCIE optimisatiom from colorspace into a seperate parameter

1 participant