Repository navigation
Conversation
- sound2view.toml: audio, camera, pipeline, beamformer, display - PipelineConfig replaces the pipeline constants - Open the camera by name instead of index - GUI sliders for nu, band and overlay range - CLI uses the configured beamformer (default functional)
- thiserror errors in core: capture, video, scene, pipeline - Config validation returns errors instead of panicking - Detect mic loss (stream error or 2 s without data), reconnect in GUI - Mic and camera status in the top bar; hide overlay while mic is down - rayon over grid points for DAS and functional - CLEAN-SC beamformer with Gaussian clean beam, selectable in GUI and config
- fmt check on Linux - clippy and release tests on ubuntu-latest and macos-latest
- Platform default audio device, match id or name - Capture in the device's sample format (F32 on CoreAudio) - Request camera access on macOS, report it in GUI and CLI - Fall back to the closest camera format if MJPEG is missing - README: macOS setup and permissions
- Own backend on objc2: device list, permission, format choice, BGRA capture - Format and frame rate from the same entry (nokhwa's macOS bindings crash here) - nokhwa only on Linux, shared video API in video.rs - CLAUDE.md: macOS status and next steps
- Intrinsics: OpenCV 5-coefficient distortion (k1, k2, p1, p2, k3) in project, iterative undistortion in unproject; zero = plain pinhole - Tests against OpenCV projectPoints, round trip into the image corners, scaled grid camera keeps the distortion - Config: optional [camera.calibration] (fx, fy, cx, cy, dist) at camera.width x camera.height, validated; falls back to hfov_deg - sound2view.toml: calibration of the icspring camera (1920x1080, RMS 0.28 px, HFOV 85 deg, principal point off center by (+27, +69) px) - calib/capture.py: live preview with corner detection for the shot s
- peaks.rs: local maxima of the map (range, min distance, max count), sub-cell refinement; blue dots with dB labels in GUI and CLI PNGs, [peaks] config section - CLEAN-SC: diagonal removal with Sijtsma's iterative source vector; stop threshold relative to the strongest bin, so bins without a source no longer add their noise or reflection maximum - Functional: optional noise removal (median eigenvalue subtracted) and equal bin weighting (low bins no longer dominate), GUI toggles; rounding-level eigenvalues set to 0 (the 1/nu power lifted them to a floor) - GUI: tooltips on all settings and beamformer methods - sound2view.toml: [camera.calibration] instead of [camera.intrinsics], which the config did not accept
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.
No description provided.