Repository navigation
Correct mosaic SNR reporting and remove the extra loading area - #1006
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.
Mosaic builds mix sky areas and pixel depths as panels arrive. The old SNR report normalized every checkpoint to the final canvas signal and fitted a same-field frame-count model. This could interpret coverage changes as a plateau or degradation and produce misleading extra-frame estimates.
Record covered canvas fraction and mean observations per covered pixel at each checkpoint, retain each mosaic checkpoint's own measured signal/noise ratio, and withhold the same-field ideal, verdict, and forecasts for mosaics. Single-field analysis keeps its existing behavior. Saved mosaic chart replies and SNR JSON downloads receive the interpretation correction without rebuilding; missing historical coverage is marked Not recorded.
A running live image also replaces the full-height waiting placeholder. The progress bar stays directly below the image rather than following a second image-sized loading area.
Validation on current main:
cargo test --lib server::stack_preview: 436 passed, 2 ignored. Includes real Seiza measurements of a deep first panel followed by a shallow second panel, saved-curve migration, and JSON download after restart.cargo test --test integration_stack_snr: passed; ordinary single-field integration still follows its expected noise reduction.cargo clippy --all-targets -- -D warningsandcargo fmt --all -- --check: passed.npm run lintandnpm run build: passed.git diff --checkpassed.Coverage takes one pass over the existing accumulator at SNR checkpoints, with no image copy or reintegration. Integrated pixels and Seiza output versions are unchanged. Existing FITS files are not rewritten; new mosaic FITS omit the invalid fitted slope/verdict cards while retaining measured SNR.
Coverage report from the deterministic browser fixture: