From 4c10ec3adc843bd8ec08c22c7b0168df4d3cfd50 Mon Sep 17 00:00:00 2001 From: landmanbester Date: Wed, 17 Apr 2024 14:50:43 +0200 Subject: [PATCH] use c2c and take fftshift when writing gridded residuals in restore --- pfb/parser/init.yaml | 2 -- pfb/workers/restore.py | 8 +++++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pfb/parser/init.yaml b/pfb/parser/init.yaml index d1bd358b8..f453b9b28 100644 --- a/pfb/parser/init.yaml +++ b/pfb/parser/init.yaml @@ -5,8 +5,6 @@ inputs: abbreviation: ms info: Path to measurement set - policies: - repeat: '[]' scans: dtype: List[int] info: diff --git a/pfb/workers/restore.py b/pfb/workers/restore.py index 5b4ad2706..af63c81c7 100644 --- a/pfb/workers/restore.py +++ b/pfb/workers/restore.py @@ -51,7 +51,7 @@ def _restore(**kw): from pfb.utils.fits import (save_fits, add_beampars, set_wcs, dds2fits, dds2fits_mfs) from pfb.utils.misc import Gaussian2D, fitcleanbeam, convolve2gaussres, dds2cubes - from ducc0.fft import r2c + from ducc0.fft import c2c basename = f'{opts.output_filename}_{opts.product.upper()}' dds_name = f'{basename}_{opts.postfix}.dds' @@ -156,8 +156,9 @@ def _restore(**kw): overwrite=opts.overwrite) if 'f' in opts.outputs: - rhat_mfs = r2c(residual_mfs, forward=True, + rhat_mfs = c2c(residual_mfs, forward=True, nthreads=opts.nvthreads, inorm=0) + rhat_mfs = np.fft.fftshift(rhat_mfs) save_fits(np.abs(rhat_mfs), f'{basename}_{opts.postfix}.abs_fft_residual_mfs.fits', hdr_mfs, @@ -168,8 +169,9 @@ def _restore(**kw): overwrite=opts.overwrite) if 'F' in opts.outputs: - rhat = r2c(residual, axes=(1,2), forward=True, + rhat = c2c(residual, axes=(1,2), forward=True, nthreads=opts.nvthreads, inorm=0) + rhat = np.fft.fftshift(rhat, axes=(1,2)) save_fits(np.abs(rhat), f'{basename}_{opts.postfix}.abs_fft_residual.fits', hdr,