Repository navigation
Vibroseis, record stacking and SNR (Phase 10) - #2
Merged
Merged
Conversation
…built on them Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… overlap refused) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e sweeps Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eep headers, resampling, instrument filters Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lized, sub-sample pilot start, pooled Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…cords RecordStack[T] accumulates traces of repeated sweeps into output rows in any order (add, addRecord with a row map and an optional ChunkMeta), with float64 sums and per-sample counts. rsDiversity weights each trace per sample by 1/p or 1/p² of its centred window power (subtraction-free block sums), with a floor and a clip relative to the trace's median window power. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rstbreak's confidence on the windowed kernel Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ot times planSlices lays out every (receiver, shot) trace from segment rows (times from TraceKeys.time or a caller array, receivers grouped per rcvLine/rcvPoint/channel/component or caller ids), with overlaps (later segment wins), off-grid timing issues, untimed rows and rowsNeeded. extractInto stitches into a new tensor, zero-fills and reports gaps, compares overlapping samples, optionally shifts sub-sample starts (core/shift), and allocates nothing after reserve. sliceKeys gives the output TraceKeys (D14); driftCorrectTimes/driftCorrectedTimes do a linear clock-drift correction before planning. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…m docs cannot build moved to tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…le sweep lengths, refuse unreachable pilot start times, workspace asserts; independent instrument-filter test, whole-sample t0 tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Phase 10 of the plan: vibroseis processing, record stacking and SNR measures, plus a header-description export for stacks. Review gate passed at 9d20b76:
nim test,nim testRelease(release, danger) and ASan all green, andnim docsbuilds.stackKeys,stackOverridesandmaxFold, so a caller writes a stack through any parseSEG writer;writeStackis rebuilt on them, with unchanged output.vibroseis/taper: sweep-end tapers in 9 window shapes, start and end lengths in ms; overlapping tapers are refused.vibroseis/sweep: linear, dB/octave, dB/Hz, exponential and table sweeps, generated analytically at the data's dt.vibroseis/pilot: onePilottype for generated and recorded pilots; SEG-Y sweep header overrides; explicit band-limited resampling; instrument-filter matching; sub-sample t0.vibroseis/correlate: FFT correlation and sweep deconvolution, normalized by pilot energy or peak; runs in the pool.vibroseis/vstack: vertical and diversity stacks of repeated records, in any order.continuous/slice: cuts continuous recordings into records at shot times. Gaps are zero-filled and reported; overlaps are trimmed and listed in the plan.qc/snr: windowed per-trace SNR, and coherence SNR per gather. First-break confidence now uses the windowed kernel.🤖 Generated with Claude Code