問題タブ [healpy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - CMB マップの HEALPix FITS ファイルはどのように ndarray に変換されますか? 座標は何ですか?
Healpy (Python で開発された HEALPix ツール) を使用して、全天の CMB マップを読み書きしています。
スカイ マップ上のピクセルの座標が numpy ndarray のエントリにどのように変換されるかについて混乱しています。FITS ファイル内の 1 つの HEALPix ピクセルはどのように ndarray エントリに変換されますか?
たとえば、デフォルトの RING スキームを使用して、生成された CMB マップ、Nside=64、lmax=64 があるとします。ピクセルの総数は、Npix=12*Nside**2 で与えられます。したがって、私の例では、合計 49152 ピクセルです。
私が持っている FITS ファイルは、1 列 x 48 行の形式です。(1 列はすべて温度値です。) したがって、このファイルを n-dim numpy ndarray に変換します。この配列の形状は (48,1024) になります。
質問 1: この 2 次元配列は、空のすべてのマップ ピクセルを「行列」形式に投影したものですか? それはそうですね。私の例を使用すると、48*1024 = 49152、ピクセルの総数です。
質問 2: 1024 規格はどこから来たのですか? HEALPix マップとその座標に関して、これはどういう意味ですか? 1 つの 2-dim ndarray エントリ (ピクセル) は、別のエントリ (角度、HEALPix の位置など) とどのように関連していますか?
別の例として、Nside=1024 をマップします。これを 2 次元の ndarray に変換すると、(12288, 1024) という形になります。
編集: 1024 要素の配列の規則が存在するのはなぜですか? これは地図上のピクセル座標にどのように対応していますか?
fits - Healpy の getformat 関数を理解する
T、Q、U 値を含む CMB 全天マップの FITS ファイルがあります。
関数 healpy.fitsfunc.getformat(t) を使用すると、出力は「データ型 t の FITS 規則フォーマット文字列」になります。
私のFITSファイルでは、「A29」が得られます。これは標準化されたFITSコンベンションですか?
python-2.7 - Healpy pix2ang: HEALPix インデックスから RA,Dec または glong,glat に変換
私は HEALPix は初めてで、Python もかなり初めてです。healpy を使用して、HEALPix インデックスを RA,Dec に変換しようとしています。pix2ang を使用する必要があることがわかりましたが、出力 theta,phi を RA,Dec に変換する方法がわかりません...これを試しました:
しかし、正しい結果が得られないようです。
誰かが助けてくれることを願っています!
plot - molviewコマンドがプロット画像を返さない
私はヘルピーが初めてで、iPython27で以下をプロットしようとしています:
私が期待していたように、これは画像を返しません。何が問題なのですか?
python - lmax の Healpy デフォルト形式
Healpy のドキュメントで、lmaxhealpy.anafast
のデフォルト値が 3*nside-1 であることがわかりました
この基準には理由がありますか?HEALPix 内の標準、CMB 実験の標準ですか、それとも物理的な理由があるのでしょうか。
編集:anafast
スカイ マップNside=4
で実行すると、取得する Cl 値の数は長さ = 12 になります。これにより、lmax はlmax=3Nside
.
ただし、生成された Cl 値を使用する場合、最初の 2 つの数値はゼロに等しくなります。モノポールはゼロ、ダイポールはゼロです。
したがって、l の値を で設定するとき、単極子と双極子np.arange(len(Clvalues))
の項も削除する必要がありますか?[0,1]
python - Healpy/Healpix: 総ピクセル数と総球面調和係数の関係は?
healpy.sphtfunc.map2alm
Healpy/Healpix のドキュメントに基づくと、天空図の 1 つのピクセル (測定値) と、特定のマップの a_lm 係数の配列を計算するHealpy の関数によって生成される球面調和係数との関係を理解できません。(この質問はアナファストにも当てはまります。)
私の理解では、特定のピクセルは球面調和係数に対応する必要があります。しかし、そうではありません。まったく。
で地図を取るnside = 8
。このプログラムは、Healpy を使用して CMB マップを FITS 形式でnside
読み取り、値を手動で設定し、マップを読み取って表示し、球面調和係数を計算します。
ここまでは順調ですね。関数は 300 個のhp.map2alm()
値、つまり 300 個の球面調和係数 a_lm を返します。
" (300,) " を出力します。
768 ピクセルが 300 の a_lm 値に計算されるのはなぜですか? nside
と球面調和係数の総数との間に数学的な関係はありますか? それぞれnside
が異なる数の a_lm 係数を与えますか?
1 つの a_lm を計算するのに何ピクセルかかりますか? どんな助け/説明も大歓迎です!
編集: 以下で説明するように、ピクセルの総数は ですnpix = 12*nside**2
。map2alm
デフォルトを使用しますlmax = 3*nside-1
。したがって、球面調和係数の総数は までの奇数の合計になるはず3*nside-1=23
です。球面調和係数の総数は、(2*lmax+1)**2 = (6*nside-1)**2 になります。(2*lmax+1)^2=(2*23+1)^2 = (47)^2 = 2209. では、この 300 という数字はどこから来ているのでしょうか? 正確には何をしているのmap2alm
ですか?これはどのようにして単純な近似になるのでしょうか?
私は 2209 a_lm を期待しています。300と計算しました。