1
2
3 """
4
5 Authors:
6 ........
7 * Henning O. Sorensen & Erik Knudsen:
8 Center for Fundamental Research: Metal Structures in Four Dimensions;
9 Risoe National Laboratory;
10 Frederiksborgvej 399;
11 DK-4000 Roskilde;
12 email:erik.knudsen@risoe.dk
13 * Jon Wright:
14 European Synchrotron Radiation Facility;
15 Grenoble (France)
16
17 """
18
19
20
21
22
23 from fabio.tifimage import tifimage
24
25
27 """ Read in Pilatus format, also
28 pilatus images, including header info """
29
30
32 """
33 Parser based approach
34 Gets all entries
35 """
36
37 self.header = {}
38
39
40 hstr = infile.read(4096)
41
42
43 if (hstr.find('# ') == -1):
44 return self.header
45
46 hstr = hstr[hstr.index('# '):]
47 hstr = hstr[:hstr.index('\x00')]
48 hstr = hstr.split('#')
49 go_on = True
50 while go_on:
51 try:
52 hstr.remove('')
53 except Exception:
54 go_on = False
55
56 for line in hstr:
57 line = line[1:line.index('\r\n')]
58 if line.find(':') > -1:
59 dump = line.split(':')
60 self.header[dump[0]] = dump[1]
61 elif line.find('=') > -1:
62 dump = line.split('=')
63 self.header[dump[0]] = dump[1]
64 elif line.find(' ') > -1:
65 i = line.find(' ')
66 self.header[line[:i]] = line[i:]
67 elif line.find(',') > -1:
68 dump = line.split(',')
69 self.header[dump[0]] = dump[1]
70
71 return self.header
72
73
74
76 """
77 inherited from tifimage
78 ... a Pilatus image *is a* tif image
79 just with a header
80 """
81 return tifimage.read(self, fname)
82