SZiFi (pronounced "sci-fi") is a Python implementation of the iterative multi-frequency matched filter (iMMF) galaxy cluster finding method, which is described in detail in Zubeldia et al. (2023a). It can be used to detect galaxy clusters with mm intensity maps through their thermal Sunyaev-Zeldovich (tSZ) signal. As a novel feature, it allows for foreground deprojection via a spectrally constrained MMF, or sciMMF (see Zubeldia et al., 2023b). It can also be used for point source detection. If you use SZiFi in any of your projects, please cite both papers.
SZiFi has been used to produce a new set of Planck cluster catalogues (see Zubeldia et al. 2024). Its peformance has been tested extensively on synthetic Planck data and is currently being tested in the context of the Simons Observatory.
If you have any questions about how to use the code, please write to me at inigo.zubeldia (at) ast cam ac uk.
Download the source code and do
$ pip install -e .
You'll then be able to import SZiFi in Python with
import szifi
Dependencies: astropy, healpy, pymaster, scikit-learn (optional), SZpack (optional).
Several sample scripts illustrating how the code works are included in szifi/test_files. In order to be able to run them, please download the data here and put it in a new directory called szifi/data.
SZiFi has been significantly upgraded on 30/08/2024. This upgrade includes the following:
- A significant performance boost and more efficient memory usage, thanks to Erik Rosenberg. Some of these improvements can be controlled with several new parameters (see params.py).
- Functionality to incorporate the tSZ relativistic corrections when performing the cluster extraction in the fixed mode. These corrections are computed using SZpack. We have included a new tutorial in test_files illustrating this new functionality.
- A fix of a minor bug when masking the detections outside the tessellation mask in iterative noise covariance estimation (thanks to Erik Rosenberg for noticing it).
We recommend that this latest version of the code is used. It should be compatible with code using the previous, original version.