Repository navigation
Emit wide intensity-distribution columns to reduce plate export cost - #219
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MeasureObjectIntensityDistribution expands measured matrices into millions of long rows before export folds them back into object rows. Emit named radial/Zernike columns directly and combine their aligned object domains using the existing columnar carrier. Registered feature declarations preserve indexed runtime lookup, including source names with numeric/bin-like components.
The latest matched 16-well/four-worker pair reduces export from 41.677 to 33.828 seconds and total from 126.103 to 121.644 seconds, with byte-identical CSV. Earlier plate repeats also improve, but the final one-well execution pair is flat; the report retains all measurements and makes no consistent single-thread execution or memory improvement claim. Warm compilation is unchanged. Fresh figures use actual retained native CP one-/16-well makespans, not a multiplied cold-launch reference.
Validation: 463 focused tests pass after rebasing onto current remote main; 11 ordinary fresh-server observations succeed with exact CSV hashes; no new Ruff diagnostics in changed production/test files; report scripts pass Ruff. Benchmark timings, source identities, saved-artifact replay, exact output checks, and PNG/SVG figures are in
benchmark/results/perf_wide_intensity_distribution_20260929.This builds on the already merged #195, #203, and #210 changes. The latest remote main was fetched and checked for overlapping implementation before creating this PR.
Fixes #216.