1

経度または緯度に沿って Healpix マップを回転すると、間違った動作が発生します。ここで明らかな何かが欠けている可能性がありますが、これまでのところ、何を見つけることができませんでした。

デモを見る:

import numpy as np
import healpy as hp
import matplotlib.pyplot as plt

nside = 4
npix = hp.nside2npix(nside)

idx = 70
offset = 1 # rad

# set one pixel to 1 in the map
data = np.array(np.equal(np.arange(npix), idx), dtype=float)

hp.mollview(data, nest=True, title='original')

# longitude and co-latitude in radians
theta, phi = hp.pix2ang(nside, np.arange(npix), nest=True)

# rotate: offset on longitude, keep co-latitude the same
rotated = hp.get_interp_val(data, theta + offset, phi, nest=True)

hp.mollview(rotated, nest=True, title='rotated longitude')

# rotate: keep longitude the same, offset on co-latitude
rotated = hp.get_interp_val(data, theta, phi+offset, nest=True)

hp.mollview(rotated, nest=True, title='rotated latitude')

と結果:

経度に沿って回転されたマップ内の点は垂直方向に平行移動され、緯度に沿って回転するには水平方向に平行移動されます。逆に期待したい。

ここで何が問題なのかについてのヒントはありますか?

E.

4

1 に答える 1