Conversation
- Implemented the `_reduction` module with functions for decoding RAW blocks, channelizing voltages, and writing output in filterbank formats. - Created CLI for reducing GUPPI RAW files to filterbank formats (.fil and .h5). - Added tests for the reduction functionality, ensuring correct decoding and channelization of voltage data. - Introduced metadata handling for reduction processes, including support for multiple polarization modes. - Enhanced error handling and validation for input parameters in the reduction process.
- Updated `raw_utils.py` to improve function signatures and add type hints for better clarity and maintainability. - Enhanced `reduction.py` with type annotations and improved docstrings for better documentation and usability. - Refactored `waterfall.py` to include type hints and improve function documentation. - Introduced `_typing.py` to centralize type aliases and protocols for better code organization. - Added tests for dedrift functionality to ensure proper error handling and behavior. - Enhanced tests for voltage level calculations to verify scaling with SNR and observation length. - Improved tests for reduction functions to ensure consistency and correctness in output. - Conducted a docstring audit to ensure all functions and classes are properly documented and typed.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #43 +/- ##
==========================================
+ Coverage 88.88% 92.22% +3.33%
==========================================
Files 32 54 +22
Lines 2196 3189 +993
==========================================
+ Hits 1952 2941 +989
- Misses 244 248 +4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
This PR adds a native
setigen.voltagereduction path for GUPPI RAW voltage outputs, reducing RAW stems or.rawfiles directly into.filor.h5filterbank products without requiring an externalrawspecinstall for the common single-product workflow.It also modernizes the package structure around
pyproject.toml, expands Python version support to 3.10-3.14, and splits several large runtime modules into smaller private subsystems for frame construction, plotting, voltage backend orchestration, and RAW reduction.User-Facing Changes
stg.voltage.RawReductionSpec,PolarizationMode,reduce_raw(...), andreduce_raw_to_frame(...).setigen-raw-reduceCLI for reducing RAW data from the shell..filand.h5.pol_mode=1,4, and-4.start_chanandnum_chans.Frameas the inspection path for 2D total-power products viareduce_raw_to_frame(...).Internal Changes
Frameinternals intosetigen._frame.setigen._plot.axes.setigen.voltage._antennaandsetigen.voltage._backend.setigen.voltage._reductionsubsystem for RAW input parsing, decoding, fine channelization, metadata derivation, and streaming writers.__all__exports.pyproject.toml; leavessetup.pyas a minimal compatibility shim..[test].CONTRIBUTING.md,ARCHITECTURE.md, andSCIENCE.md.Testing
Added or expanded tests for:
.filand.h5round trips.