Thanks to visit codestin.com
Credit goes to github.com

Skip to content

v0.1.11

Latest

Choose a tag to compare

@lintian233 lintian233 released this 23 Mar 07:24
· 7 commits to main since this release

πŸŽ‰ Highlights & Major Features

  • 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.