def test_nexus(self): wos = UtilsTest.getimage("WOS.h5") detector = detectors.NexusDetector(wos) widget = DetectorSelectorDrop() widget.setDetector(detector) newDetector = widget.detector() self.assertEqual(detector, newDetector)
def test_frelon_splinefile(self): splineFile = UtilsTest.getimage("frelon.spline") detector = detectors.FReLoN(splineFile=splineFile) widget = DetectorSelectorDrop() widget.setDetector(detector) newDetector = widget.detector() self.assertEqual(detector, newDetector)
def setUpClass(cls): cls.app = None if sys.platform.startswith('linux') and not os.environ.get('DISPLAY', ''): # On linux and no DISPLAY available (e.g., ssh without -X) logger.warning('pyFAI.integrate_widget tests disabled (DISPLAY env. variable not set)') cls.app = None elif qt is not None: cls.app = qt.QApplication([]) config = {"poni": UtilsTest.getimage("Pilatus1M.poni")} integration_config.normalize(config, inplace=True) cls.base_config = config
def test(): # workin on 256x256 # x, y = numpy.ogrid[:256, :256] # grid = numpy.logical_or(x % 10 == 0, y % 10 == 0) + numpy.ones((256, 256), numpy.float32) # det = detectors.FReLoN("frelon_8_8.spline") # # working with halfccd spline x, y = numpy.ogrid[:1024, :2048] grid = numpy.logical_or(x % 100 == 0, y % 100 == 0) + numpy.ones((1024, 2048), numpy.float32) splineFilePath = "halfccd.spline" splineFile = UtilsTest.getimage(splineFilePath) det = detectors.FReLoN(splineFile) # working with halfccd spline # x, y = numpy.ogrid[:2048, :2048] # grid = numpy.logical_or(x % 100 == 0, y % 100 == 0).astype(numpy.float32) + numpy.ones((2048, 2048), numpy.float32) # det = detectors.FReLoN("frelon.spline") print(det, det.max_shape) disLUT = _distortion.Distortion(det) print(disLUT) lut = disLUT.calc_LUT_size() print(disLUT.lut_size) print(lut.mean()) disLUT.calc_LUT() outLUT = disLUT.correct(grid) fabio.edfimage.edfimage(data=outLUT.astype("float32")).write("test_correct_LUT.edf") print("*"*50) print(det, det.max_shape) disCSR = _distortionCSR.Distortion(det, foo=64) print(disCSR) lut = disCSR.calc_LUT_size() print(disCSR.lut_size) print(lut.mean()) disCSR.calc_LUT() outCSR = disCSR.correct(grid) fabio.edfimage.edfimage(data=outCSR.astype("float32")).write("test_correct_CSR.edf") print("*"*50) disCSR.setDevice() outCSRocl = disCSR.correct(grid) fabio.edfimage.edfimage(data=outCSRocl.astype("float32")).write("test_correct_CSR.edf") print("*"*50) print(det, det.max_shape) disLUTpy = distortion.Distortion(det) print(disLUTpy) lut = disLUTpy.calc_LUT_size() print(disLUTpy.lut_size) print(lut.mean()) disLUTpy.calc_LUT() outLUTpy = disLUTpy.correct(grid) fabio.edfimage.edfimage(data=outLUTpy.astype("float32")).write("test_correct_LUT.edf") print("*"*50) # x, y = numpy.ogrid[:2048, :2048] # grid = numpy.logical_or(x % 100 == 0, y % 100 == 0) # det = detectors.FReLoN("frelon.spline") # print( det, det.max_shape) # dis = Distortion(det) # print(dis # lut = dis.calc_LUT_size() # print(dis.lut_size # print("LUT mean & max", lut.mean(), lut.max() # dis.calc_LUT() # out = dis.correct(grid) # fabio.edfimage.edfimage(data=out.astype("float32")).write("test2048.edf") import pylab # pylab.imshow(outLUT) # pylab.show() # pylab.imshow(outCSR) # , interpolation="nearest") # , interpolation="nearest") # pylab.show() pylab.imshow(outCSRocl) pylab.show() # pylab.imshow(outLUTpy) # pylab.show() assert numpy.allclose(outLUT, outCSRocl)
import time import logging import numpy import fabio logging.basicConfig(level=logging.INFO) import pyFAI, pyFAI.distortion halfFrelon = "1464/LaB6_0020.edf" splineFile = "1461/halfccd.spline" fit2d_cor = "2454/halfccd.fit2d.edf" from pyFAI.test.utilstest import UtilsTest fit2dFile = UtilsTest.getimage(fit2d_cor) halfFrelon = UtilsTest.getimage(halfFrelon) splineFile = UtilsTest.getimage(splineFile) det = pyFAI.detectors.FReLoN(splineFile) img = fabio.open(halfFrelon).data # det.binning = 5, 8 import numpy dis = pyFAI.distortion.Distortion(det, det.shape, resize=False, mask=numpy.zeros(det.shape, "int8")) pos = dis.calc_pos(False) from pyFAI.ext import _distortion print(dis.bin_size) t0 = time.time() ref = _distortion.calc_CSR(pos, det.shape, dis.calc_size(), (8, 8)) t1 = time.time() obt = _distortion.calc_openmp(pos, det.shape, (8, 8)) t2 = time.time() print("ref", t1 - t0, "new", t2 - t1)
import time import logging import numpy import fabio logging.basicConfig(level=logging.INFO) import pyFAI.distortion halfFrelon = "LaB6_0020.edf" splineFile = "halfccd.spline" fit2d_cor = "halfccd.fit2d.edf" from pyFAI.test.utilstest import UtilsTest fit2dFile = UtilsTest.getimage(fit2d_cor) halfFrelon = UtilsTest.getimage(halfFrelon) splineFile = UtilsTest.getimage(splineFile) det = pyFAI.detectors.FReLoN(splineFile) img = fabio.open(halfFrelon).data # det.binning = 5, 8 dis = pyFAI.distortion.Distortion(det, det.shape, resize=False, mask=numpy.zeros(det.shape, "int8")) pos = dis.calc_pos(False) import pyFAI.ext._distortion print(dis.bin_size) t0 = time.time() ref = pyFAI.ext._distortion.calc_CSR(pos, det.shape, dis.calc_size(), (8, 8)) t1 = time.time() obt = pyFAI.ext._distortion.calc_sparse(pos, det.shape, (8, 8)) t2 = time.time() print("ref", t1 - t0, "new", t2 - t1)
def test(): # workin on 256x256 # x, y = numpy.ogrid[:256, :256] # grid = numpy.logical_or(x % 10 == 0, y % 10 == 0) + numpy.ones((256, 256), numpy.float32) # det = detectors.FReLoN("frelon_8_8.spline") # # working with halfccd spline x, y = numpy.ogrid[:1024, :2048] grid = numpy.logical_or(x % 100 == 0, y % 100 == 0) + numpy.ones( (1024, 2048), numpy.float32) splineFilePath = "halfccd.spline" splineFile = UtilsTest.getimage(splineFilePath) det = detectors.FReLoN(splineFile) # working with halfccd spline # x, y = numpy.ogrid[:2048, :2048] # grid = numpy.logical_or(x % 100 == 0, y % 100 == 0).astype(numpy.float32) + numpy.ones((2048, 2048), numpy.float32) # det = detectors.FReLoN("frelon.spline") print(det, det.max_shape) disLUT = _distortion.Distortion(det) print(disLUT) lut = disLUT.calc_LUT_size() print(disLUT.lut_size) print(lut.mean()) disLUT.calc_LUT() outLUT = disLUT.correct(grid) fabio.edfimage.edfimage( data=outLUT.astype("float32")).write("test_correct_LUT.edf") print("*" * 50) print(det, det.max_shape) disCSR = _distortionCSR.Distortion(det, foo=64) print(disCSR) lut = disCSR.calc_LUT_size() print(disCSR.lut_size) print(lut.mean()) disCSR.calc_LUT() outCSR = disCSR.correct(grid) fabio.edfimage.edfimage( data=outCSR.astype("float32")).write("test_correct_CSR.edf") print("*" * 50) disCSR.setDevice() outCSRocl = disCSR.correct(grid) fabio.edfimage.edfimage( data=outCSRocl.astype("float32")).write("test_correct_CSR.edf") print("*" * 50) print(det, det.max_shape) disLUTpy = distortion.Distortion(det) print(disLUTpy) lut = disLUTpy.calc_LUT_size() print(disLUTpy.lut_size) print(lut.mean()) disLUTpy.calc_LUT() outLUTpy = disLUTpy.correct(grid) fabio.edfimage.edfimage( data=outLUTpy.astype("float32")).write("test_correct_LUT.edf") print("*" * 50) # x, y = numpy.ogrid[:2048, :2048] # grid = numpy.logical_or(x % 100 == 0, y % 100 == 0) # det = detectors.FReLoN("frelon.spline") # print( det, det.max_shape) # dis = Distortion(det) # print(dis # lut = dis.calc_LUT_size() # print(dis.lut_size # print("LUT mean & max", lut.mean(), lut.max() # dis.calc_LUT() # out = dis.correct(grid) # fabio.edfimage.edfimage(data=out.astype("float32")).write("test2048.edf") import pylab # pylab.imshow(outLUT) # pylab.show() # pylab.imshow(outCSR) # , interpolation="nearest") # , interpolation="nearest") # pylab.show() pylab.imshow(outCSRocl) pylab.show() # pylab.imshow(outLUTpy) # pylab.show() assert numpy.allclose(outLUT, outCSRocl)
def setUpClass(cls): super(TestIntegrationDialog, cls).setUpClass() config = {"poni": UtilsTest.getimage("Pilatus1M.poni")} integration_config.normalize(config, inplace=True) cls.base_config = config
import logging import pyFAI, fabio from pyFAI.test.utilstest import UtilsTest from pyFAI.gui.mpl_calib_qt import QtMplCalibWidget from pyFAI.gui.peak_picker import PeakPicker logging.basicConfig() from pyFAI.calibrant import get_calibrant agbh = get_calibrant("AgBh") img = fabio.open(UtilsTest.getimage("Pilatus1M.edf")).data pp = PeakPicker( data=img, calibrant=agbh, wavelength=1e-10, detector=pyFAI.detector_factory("Pilatus1M"), )