File: resample.cc

package info (click to toggle)
purify 2.0.0-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 58,688 kB
  • sloc: cpp: 8,410; python: 375; makefile: 7
file content (22 lines) | stat: -rw-r--r-- 961 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "purify/MeasurementOperator.h"
#include "purify/directories.h"
#include "purify/pfitsio.h"

using namespace purify;
using namespace purify::notinstalled;

int main(int nargs, char const **args) {
  // up samples M31 example
  std::string const fitsfile = image_filename("M31.fits");
  auto const M31 = pfitsio::read2d(fitsfile);

  t_int const fft_flag = (FFTW_ESTIMATE | FFTW_PRESERVE_INPUT);
  auto fftop = purify::FFTOperator().fftw_flag(fft_flag);
  t_real const resample_ratio = 2.;
  auto const ft_grid = fftop.forward(M31);
  auto const new_ft_grid = utilities::re_sample_ft_grid(ft_grid, resample_ratio);
  auto const M31_resample = fftop.inverse(new_ft_grid).real() * resample_ratio * resample_ratio;
  pfitsio::write2d(M31_resample, output_filename("M31_resample.fits"));
  auto const M31_resample_alt = utilities::re_sample_image(M31, resample_ratio).real();
  pfitsio::write2d(M31_resample_alt, output_filename("M31_resample_alt.fits"));
}