waterfall109 commited on
Commit
69d370b
Β·
verified Β·
1 Parent(s): 6c436b8

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +135 -0
README.md ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # FRTSearch: Fast Radio Transient Search
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/FRTSearch.svg)](https://pypi.org/project/FRTSearch/) [![Paper](https://img.shields.io/badge/Paper-AASTeX-blue.svg)](https://doi.org/10.57760/sciencedb.Fastro.00038) [![Dataset](https://img.shields.io/badge/Dataset-CRAFTS--FRT-yellow.svg)](https://doi.org/10.57760/sciencedb.Fastro.00038) [![Framework](https://img.shields.io/badge/Framework-MMDetection-red.svg)](https://github.com/open-mmlab/mmdetection) [![Python](https://img.shields.io/badge/Python-3.10+-green.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/License-GPL--2.0-grey.svg)](./LICENSE) [![Total Downloads](https://static.pepy.tech/badge/FRTSearch)](https://pepy.tech/project/FRTSearch)
4
+
5
+ **FRTSearch** is an end-to-end framework for discovering **Pulsars**, **Rotating Radio Transients (RRATs)**, and **Fast Radio Bursts (FRBs)** in radio astronomical observation data. Single-pulse emissions from these sources all exhibit consistent dispersive trajectories governed by the cold plasma dispersion relation ($t \propto \nu^{-2}$) in time-frequency dynamic spectra. This shared signature serves as a key beacon for identifying these astrophysical sources. FRTSearch leverages a Mask R-CNN instance segmentation model and the IMPIC algorithm to directly detect and characterize Fast Radio Transients (FRTs), infer their physical parameters (DM, ToA), and generate diagnostic plots and candidate catalogs for manual verification and scientific analysis.
6
+
7
+ <div align="center">
8
+ <img src="pipeline.png" width="190%" alt="FRTSearch Pipeline">
9
+ </div>
10
+
11
+ **Core Components:**
12
+ 1. **Mask R-CNN** β€” Segments dispersive trajectories in time-frequency dynamic spectra, trained on the pixel-level annotated **CRAFTS-FRT** dataset.
13
+ 2. **IMPIC** β€” Iterative Mask-based Parameter Inference and Calibration: infers DM and ToA directly from segmentation masks. &nbsp; [Code](utils/IMPIC.py) | [Docs](utils/IMPIC.md) | [Example](test_sample/test_impic.py)
14
+
15
+ **Supported formats:**
16
+
17
+ | Format | 1-bit | 2-bit | 4-bit | 8-bit | 32-bit |
18
+ |--------|:-----:|:-----:|:-----:|:-----:|:------:|
19
+ | [PSRFITS](https://www.atnf.csiro.au/research/pulsar/psrfits_definition/Psrfits.html) (`.fits`) | βœ… | βœ… | βœ… | βœ… | β€” |
20
+ | [Sigproc Filterbank](http://sigproc.sourceforge.net) (`.fil`) | βœ… | βœ… | βœ… | βœ… | βœ… |
21
+
22
+ ## Installation
23
+
24
+ ### Option 1: pip install (Recommended)
25
+
26
+ > Requires: Python 3.10+, CUDA 11.7+, PyTorch 2.0+, [PRESTO](https://github.com/scottransom/presto), [MMDetection](https://github.com/open-mmlab/mmdetection)
27
+
28
+ ```bash
29
+ pip install FRTSearch
30
+ ```
31
+
32
+ ### Option 2: From Source
33
+
34
+ ```bash
35
+ git clone https://github.com/BinZhang109/FRTSearch.git && cd FRTSearch
36
+ pip install -r requirements.txt
37
+ ```
38
+
39
+ ### Option 3: Docker
40
+
41
+ ```bash
42
+ docker pull binzhang109/frtsearch:v1.0.0
43
+ ```
44
+
45
+ ### Download Model Weights
46
+
47
+ Download from [Hugging Face](https://huggingface.co/waterfall109/FRTSearch/tree/main/models) and place into `models/`:
48
+
49
+ ```
50
+ FRTSearch/
51
+ β”œβ”€β”€ models/
52
+ β”‚ └── hrnet_epoch_36.pth
53
+ β”œβ”€β”€ configs/
54
+ β”‚ β”œβ”€β”€ detector_FAST.py
55
+ β”‚ └── detector_SKA.py
56
+ └── ...
57
+ ```
58
+
59
+ ## Usage
60
+
61
+ ### Full Pipeline
62
+
63
+ ```bash
64
+ python FRTSearch.py <data.fits|data.fil> <config.py> [--slide-size 128]
65
+ ```
66
+
67
+ | Argument | Description |
68
+ |----------|-------------|
69
+ | `data` | Observation file (`.fits` or `.fil`) |
70
+ | `config` | Detector configuration file |
71
+ | `--slide-size` | Subintegrations per sliding window (default: 128) |
72
+
73
+ ### Example
74
+
75
+ Test data can be downloaded from [Hugging Face](https://huggingface.co/waterfall109/FRTSearch/tree/main/test_sample).
76
+
77
+ ```bash
78
+ # FAST FRB detection
79
+ python FRTSearch.py ./test_sample/FRB20121102_0038.fits ./configs/detector_FAST.py --slide-size 128
80
+
81
+ # SKA FRB detection
82
+ python FRTSearch.py ./test_sample/FRB20180119_SKA_1660_1710.fil ./configs/detector_SKA.py --slide-size 8
83
+ ```
84
+
85
+ ### Training
86
+
87
+ Download the [CRAFTS-FRT dataset](https://doi.org/10.57760/sciencedb.Fastro.00038) and place it into `CRAFTS_FRT_Dataset/` before training.
88
+
89
+ ```bash
90
+ python train.py
91
+ ```
92
+
93
+ ### Test Samples
94
+
95
+ <!-- More predefined test cases are available via `test_sample/test_samples.py`: -->
96
+
97
+ ```bash
98
+ python test_sample/test_samples.py --example FRB20121102
99
+ ```
100
+
101
+ Available examples: `FRB20121102`, `FRB20201124`, `FRB20180301`, `FRB20180119`, `FRB20180212`
102
+
103
+ ## Dataset: CRAFTS-FRT
104
+
105
+ The first pixel-level annotated FRT dataset, derived from the Commensal Radio Astronomy FAST Survey (CRAFTS).
106
+
107
+ | Instances | Source | Download |
108
+ |-----------|--------|----------|
109
+ | 2,392 (2,115 Pulsars, 15 RRATs, 262 FRBs) | FAST 19-beam L-band | [ScienceDB](https://doi.org/10.57760/sciencedb.Fastro.00038) |
110
+
111
+ ## Citation
112
+
113
+ ```bibtex
114
+ @article{zhang2026frtsearch,
115
+ title={FRTSearch: Unified Detection and Parameter Inference of Fast Radio Transients using Instance Segmentation },
116
+ author={Zhang, Bin and Wang, Yabiao and Xie, Xiaoyao et al.}
117
+ year={2026},
118
+ }
119
+ ```
120
+
121
+ **Test sample references:** FAST β€” [Guo et al. (2025)](https://doi.org/10.3847/1538-4365/adf42d) &nbsp;|&nbsp; SKA β€” [Shannon et al. (2018)](https://doi.org/10.1038/s41586-018-0588-y)
122
+
123
+ ## Contributing
124
+
125
+ [Open an Issue](https://github.com/BinZhang109/FRTSearch/issues) for bugs or questions. PRs welcome β€” see [Contributing Guidelines](CONTRIBUTING.md).
126
+
127
+ ## License & Acknowledgments
128
+
129
+ This project is licensed under [GPL-2.0](./LICENSE).
130
+
131
+ Built upon: [MMDetection](https://github.com/open-mmlab/mmdetection) | [PRESTO](https://github.com/scottransom/presto)
132
+
133
+ <div align="center">
134
+ <sub>Exploring the dynamic universe with AI πŸŒŒπŸ“‘</sub>
135
+ </div>