問題タブ [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.

0 投票する
1 に答える
481 参照

python - healpix マップを劣化させる適切な方法

Healpix 形式の CMB マップを Nside=4096 から Nside=2048 に劣化させようとしています。私の知る限り、これを達成するには2つの方法があります。

(a) map2alm を使用して alm に変換し、alm2map を使用して Nside=2048 マップに変換します。(b) healpix/healpy で ud_grade を使用する。

これらの両方をテストしましたが、異なる結果が得られました。(a) については、正しい入力スペクトルを回復しましたが、勾配が大きいピクセルの周囲 (点光源の周囲) に「リンギング」効果が見られます。(b) を使用すると、入力スペクトルが復元されません。出力スペクトルを pixwin(2048)**2 で除算してみましたが、問題は解決しません。

正しいスペクトルを維持し、マップにリンギング効果を誘発することなく、現実的なマップを劣化させる適切な方法は何ですか?

前もって感謝します、

方法 (b) を使用したスペクトル

点光源周辺のリンギング効果

0 投票する
1 に答える
354 参照

dictionary - healpix で部分プロットを作成するにはどうすればよいですか?

空の特定の領域を拡大して、その領域 (たとえば、コールド スポット) のみのマップをプロットしたいと考えています。どうすればこれを healpix で行うことができますか? mollview...などでオプションが見つかりませんでした。

0 投票する
1 に答える
690 参照

python - Healpy query_polygon が間違った領域を返す

長方形の FOV に対応するピクセル インデックスを見つけるために、healpy.query_polygon を使用しています。ただし、返されるインデックスは入力と一致しません。FOV よりも ~100 倍大きい (または、予想される ~30 ピクセルではなく ~14000 ピクセルを返す) ポリゴンを healpy 空間に作成します。

query_disc 関数は期待どおりに機能しますが、これは私が使用しようとしている関数ではありません。

対応する出力: 上(ディスク)、下(ポリゴン)

hp.query_disc の場合:

hp.query_polygon の場合:

誰もこの不一致を説明できますか? すべてのアカウントで、頂点が関数に正しく実装されていない限り、エラーは表示されません。

0 投票する
2 に答える
702 参照

python - 補間後の Healpy 座標エラー: 2 等分線の出現

128 ポイントで構成された粗いスカイマップがあり、そのうち滑らか​​な healpix マップを作成したいと考えています (添付の図、LHS を参照)。本文で参照されている図:

ここ

データをロードし、最終的なマップに適したピクセル長の新しい経度と緯度の配列を作成します (たとえば、nside=32 を使用)。

私の入力データは次のとおりです。

nside からのピクセル数に基づく新しい経度/緯度配列サイズ:

次に、補間によってそれらのピクセルの新しいデータ値を見つけ、角度からピクセルに変換します。

次に、補間された値を使用してヘルピー マップを作成します。

マップの結果は、添付の図の上部 RHS です。

(jet の使用を許してください -- viridis には「白い」ゼロがないため、そのカラーマップを使用すると青い背景が追加されます。)

マップは正しく見えません。図の粗いマップから、下の RHS に「ホットスポット」があるはずですが、ここでは左上に表示されていることがわかります。

健全性チェックとして、matplotlib を使用して、mollview プロジェクションで補間されたポイントの散布図を作成しました (図 2)。マーカーのエッジを削除して、マップのように見せました ;)

このマップ、添付の図の右側の下部が、まさに私が期待するものを生成していることがわかります! だから座標は大丈夫です、そして私は完全に混乱しています。

誰もこれに遭遇したことがありますか?私に何ができる?このマップと将来のマップで healpy 関数を使用したいので、matplotlib を使用するだけでは選択肢がありません。

ありがとう!

0 投票する
1 に答える
538 参照

python - Healpix はどのように NaN を処理してスカイ マップ上のデータを補間しますか?

スペースにこの形式のデータがdatapoint[37][19]ありphi-thetaます。しかし、私のデータは空全体をカバーできないため、datapoint配列には NaN が含まれています。全体の約半分の NaN がありますdatapoint。の約 9/10 の非 NaN 値datapointは負であり、それらの約 1/10 は正です。

この補間関数を試しました:

しかし、それはエラーを返しました。NaN、正と負の値を含むデータを、Healpix がマップの作成に使用できるレベルまで補間する方法を尋ねています。ベースマップから作成された平滑化されていないマップがあります。

ここに画像の説明を入力

0 投票する
1 に答える
329 参照

tensorflow - 球体のパターン認識(HEALPYベース)

Tensorflow と Keras を使用しています。球の表面の画像に対して適切なパターン認識を達成する可能性はありますか? ( Healpy フレームワーク) を使用して、パターン認識が機能するスカイマップを作成しています。問題は、これらの Healpy スカイマップが 1 次元の numpy 配列であるため、コンパクトなサブパターンがこの 1 次元配列に分散して分散される可能性があることです。これは、基本的な機械学習アルゴリズムを学習するのは実際にはかなり困難です (私は畳み込みディープ ネットワークについて考えています)。

このコンテキストでの特定のタスクは、球の表面上のブロブを数えることです (添付の画像を参照)。この特定のタスクでは、正しい数は 8 です。そのため、10000 個のスカイマップ (Healpy 設定: nside=16、npix=3072 に対応) を作成し、それぞれに 0 から 9 までのランダムな数のブロブ (したがって 10 の可能性) を設定しました。これを 1d Healpy 配列と単純なフィード フォワード ネットワークで解決しようとしました。

ただし、10,000 個のスカイマップでトレーニングした後、テスト セットの精度は 38% しか得られませんでした。1 次元配列のみではなく、(球体に表示されるように) Healpy セルの実際の配置を提供すると、これは大幅に増加すると思います。この場合、畳み込みネットワーク (Convolution2d) を使用して、通常の画像認識と同じように操作できます。ヘルピーセルを2次元配列に適切にマッピングする方法、または球上で直接畳み込みネットワークを使用する方法はありますか?

ありがとう!