Skip to content

Claude pyqt perf and chromaticity#4

Open
K144U wants to merge 2 commits into
LISPEM:mainfrom
K144U:claude-pyqt-perf-and-chromaticity
Open

Claude pyqt perf and chromaticity#4
K144U wants to merge 2 commits into
LISPEM:mainfrom
K144U:claude-pyqt-perf-and-chromaticity

Conversation

@K144U
Copy link
Copy Markdown

@K144U K144U commented May 6, 2026

No description provided.

K144U and others added 2 commits May 6, 2026 15:48
… picker, GUI preview

- Switch ingestion to file picker; accept .xls/.xlsx alongside .csv and fix csv double-read.
- Detect wide-format concentration-series files and process them as a single image.
- Surface CIE 1931 (cx, cy) from CIElab and emit a chromaticity diagram alongside the strip with locus wavelength labels and a zoomed inset around D65.
- Show generated image in the GUI preview pane after Process completes.
- Add ui/theme.py.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Hoist color-matching functions, illuminants, white-points, and Bradford/sRGB matrices to module-level constants in CIE_XYZ; replace numpy.matrix with ndarray @.
- Memoize the per-illuminant Bradford matrix and trimmed illuminant arrays via lru_cache (no more per-spectrum white_point.csv re-read).
- Add CIElab_batch + tristimulus_batch and use them for the concentration-series path; per-spectrum cost drops to a single dot product (~47x faster on the 13-column xlsx, bit-exact RGB output).
- Replace inner Python loops in colormat fill with slice assignment; switch strip to (64, W, 3) uint8.
- Cache the chromaticity-diagram gamut backdrop at module level (~2x speedup on subsequent saves).
- Move loadFiles work into a QThread/QObject worker so the window stays responsive during processing; pin matplotlib backend to Agg.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.

1 participant