Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -1,63 +1,135 @@
|
|
| 1 |
-
---
|
| 2 |
-
license: gpl-2.0
|
| 3 |
-
library_name: pytorch
|
| 4 |
-
tags:
|
| 5 |
-
- pytorch
|
| 6 |
-
- mask-rcnn
|
| 7 |
-
- astronomy
|
| 8 |
-
- object-detection
|
| 9 |
-
- frb
|
| 10 |
-
- pulsar
|
| 11 |
-
pipeline_tag: object-detection
|
| 12 |
-
---
|
| 13 |
-
|
| 14 |
# FRTSearch: Fast Radio Transient Search
|
| 15 |
|
| 16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
|
| 25 |
## Usage
|
| 26 |
|
| 27 |
-
|
| 28 |
-
import torch
|
| 29 |
-
from mmdet.apis import init_detector
|
| 30 |
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
checkpoint_file = 'models/hrnet_epoch_36.pth'
|
| 34 |
-
model = init_detector(config_file, checkpoint_file, device='cuda:0')
|
| 35 |
```
|
| 36 |
|
| 37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
|
| 45 |
## Citation
|
| 46 |
|
| 47 |
```bibtex
|
| 48 |
@article{zhang2026frtsearch,
|
| 49 |
-
title={FRTSearch: Unified Detection and Parameter Inference of Fast Radio Transients using Instance Segmentation},
|
| 50 |
-
author={Zhang, Bin and Wang, Yabiao and Xie, Xiaoyao et al.}
|
| 51 |
year={2026},
|
| 52 |
}
|
| 53 |
```
|
| 54 |
|
| 55 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
|
| 57 |
-
|
| 58 |
-
- **Paper**: https://doi.org/10.57760/sciencedb.Fastro.00038
|
| 59 |
-
- **Dataset**: [CRAFTS-FRT](https://doi.org/10.57760/sciencedb.Fastro.00038)
|
| 60 |
|
| 61 |
-
|
| 62 |
|
| 63 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
# FRTSearch: Fast Radio Transient Search
|
| 2 |
|
| 3 |
+
[](https://pypi.org/project/FRTSearch/) [](https://doi.org/10.57760/sciencedb.Fastro.00038) [](https://doi.org/10.57760/sciencedb.Fastro.00038) [](https://github.com/open-mmlab/mmdetection) [](https://www.python.org/) [](./LICENSE) [](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. [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) | 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>
|