本文整理汇总了Python中pyFAI.azimuthalIntegrator.AzimuthalIntegrator.load方法的典型用法代码示例。如果您正苦于以下问题:Python AzimuthalIntegrator.load方法的具体用法?Python AzimuthalIntegrator.load怎么用?Python AzimuthalIntegrator.load使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyFAI.azimuthalIntegrator.AzimuthalIntegrator
的用法示例。
在下文中一共展示了AzimuthalIntegrator.load方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_saxs
# 需要导入模块: from pyFAI.azimuthalIntegrator import AzimuthalIntegrator [as 别名]
# 或者: from pyFAI.azimuthalIntegrator.AzimuthalIntegrator import load [as 别名]
class test_saxs(unittest.TestCase):
saxsPilatus = "1492/bsa_013_01.edf"
maskFile = "1491/Pcon_01Apr_msk.edf"
maskRef = "1490/bioSaxsMaskOnly.edf"
maskDummy = "1488/bioSaxsMaskDummy.edf"
poniFile = "1489/bioSaxs.poni"
ai = None
tmp_dir = os.environ.get("PYFAI_TEMPDIR", os.path.join(os.path.dirname(os.path.abspath(__file__)), "tmp"))
def setUp(self):
self.edfPilatus = UtilsTest.getimage(self.__class__.saxsPilatus)
self.maskFile = UtilsTest.getimage(self.__class__.maskFile)
self.poniFile = UtilsTest.getimage(self.__class__.poniFile)
self.maskRef = UtilsTest.getimage(self.__class__.maskRef)
self.maskDummy = UtilsTest.getimage(self.__class__.maskDummy)
self.ai = AzimuthalIntegrator()
self.ai.load(self.poniFile)
if not os.path.isdir(self.tmp_dir):
os.mkdir(self.tmp_dir)
def test_mask(self):
"""test the generation of mask"""
print self.edfPilatus
data = fabio.open(self.edfPilatus).data
mask = fabio.open(self.maskFile).data
assert abs(self.ai.makeMask(data, mask=mask).astype(int) - fabio.open(self.maskRef).data).max() == 0
assert abs(self.ai.makeMask(data, mask=mask, dummy= -2, delta_dummy=1.1).astype(int) - fabio.open(self.maskDummy).data).max() == 0
示例2: test_azim_halfFrelon
# 需要导入模块: from pyFAI.azimuthalIntegrator import AzimuthalIntegrator [as 别名]
# 或者: from pyFAI.azimuthalIntegrator.AzimuthalIntegrator import load [as 别名]
class test_azim_halfFrelon(unittest.TestCase):
"""basic test"""
fit2dFile = '1460/fit2d.dat'
halfFrelon = "1464/LaB6_0020.edf"
splineFile = "1461/halfccd.spline"
poniFile = "1463/LaB6.poni"
ai = None
fit2d = None
tmp_dir = os.environ.get("PYFAI_TEMPDIR", os.path.join(os.path.dirname(os.path.abspath(__file__)), "tmp"))
tmpfiles = {"cython":os.path.join(tmp_dir, "cython.dat"),
"cythonSP":os.path.join(tmp_dir, "cythonSP.dat"),
"numpy": os.path.join(tmp_dir, "numpy.dat")}
def setUp(self):
"""Download files"""
self.fit2dFile = UtilsTest.getimage(self.__class__.fit2dFile)
self.halfFrelon = UtilsTest.getimage(self.__class__.halfFrelon)
self.splineFile = UtilsTest.getimage(self.__class__.splineFile)
poniFile = UtilsTest.getimage(self.__class__.poniFile)
with open(poniFile) as f:
data = []
for line in f:
if line.startswith("SplineFile:"):
data.append("SplineFile: " + self.splineFile)
else:
data.append(line.strip())
self.poniFile = os.path.join(self.tmp_dir, os.path.basename(poniFile))
with open(self.poniFile, "w") as f:
f.write(os.linesep.join(data))
self.fit2d = numpy.loadtxt(self.fit2dFile)
self.ai = AzimuthalIntegrator()
self.ai.load(self.poniFile)
self.data = fabio.open(self.halfFrelon).data
if not os.path.isdir(self.tmp_dir):
os.makedirs(self.tmp_dir)
for tmpfile in self.tmpfiles.values():
if os.path.isfile(tmpfile):
os.unlink(tmpfile)
def tearDown(self):
"""Remove temporary files"""
unittest.TestCase.tearDown(self)
for tmpfile in self.tmpfiles.values():
if os.path.isfile(tmpfile):
os.unlink(tmpfile)
if os.path.isfile(self.poniFile):
os.unlink(self.poniFile)
def test_numpy_vs_fit2d(self):
"""
Compare numpy histogram with results of fit2d
"""
# logger.info(self.ai.__repr__())
tth, I = self.ai.xrpd_numpy(self.data,
len(self.fit2d), self.tmpfiles["numpy"], correctSolidAngle=False)
rwp = Rwp((tth, I), self.fit2d.T)
logger.info("Rwp numpy/fit2d = %.3f" % rwp)
if logger.getEffectiveLevel() == logging.DEBUG:
logger.info("Plotting results")
fig = pylab.figure()
fig.suptitle('Numpy Histogram vs Fit2D: Rwp=%.3f' % rwp)
sp = fig.add_subplot(111)
sp.plot(self.fit2d.T[0], self.fit2d.T[1], "-b", label='fit2d')
sp.plot(tth, I, "-r", label="numpy histogram")
handles, labels = sp.get_legend_handles_labels()
fig.legend(handles, labels)
fig.show()
raw_input("Press enter to quit")
assert rwp < 11
def test_cython_vs_fit2d(self):
"""
Compare cython histogram with results of fit2d
"""
# logger.info(self.ai.__repr__())
tth, I = self.ai.xrpd_cython(self.data,
len(self.fit2d), "tmp/cython.dat", correctSolidAngle=False, pixelSize=None)
# logger.info(tth)
# logger.info(I)
rwp = Rwp((tth, I), self.fit2d.T)
logger.info("Rwp cython/fit2d = %.3f" % rwp)
if logger.getEffectiveLevel() == logging.DEBUG:
logger.info("Plotting results")
fig = pylab.figure()
fig.suptitle('Cython Histogram vs Fit2D: Rwp=%.3f' % rwp)
sp = fig.add_subplot(111)
sp.plot(self.fit2d.T[0], self.fit2d.T[1], "-b", label='fit2d')
sp.plot(tth, I, "-r", label="cython")
handles, labels = sp.get_legend_handles_labels()
fig.legend(handles, labels)
fig.show()
raw_input("Press enter to quit")
assert rwp < 11
def test_cythonSP_vs_fit2d(self):
"""
Compare cython splitPixel with results of fit2d
"""
logger.info(self.ai.__repr__())
pos = self.ai.cornerArray(self.data.shape)
#.........这里部分代码省略.........
示例3: CalibrationModel
# 需要导入模块: from pyFAI.azimuthalIntegrator import AzimuthalIntegrator [as 别名]
# 或者: from pyFAI.azimuthalIntegrator.AzimuthalIntegrator import load [as 别名]
#.........这里部分代码省略.........
else:
mask = ring_mask
# calculate the mean and standard deviation of this area
sub_data = np.array(self.img_model._img_data.ravel()[np.where(mask.ravel())], dtype=np.float64)
sub_data[np.where(sub_data > upper_limit)] = np.NaN
mean = np.nanmean(sub_data)
std = np.nanstd(sub_data)
# set the threshold into the mask (don't detect very low intensity peaks)
threshold = min_mean_factor * mean + std
mask2 = np.logical_and(self.img_model._img_data > threshold, mask)
mask2[np.where(self.img_model._img_data > upper_limit)] = False
size2 = mask2.sum(dtype=int)
keep = int(np.ceil(np.sqrt(size2)))
try:
sys.stdout = DummyStdOut
res = self.peak_search_algorithm.peaks_from_area(mask2, Imin=mean - std, keep=keep)
sys.stdout = sys.__stdout__
except IndexError:
res = []
# Store the result
if len(res):
self.points.append(np.array(res))
self.points_index.append(ring_index)
self.set_supersampling()
self.spectrum_geometry.reset()
def set_calibrant(self, filename):
self.calibrant = Calibrant()
self.calibrant.load_file(filename)
self.spectrum_geometry.calibrant = self.calibrant
def set_start_values(self, start_values):
self.start_values = start_values
self.polarization_factor = start_values['polarization_factor']
def calibrate(self):
self.spectrum_geometry = GeometryRefinement(self.create_point_array(self.points, self.points_index),
dist=self.start_values['dist'],
wavelength=self.start_values['wavelength'],
pixel1=self.start_values['pixel_width'],
pixel2=self.start_values['pixel_height'],
calibrant=self.calibrant)
self.orig_pixel1 = self.start_values['pixel_width']
self.orig_pixel2 = self.start_values['pixel_height']
self.refine()
self.create_cake_geometry()
self.is_calibrated = True
self.calibration_name = 'current'
self.set_supersampling()
# reset the integrator (not the geometric parameters)
self.spectrum_geometry.reset()
def refine(self):
self.reset_supersampling()
self.spectrum_geometry.data = self.create_point_array(self.points, self.points_index)
fix = ['wavelength']
if self.fit_wavelength:
fix = []
示例4: float
# 需要导入模块: from pyFAI.azimuthalIntegrator import AzimuthalIntegrator [as 别名]
# 或者: from pyFAI.azimuthalIntegrator.AzimuthalIntegrator import load [as 别名]
elif param.startswith("-w="):
wavelength = float(param.split("=", 1)[1])
elif param.startswith("-d="):
dummy = float(param.split("=", 1)[1])
elif param.startswith("-dd="):
delta_dummy = float(param.split("=", 1)[1])
elif param.startswith("-m="):
mask = param.split("=", 1)[1]
elif param.startswith("-h"):
print (__doc__)
sys.exit(1)
elif os.path.isfile(param):
processFile.append(param)
if paramFile and processFile:
integrator.load(paramFile)
if wavelength is not None:
integrator.wavelength = wavelength
print integrator
if mask is not None:
mask = 1 - fabio.open(mask).data
for oneFile in processFile:
t0 = time.time()
fabioFile = fabio.open(oneFile)
if fabioFile.nframes > 1:
for meth in ["BBox", "cython", "numpy"]:
outFile = os.path.splitext(oneFile)[0] + "_" + meth + ".dat"
integrator.saxs(
data=fabioFile.data.astype("float32"),
nbPt=min(fabioFile.data.shape),
dummy=dummy,
示例5: CalibrationData
# 需要导入模块: from pyFAI.azimuthalIntegrator import AzimuthalIntegrator [as 别名]
# 或者: from pyFAI.azimuthalIntegrator.AzimuthalIntegrator import load [as 别名]
#.........这里部分代码省略.........
if mask is not None:
mask = np.logical_and(ring_mask, np.logical_not(mask))
else:
mask = ring_mask
# calculate the mean and standard deviation of this area
sub_data = np.array(self.img_data._img_data.ravel()[np.where(mask.ravel())], dtype=np.float64)
sub_data[np.where(sub_data > upper_limit)] = np.NaN
mean = np.nanmean(sub_data)
std = np.nanstd(sub_data)
# set the threshold into the mask (don't detect very low intensity peaks)
threshold = min_mean_factor * mean + std
mask2 = np.logical_and(self.img_data._img_data > threshold, mask)
mask2[np.where(self.img_data._img_data > upper_limit)] = False
size2 = mask2.sum(dtype=int)
keep = int(np.ceil(np.sqrt(size2)))
try:
res = self.peak_search_algorithm.peaks_from_area(mask2, Imin=mean - std, keep=keep)
except IndexError:
res = []
# Store the result
if len(res):
self.points.append(np.array(res))
self.points_index.append(peak_index)
self.set_supersampling()
self.spectrum_geometry.reset()
def set_calibrant(self, filename):
self.calibrant = Calibrant()
self.calibrant.load_file(filename)
self.spectrum_geometry.calibrant = self.calibrant
def set_start_values(self, start_values):
self.start_values = start_values
self.polarization_factor = start_values['polarization_factor']
def calibrate(self):
self.spectrum_geometry = GeometryRefinement(self.create_point_array(self.points, self.points_index),
dist=self.start_values['dist'],
wavelength=self.start_values['wavelength'],
pixel1=self.start_values['pixel_width'],
pixel2=self.start_values['pixel_height'],
calibrant=self.calibrant)
self.orig_pixel1 = self.start_values['pixel_width']
self.orig_pixel2 = self.start_values['pixel_height']
self.refine()
self.create_cake_geometry()
self.is_calibrated = True
self.calibration_name = 'current'
self.set_supersampling()
# reset the integrator (not the geometric parameters)
self.spectrum_geometry.reset()
def refine(self):
self.reset_supersampling()
self.spectrum_geometry.data = self.create_point_array(self.points, self.points_index)
fix = ['wavelength']
if self.fit_wavelength:
fix = []