Contributed IXPE Software


In addition to the standard HEASoft FTOOLs there is also user-contributed software which has been produced by the community. We note that this software is provided on an "As Is" basis, and that is the responsibility of the individual developers to maintain the software and to fix any bug reports, not the HEASARC's or the IXPE project's. Questions about these software packages should be directed to the developer, and not to the IXPE or HEASARC helpdesks.

  • ixpeobssim: ixpeobssim is a simulation and analysis framework specifically developed for IXPE. Given a source model and the response functions of the telescopes, it is designed to produce realistic simulated observations, in the form of event lists in FITS format, containing a strict superset of the information included in the publicly released IXPE data products. The software documentation for ixpeobssim is available here, and it can be installed following the instructions provided here. If you are interested in contributing to the code development, you can follow the instructions here. For any unknown problems related to the code, we encourage the users to open a new issue on the Github page here.

  • filter_background.py is a simple to use, stand-alone, tool to reject particle background following the prescription described in Di Marco, et al. AJ 165, 143 (2023). Given a Level 2 event list and its corresponding Level 1 file(s), the tool can be used to create a new Level 2 file that either removes events identified as background events, keeps only events identified as background events, or adds a new column that flags each event as either being background (particle) or non-background (X-ray) events. The tool is available on Github.

  • ixpestartx: ixpestartx is a bash shell script intended to simplify the preparation of IXPE Stokes spectra for analysis using the XSPEC spectral fitting package. Given an ObsID, a weighting scheme, a source extraction region file (in ds9 format) and optional background extraction region file, the script searches the current working directory and any subdirectories for IXPE Level 2 event files and associated attitude files corresponding to that ObsID, uses extractor (the core routine of Xselect) to extract the I, Q, and U spectra, uses ixpecalcarf to build observation-specific ancillary and modulated response files for each spectrum (using Level 1 attitude files and a 1-arcmin radius region for aperture corrections), and creates a command script to be used to initiate an XSPEC data analysis session. The script can be downloaded here and the associated README file can be found here.

  • ixpe_protractor.py: ixpe_protractor is a python script to make protractor (polar) plots of polarization. The tool Uses ixpepolarization (part of IXPE FTOOLs subpackage) with a user-defined region file and energy range to extract Stokes Position Angle and Polarization Degree for all three DUs and for the sum then displays in protractor (polar) plot (r,Theta) = (PD,PA) on the -90 to 90 or, optionally, 0 to 180 deg half-plane. Uses Level 2 event lists either direct from the archive or event lists that have had instrumental background removed. The script can be downloaded here and the associated README file, which details how to get data for an IXPE observation, filter the background, define a region file, and produce the polarization plot, can be found here.

  • ixpepipe: ixpepipe is a bash shell script that enables the user to generate new level 2 event files using the most current calibration files and processing tasks. The script uses the suite of IXPE-specific FTOOLS tasks and some general-purpose FTOOLS utilities to construct Level 2 files from Level 1 files for an observation. The script essentially reproduces the SOC data production pipeline and can be used, e.g., to reprocess data using a different set of certain input parameters such as spurious modulation maps. The script requires Level 1 and Level 2 event list files, several of the housekeeping and auxiliary files, and the IXPE mission CALDB. The script has been tested to reproduce near-exact duplicate Level 2 files. The script assumes the directory structure used by the IXPE archive, e.g., a directory name given by the observation UID and subdirectories /auxil/, /event_l1/, /event_l2/, and /hk/. The script is available here and an associated README file can be found here.

  • .