Commit abc4cea7 authored by Viktor Reshniak's avatar Viktor Reshniak
Browse files

integrate_loaded

parent 33ab1c96
Loading
Loading
Loading
Loading
+32 −1
Original line number Diff line number Diff line
@@ -1997,7 +1997,38 @@ class PeaksIntegrator(object):


	@timer
	def integrate_peak(self, peak_id, h, peak_std=_peak_std, bkgr_std=_bkgr_std, gap_std=1):
	def integrate_loaded(self, bins):

		for peak_id in range(self.npeaks):
			box_size = self.box_sizes[peak_id]

			if box_size is not None:
				binned_peak = self.bin_peak(peak_id, bins, hkl_box_size=box_size, smooth=False)
				points,_    = histogram_grid(binned_peak)
				peak_mask   = self.peak_funs[peak_id].is_inside_ellipsoid(std=_peak_std, x=points.reshape((-1,3))).reshape([bins]*3)
				bkgr_mask   = ~self.peak_funs[peak_id].is_inside_ellipsoid(std=_peak_std+_gap_std, x=points.reshape((-1,3))).reshape([bins]*3)
				valid_mask  = self.valid_masks[peak_id]

				I,sig = integrate_peak(binned_peak.getSignalArray(), peak_mask, bkgr_mask, valid_mask=valid_mask)

				self.peaks[peak_id].setIntensity(I)
				self.peaks[peak_id].setSigmaIntensity(sig)

		Is = [self.peaks[peak_id].getIntensity() for peak_id in range(self.npeaks)]
		Is = np.array(Is)
		peak_ids = self.peak_ids_by_mnp['0,0,0']
		# peak_ids = np.arange(self.npeaks)
		Is = Is[peak_ids]
		mI = self.peak_mantidI[peak_ids]
		ind = np.argsort(Is)
		plt.close('all')
		plt.semilogy(Is[ind])
		plt.semilogy(mI[ind])
		plt.show()


	@timer
	def integrate_peak(self, peak_id, h, peak_std=_peak_std, bkgr_std=_bkgr_std, gap_std=_gap_std):
		'''Integrate the peak

		Inputs