scatfit

Scattering fits of fast radio burst and pulsar data.

https://github.com/fjankowsk/scatfit

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.3%) to scientific vocabulary

Keywords

astronomy astrophysics fastradiobursts ionised-media pulsars radio-astronomy
Last synced: 6 months ago · JSON representation ·

Repository

Scattering fits of fast radio burst and pulsar data.

Basic Info
  • Host: GitHub
  • Owner: fjankowsk
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 19 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 2
  • Open Issues: 6
  • Releases: 8
Topics
astronomy astrophysics fastradiobursts ionised-media pulsars radio-astronomy
Created over 3 years ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

Scatfit: Scattering fits of time domain radio signals (fast radio bursts or pulsars)

PyPI latest release Documentation GitHub issues License - MIT Paper link arXiv link

This repository contains code to fit fast radio burst (FRB) or pulsar profiles to measure scattering and other parameters. The code is mainly developed for Python 3 from version 3.8 onwards.

Author

The software is primarily developed and maintained by Fabian Jankowski. For more information feel free to contact me via: fabian.jankowski at cnrs-orleans.fr.

Paper

The corresponding paper (Jankowski et al. 2023, MNRAS) is available via this NASA ADS link.

Citation

If you make use of the software, please add a link to this repository and cite our corresponding paper. See above and the CITATION and CITATION.bib files.

The code is also listed in the Astrophysics Source Code Library (ASCL).

Installation

The easiest and recommended way to install the software is via the Python command pip directly from the scatfit GitHub software repository. For instance, to install the master branch of the code, use the following command:
pip install git+https://github.com/fjankowsk/scatfit.git@master

This will automatically install all dependencies. Depending on your Python installation, you might want to replace pip with pip3 in the above command.

Please verify that your installation works as expected by downloading a pre-generated SIGPROC filterbank file with synthetic data that comes bundled with the GitHub repository:
wget https://github.com/fjankowsk/scatfit/raw/master/extra/fake_burst_500_DM.fil

Then run the main analysis on the filterbank data file like this:
scatfit-fitfrb fake_burst_500_DM.fil 500.0 --fitscatindex --fscrunch 128 --norfi --fast

You should see several diagnostic windows open. The terminal output should show an updated DM close to 500 pc cm$^{-3}$, a scattering index near -4.0, and a scattering time at 1 GHz of about 20 ms.

Documentation

Further documentation of the software is available on our dedicated Read the docs website.

Usage

```console $ scatfit-fitfrb -h usage: scatfit-fitfrb [-h] [--binburst bin] [--fast] [--fitrange start end] [--fscrunch factor] [--tscrunch factor] [--norfi] [--smodel {unscattered,scatteredisotropicanalytic,scatteredisotropicconvolving,scatteredisotropicbandintegrated,scatteredisotropicafbinstrumental,scatteredisotropicdfbinstrumental}] [--snr snr] [--compare] [--fitscatindex] [--showmodels] [--nodmsmearing] [-o] [--publish] [-z start end] filename dm

Fit a scattering model to FRB data.

positional arguments: filename The name of the input filterbank file. dm The dispersion measure of the FRB.

optional arguments: -h, --help show this help message and exit --binburst bin Specify the burst location bin manually. (default: None) --fast Enable fast processing. This reduces the number of MCMC steps drastically. (default: False) --fitrange start end Consider only this time range of data in the fit. Increase the region for wide or highly-scattered bursts. Ensure that most of the scattering tail is included in the fit. (default: [-150.0, 150.0]) --fscrunch factor Integrate this many frequency channels. (default: 256) --tscrunch factor Integrate this many time samples. (default: 1) --norfi Disable all internal RFI excision methods and use the input data as provided (aside from scaling). This is useful for synthetic input data or if you have cleaned the data already using external tools. (default: False) --smodel {unscattered,scatteredisotropicanalytic,scatteredisotropicconvolving,scatteredisotropicbandintegrated,scatteredisotropicafbinstrumental,scatteredisotropicdfbinstrumental} Use the specified scattering model. (default: scatteredisotropicanalytic) --snr snr Only consider sub-bands above this S/N threshold. (default: 10.0)

Additional analyses: --compare Fit an unscattered Gaussian model for comparison. (default: False) --fitscatindex Fit the scattering times and determine the scattering index. (default: False) --showmodels Show comparison plot of implemented scattering models. (default: False)

Output formatting: --nodmsmearing Do not show the DM smearing in the width scaling plot. This is useful for coherently dedispersed data. (default: False) -o, --output Output plots to file rather than to screen. (default: False) --publish Output plots suitable for publication. (default: False) -z start end, --zoom start end Zoom into this time region. (default: [-50.0, 50.0]) ```

```console $ scatfit-simpulse -h usage: scatfit-simpulse [-h]

Simulate scattered pulses.

optional arguments: -h, --help show this help message and exit ```

Profile scattering models

Several profile scattering models, i.e. pulse broadening functions and instrumental contributions, are implemented and others can easily be added. The image below shows a selection of them.

Implemented profile scattering models

Example output

The images below show some example output from the program obtained when fitting simulated filterbank data.

Profile fit

Width scaling

Correlations

Fit dynamic spectrum

Owner

  • Name: Fabian Jankowski
  • Login: fjankowsk
  • Kind: user
  • Location: France

Fast Radio Burst and pulsar researcher. Radio astronomy & astrophysics.

Citation (CITATION)

F. Jankowski, M. C. Bezuidenhout, M. Caleb, L. N. Driessen, M. Malenta, V. Morello,
K. M. Rajwade, S. Sanidas, B. W. Stappers, M. P. Surnis, E. D. Barr, W. Chen, M. Kramer,
J. Wu, S. Buchner, M. Serylak, and J. X. Prochaska
MNRAS 2023

GitHub Events

Total
  • Create event: 3
  • Release event: 3
  • Issues event: 5
  • Issue comment event: 4
  • Push event: 133
  • Pull request review event: 1
  • Pull request event: 2
  • Fork event: 1
Last Year
  • Create event: 3
  • Release event: 3
  • Issues event: 5
  • Issue comment event: 4
  • Push event: 133
  • Pull request review event: 1
  • Pull request event: 2
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 5
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 0.2
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.2
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • fjankowsk (6)
Pull Request Authors
  • jamesdturner (1)
  • InesPM (1)
Top Labels
Issue Labels
enhancement (5) help wanted (3) good first issue (3)
Pull Request Labels
enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 27 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
pypi.org: scatfit

Scattering fits of time domain radio signals (Fast Radio Bursts or pulsars).

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 27 Last month
Rankings
Dependent packages count: 7.5%
Downloads: 11.9%
Forks count: 30.2%
Average: 30.3%
Stargazers count: 32.2%
Dependent repos count: 69.8%
Maintainers (1)
Last synced: 6 months ago

Dependencies

setup.py pypi
  • astropy *
  • corner *
  • emcee *
  • lmfit *
  • matplotlib *
  • mtcutils *
  • numpy *
  • pandas *
  • scipy *
  • tqdm *
  • your *
.github/workflows/build-wheels.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • pypa/cibuildwheel v2.14.1 composite
.github/workflows/deploy-pypi.yml actions
.github/workflows/test-project.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/upload-wheels-pypi.yml actions
  • actions/download-artifact v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/upload-wheels-testpypi.yml actions
  • actions/download-artifact v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
pyproject.toml pypi