def test_write(self): "Test writing with self consistency at the fabio level" for line in TESTIMAGES.split("\n"): vals = line.split() name = vals[0] obj = brukerimage() ref = brukerimage() fname = os.path.join(self.im_dir, name) obj.read(fname) obj.write(os.path.join(UtilsTest.tempdir, name)) other = brukerimage() other.read(os.path.join(UtilsTest.tempdir, name)) ref.read(fname) self.assertEqual( abs(obj.data - other.data).max(), 0, "data are the same") for key in ref.header: if key in ("filename", ): continue if key not in other.header: logger.warning("Key %s is missing in new header, was %s" % (key, ref.header[key])) else: self.assertEqual( ref.header[key], other.header[key], "value are the same for key %s: was %s now %s" % (key, ref.header[key], other.header[key]))
def test_linear(self): """ test for self consitency of random data read/write """ obj = brukerimage(data=self.data) obj.write(self.filename) new = brukerimage() new.read(self.filename) error = abs(new.data - self.data).max() self.assert_(error < numpy.finfo(numpy.float32).eps, "Error is %s>1e-7" % error)
def test_linear(self): """ test for self consistency of random data read/write """ obj = brukerimage(data=self.data) obj.write(self.filename) new = brukerimage() new.read(self.filename) error = abs(new.data - self.data).max() self.assert_(error < numpy.finfo(numpy.float32).eps, "Error is %s>1e-7" % error)
def test_read(self): """ see if we can read the test image """ obj = brukerimage() obj.read(self.filename) self.assertAlmostEqual(obj.getmean() , 272.0, 2) self.assertEqual(obj.getmin() , 0) self.assertEqual(obj.getmax() , 4194304)
def test_read(self): """ see if we can read the test image """ obj = brukerimage() obj.read(self.filename) self.assertAlmostEqual(obj.getmean(), 272.0, 2) self.assertEqual(obj.getmin(), 0) self.assertEqual(obj.getmax(), 4194304)
def checkFile(self, filename): """ check we can read it""" obj = openimage(filename) obj2 = brukerimage() obj2.read(filename) self.assertEqual(obj.data[10, 10], obj2.data[10, 10]) self.assertEqual(type(obj), type(obj2)) self.assertEqual(abs(obj.data.astype(int) - obj2.data.astype(int)).sum(), 0)
def test_write(self): "Test writing with self consistency at the fabio level" for line in TESTIMAGES.split("\n"): vals = line.split() name = vals[0] obj = brukerimage() ref = brukerimage() fname = os.path.join(self.im_dir, name) obj.read(fname) obj.write(os.path.join(self.tempdir, name)) other = brukerimage() other.read(os.path.join(self.tempdir, name)) ref.read(fname) self.assertEqual(abs(obj.data - other.data).max(), 0, "data are the same") for key in ref.header: if key in ("filename",): continue if key not in other.header: logger.warning("Key %s is missing in new header, was %s" % (key, ref.header[key])) else: self.assertEqual(ref.header[key], other.header[key], "value are the same for key %s: was %s now %s" % (key, ref.header[key], other.header[key]))
def test_read(self): """ check we can read bruker images""" for line in TESTIMAGES.split("\n"): vals = line.split() name = vals[0] dim1, dim2 = [int(x) for x in vals[1:3]] mini, maxi, mean, stddev = [float(x) for x in vals[3:]] obj = brukerimage() obj.read(os.path.join(self.im_dir, name)) self.assertAlmostEqual(mini, obj.getmin(), 2, "getmin") self.assertAlmostEqual(maxi, obj.getmax(), 2, "getmax") self.assertAlmostEqual(mean, obj.getmean(), 2, "getmean") self.assertAlmostEqual(stddev, obj.getstddev(), 2, "getstddev") self.assertEqual(dim1, obj.dim1, "dim1") self.assertEqual(dim2, obj.dim2, "dim2")
def __init__(self, dark, flood, template, darkoffset=100, distance=5.0, border=None, wvln=0.5, omegasign=1., powfac=1.0, overflow=65534, detrend=None, monitorval=None, monitorcol=None, maskfilename=None, splinefile=None, omega_zero=0, chi_zero=0): """ converts edf (esrf id11 frelon) to bruker (esrf id11 smart6500)""" self.distance = distance self.overflow = overflow self.omegasign = omegasign self.wvln = wvln self.powfac = powfac self.darkflood = darkflood(darkoffset=darkoffset, border=border, powfac=self.powfac, overflow=self.overflow, splinefile=splinefile, detrend=detrend, monitorval=monitorval, monitorcol=monitorcol, maskfilename=maskfilename) self.darkflood.readdark(dark) self.darkflood.readflood(flood) self.darkflood.readspline(splinefile) self.templatefile = template im = brukerimage() im.readheader(template) self.header = im.header self.h = im.__headerstring__ self.last_time = time.time() self.omega_zero = omega_zero self.chi_zero = chi_zero