Beispiel #1
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(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]))
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #4
0
 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)
Beispiel #5
0
 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)
Beispiel #6
0
 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)
Beispiel #7
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]))
Beispiel #8
0
 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")
Beispiel #9
0
 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")
Beispiel #10
0
 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