0
私は元々FITS形式で保存された画像に対応するデータポイントの200x200の2次元配列を持っています。アレイ内の各数字は、空間におけるその座標における光子数を示す。N点を囲むボロノイ図
私はfollows--
import numpy
import matplotlib
import scipy
from astropy.io import fits
#Header List
hdulist = fits.open("ElGordo_img_0540_full.fits")
#Converting the photon data to coordinates
#Any non-zero photon intensity is counted only once
#For testing purposes
def convert_coords(data):
coords = []
for i in range(len(data)):
for j in range(len(data[i])):
if data[i][j] >0:
coords.append([j,i])
return coords
# print convert_coords(test)
#Image DATA array stored in the Primary header
data_array = hdulist[0].data
#converting to coordinate form
coords_data = convert_coords(data_array)
#Making Voronoi plot
from scipy.spatial import Voronoi, voronoi_plot_2d
vor = Voronoi(coords_data)
#Plotting Voronoi
import matplotlib.pyplot as plt
voronoi_plot_2d(vor)
plt.show()
として、これらのデータ・ポイントのボロノイプロットを作成しようとしていますしかし、この方法では、各ボックスは「一」のポイントを持っているボロノイを与えます。 the image looks a complete mess
プロットから分かるように、私はボロノイプロットに複数の点を囲む方法が必要です(これは「k次ボロノイ」と呼ばれています)。これをPythonでどのように実装できますか?既存のライブラリ/メソッドを使用することはできますか?
ありがとうございました
確かにvoronoiを使いたいですか?私は、k次のボロノイは数えられた光子数をとらないと考えています。他の視覚化はより良いかもしれません –
ここで何を達成しようとしていますか?あなたのデータはどういう意味ですか?なぜそれを地域に分けようとしているのですか?地域が意味するものは何ですか? –
なぜボロノイダイアグラムを使用したいのですか? –