Skip to main content

A Python-based pipeline module to easily handle data calibration from Chandra, Swift-XRT, XMM-Newton, and NuSTAR data. Additionally, spectral fitting and analysis are available with the help of XSPEC

Project description

PyPI - Version PyPI - Python Version Downloads

My Project logo

XSNAP: X-ray Supernova Analysis Pipeline

XSNAP (X-ray Supernova Analysis Pipeline) is a Python-based pipeline module that automates every step of X-ray supernova data reduction and analysis, from raw event processing and region selection to spectral fitting. XSNAP provides dedicated standard data calibration and spectral extraction scripts for Chandra X-ray Observatory (CXO), Swift-XRT, XMM-Newton, and NuSTAR data.

XSNAP, with the help of PyXspec, is able to model and fit spectra using a wide range of astrophysical models (e.g., Thermal-Bremsstrahlung and Powerlaw). Additionally, XSNAP can generate photometric data through the fitted spectra.

A follow-up analysis using the Thermal-Bremsstrahlung model can be made, specifically for Type II Supernova. From luminosity fitting to estimating Circumstellar Medium (CSM) densities and mass-loss rates of the supernova progenitors, XSNAP streamines the workflow so you can spend less time on rewriting each analysis manually.

Documentation of XSNAP can be seen in this page

More on analysis functions can be made upon requests :)

Contents

  1. Introduction
  2. Installation
  3. Dependencies
  4. Usage and Example
  5. Problems and Questions

Installing XSNAP

We strongly recommend that you make use of Python virtual environments, or (even better) Conda virtual environments when installing XSNAP.

Currently, XSNAP is available for download in the popular Python Package Index (PyPI).

pip install xsnap

Additionally, XSNAP should be able to be downloaded by cloning this Github repository and run:

git clone https://github.com/fercananything/XSNAP/
cd XNAP
python -m pip install .

Dependencies

Required Dependencies

XSNAP analysis depends heavily on two non-Python softwares:

  • HEASOFT - Version 6.35. Other recent versions should be compatible even if I have yet to test it. It is best to install all the packages; otherwise, install at least NuSTAR, Swift, all of General-Use FTOOLS, and all of XANADU.
  • HEASOFT's PyXspec - Version 2.1.4 (or XSPEC - Version 12.15.0). Other recent versions should be compatible even if I have yet to test it. Additionally, PyXspec should be automatically installed when you install HEASOFT.

Recommended Dependencies

While it's not necessarily required, it is strongly recommended to download these non-Python softwares:

  • Chandra Interactive Analysis of Observations (CIAO) - Version 4.17. CIAO is needed if you want to do the spectral extraction from CXO data. It is recommended to install CIAO using the conda create command, i.e. install on a different Python/Conda virtual environment. This is to seperate HEASOFT (and XSPEC) with CIAO and avoid clashes between modules.
  • XMM Science Analysis System (SAS) - Version 22.1. However, other recent versions should still be compatible. SAS is needed if you want to do data calibration and spectral extraction for XMM-Newton. A few extra steps for SAS installation can be found here.
  • HEASARC Calibration Database (CALDB) - Version 2009 Aug 04. The HEASARC CALDB is needed if you want to do data calibration and spectral extraction for Swift-XRT and NuSTAR.
  • CALDB Files for Swift-XRT and NuSTAR. In addition to the CALDB, the CALDB files are needed to be downloaded too. These files are needed if you want to do data calibration and spectral extraction for Swift-XRT and NuSTAR.

Keep in mind, without these softwares, you are only able to import the spectra fitting and analysis modules. These softwares help with the scripts dealing for data calibration and spectral extraction.

Optional Dependencies

This software is completely optional and has minimal impact on the user experience.

  • DS9 - Version 4.1 and above. DS9 is needed to help user's interactivity in making region files.

How to use the module

XSNAP is organized into two main parts: command-line scripts (where users can invoke on the shell or jupyter notebook) and a built-in module or Python API (where you can import functions and classes).

There are six scripts available for users to run:

Script Description
extract-chandra Calibrate & extract spectrum from Chandra observations.
extract-swift Calibrate & extract spectrum from Swift-XRT (PC/WT mode available).
swift-stack-pc Bin & stack Swift-XRT PC-mode data (default 1-day bins).
extract-xmm Calibrate & extract spectrum from XMM-Newton.
extract-nustar Calibrate & extract spectrum from NuSTAR.
make-region Generate ICRS source/background region files. (Physical region files will also be made if user has DS9)

A short tutorial on how to use XSNAP is available in jupyter notebooks here

Problems and Questions

If you encounter a bug, or would like to make a feature request, please use the GitHub issues page.

In addition, if you have further questions, feel free to send me an email at support@xsnap.org

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xsnap-0.2.7.tar.gz (61.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xsnap-0.2.7-py3-none-any.whl (63.9 kB view details)

Uploaded Python 3

File details

Details for the file xsnap-0.2.7.tar.gz.

File metadata

  • Download URL: xsnap-0.2.7.tar.gz
  • Upload date:
  • Size: 61.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xsnap-0.2.7.tar.gz
Algorithm Hash digest
SHA256 a78c43ab44c367e862f3fd805c71eddd1b2aa5c272e33b6eb5620783f97a6c9a
MD5 a724d52a17bd7776a16d2baef423c65a
BLAKE2b-256 8d430df762eed7b4d3a660ba4c587ccf00738d866960a772e96f7417963e2d5e

See more details on using hashes here.

Provenance

The following attestation bundles were made for xsnap-0.2.7.tar.gz:

Publisher: publish.yml on fercananything/XSNAP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xsnap-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: xsnap-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 63.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xsnap-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b786cf83968726ef5fb3ac992e8ceca9cfdb3a0bed01494f0baec4e5ab8b0713
MD5 d4d7be01a6d8345cadce93f1bfb2ea4b
BLAKE2b-256 7b3f5bab9627c72cb11843b181c317be9e27f32a711fa283dab4277cfa81fc86

See more details on using hashes here.

Provenance

The following attestation bundles were made for xsnap-0.2.7-py3-none-any.whl:

Publisher: publish.yml on fercananything/XSNAP

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page