You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
C++ Accelerated SNR Calculation: Introduced a highly optimized C++ implementation for FRB Signal-to-Noise Ratio (SNR) calculation (calculate_frb_snr_cpp) bound via Pybind11. It replaces the previous Gaussian fitting method with a robust Multi-scale Boxcar Search, significantly improving both speed and accuracy for weak pulse detection.
Plotting Module Massive Refactor: Completely refactored the monolithic plotter.py into a modular astroflow.plotting package (analysis, io, pipeline, plots, types). This greatly improves code maintainability and extensibility.
β‘ Performance & I/O Optimizations
Shared I/O for Multiple Candidates: Optimized the plotting pipeline to open the .fil or .fits data file only once per file (plot_candidates_for_file). Multiple candidates within the same file now share the data handle, drastically reducing disk I/O overhead, especially for big data.
Benchmarking Mode: Added the onlycand: True configuration option. When enabled, the pipeline skips the heavy plotting module and only performs detection matching, providing stable and fast I/O benchmarking.
π Configuration & Plotting Enhancements
Default Config Updates:
Changed default plotworker from 8 to 3 to prevent memory/CPU overload.
New Plotting Features: Added onlyspec mode to generate separate high-resolution spectrum and DM-time images instead of a combined grid. Improved font sizes and layout in specplot.py for publication-quality figures.
Candidate CSV Generation: Added gencand: true to automatically generate a summary CSV file (astroflow_cands.csv) containing detailed candidate information.
π Bug Fixes & Robustness
C++ Input Validation: Added strict boundary checks in dedisperse_spec_with_dm (e.g., ensuring freq_end > freq_start, dm >= 0, and throwing errors for unsupported descending frequency channels foff < 0).
CUDA Compatibility: Added --allow-unsupported-compiler to CMAKE_CUDA_FLAGS to fix build issues with newer GCC versions.
Robust Detrending: Improved the frequency detrending algorithm to handle edge cases (e.g., flat channels, NaN values) gracefully without crashing.