私のスクリプトに関する質問があり、あなたの助けや私の問題を解決するためのアイデアが欲しいです。マスク条件の後に2D配列を取得
私はデータを持つ2D配列を持っています。私は他の2D配列でそれを分割したいと思います。これまでは問題ではありません。 しかし、私はある条件に置く:、最後に:私はことを書い= 1
をこの両方の配列は、バイナリマスクを占め取るだけのピクセルを取る必要があります:
fig10, (ax1, ax2, ax3) = plt.subplots(1,3)
fig = plt.gcf()
fig.set_size_inches(16, 9)
# ARRAYS TAKE ACCOUNT PIXEL = 1 IN THE BINARY GRID
convolution_mask_locale_data = convolution_mask_locale[grid.T == 1]
convolution_mask_grande_data = convolution_mask_grande[grid.T == 1]
convolution_locale_data = convolution_locale[grid.T == 1]
convolution_grande_data = convolution_grande[grid.T == 1]
# FIRST STEP DIVIDE
step1 = convolution_locale_data/convolution_mask_locale_data
fig_step1 = ax1.imshow(step1, interpolation='nearest')
fig10.colorbar(fig_step1,ax=ax1)
ax1.set_xlabel("X (arcmin)")
ax1.set_ylabel("Y (arcmin)")
# SECOND STEP DIVIDE
step2 = convolution_grande_data/convolution_mask_grande_data
fig_step2 = ax2.imshow(step2, interpolation='nearest')
fig10.colorbar(fig_step2,ax=ax2)
ax2.set_xlabel("X (arcmin)")
ax2.set_ylabel("Y (arcmin)")
# SUBSTRACT BOTH RESULTS
S_N_map = step1 - step2
fig_S_N_map = ax3.imshow(S_N_map, interpolation='nearest')
fig10.colorbar(fig_S_N_map,ax=ax3)
ax3.set_xlabel("X (arcmin)")
ax3.set_ylabel("Y (arcmin)")
fig10.tight_layout()
fig10.savefig(outname10)
をしかし、私は問題を取得します私はヒートマップと同じことをする必要があります。しかし、私がgrid.T条件で配列を扱うとき、私の2D配列は1D配列になり、操作を行うことはできません。
私はどのように処理することができますか? おそらくそれは完全にはっきりしていないかもしれません。そして私は非常に悪い英語には申し訳ありません。
ありがとうございました!
EDIT:
変数grid.Tは私ピクセルの星(値1)または無(値0)を持っている場合を示しているバイナリアレイ(0または1)です。
変数convolution_mask_localガウスによって畳み込まれる前grid.Tを表します。また、OliverW BY 2D配列
ソリューションです。 。
私は私のスクリプトがOliverWによって与えられた溶液を更新し、私はこの取得:
fig10, (ax1, ax2, ax3) = plt.subplots(1,3)
fig = plt.gcf()
fig.set_size_inches(16, 9)
mask = binary_mask == 0
A = np.ma.masked_array(convolution_locale, mask = mask)
B = np.ma.masked_array(convolution_mask_locale, mask = mask)
C = np.ma.masked_array(convolution_grande, mask = mask)
D = np.ma.masked_array(convolution_mask_grande, mask =mask)
step1 = A/B
step2 = C/D
fig_step1 = ax1.imshow(step1, interpolation='nearest')
fig10.colorbar(fig_step1,ax=ax1)
ax1.set_xlabel("X (arcmin)")
ax1.set_ylabel("Y (arcmin)")
fig_step2 = ax2.imshow(step2, interpolation='nearest')
fig10.colorbar(fig_step2,ax=ax2)
ax2.set_xlabel("X (arcmin)")
ax2.set_ylabel("Y (arcmin)")
# SUBSTRACT BOTH RESULTS
S_N_map = step1 - step2
fig_S_N_map = ax3.imshow(S_N_map, interpolation='nearest')
fig10.colorbar(fig_S_N_map,ax=ax3)
ax3.set_xlabel("X (arcmin)")
ax3.set_ylabel("Y (arcmin)")
fig10.tight_layout()
fig10.savefig(outname10)
を、私はこれらのプロットを取得する(1秒は非常に良好に動作するようだが、ために最初ではありません不明な理由):
変数 'grid'とは何ですか? 'convolution_mask_locale'とは何ですか?あなたの事例を[最小で完全で検証可能な例]にしてください(http://stackoverflow.com/help/mcve)。 –
@OliverW。ごめんなさいOliverW、私は可能な限り明確になるために私の質問を編集しました。多くの詳細があるので、何かを忘れた可能性があります;) – Deadpool