Welcome to NikaMap’s documentation!

nikamap is a Python package built around ContMap, a general-purpose class for processing and analysing continuum maps from radio/millimetre observatories. ContMap extends NDDataArray with beam handling, match-filtering, point-source detection and photometry, and stacking, making it a versatile tool for any single-dish continuum survey.

For NIKA2 data specifically, nikamap provides NikaMap and NikaFits, thin subclasses of ContMap that add first-class support for the FITS data products of both the IDL and PIIC NIKA2 reduction pipelines, including multi-band files and scan-level jackknife realisations. All ContMap features are naturally inherited by these NIKA2-specific classes.

Quick start with NIKA2 data

from nikamap import NikaMap

nm = NikaMap.read('map.fits', band='1mm')
nm.plot()

or using the multi-band container:

from nikamap import NikaFits

data = NikaFits.read('map.fits')
data['1mm'].plot()

Quick start with generic continuum data

Any continuum map can be loaded directly into ContMap:

from nikamap import ContMap, ContBeam
import astropy.units as u

cm = ContMap.read('mymap.fits')
cm.beam = ContBeam(major=18 * u.arcsec, pixscale=3 * u.arcsec)
cm.plot()

Features

  • Reading, slicing and plotting NIKA2 and generic continuum FITS maps

  • Beam / PSF description via ContBeam

  • Match filtering, point source detection (detect_sources()) and PSF photometry (phot_sources())

  • Power spectra estimation

  • Cutout stacking — weighted average of stamps centred on a source catalogue (stack())

  • Simultaneous stacking (simstack) — linear regression over source populations (simstack()), following Viero et al. 2013

  • Bootstrap and jackknife noise realisations

Please refer to the README file in the Git repository for installation instructions.

Contents: