예제 #1
0
	def __init__(self, filename, exclude):
		from cosmosis.datablock import option_section, names
		from cosmosis.plotting.kde import KDE

		exclude += ['post', 'like']
		names = open(filename).readline().lstrip('#').split()
		names = [[i, name] for i, name in enumerate(names) if name.split("--")[-1] not in exclude]
		indices = np.array(names).T[0].astype(int)
		names =np.array(names).T[1].astype(str)
		n = nsample_multinest(filename)
		data = np.loadtxt(filename).T
		if n is not None:
			print "Using last {} rows of data".format(n)
			data = data[:,-n:]
		if "weight" in names:
			weight = data[np.argwhere(names=="weight")[0,0]]
			weight /= weight.max()
		else:
			weight = None

		indices = [index for index,name in zip(indices,names) if name!='weight' ]
		names = [name for name in names if name!='weight']
		self.data = data[indices]
		names = [name.split("--") for name in names]
		self.names = names

		self.kde = KDE(self.data, weights=weight)
예제 #2
0
 def smooth_likelihood(obj,x, y):
     n = obj.options.get("n_kde", 100)
     factor = obj.options.get("factor_kde", 2.0)
     kde = KDE([x,y], factor=factor)
     x_range = (x.min(), x.max())
     y_range = (y.min(), y.max())
     (x_axis, y_axis), like = kde.grid_evaluate(n, [x_range, y_range])
     return n, x_axis, y_axis, like
예제 #3
0
 def smooth_likelihood(obj,x, y):
     n = 100
     factor =  2.0
     kde = KDE([x,y], factor=factor)
     x_range = (x.min(), x.max())
     y_range = (y.min(), y.max())
     (x_axis, y_axis), like = kde.grid_evaluate(n, [x_range, y_range])
     return n, x_axis, y_axis, like