Esempio n. 1
0
    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))
Esempio n. 2
0
    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))
Esempio n. 3
0
    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
Esempio n. 4
0
def SimExRead(idxs):
    diffr_analyzer = DiffractionAnalysis(diffr_data, idxs, poissonize=False)
    diffr_pattern = diffr_analyzer.numpyPattern()