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.

  • ixpeproduct: ixpeproduct is an FTOOL being developed by the IXPE Science Operations Center team. A beta-test version is available through this page. The main tasks of ixpeproduct are to extract IXPE spectra and light curves from Level 2 event files using the FTOOL extractor given user-specified regions; execute the FTOOL ixpepolarization to generate a FITS file of Stokes parameters and related quantities; generate corrected response files using ixpecalcarf; and place all output into a user-specified product folder. The BACKFILE, ANCRFILE, and RESPFILE header keywords are updated in the spectral files as appropriate. The script can be downloaded here and the associated README file can be found here.