def testOneNumpyPattern(self): """ Check if we can getting the numpy array of one snapshot """ analyzer = DiffractionAnalysis(input_path=self.__test_data, pattern_indices=1, poissonize=True) self.assertEqual(analyzer.npattern, 1) pattern_one = analyzer.numpyPattern() self.assertEqual(pattern_one.shape, (81, 81))
def testWholeNumpyPattern(self): """ Check if we can getting the numpy array of the whole set of diffraction patterns """ analyzer = DiffractionAnalysis(input_path=self.__test_data, pattern_indices="all", poissonize=True) self.assertEqual(analyzer.npattern, 1000) patterns = analyzer.numpyPattern() self.assertEqual(patterns.shape, (1000, 81, 81))
diffr_noise = np.random.normal(diffr_data * mu, sig_arr) return diffr_noise def getPopt(sigs): """Get the fitting parametters for predicting sigmas""" xdata = np.arange(len(sigs)) ydata = sigs my_fitting = curve_fitting(linear, xdata, ydata) return my_fitting.popt # %% diffr_data = '/gpfs/exfel/data/user/juncheng/EMCProject/src/controller/s10/diffr.h5' diffr_analyzer = DiffractionAnalysis(diffr_data, 1, poissonize=False) diffr_pattern = diffr_analyzer.numpyPattern() # %% def linear(x, a, b): return a * x + b def func_sq(x, a, b, c): return a * x**2 + b * x + c # mu, sigs_popt, diffr_fn, emc_out fwhms = np.array([49.3, 56.4, 66.4]) sigs = fwhms / 2.355 mu = 92.1 #ADU/photon
def SimExRead(idxs): diffr_analyzer = DiffractionAnalysis(diffr_data, idxs, poissonize=False) diffr_pattern = diffr_analyzer.numpyPattern()