[python-fabio] 03/31: Imported Upstream version 0.1.0

Frédéric-Emmanuel Picca picca at moszumanska.debian.org
Fri Dec 27 19:05:42 UTC 2013


This is an automated email from the git hooks/post-receive script.

picca pushed a commit to branch master
in repository python-fabio.

commit d9a7ff57de8d24ec69864bca77492eb88bd196d3
Author: Jerome Kieffer <jerome.kieffer at esrf.fr>
Date:   Wed Aug 22 16:38:29 2012 +0200

    Imported Upstream version 0.1.0
---
 MANIFEST.in                                        |    4 +-
 PKG-INFO                                           |   11 +
 README.TXT                                         |   47 +-
 build-deb.sh                                       |    7 +-
 doc/fabio-api.pdf                                  |  Bin 0 -> 605940 bytes
 doc/html/api-objects.txt                           | 1187 ++++
 doc/html/class-tree.html                           |  258 +
 doc/html/crarr.png                                 |  Bin 0 -> 340 bytes
 doc/html/epydoc.css                                |  322 +
 doc/html/epydoc.js                                 |  293 +
 doc/html/fabio-module.html                         |  197 +
 doc/html/fabio-pysrc.html                          |  123 +
 doc/html/fabio.GEimage-module.html                 |  255 +
 doc/html/fabio.GEimage-pysrc.html                  |  638 ++
 doc/html/fabio.GEimage.GEimage-class.html          |  565 ++
 doc/html/fabio.GEimage_old-module.html             |  174 +
 doc/html/fabio.GEimage_old-pysrc.html              | 1055 +++
 doc/html/fabio.GEimage_old.GEimage-class.html      |  368 +
 doc/html/fabio.HiPiCimage-module.html              |  177 +
 doc/html/fabio.HiPiCimage-pysrc.html               |  478 ++
 doc/html/fabio.HiPiCimage.HiPiCimage-class.html    |  369 +
 doc/html/fabio.OXDimage-module.html                |  335 +
 doc/html/fabio.OXDimage-pysrc.html                 | 1026 +++
 doc/html/fabio.OXDimage.OXDimage-class.html        |  490 ++
 doc/html/fabio.OXDimage.Section-class.html         |  350 +
 doc/html/fabio.TiffIO-module.html                  |  454 ++
 doc/html/fabio.TiffIO-pysrc.html                   | 1786 +++++
 doc/html/fabio.TiffIO.TiffIO-class.html            |  524 ++
 doc/html/fabio.adscimage-module.html               |  211 +
 doc/html/fabio.adscimage-pysrc.html                |  473 ++
 doc/html/fabio.adscimage.adscimage-class.html      |  448 ++
 doc/html/fabio.binaryimage-module.html             |  249 +
 doc/html/fabio.binaryimage-pysrc.html              |  374 +
 doc/html/fabio.binaryimage.binaryimage-class.html  |  466 ++
 doc/html/fabio.bruker100image-module.html          |  161 +
 doc/html/fabio.bruker100image-pysrc.html           |  344 +
 .../fabio.bruker100image.bruker100image-class.html |  375 +
 doc/html/fabio.brukerimage-module.html             |  212 +
 doc/html/fabio.brukerimage-pysrc.html              |  558 ++
 doc/html/fabio.brukerimage.brukerimage-class.html  |  449 ++
 doc/html/fabio.byte_offset-module.html             |  158 +
 doc/html/fabio.cbfimage-module.html                |  296 +
 doc/html/fabio.cbfimage-pysrc.html                 | 1185 ++++
 doc/html/fabio.cbfimage.CIF-class.html             | 1068 +++
 doc/html/fabio.cbfimage.cbfimage-class.html        |  554 ++
 doc/html/fabio.cf_io-module.html                   |  205 +
 doc/html/fabio.compression-module.html             |  739 ++
 doc/html/fabio.compression-pysrc.html              |  927 +++
 doc/html/fabio.converters-module.html              |  375 +
 doc/html/fabio.converters-pysrc.html               |  195 +
 doc/html/fabio.datIO-module.html                   |  179 +
 doc/html/fabio.datIO-pysrc.html                    |  220 +
 doc/html/fabio.datIO.columnfile-class.html         |  243 +
 doc/html/fabio.datIO.fabiodata-class.html          |  269 +
 doc/html/fabio.dm3image-module.html                |  276 +
 doc/html/fabio.dm3image-pysrc.html                 |  827 +++
 doc/html/fabio.dm3image.dm3image-class.html        |  491 ++
 doc/html/fabio.edfimage-module.html                |  342 +
 doc/html/fabio.edfimage-pysrc.html                 | 1966 +++++
 doc/html/fabio.edfimage.Frame-class.html           |  471 ++
 doc/html/fabio.edfimage.edfimage-class.html        | 1671 +++++
 doc/html/fabio.fabioimage-module.html              |  221 +
 doc/html/fabio.fabioimage-pysrc.html               | 1214 ++++
 doc/html/fabio.fabioimage.fabioStream-class.html   |  218 +
 doc/html/fabio.fabioimage.fabioimage-class.html    |  991 +++
 doc/html/fabio.fabioutils-module.html              |  598 ++
 doc/html/fabio.fabioutils-pysrc.html               |  487 ++
 .../fabio.fabioutils.filename_object-class.html    |  182 +
 doc/html/fabio.file_series-module.html             |  320 +
 doc/html/fabio.file_series-pysrc.html              |  630 ++
 doc/html/fabio.file_series.file_series-class.html  |  642 ++
 .../fabio.file_series.filename_series-class.html   |  350 +
 ...bio.file_series.numbered_file_series-class.html |  339 +
 doc/html/fabio.fit2dmaskimage-module.html          |  158 +
 doc/html/fabio.fit2dmaskimage-pysrc.html           |  281 +
 .../fabio.fit2dmaskimage.fit2dmaskimage-class.html |  453 ++
 doc/html/fabio.fit2dspreadsheetimage-module.html   |  162 +
 doc/html/fabio.fit2dspreadsheetimage-pysrc.html    |  244 +
 ...readsheetimage.fit2dspreadsheetimage-class.html |  369 +
 doc/html/fabio.kcdimage-module.html                |  238 +
 doc/html/fabio.kcdimage-pysrc.html                 |  410 ++
 doc/html/fabio.kcdimage.kcdimage-class.html        |  411 ++
 doc/html/fabio.mar345_IO-module.html               |  165 +
 doc/html/fabio.mar345image-module.html             |  235 +
 doc/html/fabio.mar345image-pysrc.html              |  784 ++
 doc/html/fabio.mar345image.mar345image-class.html  |  571 ++
 doc/html/fabio.marccdimage-module.html             |  416 ++
 doc/html/fabio.marccdimage-pysrc.html              |  534 ++
 doc/html/fabio.marccdimage.marccdimage-class.html  |  368 +
 doc/html/fabio.openimage-module.html               |  298 +
 doc/html/fabio.openimage-pysrc.html                |  665 ++
 doc/html/fabio.pilatusimage-module.html            |  172 +
 doc/html/fabio.pilatusimage-pysrc.html             |  237 +
 .../fabio.pilatusimage.pilatusimage-class.html     |  367 +
 doc/html/fabio.pnmimage-module.html                |  231 +
 doc/html/fabio.pnmimage-pysrc.html                 |  487 ++
 doc/html/fabio.pnmimage.pnmimage-class.html        |  614 ++
 doc/html/fabio.readbytestream-module.html          |  312 +
 doc/html/fabio.readbytestream-pysrc.html           |  241 +
 doc/html/fabio.tifimage-module.html                |  405 ++
 doc/html/fabio.tifimage-pysrc.html                 |  706 ++
 .../fabio.tifimage.Image_File_Directory-class.html |  256 +
 ....tifimage.Image_File_Directory_entry-class.html |  276 +
 doc/html/fabio.tifimage.Tiff_header-class.html     |  236 +
 doc/html/fabio.tifimage.tifimage-class.html        |  465 ++
 doc/html/fabio.xsdimage-module.html                |  184 +
 doc/html/fabio.xsdimage-pysrc.html                 |  443 ++
 doc/html/fabio.xsdimage.xsdimage-class.html        |  419 ++
 doc/html/frames.html                               |   17 +
 doc/html/help.html                                 |  268 +
 doc/html/identifier-index.html                     | 1649 +++++
 doc/html/index.html                                |   17 +
 doc/html/module-tree.html                          |  147 +
 doc/html/redirect.html                             |   38 +
 doc/html/str-class.html                            | 2113 ++++++
 doc/html/toc-everything.html                       |  242 +
 doc/html/toc-fabio-module.html                     |   32 +
 doc/html/toc-fabio.GEimage-module.html             |   37 +
 doc/html/toc-fabio.GEimage_old-module.html         |   33 +
 doc/html/toc-fabio.HiPiCimage-module.html          |   34 +
 doc/html/toc-fabio.OXDimage-module.html            |   40 +
 doc/html/toc-fabio.TiffIO-module.html              |   58 +
 doc/html/toc-fabio.adscimage-module.html           |   36 +
 doc/html/toc-fabio.binaryimage-module.html         |   35 +
 doc/html/toc-fabio.bruker100image-module.html      |   34 +
 doc/html/toc-fabio.brukerimage-module.html         |   36 +
 doc/html/toc-fabio.byte_offset-module.html         |   32 +
 doc/html/toc-fabio.cbfimage-module.html            |   39 +
 doc/html/toc-fabio.cf_io-module.html               |   33 +
 doc/html/toc-fabio.compression-module.html         |   50 +
 doc/html/toc-fabio.converters-module.html          |   38 +
 doc/html/toc-fabio.datIO-module.html               |   34 +
 doc/html/toc-fabio.dm3image-module.html            |   36 +
 doc/html/toc-fabio.edfimage-module.html            |   40 +
 doc/html/toc-fabio.fabioimage-module.html          |   37 +
 doc/html/toc-fabio.fabioutils-module.html          |   51 +
 doc/html/toc-fabio.file_series-module.html         |   39 +
 doc/html/toc-fabio.fit2dmaskimage-module.html      |   33 +
 .../toc-fabio.fit2dspreadsheetimage-module.html    |   33 +
 doc/html/toc-fabio.kcdimage-module.html            |   37 +
 doc/html/toc-fabio.mar345_IO-module.html           |   32 +
 doc/html/toc-fabio.mar345image-module.html         |   35 +
 doc/html/toc-fabio.marccdimage-module.html         |   43 +
 doc/html/toc-fabio.openimage-module.html           |   40 +
 doc/html/toc-fabio.pilatusimage-module.html        |   33 +
 doc/html/toc-fabio.pnmimage-module.html            |   37 +
 doc/html/toc-fabio.readbytestream-module.html      |   35 +
 doc/html/toc-fabio.tifimage-module.html            |   43 +
 doc/html/toc-fabio.xsdimage-module.html            |   34 +
 doc/html/toc.html                                  |   65 +
 {fabio => fabio-src}/GEimage.py                    |    9 +-
 {fabio => fabio-src}/GEimage_old.py                |    2 +-
 {fabio => fabio-src}/HiPiCimage.py                 |    2 +-
 fabio-src/OXDimage.py                              |  442 ++
 {fabio => fabio-src}/TiffIO.py                     |  276 +-
 {fabio => fabio-src}/__init__.py                   |    7 +-
 {fabio => fabio-src}/adscimage.py                  |    8 +-
 fabio-src/binaryimage.py                           |   87 +
 {fabio => fabio-src}/bruker100image.py             |   29 +-
 {fabio => fabio-src}/brukerimage.py                |    2 +-
 {fabio => fabio-src}/cbfimage.py                   |  414 +-
 fabio-src/compression.py                           |  388 +
 fabio-src/converters.py                            |   54 +
 {fabio => fabio-src}/datIO.py                      |   11 +-
 {fabio => fabio-src}/dm3image.py                   |   45 +-
 {fabio => fabio-src}/edfimage.py                   |   67 +-
 {fabio => fabio-src}/fabioimage.py                 |  150 +-
 {fabio => fabio-src}/fabioutils.py                 |   41 +-
 {fabio => fabio-src}/file_series.py                |   26 +-
 {fabio => fabio-src}/fit2dmaskimage.py             |   10 +-
 {fabio => fabio-src}/fit2dspreadsheetimage.py      |    2 +-
 {fabio => fabio-src}/kcdimage.py                   |    8 +-
 fabio-src/mar345image.py                           |  317 +
 {fabio => fabio-src}/marccdimage.py                |    0
 {fabio => fabio-src}/openimage.py                  |   40 +-
 {fabio => fabio-src}/pilatusimage.py               |    5 +-
 {fabio => fabio-src}/pnmimage.py                   |   70 +-
 {fabio => fabio-src}/readbytestream.py             |    5 +-
 {fabio => fabio-src}/tifimage.py                   |   65 +-
 {fabio => fabio-src}/xsdimage.py                   |    2 +-
 fabio.egg-info/SOURCES.txt                         |  222 +
 fabio/OXDimage.py                                  |  233 -
 fabio/mar345image.py                               |  143 -
 setup.cfg                                          |    5 +
 setup.py                                           |   39 +-
 src/byte_offset.c                                  | 2848 +++++---
 src/byte_offset.html                               | 1240 ++++
 src/byte_offset.pyx                                |   66 +-
 src/ccp4_pack.c                                    |  633 +-
 src/ccp4_pack.h                                    |   58 +
 src/mar345_IO.c                                    | 7479 ++++++++++++++++++++
 src/mar345_IO.html                                 | 1739 +++++
 src/mar345_IO.pyx                                  |  107 +
 src/mar345_iomodule.c                              |   45 -
 src/setup.py                                       |   27 +
 stdeb.cfg                                          |    4 +-
 test/__init__.py                                   |    1 +
 test/coral31_benchheaders                          |   46 -
 test/coral31_benchmark                             |   53 -
 test/eeepc-jonathanw_benchheaders                  |   46 -
 test/eeepc-jonathanw_benchmark                     |   53 -
 test/esrflinux1-1a_benchheaders                    |   46 -
 test/esrflinux1-1a_benchmark                       | 3563 ----------
 test/get_test_images.sh                            |   36 -
 test/lapwright_benchheaders                        |   47 -
 test/lapwright_benchmark                           |   54 -
 test/lintaillefer_benchHeaders                     |   95 -
 test/testGEimage.py                                |    4 +-
 test/testOXDimage.py                               |   62 +-
 test/testXSDimage.py                               |   16 +-
 test/test_all.bat                                  |   26 -
 test/test_all.py                                   |    2 +-
 test/test_all.sh                                   |   32 -
 test/test_file_series.py                           |    0
 test/test_filename_steps.py                        |    0
 test/test_flat_binary.py                           |   12 +-
 test/testadscimage.py                              |   10 +-
 test/testbrukerimage.py                            |   12 +-
 test/testcbfimage.py                               |   41 +-
 test/testcompression.py                            |   86 +
 test/testedfimage.py                               |   44 +-
 test/testfabioimage.py                             |    2 +-
 test/testfilenames.py                              |    2 +-
 test/testfit2dmaskimage.py                         |    0
 test/testheadernotsingleton.py                     |    0
 test/testkcdimage.py                               |   13 +-
 test/testmar345image.py                            |   33 +-
 test/testmccdimage.py                              |   13 +-
 test/testopenheader.py                             |    0
 test/testopenimage.py                              |    0
 test/testtifgz.py                                  |    0
 test/testtifimage.py                               |   67 +-
 test/utilstest.py                                  |   34 +-
 test/win32_benchheaders                            |   46 -
 test/win32_benchmark                               | 3285 ---------
 235 files changed, 68923 insertions(+), 9701 deletions(-)

diff --git a/MANIFEST.in b/MANIFEST.in
index 087bb91..b37be60 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,12 +1,14 @@
 include README.TXT
 include stdeb.cfg
 recursive-exclude fabio.egg-info *
+recursive-exclude debian *
 recursive-include src *.c *.h *.pyx 
 recursive-include test *.py
 recursive-exclude pylint *
 recursive-exclude pydoc *
 recursive-exclude epydoc *
-recursive-exclude debian *
 recursive-exclude build *
 recursive-exclude dist *
 recursive-exclude test/tiftest *
+recursive-exclude test/testimages *
+
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..27a2c50
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,11 @@
+Metadata-Version: 1.0
+Name: fabio
+Version: 0.1.0
+Summary: Image IO for fable
+Home-page: http://fable.wiki.sourceforge.net/fabio
+Author: Henning Sorensen, Erik Knudsen, Jon Wright, Regis Perdreau, Jérôme Kieffer and Gael Goret
+Author-email: fable-talk at lists.sourceforge.net
+License: UNKNOWN
+Download-URL: http://sourceforge.net/projects/fable/files/fabio/0.0.9
+Description: UNKNOWN
+Platform: UNKNOWN
diff --git a/README.TXT b/README.TXT
index d374958..64af93a 100644
--- a/README.TXT
+++ b/README.TXT
@@ -9,6 +9,15 @@ headers (as a python dictionary) and datasets (as a numpy ndarray of integers or
 
 Changelog
 =========
+From FabIO-0.0.8 to FabIO-0.1.0:
+- OXD reader improved and writer implemented
+- Mar345 reader improved and writer implemented
+- CBF writer implemented 
+- Clean-up of the code & bug fixes 
+- Move towards python3
+- Make PIL optional dependency  
+Python3 is not yet tested but blocking points have been identified and some fixed. 
+
 From FabIO-0.0.7 to FabIO-0.0.8:
 - Support for Tiff using TiffIO module from V.A.Solé
 - Clean-up of the code & bug fixes 
@@ -30,13 +39,13 @@ fabio can be downloaded from the fable download page on sourceforge.net. Present
 http://sourceforge.net/projects/fable/files/fabio/
 
 e.g.
-tar xvzf fabio-0.0.8.tar.gz
+tar xvzf fabio-0.1.0.tar.gz
 or
-unzip fabio-0.0.7.zip
+unzip fabio-0.1.0.zip
 
-all files are unpacked into the directory fabio-0.0.8. To install these do
+all files are unpacked into the directory fabio-0.1.0. To install these do
 
-cd fabio-0.0.8
+cd fabio-0.1.0
 
 and install fabio with
 
@@ -49,26 +58,31 @@ svn checkout https://svn.sourceforge.net/svnroot/fable/ fabio
 cd fabio/trunk
 sudo python setup.py install
 
-If you are using MS Windows you also download a binary version packaged as executable installation files. Dependant on your python version open either
-
-fabio-0.0.8.win32-py2.6.exe
-
-or
+If you are using MS Windows you also download a binary version packaged as executable installation files. 
+Dependent on your python version open either:
 
-fabio-0.0.8.win32-py2.7.exe
+fabio-0.1.0.win32-py2.6.msi or fabio-0.1.0.win32-py2.6.msi or fabio-0.0.8.win32-py2.7.msi
 
 
 Dependencies
 ============
-Python 2.5 or later (but not yet python 3.0)
+Python 2.5 or later (we are workin on python 3.x)
 For full functionality of fabio the following modules need to be installed.
+* numpy - http://www.numpy.org
 
+Optional dependency
 * PIL (python imaging library) - http://www.pythonware.com
-* numpy - http://www.numpy.org 
+* lxml (library for reading XSDimages) 
 
 Ubuntu and Debian Like linux distributions:
 -------------------------------------------
-To use fabio on Ubuntu (a linux distribution based on Debian) the needed python modules can be installed either through the Synaptic Package Manager (found in System -> Administration) or using apt-get on from the command line in a terminal.
+
+Fabio is included in latest development versions of Debian, it can be installed by apt-get:
+sudo apt-get install python-fabio
+
+If fabio is not yet available for you flavor of linux, you will need to install it from the sources:
+To install the needed python modules can be installed either through the Synaptic Package Manager (found in System -> Administration) 
+or using apt-get on from the command line in a terminal.
 The extra ubuntu packages needed are:
 
 * python-imaging
@@ -80,7 +94,6 @@ using apt-get these can be installed as:
 
 sudo apt-get install python-imaging python-imaging-tk python-numpy
 
-
 using Synaptic Package Manager:
 
 **search** to find the specific ubuntu packages instead
@@ -170,7 +183,7 @@ Known file formats
   o kcdimage: Nonius KappaCCD diffractometer
 * Mar Research
   o marccd (fileformat derived from Tiff)
-  o mar345 imaging plate
+  o mar345 imaging plate with PCK compression
 * Dectris 
   o cbfimage (implements a fast byte offset decompression scheme in python/cython)
   o pilatusimage (fileformat derived from Tiff)
@@ -193,5 +206,7 @@ Known file formats
   o HiPiCimage 
 * Oxford Diffraction Sapphire 3 
   o OXDimage
- 
+* Nonius
+ o KappaCCD
+* Raw Binary without compression
   
diff --git a/build-deb.sh b/build-deb.sh
index 06be15c..b3f2036 100755
--- a/build-deb.sh
+++ b/build-deb.sh
@@ -1,5 +1,10 @@
 #!/bin/sh
-rm -rf deb_dist
+rm -rf dist
+python setup.py sdist
+cd dist
+tar -xzf  fabio-*.tar.gz
+cd fabio*
 python setup.py --command-packages=stdeb.command bdist_deb
 sudo dpkg -i deb_dist/python-fabio*.deb
+cd ../..
 
diff --git a/doc/fabio-api.pdf b/doc/fabio-api.pdf
new file mode 100644
index 0000000..fadffdf
Binary files /dev/null and b/doc/fabio-api.pdf differ
diff --git a/doc/html/api-objects.txt b/doc/html/api-objects.txt
new file mode 100644
index 0000000..16a9041
--- /dev/null
+++ b/doc/html/api-objects.txt
@@ -0,0 +1,1187 @@
+fabio	fabio-module.html
+fabio.getnum	fabio.fabioutils-module.html#getnum
+fabio.construct_filename	fabio.fabioutils-module.html#construct_filename
+fabio.open	fabio.openimage-module.html#openimage
+fabio.deconstruct_filename	fabio.fabioutils-module.html#deconstruct_filename
+fabio.__package__	fabio-module.html#__package__
+fabio.version	fabio-module.html#version
+fabio.next_filename	fabio.fabioutils-module.html#next_filename
+fabio.extract_filenumber	fabio.fabioutils-module.html#extract_filenumber
+fabio.previous_filename	fabio.fabioutils-module.html#previous_filename
+fabio.jump_filename	fabio.fabioutils-module.html#jump_filename
+fabio.GEimage	fabio.GEimage-module.html
+fabio.GEimage.previous_filename	fabio.fabioutils-module.html#previous_filename
+fabio.GEimage.GE_HEADER_INFO	fabio.GEimage-module.html#GE_HEADER_INFO
+fabio.GEimage.__package__	fabio.GEimage-module.html#__package__
+fabio.GEimage.next_filename	fabio.fabioutils-module.html#next_filename
+fabio.GEimage.demo	fabio.GEimage-module.html#demo
+fabio.GEimage.logger	fabio.GEimage-module.html#logger
+fabio.GEimage_old	fabio.GEimage_old-module.html
+fabio.GEimage_old.__package__	fabio.GEimage_old-module.html#__package__
+fabio.HiPiCimage	fabio.HiPiCimage-module.html
+fabio.HiPiCimage.__package__	fabio.HiPiCimage-module.html#__package__
+fabio.HiPiCimage.logger	fabio.HiPiCimage-module.html#logger
+fabio.OXDimage	fabio.OXDimage-module.html
+fabio.OXDimage.deg2rad	fabio.OXDimage-module.html#deg2rad
+fabio.OXDimage.rad2deg	fabio.OXDimage-module.html#rad2deg
+fabio.OXDimage.__package__	fabio.OXDimage-module.html#__package__
+fabio.OXDimage.decTY1	fabio.compression-module.html#decTY1
+fabio.OXDimage.__doc__	fabio.OXDimage-module.html#__doc__
+fabio.OXDimage.compTY1	fabio.compression-module.html#compTY1
+fabio.OXDimage.logger	fabio.OXDimage-module.html#logger
+fabio.OXDimage.DEFAULT_HEADERS	fabio.OXDimage-module.html#DEFAULT_HEADERS
+fabio.OXDimage.DETECTOR_TYPES	fabio.OXDimage-module.html#DETECTOR_TYPES
+fabio.TiffIO	fabio.TiffIO-module.html
+fabio.TiffIO.FIELD_TYPE	fabio.TiffIO-module.html#FIELD_TYPE
+fabio.TiffIO.FIELD_TYPE_OUT	fabio.TiffIO-module.html#FIELD_TYPE_OUT
+fabio.TiffIO.TAG_ROWS_PER_STRIP	fabio.TiffIO-module.html#TAG_ROWS_PER_STRIP
+fabio.TiffIO.TAG_PHOTOMETRIC_INTERPRETATION	fabio.TiffIO-module.html#TAG_PHOTOMETRIC_INTERPRETATION
+fabio.TiffIO.TAG_IMAGE_DESCRIPTION	fabio.TiffIO-module.html#TAG_IMAGE_DESCRIPTION
+fabio.TiffIO.TAG_COMPRESSION	fabio.TiffIO-module.html#TAG_COMPRESSION
+fabio.TiffIO.TAG_DATE	fabio.TiffIO-module.html#TAG_DATE
+fabio.TiffIO.TAG_SOFTWARE	fabio.TiffIO-module.html#TAG_SOFTWARE
+fabio.TiffIO.TAG_NUMBER_OF_ROWS	fabio.TiffIO-module.html#TAG_NUMBER_OF_ROWS
+fabio.TiffIO.TAG_BITS_PER_SAMPLE	fabio.TiffIO-module.html#TAG_BITS_PER_SAMPLE
+fabio.TiffIO.TAG_COLORMAP	fabio.TiffIO-module.html#TAG_COLORMAP
+fabio.TiffIO.__package__	fabio.TiffIO-module.html#__package__
+fabio.TiffIO.SAMPLE_FORMAT_COMPLEXIEEEFP	fabio.TiffIO-module.html#SAMPLE_FORMAT_COMPLEXIEEEFP
+fabio.TiffIO.TAG_NUMBER_OF_COLUMNS	fabio.TiffIO-module.html#TAG_NUMBER_OF_COLUMNS
+fabio.TiffIO.SAMPLE_FORMAT_INT	fabio.TiffIO-module.html#SAMPLE_FORMAT_INT
+fabio.TiffIO.__revision__	fabio.TiffIO-module.html#__revision__
+fabio.TiffIO.SAMPLE_FORMAT_FLOAT	fabio.TiffIO-module.html#SAMPLE_FORMAT_FLOAT
+fabio.TiffIO.SAMPLE_FORMAT_VOID	fabio.TiffIO-module.html#SAMPLE_FORMAT_VOID
+fabio.TiffIO.TAG_SAMPLE_FORMAT	fabio.TiffIO-module.html#TAG_SAMPLE_FORMAT
+fabio.TiffIO.TAG_STRIP_OFFSETS	fabio.TiffIO-module.html#TAG_STRIP_OFFSETS
+fabio.TiffIO.SAMPLE_FORMAT_UINT	fabio.TiffIO-module.html#SAMPLE_FORMAT_UINT
+fabio.TiffIO.DEBUG	fabio.TiffIO-module.html#DEBUG
+fabio.TiffIO.TAG_ID	fabio.TiffIO-module.html#TAG_ID
+fabio.TiffIO.TAG_STRIP_BYTE_COUNTS	fabio.TiffIO-module.html#TAG_STRIP_BYTE_COUNTS
+fabio.TiffIO.SAMPLE_FORMAT_COMPLEXINT	fabio.TiffIO-module.html#SAMPLE_FORMAT_COMPLEXINT
+fabio.TiffIO.ALLOW_MULTIPLE_STRIPS	fabio.TiffIO-module.html#ALLOW_MULTIPLE_STRIPS
+fabio.adscimage	fabio.adscimage-module.html
+fabio.adscimage.__package__	fabio.adscimage-module.html#__package__
+fabio.adscimage.test	fabio.adscimage-module.html#test
+fabio.adscimage.logger	fabio.adscimage-module.html#logger
+fabio.binaryimage	fabio.binaryimage-module.html
+fabio.binaryimage.__package__	fabio.binaryimage-module.html#__package__
+fabio.binaryimage.logger	fabio.binaryimage-module.html#logger
+fabio.binaryimage.__doc__	fabio.binaryimage-module.html#__doc__
+fabio.bruker100image	fabio.bruker100image-module.html
+fabio.bruker100image.__package__	fabio.bruker100image-module.html#__package__
+fabio.bruker100image.logger	fabio.bruker100image-module.html#logger
+fabio.brukerimage	fabio.brukerimage-module.html
+fabio.brukerimage.__package__	fabio.brukerimage-module.html#__package__
+fabio.brukerimage.readbytestream	fabio.readbytestream-module.html#readbytestream
+fabio.brukerimage.test	fabio.brukerimage-module.html#test
+fabio.brukerimage.logger	fabio.brukerimage-module.html#logger
+fabio.byte_offset	fabio.byte_offset-module.html
+fabio.byte_offset.__package__	fabio.byte_offset-module.html#__package__
+fabio.byte_offset.__test__	fabio.byte_offset-module.html#__test__
+fabio.cbfimage	fabio.cbfimage-module.html
+fabio.cbfimage.compByteOffet_numpy	fabio.compression-module.html#compByteOffet_numpy
+fabio.cbfimage.__package__	fabio.cbfimage-module.html#__package__
+fabio.cbfimage.DATA_TYPES	fabio.cbfimage-module.html#DATA_TYPES
+fabio.cbfimage.logger	fabio.cbfimage-module.html#logger
+fabio.cbfimage.STARTER	fabio.cbfimage-module.html#STARTER
+fabio.cbfimage.decByteOffet_python	fabio.compression-module.html#decByteOffet_python
+fabio.cbfimage.decByteOffet_numpy	fabio.compression-module.html#decByteOffet_numpy
+fabio.cbfimage.decByteOffet_weave	fabio.compression-module.html#decByteOffet_weave
+fabio.cbfimage.md5sum	fabio.compression-module.html#md5sum
+fabio.cbfimage.MINIMUM_KEYS	fabio.cbfimage-module.html#MINIMUM_KEYS
+fabio.cbfimage.PADDING	fabio.cbfimage-module.html#PADDING
+fabio.cf_io	fabio.cf_io-module.html
+fabio.cf_io.read	fabio.cf_io-module.html#read
+fabio.cf_io.__package__	fabio.cf_io-module.html#__package__
+fabio.compression	fabio.compression-module.html
+fabio.compression.compByteOffet_numpy	fabio.compression-module.html#compByteOffet_numpy
+fabio.compression.decTY1	fabio.compression-module.html#decTY1
+fabio.compression.decBzip2	fabio.compression-module.html#decBzip2
+fabio.compression.decKM4CCD	fabio.compression-module.html#decKM4CCD
+fabio.compression.__package__	fabio.compression-module.html#__package__
+fabio.compression.decZlib	fabio.compression-module.html#decZlib
+fabio.compression.endianness	fabio.compression-module.html#endianness
+fabio.compression.logger	fabio.compression-module.html#logger
+fabio.compression.decPCK	fabio.compression-module.html#decPCK
+fabio.compression.decGzip	fabio.compression-module.html#decGzip
+fabio.compression.decByteOffet_python	fabio.compression-module.html#decByteOffet_python
+fabio.compression.decByteOffet_numpy	fabio.compression-module.html#decByteOffet_numpy
+fabio.compression.decByteOffet_weave	fabio.compression-module.html#decByteOffet_weave
+fabio.compression.md5sum	fabio.compression-module.html#md5sum
+fabio.compression.compTY1	fabio.compression-module.html#compTY1
+fabio.compression.decByteOffet_cython	fabio.compression-module.html#decByteOffet_cython
+fabio.compression.compPCK	fabio.compression-module.html#compPCK
+fabio.converters	fabio.converters-module.html
+fabio.converters.convert_data_integer	fabio.converters-module.html#convert_data_integer
+fabio.converters.convert_data	fabio.converters-module.html#convert_data
+fabio.converters.CONVERSION_DATA	fabio.converters-module.html#CONVERSION_DATA
+fabio.converters.convert_header	fabio.converters-module.html#convert_header
+fabio.converters.CONVERSION_HEADER	fabio.converters-module.html#CONVERSION_HEADER
+fabio.converters.logger	fabio.converters-module.html#logger
+fabio.converters.__package__	fabio.converters-module.html#__package__
+fabio.datIO	fabio.datIO-module.html
+fabio.datIO.__package__	fabio.datIO-module.html#__package__
+fabio.dm3image	fabio.dm3image-module.html
+fabio.dm3image.DATA_BYTES	fabio.dm3image-module.html#DATA_BYTES
+fabio.dm3image.__package__	fabio.dm3image-module.html#__package__
+fabio.dm3image.DATA_TYPES	fabio.dm3image-module.html#DATA_TYPES
+fabio.dm3image.logger	fabio.dm3image-module.html#logger
+fabio.edfimage	fabio.edfimage-module.html
+fabio.edfimage.decBzip2	fabio.compression-module.html#decBzip2
+fabio.edfimage.BLOCKSIZE	fabio.edfimage-module.html#BLOCKSIZE
+fabio.edfimage.MINIMUM_KEYS	fabio.edfimage-module.html#MINIMUM_KEYS
+fabio.edfimage.decZlib	fabio.compression-module.html#decZlib
+fabio.edfimage.NUMPY_EDF_DTYPE	fabio.edfimage-module.html#NUMPY_EDF_DTYPE
+fabio.edfimage.decGzip	fabio.compression-module.html#decGzip
+fabio.edfimage.DATA_TYPES	fabio.edfimage-module.html#DATA_TYPES
+fabio.edfimage.isAscii	fabio.fabioutils-module.html#isAscii
+fabio.edfimage.DEFAULT_VALUES	fabio.edfimage-module.html#DEFAULT_VALUES
+fabio.edfimage.__package__	fabio.edfimage-module.html#__package__
+fabio.edfimage.logger	fabio.edfimage-module.html#logger
+fabio.edfimage.toAscii	fabio.fabioutils-module.html#toAscii
+fabio.fabioimage	fabio.fabioimage-module.html
+fabio.fabioimage.__package__	fabio.fabioimage-module.html#__package__
+fabio.fabioimage.test	fabio.fabioimage-module.html#test
+fabio.fabioimage.logger	fabio.fabioimage-module.html#logger
+fabio.fabioutils	fabio.fabioutils-module.html
+fabio.fabioutils.COMPRESSORS	fabio.fabioutils-module.html#COMPRESSORS
+fabio.fabioutils.getnum	fabio.fabioutils-module.html#getnum
+fabio.fabioutils.construct_filename	fabio.fabioutils-module.html#construct_filename
+fabio.fabioutils.numstem	fabio.fabioutils-module.html#numstem
+fabio.fabioutils.dictAscii	fabio.fabioutils-module.html#dictAscii
+fabio.fabioutils.deconstruct_filename	fabio.fabioutils-module.html#deconstruct_filename
+fabio.fabioutils.FILETYPES	fabio.fabioutils-module.html#FILETYPES
+fabio.fabioutils.__package__	fabio.fabioutils-module.html#__package__
+fabio.fabioutils.toAscii	fabio.fabioutils-module.html#toAscii
+fabio.fabioutils.isAscii	fabio.fabioutils-module.html#isAscii
+fabio.fabioutils.logger	fabio.fabioutils-module.html#logger
+fabio.fabioutils.next_filename	fabio.fabioutils-module.html#next_filename
+fabio.fabioutils.key	fabio.fabioutils-module.html#key
+fabio.fabioutils.extract_filenumber	fabio.fabioutils-module.html#extract_filenumber
+fabio.fabioutils.i	fabio.fabioutils-module.html#i
+fabio.fabioutils.jump_filename	fabio.fabioutils-module.html#jump_filename
+fabio.fabioutils.lines	fabio.fabioutils-module.html#lines
+fabio.fabioutils.previous_filename	fabio.fabioutils-module.html#previous_filename
+fabio.file_series	fabio.file_series-module.html
+fabio.file_series.next_filename	fabio.fabioutils-module.html#next_filename
+fabio.file_series.__package__	fabio.file_series-module.html#__package__
+fabio.file_series.new_file_series	fabio.file_series-module.html#new_file_series
+fabio.file_series.logger	fabio.file_series-module.html#logger
+fabio.file_series.openimage	fabio.openimage-module.html#openimage
+fabio.file_series.new_file_series0	fabio.file_series-module.html#new_file_series0
+fabio.fit2dmaskimage	fabio.fit2dmaskimage-module.html
+fabio.fit2dmaskimage.__package__	fabio.fit2dmaskimage-module.html#__package__
+fabio.fit2dspreadsheetimage	fabio.fit2dspreadsheetimage-module.html
+fabio.fit2dspreadsheetimage.__package__	fabio.fit2dspreadsheetimage-module.html#__package__
+fabio.kcdimage	fabio.kcdimage-module.html
+fabio.kcdimage.__package__	fabio.kcdimage-module.html#__package__
+fabio.kcdimage.DATA_TYPES	fabio.kcdimage-module.html#DATA_TYPES
+fabio.kcdimage.DEFAULT_VALUES	fabio.kcdimage-module.html#DEFAULT_VALUES
+fabio.kcdimage.MINIMUM_KEYS	fabio.kcdimage-module.html#MINIMUM_KEYS
+fabio.kcdimage.logger	fabio.kcdimage-module.html#logger
+fabio.mar345_IO	fabio.mar345_IO-module.html
+fabio.mar345_IO.__package__	fabio.mar345_IO-module.html#__package__
+fabio.mar345_IO.__test__	fabio.mar345_IO-module.html#__test__
+fabio.mar345image	fabio.mar345image-module.html
+fabio.mar345image.decPCK	fabio.compression-module.html#decPCK
+fabio.mar345image.__package__	fabio.mar345image-module.html#__package__
+fabio.mar345image.logger	fabio.mar345image-module.html#logger
+fabio.mar345image.__doc__	fabio.mar345image-module.html#__doc__
+fabio.mar345image.compPCK	fabio.compression-module.html#compPCK
+fabio.marccdimage	fabio.marccdimage-module.html
+fabio.marccdimage.HEADER_NAMES	fabio.marccdimage-module.html#HEADER_NAMES
+fabio.marccdimage.CDEFINITION	fabio.marccdimage-module.html#CDEFINITION
+fabio.marccdimage.C_TO_STRUCT	fabio.marccdimage-module.html#C_TO_STRUCT
+fabio.marccdimage.HEADER_FORMAT	fabio.marccdimage-module.html#HEADER_FORMAT
+fabio.marccdimage.make_format	fabio.marccdimage-module.html#make_format
+fabio.marccdimage.interpret_header	fabio.marccdimage-module.html#interpret_header
+fabio.marccdimage.MAXIMAGES	fabio.marccdimage-module.html#MAXIMAGES
+fabio.marccdimage.logger	fabio.marccdimage-module.html#logger
+fabio.marccdimage.__package__	fabio.marccdimage-module.html#__package__
+fabio.marccdimage.C_SIZES	fabio.marccdimage-module.html#C_SIZES
+fabio.openimage	fabio.openimage-module.html
+fabio.openimage.MAGIC_NUMBERS	fabio.openimage-module.html#MAGIC_NUMBERS
+fabio.openimage._openimage	fabio.openimage-module.html#_openimage
+fabio.openimage.deconstruct_filename	fabio.fabioutils-module.html#deconstruct_filename
+fabio.openimage.do_magic	fabio.openimage-module.html#do_magic
+fabio.openimage.__package__	fabio.openimage-module.html#__package__
+fabio.openimage.openheader	fabio.openimage-module.html#openheader
+fabio.openimage.logger	fabio.openimage-module.html#logger
+fabio.openimage.openimage	fabio.openimage-module.html#openimage
+fabio.pilatusimage	fabio.pilatusimage-module.html
+fabio.pilatusimage.__package__	fabio.pilatusimage-module.html#__package__
+fabio.pnmimage	fabio.pnmimage-module.html
+fabio.pnmimage.P7HEADERITEMS	fabio.pnmimage-module.html#P7HEADERITEMS
+fabio.pnmimage.SUBFORMATS	fabio.pnmimage-module.html#SUBFORMATS
+fabio.pnmimage.HEADERITEMS	fabio.pnmimage-module.html#HEADERITEMS
+fabio.pnmimage.__package__	fabio.pnmimage-module.html#__package__
+fabio.pnmimage.logger	fabio.pnmimage-module.html#logger
+fabio.readbytestream	fabio.readbytestream-module.html
+fabio.readbytestream.__package__	fabio.readbytestream-module.html#__package__
+fabio.readbytestream.readbytestream	fabio.readbytestream-module.html#readbytestream
+fabio.readbytestream.DATATYPES	fabio.readbytestream-module.html#DATATYPES
+fabio.readbytestream.logger	fabio.readbytestream-module.html#logger
+fabio.tifimage	fabio.tifimage-module.html
+fabio.tifimage.PIL_TO_NUMPY	fabio.tifimage-module.html#PIL_TO_NUMPY
+fabio.tifimage.TYPESIZES	fabio.tifimage-module.html#TYPESIZES
+fabio.tifimage.__package__	fabio.tifimage-module.html#__package__
+fabio.tifimage.logger	fabio.tifimage-module.html#logger
+fabio.tifimage.TYPES	fabio.tifimage-module.html#TYPES
+fabio.tifimage.LITTLE_ENDIAN	fabio.tifimage-module.html#LITTLE_ENDIAN
+fabio.tifimage.baseline_tiff_tags	fabio.tifimage-module.html#baseline_tiff_tags
+fabio.tifimage.BIG_ENDIAN	fabio.tifimage-module.html#BIG_ENDIAN
+fabio.xsdimage	fabio.xsdimage-module.html
+fabio.xsdimage.__package__	fabio.xsdimage-module.html#__package__
+fabio.xsdimage.logger	fabio.xsdimage-module.html#logger
+fabio.GEimage.GEimage	fabio.GEimage.GEimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.GEimage.GEimage._need_a_seek_to_read	fabio.GEimage.GEimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.GEimage.GEimage._makeframename	fabio.GEimage.GEimage-class.html#_makeframename
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.__init__	fabio.fabioimage.fabioimage-class.html#__init__
+fabio.GEimage.GEimage.previous	fabio.GEimage.GEimage-class.html#previous
+fabio.GEimage.GEimage._readframe	fabio.GEimage.GEimage-class.html#_readframe
+fabio.GEimage.GEimage.write	fabio.GEimage.GEimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.GEimage.GEimage.next	fabio.GEimage.GEimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.GEimage.GEimage.read	fabio.GEimage.GEimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.GEimage.GEimage.getframe	fabio.GEimage.GEimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.GEimage.GEimage._readheader	fabio.GEimage.GEimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.GEimage_old.GEimage	fabio.GEimage_old.GEimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.__init__	fabio.fabioimage.fabioimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.write	fabio.fabioimage.fabioimage-class.html#write
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.GEimage_old.GEimage.read	fabio.GEimage_old.GEimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.GEimage_old.GEimage._readheader	fabio.GEimage_old.GEimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.HiPiCimage.HiPiCimage	fabio.HiPiCimage.HiPiCimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.__init__	fabio.fabioimage.fabioimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.write	fabio.fabioimage.fabioimage-class.html#write
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.HiPiCimage.HiPiCimage.read	fabio.HiPiCimage.HiPiCimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.HiPiCimage.HiPiCimage._readheader	fabio.HiPiCimage.HiPiCimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.OXDimage.OXDimage	fabio.OXDimage.OXDimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.OXDimage.OXDimage._writeheader	fabio.OXDimage.OXDimage-class.html#_writeheader
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.__init__	fabio.fabioimage.fabioimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.OXDimage.OXDimage.write	fabio.OXDimage.OXDimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.OXDimage.OXDimage.read	fabio.OXDimage.OXDimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.OXDimage.OXDimage.checkData	fabio.OXDimage.OXDimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.OXDimage.OXDimage._readheader	fabio.OXDimage.OXDimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.OXDimage.OXDimage.getCompressionRatio	fabio.OXDimage.OXDimage-class.html#getCompressionRatio
+fabio.OXDimage.Section	fabio.OXDimage.Section-class.html
+fabio.OXDimage.Section.getSize	fabio.OXDimage.Section-class.html#getSize
+fabio.OXDimage.Section.__repr__	fabio.OXDimage.Section-class.html#__repr__
+fabio.OXDimage.Section.__init__	fabio.OXDimage.Section-class.html#__init__
+fabio.OXDimage.Section.setData	fabio.OXDimage.Section-class.html#setData
+fabio.TiffIO.TiffIO	fabio.TiffIO.TiffIO-class.html
+fabio.TiffIO.TiffIO._initEmptyFile	fabio.TiffIO.TiffIO-class.html#_initEmptyFile
+fabio.TiffIO.TiffIO.writeImage	fabio.TiffIO.TiffIO-class.html#writeImage
+fabio.TiffIO.TiffIO.getImageFileDirectories	fabio.TiffIO.TiffIO-class.html#getImageFileDirectories
+fabio.TiffIO.TiffIO.getNumberOfImages	fabio.TiffIO.TiffIO-class.html#getNumberOfImages
+fabio.TiffIO.TiffIO.__makeSureFileIsClosed	fabio.TiffIO.TiffIO-class.html#__makeSureFileIsClosed
+fabio.TiffIO.TiffIO._getOutputIFD	fabio.TiffIO.TiffIO-class.html#_getOutputIFD
+fabio.TiffIO.TiffIO.__init__	fabio.TiffIO.TiffIO-class.html#__init__
+fabio.TiffIO.TiffIO._readIFDEntry	fabio.TiffIO.TiffIO-class.html#_readIFDEntry
+fabio.TiffIO.TiffIO._parseImageFileDirectory	fabio.TiffIO.TiffIO-class.html#_parseImageFileDirectory
+fabio.TiffIO.TiffIO.getData	fabio.TiffIO.TiffIO-class.html#getData
+fabio.TiffIO.TiffIO._readImage	fabio.TiffIO.TiffIO-class.html#_readImage
+fabio.TiffIO.TiffIO._updateIFD	fabio.TiffIO.TiffIO-class.html#_updateIFD
+fabio.TiffIO.TiffIO._readInfo	fabio.TiffIO.TiffIO-class.html#_readInfo
+fabio.TiffIO.TiffIO.getInfo	fabio.TiffIO.TiffIO-class.html#getInfo
+fabio.TiffIO.TiffIO._initInternalVariables	fabio.TiffIO.TiffIO-class.html#_initInternalVariables
+fabio.TiffIO.TiffIO.__makeSureFileIsOpen	fabio.TiffIO.TiffIO-class.html#__makeSureFileIsOpen
+fabio.TiffIO.TiffIO.getImage	fabio.TiffIO.TiffIO-class.html#getImage
+fabio.adscimage.adscimage	fabio.adscimage.adscimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.adscimage.adscimage.__init__	fabio.adscimage.adscimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.adscimage.adscimage.write	fabio.adscimage.adscimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.adscimage.adscimage.read	fabio.adscimage.adscimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.adscimage.adscimage._readheader	fabio.adscimage.adscimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.binaryimage.binaryimage	fabio.binaryimage.binaryimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.binaryimage.binaryimage.__init__	fabio.binaryimage.binaryimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.binaryimage.binaryimage.write	fabio.binaryimage.binaryimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.binaryimage.binaryimage.read	fabio.binaryimage.binaryimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.binaryimage.binaryimage.swap_needed	fabio.binaryimage.binaryimage-class.html#swap_needed
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.fabioimage.fabioimage._readheader	fabio.fabioimage.fabioimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.binaryimage.binaryimage.estimate_offset_value	fabio.binaryimage.binaryimage-class.html#estimate_offset_value
+fabio.bruker100image.bruker100image	fabio.bruker100image.bruker100image-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.__init__	fabio.fabioimage.fabioimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.brukerimage.brukerimage.write	fabio.brukerimage.brukerimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.brukerimage.brukerimage.__headerstring__	fabio.brukerimage.brukerimage-class.html#__headerstring__
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.bruker100image.bruker100image.read	fabio.bruker100image.bruker100image-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.brukerimage.brukerimage.write2	fabio.brukerimage.brukerimage-class.html#write2
+fabio.bruker100image.bruker100image.toPIL16	fabio.bruker100image.bruker100image-class.html#toPIL16
+fabio.brukerimage.brukerimage._readheader	fabio.brukerimage.brukerimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.brukerimage.brukerimage	fabio.brukerimage.brukerimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.__init__	fabio.fabioimage.fabioimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.brukerimage.brukerimage.write	fabio.brukerimage.brukerimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.brukerimage.brukerimage.__headerstring__	fabio.brukerimage.brukerimage-class.html#__headerstring__
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.brukerimage.brukerimage.read	fabio.brukerimage.brukerimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.brukerimage.brukerimage.write2	fabio.brukerimage.brukerimage-class.html#write2
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.brukerimage.brukerimage._readheader	fabio.brukerimage.brukerimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.cbfimage.CIF	fabio.cbfimage.CIF-class.html
+fabio.cbfimage.CIF.exists	fabio.cbfimage.CIF-class.html#exists
+fabio.cbfimage.CIF.popitem	fabio.cbfimage.CIF-class.html#popitem
+fabio.cbfimage.CIF.loadCHIPLOT	fabio.cbfimage.CIF-class.html#loadCHIPLOT
+fabio.cbfimage.CIF.pop	fabio.cbfimage.CIF-class.html#pop
+fabio.cbfimage.CIF.EOL	fabio.cbfimage.CIF-class.html#EOL
+fabio.cbfimage.CIF.__init__	fabio.cbfimage.CIF-class.html#__init__
+fabio.cbfimage.CIF.START_COMMENT	fabio.cbfimage.CIF-class.html#START_COMMENT
+fabio.cbfimage.CIF.readCIF	fabio.cbfimage.CIF-class.html#readCIF
+fabio.cbfimage.CIF.isAscii	fabio.cbfimage.CIF-class.html#isAscii
+fabio.cbfimage.CIF.BLANK	fabio.cbfimage.CIF-class.html#BLANK
+fabio.cbfimage.CIF.BINARY_MARKER	fabio.cbfimage.CIF-class.html#BINARY_MARKER
+fabio.cbfimage.CIF._parseCIF	fabio.cbfimage.CIF-class.html#_parseCIF
+fabio.cbfimage.CIF.__setitem__	fabio.cbfimage.CIF-class.html#__setitem__
+fabio.cbfimage.CIF.tostring	fabio.cbfimage.CIF-class.html#tostring
+fabio.cbfimage.CIF.saveCIF	fabio.cbfimage.CIF-class.html#saveCIF
+fabio.cbfimage.CIF._splitCIF	fabio.cbfimage.CIF-class.html#_splitCIF
+fabio.cbfimage.CIF.LoopHasKey	fabio.cbfimage.CIF-class.html#LoopHasKey
+fabio.cbfimage.CIF._readCIF	fabio.cbfimage.CIF-class.html#_readCIF
+fabio.cbfimage.CIF.loadCIF	fabio.cbfimage.CIF-class.html#loadCIF
+fabio.cbfimage.CIF._analyseOneLoop	fabio.cbfimage.CIF-class.html#_analyseOneLoop
+fabio.cbfimage.CIF.existsInLoop	fabio.cbfimage.CIF-class.html#existsInLoop
+fabio.cbfimage.cbfimage	fabio.cbfimage.cbfimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.cbfimage.cbfimage.__init__	fabio.cbfimage.cbfimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.cbfimage.cbfimage.write	fabio.cbfimage.cbfimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.cbfimage.cbfimage.read	fabio.cbfimage.cbfimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.cbfimage.cbfimage._readbinary_byte_offset	fabio.cbfimage.cbfimage-class.html#_readbinary_byte_offset
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.cbfimage.cbfimage.checkData	fabio.cbfimage.cbfimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.cbfimage.cbfimage._readheader	fabio.cbfimage.cbfimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.datIO.columnfile	fabio.datIO.columnfile-class.html
+fabio.datIO.columnfile.read	fabio.datIO.columnfile-class.html#read
+fabio.datIO.fabiodata.__init__	fabio.datIO.fabiodata-class.html#__init__
+fabio.datIO.fabiodata	fabio.datIO.fabiodata-class.html
+fabio.datIO.fabiodata.read	fabio.datIO.fabiodata-class.html#read
+fabio.datIO.fabiodata.__init__	fabio.datIO.fabiodata-class.html#__init__
+fabio.dm3image.dm3image	fabio.dm3image.dm3image-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.dm3image.dm3image.readbytes	fabio.dm3image.dm3image-class.html#readbytes
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.dm3image.dm3image.__init__	fabio.dm3image.dm3image-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.write	fabio.fabioimage.fabioimage-class.html#write
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.dm3image.dm3image.read_tag_group	fabio.dm3image.dm3image-class.html#read_tag_group
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.dm3image.dm3image.read	fabio.dm3image.dm3image-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.dm3image.dm3image.read_data	fabio.dm3image.dm3image-class.html#read_data
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.dm3image.dm3image.read_tag_entry	fabio.dm3image.dm3image-class.html#read_tag_entry
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.dm3image.dm3image.read_tag_type	fabio.dm3image.dm3image-class.html#read_tag_type
+fabio.dm3image.dm3image._readheader	fabio.dm3image.dm3image-class.html#_readheader
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.edfimage.Frame	fabio.edfimage.Frame-class.html
+fabio.edfimage.Frame.swap_needed	fabio.edfimage.Frame-class.html#swap_needed
+fabio.edfimage.Frame.parseheader	fabio.edfimage.Frame-class.html#parseheader
+fabio.edfimage.Frame.getEdfBlock	fabio.edfimage.Frame-class.html#getEdfBlock
+fabio.edfimage.Frame.getData	fabio.edfimage.Frame-class.html#getData
+fabio.edfimage.Frame.data	fabio.edfimage.Frame-class.html#data
+fabio.edfimage.Frame.__init__	fabio.edfimage.Frame-class.html#__init__
+fabio.edfimage.Frame.setData	fabio.edfimage.Frame-class.html#setData
+fabio.edfimage.edfimage	fabio.edfimage.edfimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.edfimage.edfimage.header_keys	fabio.edfimage.edfimage-class.html#header_keys
+fabio.edfimage.edfimage.getDims	fabio.edfimage.edfimage-class.html#getDims
+fabio.edfimage.edfimage.dim2	fabio.edfimage.edfimage-class.html#dim2
+fabio.edfimage.edfimage.header	fabio.edfimage.edfimage-class.html#header
+fabio.edfimage.edfimage.dim1	fabio.edfimage.edfimage-class.html#dim1
+fabio.edfimage.edfimage.checkHeader	fabio.edfimage.edfimage-class.html#checkHeader
+fabio.edfimage.edfimage.bytecode	fabio.edfimage.edfimage-class.html#bytecode
+fabio.edfimage.edfimage.setByteCode	fabio.edfimage.edfimage-class.html#setByteCode
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.edfimage.edfimage.delHeader	fabio.edfimage.edfimage-class.html#delHeader
+fabio.edfimage.edfimage.next	fabio.edfimage.edfimage-class.html#next
+fabio.edfimage.edfimage.__init__	fabio.edfimage.edfimage-class.html#__init__
+fabio.edfimage.edfimage.previous	fabio.edfimage.edfimage-class.html#previous
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.edfimage.edfimage.delData	fabio.edfimage.edfimage-class.html#delData
+fabio.edfimage.edfimage._readHeaderBlock	fabio.edfimage.edfimage-class.html#_readHeaderBlock
+fabio.edfimage.edfimage.delHeaderKeys	fabio.edfimage.edfimage-class.html#delHeaderKeys
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.edfimage.edfimage.data	fabio.edfimage.edfimage-class.html#data
+fabio.edfimage.edfimage.appendFrame	fabio.edfimage.edfimage-class.html#appendFrame
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.edfimage.edfimage.nframes	fabio.edfimage.edfimage-class.html#nframes
+fabio.edfimage.edfimage.write	fabio.edfimage.edfimage-class.html#write
+fabio.edfimage.edfimage.getNbFrames	fabio.edfimage.edfimage-class.html#getNbFrames
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.edfimage.edfimage.setDim2	fabio.edfimage.edfimage-class.html#setDim2
+fabio.edfimage.edfimage.getCapsHeader	fabio.edfimage.edfimage-class.html#getCapsHeader
+fabio.edfimage.edfimage.capsHeader	fabio.edfimage.edfimage-class.html#capsHeader
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.edfimage.edfimage.getData	fabio.edfimage.edfimage-class.html#getData
+fabio.edfimage.edfimage.setData	fabio.edfimage.edfimage-class.html#setData
+fabio.edfimage.edfimage.delCapsHeader	fabio.edfimage.edfimage-class.html#delCapsHeader
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.edfimage.edfimage.read	fabio.edfimage.edfimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.edfimage.edfimage.getframe	fabio.edfimage.edfimage-class.html#getframe
+fabio.edfimage.edfimage.getDim1	fabio.edfimage.edfimage-class.html#getDim1
+fabio.edfimage.edfimage.getByteCode	fabio.edfimage.edfimage-class.html#getByteCode
+fabio.edfimage.edfimage.getDim2	fabio.edfimage.edfimage-class.html#getDim2
+fabio.edfimage.edfimage.setCapsHeader	fabio.edfimage.edfimage-class.html#setCapsHeader
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.edfimage.edfimage.setBpp	fabio.edfimage.edfimage-class.html#setBpp
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.edfimage.edfimage.unpack	fabio.edfimage.edfimage-class.html#unpack
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.edfimage.edfimage.setHeaderKeys	fabio.edfimage.edfimage-class.html#setHeaderKeys
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.edfimage.edfimage.dims	fabio.edfimage.edfimage-class.html#dims
+fabio.edfimage.edfimage.swap_needed	fabio.edfimage.edfimage-class.html#swap_needed
+fabio.edfimage.edfimage.getHeader	fabio.edfimage.edfimage-class.html#getHeader
+fabio.edfimage.edfimage.deleteFrame	fabio.edfimage.edfimage-class.html#deleteFrame
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.edfimage.edfimage.getHeaderKeys	fabio.edfimage.edfimage-class.html#getHeaderKeys
+fabio.edfimage.edfimage.setDim1	fabio.edfimage.edfimage-class.html#setDim1
+fabio.edfimage.edfimage.bpp	fabio.edfimage.edfimage-class.html#bpp
+fabio.edfimage.edfimage._readheader	fabio.edfimage.edfimage-class.html#_readheader
+fabio.edfimage.edfimage.getBpp	fabio.edfimage.edfimage-class.html#getBpp
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.edfimage.edfimage.setNbFrames	fabio.edfimage.edfimage-class.html#setNbFrames
+fabio.edfimage.edfimage.setHeader	fabio.edfimage.edfimage-class.html#setHeader
+fabio.fabioimage.fabioStream	fabio.fabioimage.fabioStream-class.html
+fabio.fabioimage.fabioStream.__init__	fabio.fabioimage.fabioStream-class.html#__init__
+fabio.fabioimage.fabioimage	fabio.fabioimage.fabioimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.__init__	fabio.fabioimage.fabioimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.fabioimage.fabioimage.write	fabio.fabioimage.fabioimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.fabioimage.fabioimage.read	fabio.fabioimage.fabioimage-class.html#read
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.fabioimage.fabioimage._readheader	fabio.fabioimage.fabioimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.fabioutils.filename_object	fabio.fabioutils.filename_object-class.html
+fabio.fabioutils.filename_object.tostring	fabio.fabioutils.filename_object-class.html#tostring
+fabio.fabioutils.filename_object.__init__	fabio.fabioutils.filename_object-class.html#__init__
+fabio.fabioutils.filename_object.str	fabio.fabioutils.filename_object-class.html#str
+fabio.file_series.file_series	fabio.file_series.file_series-class.html
+fabio.file_series.file_series.jump	fabio.file_series.file_series-class.html#jump
+fabio.file_series.file_series.__init__	fabio.file_series.file_series-class.html#__init__
+fabio.file_series.file_series.previous	fabio.file_series.file_series-class.html#previous
+fabio.file_series.file_series.next_object	fabio.file_series.file_series-class.html#next_object
+fabio.file_series.file_series.last_image	fabio.file_series.file_series-class.html#last_image
+fabio.file_series.file_series.next	fabio.file_series.file_series-class.html#next
+fabio.file_series.file_series.current	fabio.file_series.file_series-class.html#current
+fabio.file_series.file_series.current_object	fabio.file_series.file_series-class.html#current_object
+fabio.file_series.file_series.first_image	fabio.file_series.file_series-class.html#first_image
+fabio.file_series.file_series.jump_object	fabio.file_series.file_series-class.html#jump_object
+fabio.file_series.file_series.next_image	fabio.file_series.file_series-class.html#next_image
+fabio.file_series.file_series.last_object	fabio.file_series.file_series-class.html#last_object
+fabio.file_series.file_series.len	fabio.file_series.file_series-class.html#len
+fabio.file_series.file_series.jump_image	fabio.file_series.file_series-class.html#jump_image
+fabio.file_series.file_series.first_object	fabio.file_series.file_series-class.html#first_object
+fabio.file_series.file_series.current_image	fabio.file_series.file_series-class.html#current_image
+fabio.file_series.file_series.previous_object	fabio.file_series.file_series-class.html#previous_object
+fabio.file_series.file_series.last	fabio.file_series.file_series-class.html#last
+fabio.file_series.file_series.previous_image	fabio.file_series.file_series-class.html#previous_image
+fabio.file_series.file_series.first	fabio.file_series.file_series-class.html#first
+fabio.file_series.filename_series	fabio.file_series.filename_series-class.html
+fabio.file_series.filename_series.next_object	fabio.file_series.filename_series-class.html#next_object
+fabio.file_series.filename_series.current	fabio.file_series.filename_series-class.html#current
+fabio.file_series.filename_series.prev_image	fabio.file_series.filename_series-class.html#prev_image
+fabio.file_series.filename_series.previous_object	fabio.file_series.filename_series-class.html#previous_object
+fabio.file_series.filename_series.next	fabio.file_series.filename_series-class.html#next
+fabio.file_series.filename_series.jump	fabio.file_series.filename_series-class.html#jump
+fabio.file_series.filename_series.current_object	fabio.file_series.filename_series-class.html#current_object
+fabio.file_series.filename_series.jump_image	fabio.file_series.filename_series-class.html#jump_image
+fabio.file_series.filename_series.jump_object	fabio.file_series.filename_series-class.html#jump_object
+fabio.file_series.filename_series.previous	fabio.file_series.filename_series-class.html#previous
+fabio.file_series.filename_series.current_image	fabio.file_series.filename_series-class.html#current_image
+fabio.file_series.filename_series.__init__	fabio.file_series.filename_series-class.html#__init__
+fabio.file_series.filename_series.next_image	fabio.file_series.filename_series-class.html#next_image
+fabio.file_series.numbered_file_series	fabio.file_series.numbered_file_series-class.html
+fabio.file_series.file_series.jump	fabio.file_series.file_series-class.html#jump
+fabio.file_series.numbered_file_series.__init__	fabio.file_series.numbered_file_series-class.html#__init__
+fabio.file_series.file_series.next_image	fabio.file_series.file_series-class.html#next_image
+fabio.file_series.file_series.next_object	fabio.file_series.file_series-class.html#next_object
+fabio.file_series.file_series.last_image	fabio.file_series.file_series-class.html#last_image
+fabio.file_series.file_series.next	fabio.file_series.file_series-class.html#next
+fabio.file_series.file_series.current	fabio.file_series.file_series-class.html#current
+fabio.file_series.file_series.current_object	fabio.file_series.file_series-class.html#current_object
+fabio.file_series.file_series.first_image	fabio.file_series.file_series-class.html#first_image
+fabio.file_series.file_series.jump_object	fabio.file_series.file_series-class.html#jump_object
+fabio.file_series.file_series.previous	fabio.file_series.file_series-class.html#previous
+fabio.file_series.file_series.last_object	fabio.file_series.file_series-class.html#last_object
+fabio.file_series.file_series.len	fabio.file_series.file_series-class.html#len
+fabio.file_series.file_series.previous_object	fabio.file_series.file_series-class.html#previous_object
+fabio.file_series.file_series.last	fabio.file_series.file_series-class.html#last
+fabio.file_series.file_series.current_image	fabio.file_series.file_series-class.html#current_image
+fabio.file_series.file_series.jump_image	fabio.file_series.file_series-class.html#jump_image
+fabio.file_series.file_series.first_object	fabio.file_series.file_series-class.html#first_object
+fabio.file_series.file_series.first	fabio.file_series.file_series-class.html#first
+fabio.file_series.file_series.previous_image	fabio.file_series.file_series-class.html#previous_image
+fabio.fit2dmaskimage.fit2dmaskimage	fabio.fit2dmaskimage.fit2dmaskimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.__init__	fabio.fabioimage.fabioimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.fit2dmaskimage.fit2dmaskimage.write	fabio.fit2dmaskimage.fit2dmaskimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.fit2dmaskimage.fit2dmaskimage.read	fabio.fit2dmaskimage.fit2dmaskimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fit2dmaskimage.fit2dmaskimage.checkData	fabio.fit2dmaskimage.fit2dmaskimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.fit2dmaskimage.fit2dmaskimage._readheader	fabio.fit2dmaskimage.fit2dmaskimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage	fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.__init__	fabio.fabioimage.fabioimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.write	fabio.fabioimage.fabioimage-class.html#write
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read	fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader	fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.kcdimage.kcdimage	fabio.kcdimage.kcdimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.__init__	fabio.fabioimage.fabioimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.write	fabio.fabioimage.fabioimage-class.html#write
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.kcdimage.kcdimage.read	fabio.kcdimage.kcdimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.kcdimage.kcdimage.checkData	fabio.kcdimage.kcdimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.kcdimage.kcdimage._readheader	fabio.kcdimage.kcdimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.mar345image.mar345image	fabio.mar345image.mar345image-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.mar345image.mar345image._writeheader	fabio.mar345image.mar345image-class.html#_writeheader
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.mar345image.mar345image.nb_overflow_pixels	fabio.mar345image.mar345image-class.html#nb_overflow_pixels
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.mar345image.mar345image.__init__	fabio.mar345image.mar345image-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.mar345image.mar345image.write	fabio.mar345image.mar345image-class.html#write
+fabio.mar345image.mar345image._high_intensity_pixel_records	fabio.mar345image.mar345image-class.html#_high_intensity_pixel_records
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.mar345image.mar345image.read	fabio.mar345image.mar345image-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.mar345image.mar345image.checkData	fabio.mar345image.mar345image-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.mar345image.mar345image._need_a_real_file	fabio.mar345image.mar345image-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.mar345image.mar345image._readheader	fabio.mar345image.mar345image-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.marccdimage.marccdimage	fabio.marccdimage.marccdimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.tifimage.tifimage._need_a_seek_to_read	fabio.tifimage.tifimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.tifimage.tifimage.__init__	fabio.tifimage.tifimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.tifimage.tifimage.write	fabio.tifimage.tifimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.tifimage.tifimage.read	fabio.tifimage.tifimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.marccdimage.marccdimage._read	fabio.marccdimage.marccdimage-class.html#_read
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.marccdimage.marccdimage._readheader	fabio.marccdimage.marccdimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.pilatusimage.pilatusimage	fabio.pilatusimage.pilatusimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.tifimage.tifimage._need_a_seek_to_read	fabio.tifimage.tifimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.tifimage.tifimage.__init__	fabio.tifimage.tifimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.tifimage.tifimage.write	fabio.tifimage.tifimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.tifimage.tifimage.read	fabio.tifimage.tifimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.pilatusimage.pilatusimage._read	fabio.pilatusimage.pilatusimage-class.html#_read
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.pilatusimage.pilatusimage._readheader	fabio.pilatusimage.pilatusimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.pnmimage.pnmimage	fabio.pnmimage.pnmimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.pnmimage.pnmimage.P7dec	fabio.pnmimage.pnmimage-class.html#P7dec
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.pnmimage.pnmimage.__init__	fabio.pnmimage.pnmimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.pnmimage.pnmimage.P2dec	fabio.pnmimage.pnmimage-class.html#P2dec
+fabio.pnmimage.pnmimage.write	fabio.pnmimage.pnmimage-class.html#write
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.pnmimage.pnmimage.P6dec	fabio.pnmimage.pnmimage-class.html#P6dec
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.pnmimage.pnmimage.P3dec	fabio.pnmimage.pnmimage-class.html#P3dec
+fabio.pnmimage.pnmimage.read	fabio.pnmimage.pnmimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.pnmimage.pnmimage.P5dec	fabio.pnmimage.pnmimage-class.html#P5dec
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.pnmimage.pnmimage.P1dec	fabio.pnmimage.pnmimage-class.html#P1dec
+fabio.pnmimage.pnmimage.checkData	fabio.pnmimage.pnmimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.pnmimage.pnmimage.P4dec	fabio.pnmimage.pnmimage-class.html#P4dec
+fabio.pnmimage.pnmimage._readheader	fabio.pnmimage.pnmimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.tifimage.Image_File_Directory	fabio.tifimage.Image_File_Directory-class.html
+fabio.tifimage.Image_File_Directory.unpack	fabio.tifimage.Image_File_Directory-class.html#unpack
+fabio.tifimage.Image_File_Directory.__init__	fabio.tifimage.Image_File_Directory-class.html#__init__
+fabio.tifimage.Image_File_Directory_entry	fabio.tifimage.Image_File_Directory_entry-class.html
+fabio.tifimage.Image_File_Directory_entry.extract_data	fabio.tifimage.Image_File_Directory_entry-class.html#extract_data
+fabio.tifimage.Image_File_Directory_entry.unpack	fabio.tifimage.Image_File_Directory_entry-class.html#unpack
+fabio.tifimage.Image_File_Directory_entry.__init__	fabio.tifimage.Image_File_Directory_entry-class.html#__init__
+fabio.tifimage.Tiff_header	fabio.tifimage.Tiff_header-class.html
+fabio.tifimage.Tiff_header.__init__	fabio.tifimage.Tiff_header-class.html#__init__
+fabio.tifimage.tifimage	fabio.tifimage.tifimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.tifimage.tifimage._need_a_seek_to_read	fabio.tifimage.tifimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.tifimage.tifimage.__init__	fabio.tifimage.tifimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.tifimage.tifimage.write	fabio.tifimage.tifimage-class.html#write
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.tifimage.tifimage.read	fabio.tifimage.tifimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.tifimage.tifimage._readheader	fabio.tifimage.tifimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+fabio.xsdimage.xsdimage	fabio.xsdimage.xsdimage-class.html
+fabio.fabioimage.fabioimage.load	fabio.fabioimage.fabioimage-class.html#load
+fabio.fabioimage.fabioimage._need_a_seek_to_read	fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read
+fabio.fabioimage.fabioimage.getheader	fabio.fabioimage.fabioimage-class.html#getheader
+fabio.fabioimage.fabioimage.resetvals	fabio.fabioimage.fabioimage-class.html#resetvals
+fabio.fabioimage.fabioimage.classname	fabio.fabioimage.fabioimage-class.html#classname
+fabio.fabioimage.fabioimage.checkHeader	fabio.fabioimage.fabioimage-class.html#checkHeader
+fabio.fabioimage.fabioimage.integrate_area	fabio.fabioimage.fabioimage-class.html#integrate_area
+fabio.xsdimage.xsdimage.__init__	fabio.xsdimage.xsdimage-class.html#__init__
+fabio.fabioimage.fabioimage.previous	fabio.fabioimage.fabioimage-class.html#previous
+fabio.fabioimage.fabioimage.getmean	fabio.fabioimage.fabioimage-class.html#getmean
+fabio.fabioimage.fabioimage.rebin	fabio.fabioimage.fabioimage-class.html#rebin
+fabio.fabioimage.fabioimage._open	fabio.fabioimage.fabioimage-class.html#_open
+fabio.fabioimage.fabioimage.next	fabio.fabioimage.fabioimage-class.html#next
+fabio.fabioimage.fabioimage.write	fabio.fabioimage.fabioimage-class.html#write
+fabio.fabioimage.fabioimage.add	fabio.fabioimage.fabioimage-class.html#add
+fabio.fabioimage.fabioimage.getstddev	fabio.fabioimage.fabioimage-class.html#getstddev
+fabio.fabioimage.fabioimage.getmin	fabio.fabioimage.fabioimage-class.html#getmin
+fabio.fabioimage.fabioimage.readROI	fabio.fabioimage.fabioimage-class.html#readROI
+fabio.fabioimage.fabioimage.getmax	fabio.fabioimage.fabioimage-class.html#getmax
+fabio.fabioimage.fabioimage.save	fabio.fabioimage.fabioimage-class.html#save
+fabio.fabioimage.fabioimage.make_slice	fabio.fabioimage.fabioimage-class.html#make_slice
+fabio.xsdimage.xsdimage.read	fabio.xsdimage.xsdimage-class.html#read
+fabio.fabioimage.fabioimage._compressed_stream	fabio.fabioimage.fabioimage-class.html#_compressed_stream
+fabio.fabioimage.fabioimage.getframe	fabio.fabioimage.fabioimage-class.html#getframe
+fabio.fabioimage.fabioimage.readheader	fabio.fabioimage.fabioimage-class.html#readheader
+fabio.fabioimage.fabioimage.checkData	fabio.fabioimage.fabioimage-class.html#checkData
+fabio.fabioimage.fabioimage.update_header	fabio.fabioimage.fabioimage-class.html#update_header
+fabio.fabioimage.fabioimage.convert	fabio.fabioimage.fabioimage-class.html#convert
+fabio.fabioimage.fabioimage._need_a_real_file	fabio.fabioimage.fabioimage-class.html#_need_a_real_file
+fabio.fabioimage.fabioimage.toPIL16	fabio.fabioimage.fabioimage-class.html#toPIL16
+fabio.xsdimage.xsdimage._readheader	fabio.xsdimage.xsdimage-class.html#_readheader
+fabio.fabioimage.fabioimage.getclassname	fabio.fabioimage.fabioimage-class.html#getclassname
+str	str-class.html
+str.upper	str-class.html#upper
+str.__getslice__	str-class.html#__getslice__
+str.__ne__	str-class.html#__ne__
+str.lstrip	str-class.html#lstrip
+str.__str__	str-class.html#__str__
+str.__getattribute__	str-class.html#__getattribute__
+str.rpartition	str-class.html#rpartition
+str.replace	str-class.html#replace
+str.isdigit	str-class.html#isdigit
+str.endswith	str-class.html#endswith
+str.splitlines	str-class.html#splitlines
+str.rfind	str-class.html#rfind
+str.strip	str-class.html#strip
+str.__rmul__	str-class.html#__rmul__
+str.__lt__	str-class.html#__lt__
+str.__getnewargs__	str-class.html#__getnewargs__
+str.__rmod__	str-class.html#__rmod__
+str.index	str-class.html#index
+str.ljust	str-class.html#ljust
+str.__new__	str-class.html#__new__
+str.isalnum	str-class.html#isalnum
+str.__contains__	str-class.html#__contains__
+str.rindex	str-class.html#rindex
+str.rsplit	str-class.html#rsplit
+str.__format__	str-class.html#__format__
+str.find	str-class.html#find
+str.decode	str-class.html#decode
+str.isalpha	str-class.html#isalpha
+str.__eq__	str-class.html#__eq__
+str.split	str-class.html#split
+str.rstrip	str-class.html#rstrip
+str.encode	str-class.html#encode
+str._formatter_parser	str-class.html#_formatter_parser
+str.translate	str-class.html#translate
+str.isspace	str-class.html#isspace
+str.__len__	str-class.html#__len__
+str.__repr__	str-class.html#__repr__
+str.startswith	str-class.html#startswith
+str.__getitem__	str-class.html#__getitem__
+str.format	str-class.html#format
+str.rjust	str-class.html#rjust
+str.swapcase	str-class.html#swapcase
+str.__hash__	str-class.html#__hash__
+str.zfill	str-class.html#zfill
+str.__add__	str-class.html#__add__
+str.__gt__	str-class.html#__gt__
+str.capitalize	str-class.html#capitalize
+str.__sizeof__	str-class.html#__sizeof__
+str.count	str-class.html#count
+str.lower	str-class.html#lower
+str.join	str-class.html#join
+str.center	str-class.html#center
+str.__mod__	str-class.html#__mod__
+str.partition	str-class.html#partition
+str.expandtabs	str-class.html#expandtabs
+str.istitle	str-class.html#istitle
+str.__le__	str-class.html#__le__
+str.__mul__	str-class.html#__mul__
+str._formatter_field_name_split	str-class.html#_formatter_field_name_split
+str.islower	str-class.html#islower
+str.title	str-class.html#title
+str.isupper	str-class.html#isupper
+str.__ge__	str-class.html#__ge__
diff --git a/doc/html/class-tree.html b/doc/html/class-tree.html
new file mode 100644
index 0000000..bf641e3
--- /dev/null
+++ b/doc/html/class-tree.html
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Class Hierarchy</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Trees   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%"> </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="class-tree.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<center><b>
+ [ <a href="module-tree.html">Module Hierarchy</a>
+ | <a href="class-tree.html">Class Hierarchy</a> ]
+</b></center><br />
+<h1 class="epydoc">Class Hierarchy</h1>
+<ul class="nomargin-top">
+    <li> <strong class="uidlink">StringIO.StringIO</strong>:
+      <em class="summary">class StringIO([buffer])</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="fabio.fabioimage.fabioStream-class.html">fabio.fabioimage.fabioStream</a></strong>:
+      <em class="summary">just an interface providing the name and mode property to a 
+        StringIO</em>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.fabioutils.filename_object-class.html">fabio.fabioutils.filename_object</a></strong>:
+      <em class="summary">The 'meaning' of a filename</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.file_series.filename_series-class.html">fabio.file_series.filename_series</a></strong>:
+      <em class="summary">Much like the others, but created from a string filename</em>
+    </li>
+    <li> <strong class="uidlink">object</strong>:
+      <em class="summary">The most base type</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="fabio.edfimage.Frame-class.html">fabio.edfimage.Frame</a></strong>:
+      <em class="summary">A class representing a single frame in an EDF file</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.tifimage.Image_File_Directory-class.html">fabio.tifimage.Image_File_Directory</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.tifimage.Image_File_Directory_entry-class.html">fabio.tifimage.Image_File_Directory_entry</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.OXDimage.Section-class.html">fabio.OXDimage.Section</a></strong>:
+      <em class="summary">Small helper class for writing binary headers</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.TiffIO.TiffIO-class.html">fabio.TiffIO.TiffIO</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.tifimage.Tiff_header-class.html">fabio.tifimage.Tiff_header</a></strong>
+    </li>
+    <li> <strong class="uidlink">basestring</strong>:
+      <em class="summary">Type basestring cannot be instantiated; it is the base for str and 
+        unicode.</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="str-class.html">str</a></strong>:
+      <em class="summary">str(object) -> string</em>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink">dict</strong>:
+      <em class="summary">dict() -> new empty dictionary
+dict(mapping) -> new dictionary initialized from a mapping object's
+    (key, value) pairs
+dict(iterable) -> new dictionary initialized as if via:
+    d = {}
+    for k, v in iterable:
+        d[k] = v
+dict(**kwargs) -> new dictionary initialized with the name=value pairs
+    in the keyword argument list.</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="fabio.cbfimage.CIF-class.html">fabio.cbfimage.CIF</a></strong>:
+      <em class="summary">This is the CIF class, it represents the CIF dictionary; and as a a
+        python dictionary thus inherits from the dict built in class.</em>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.datIO.fabiodata-class.html">fabio.datIO.fabiodata</a></strong>:
+      <em class="summary">A common class for dataIO in fable Contains a 2d numpy array for 
+        keeping data, and two lists (clabels and rlabels) containing labels
+        for columns and rows respectively</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="fabio.datIO.columnfile-class.html">fabio.datIO.columnfile</a></strong>:
+      <em class="summary">Concrete fabiodata class</em>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.fabioimage.fabioimage-class.html">fabio.fabioimage.fabioimage</a></strong>:
+      <em class="summary">A common object for images in fable Contains a numpy array (.data) 
+        and dict of meta data (.header)</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="fabio.GEimage.GEimage-class.html">fabio.GEimage.GEimage</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.GEimage_old.GEimage-class.html">fabio.GEimage_old.GEimage</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.HiPiCimage.HiPiCimage-class.html">fabio.HiPiCimage.HiPiCimage</a></strong>:
+      <em class="summary">Read HiPic images e.g.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.OXDimage.OXDimage-class.html">fabio.OXDimage.OXDimage</a></strong>:
+      <em class="summary">Oxford Diffraction Sapphire 3 images reader/writer class</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.adscimage.adscimage-class.html">fabio.adscimage.adscimage</a></strong>:
+      <em class="summary">Read an image in ADSC format (quite similar to edf?)</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.binaryimage.binaryimage-class.html">fabio.binaryimage.binaryimage</a></strong>:
+      <em class="summary">This simple library has been made for manipulating exotic/unknown 
+        files format.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.brukerimage.brukerimage-class.html">fabio.brukerimage.brukerimage</a></strong>:
+      <em class="summary">Read and eventually write ID11 bruker (eg smart6500) images</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="fabio.bruker100image.bruker100image-class.html">fabio.bruker100image.bruker100image</a></strong>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.cbfimage.cbfimage-class.html">fabio.cbfimage.cbfimage</a></strong>:
+      <em class="summary">Read the Cif Binary File data format</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.dm3image.dm3image-class.html">fabio.dm3image.dm3image</a></strong>:
+      <em class="summary">Read and try to write the dm3 data format</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.edfimage.edfimage-class.html">fabio.edfimage.edfimage</a></strong>:
+      <em class="summary">Read and try to write the ESRF edf data format</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html">fabio.fit2dmaskimage.fit2dmaskimage</a></strong>:
+      <em class="summary">Read and try to write Andy Hammersley's mask format</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html">fabio.fit2dspreadsheetimage.fit2dspreadsheetimage</a></strong>:
+      <em class="summary">Read a fit2d ascii format</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.kcdimage.kcdimage-class.html">fabio.kcdimage.kcdimage</a></strong>:
+      <em class="summary">Read the Nonius kcd data format</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.mar345image.mar345image-class.html">fabio.mar345image.mar345image</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.pnmimage.pnmimage-class.html">fabio.pnmimage.pnmimage</a></strong>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.tifimage.tifimage-class.html">fabio.tifimage.tifimage</a></strong>:
+      <em class="summary">Images in TIF format Wraps TiffIO</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="fabio.marccdimage.marccdimage-class.html">fabio.marccdimage.marccdimage</a></strong>:
+      <em class="summary">Read in data in mar ccd format, also MarMosaic images, including 
+        header info</em>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.pilatusimage.pilatusimage-class.html">fabio.pilatusimage.pilatusimage</a></strong>:
+      <em class="summary">Read in Pilatus format, also pilatus images, including header info</em>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="fabio.xsdimage.xsdimage-class.html">fabio.xsdimage.xsdimage</a></strong>:
+      <em class="summary">Read the XSDataImage XML File data format</em>
+    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink">list</strong>:
+      <em class="summary">list() -> new empty list list(iterable) -> new list 
+        initialized from iterable's items</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="fabio.file_series.file_series-class.html">fabio.file_series.file_series</a></strong>:
+      <em class="summary">represents a series of files to iterate
+has an idea of a current position to do next and prev</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="fabio.file_series.numbered_file_series-class.html">fabio.file_series.numbered_file_series</a></strong>:
+      <em class="summary">mydata0001.edf = "mydata" + 0001 + ".edf" 
+        mydata0002.edf = "mydata" + 0002 + ".edf" 
+        mydata0003.edf = "mydata" + 0003 + ".edf"</em>
+    </li>
+    </ul>
+    </li>
+    </ul>
+    </li>
+    </ul>
+    </li>
+</ul>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Trees   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:26 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/crarr.png b/doc/html/crarr.png
new file mode 100644
index 0000000..26b43c5
Binary files /dev/null and b/doc/html/crarr.png differ
diff --git a/doc/html/epydoc.css b/doc/html/epydoc.css
new file mode 100644
index 0000000..86d4170
--- /dev/null
+++ b/doc/html/epydoc.css
@@ -0,0 +1,322 @@
+
+
+/* Epydoc CSS Stylesheet
+ *
+ * This stylesheet can be used to customize the appearance of epydoc's
+ * HTML output.
+ *
+ */
+
+/* Default Colors & Styles
+ *   - Set the default foreground & background color with 'body'; and 
+ *     link colors with 'a:link' and 'a:visited'.
+ *   - Use bold for decision list terms.
+ *   - The heading styles defined here are used for headings *within*
+ *     docstring descriptions.  All headings used by epydoc itself use
+ *     either class='epydoc' or class='toc' (CSS styles for both
+ *     defined below).
+ */
+body                        { background: #ffffff; color: #000000; }
+p                           { margin-top: 0.5em; margin-bottom: 0.5em; }
+a:link                      { color: #0000ff; }
+a:visited                   { color: #204080; }
+dt                          { font-weight: bold; }
+h1                          { font-size: +140%; font-style: italic;
+                              font-weight: bold; }
+h2                          { font-size: +125%; font-style: italic;
+                              font-weight: bold; }
+h3                          { font-size: +110%; font-style: italic;
+                              font-weight: normal; }
+code                        { font-size: 100%; }
+/* N.B.: class, not pseudoclass */
+a.link                      { font-family: monospace; }
+ 
+/* Page Header & Footer
+ *   - The standard page header consists of a navigation bar (with
+ *     pointers to standard pages such as 'home' and 'trees'); a
+ *     breadcrumbs list, which can be used to navigate to containing
+ *     classes or modules; options links, to show/hide private
+ *     variables and to show/hide frames; and a page title (using
+ *     <h1>).  The page title may be followed by a link to the
+ *     corresponding source code (using 'span.codelink').
+ *   - The footer consists of a navigation bar, a timestamp, and a
+ *     pointer to epydoc's homepage.
+ */ 
+h1.epydoc                   { margin: 0; font-size: +140%; font-weight: bold; }
+h2.epydoc                   { font-size: +130%; font-weight: bold; }
+h3.epydoc                   { font-size: +115%; font-weight: bold;
+                              margin-top: 0.2em; }
+td h3.epydoc                { font-size: +115%; font-weight: bold;
+                              margin-bottom: 0; }
+table.navbar                { background: #a0c0ff; color: #000000;
+                              border: 2px groove #c0d0d0; }
+table.navbar table          { color: #000000; }
+th.navbar-select            { background: #70b0ff;
+                              color: #000000; } 
+table.navbar a              { text-decoration: none; }  
+table.navbar a:link         { color: #0000ff; }
+table.navbar a:visited      { color: #204080; }
+span.breadcrumbs            { font-size: 85%; font-weight: bold; }
+span.options                { font-size: 70%; }
+span.codelink               { font-size: 85%; }
+td.footer                   { font-size: 85%; }
+
+/* Table Headers
+ *   - Each summary table and details section begins with a 'header'
+ *     row.  This row contains a section title (marked by
+ *     'span.table-header') as well as a show/hide private link
+ *     (marked by 'span.options', defined above).
+ *   - Summary tables that contain user-defined groups mark those
+ *     groups using 'group header' rows.
+ */
+td.table-header             { background: #70b0ff; color: #000000;
+                              border: 1px solid #608090; }
+td.table-header table       { color: #000000; }
+td.table-header table a:link      { color: #0000ff; }
+td.table-header table a:visited   { color: #204080; }
+span.table-header           { font-size: 120%; font-weight: bold; }
+th.group-header             { background: #c0e0f8; color: #000000;
+                              text-align: left; font-style: italic; 
+                              font-size: 115%; 
+                              border: 1px solid #608090; }
+
+/* Summary Tables (functions, variables, etc)
+ *   - Each object is described by a single row of the table with
+ *     two cells.  The left cell gives the object's type, and is
+ *     marked with 'code.summary-type'.  The right cell gives the
+ *     object's name and a summary description.
+ *   - CSS styles for the table's header and group headers are
+ *     defined above, under 'Table Headers'
+ */
+table.summary               { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090;
+                              margin-bottom: 0.5em; }
+td.summary                  { border: 1px solid #608090; }
+code.summary-type           { font-size: 85%; }
+table.summary a:link        { color: #0000ff; }
+table.summary a:visited     { color: #204080; }
+
+
+/* Details Tables (functions, variables, etc)
+ *   - Each object is described in its own div.
+ *   - A single-row summary table w/ table-header is used as
+ *     a header for each details section (CSS style for table-header
+ *     is defined above, under 'Table Headers').
+ */
+table.details               { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090;
+                              margin: .2em 0 0 0; }
+table.details table         { color: #000000; }
+table.details a:link        { color: #0000ff; }
+table.details a:visited     { color: #204080; }
+
+/* Fields */
+dl.fields                   { margin-left: 2em; margin-top: 1em;
+                              margin-bottom: 1em; }
+dl.fields dd ul             { margin-left: 0em; padding-left: 0em; }
+dl.fields dd ul li ul       { margin-left: 2em; padding-left: 0em; }
+div.fields                  { margin-left: 2em; }
+div.fields p                { margin-bottom: 0.5em; }
+
+/* Index tables (identifier index, term index, etc)
+ *   - link-index is used for indices containing lists of links
+ *     (namely, the identifier index & term index).
+ *   - index-where is used in link indices for the text indicating
+ *     the container/source for each link.
+ *   - metadata-index is used for indices containing metadata
+ *     extracted from fields (namely, the bug index & todo index).
+ */
+table.link-index            { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090; }
+td.link-index               { border-width: 0px; }
+table.link-index a:link     { color: #0000ff; }
+table.link-index a:visited  { color: #204080; }
+span.index-where            { font-size: 70%; }
+table.metadata-index        { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090; 
+                              margin: .2em 0 0 0; }
+td.metadata-index           { border-width: 1px; border-style: solid; }
+table.metadata-index a:link { color: #0000ff; }
+table.metadata-index a:visited  { color: #204080; }
+
+/* Function signatures
+ *   - sig* is used for the signature in the details section.
+ *   - .summary-sig* is used for the signature in the summary 
+ *     table, and when listing property accessor functions.
+ * */
+.sig-name                   { color: #006080; }
+.sig-arg                    { color: #008060; }
+.sig-default                { color: #602000; }
+.summary-sig                { font-family: monospace; }
+.summary-sig-name           { color: #006080; font-weight: bold; }
+table.summary a.summary-sig-name:link
+                            { color: #006080; font-weight: bold; }
+table.summary a.summary-sig-name:visited
+                            { color: #006080; font-weight: bold; }
+.summary-sig-arg            { color: #006040; }
+.summary-sig-default        { color: #501800; }
+
+/* Subclass list
+ */
+ul.subclass-list { display: inline; }
+ul.subclass-list li { display: inline; }
+
+/* To render variables, classes etc. like functions */
+table.summary .summary-name { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+table.summary
+     a.summary-name:link    { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+table.summary
+    a.summary-name:visited  { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+
+/* Variable values
+ *   - In the 'variable details' sections, each varaible's value is
+ *     listed in a 'pre.variable' box.  The width of this box is
+ *     restricted to 80 chars; if the value's repr is longer than
+ *     this it will be wrapped, using a backslash marked with
+ *     class 'variable-linewrap'.  If the value's repr is longer
+ *     than 3 lines, the rest will be ellided; and an ellipsis
+ *     marker ('...' marked with 'variable-ellipsis') will be used.
+ *   - If the value is a string, its quote marks will be marked
+ *     with 'variable-quote'.
+ *   - If the variable is a regexp, it is syntax-highlighted using
+ *     the re* CSS classes.
+ */
+pre.variable                { padding: .5em; margin: 0;
+                              background: #dce4ec; color: #000000;
+                              border: 1px solid #708890; }
+.variable-linewrap          { color: #604000; font-weight: bold; }
+.variable-ellipsis          { color: #604000; font-weight: bold; }
+.variable-quote             { color: #604000; font-weight: bold; }
+.variable-group             { color: #008000; font-weight: bold; }
+.variable-op                { color: #604000; font-weight: bold; }
+.variable-string            { color: #006030; }
+.variable-unknown           { color: #a00000; font-weight: bold; }
+.re                         { color: #000000; }
+.re-char                    { color: #006030; }
+.re-op                      { color: #600000; }
+.re-group                   { color: #003060; }
+.re-ref                     { color: #404040; }
+
+/* Base tree
+ *   - Used by class pages to display the base class hierarchy.
+ */
+pre.base-tree               { font-size: 80%; margin: 0; }
+
+/* Frames-based table of contents headers
+ *   - Consists of two frames: one for selecting modules; and
+ *     the other listing the contents of the selected module.
+ *   - h1.toc is used for each frame's heading
+ *   - h2.toc is used for subheadings within each frame.
+ */
+h1.toc                      { text-align: center; font-size: 105%;
+                              margin: 0; font-weight: bold;
+                              padding: 0; }
+h2.toc                      { font-size: 100%; font-weight: bold; 
+                              margin: 0.5em 0 0 -0.3em; }
+
+/* Syntax Highlighting for Source Code
+ *   - doctest examples are displayed in a 'pre.py-doctest' block.
+ *     If the example is in a details table entry, then it will use
+ *     the colors specified by the 'table pre.py-doctest' line.
+ *   - Source code listings are displayed in a 'pre.py-src' block.
+ *     Each line is marked with 'span.py-line' (used to draw a line
+ *     down the left margin, separating the code from the line
+ *     numbers).  Line numbers are displayed with 'span.py-lineno'.
+ *     The expand/collapse block toggle button is displayed with
+ *     'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
+ *     modify the font size of the text.)
+ *   - If a source code page is opened with an anchor, then the
+ *     corresponding code block will be highlighted.  The code
+ *     block's header is highlighted with 'py-highlight-hdr'; and
+ *     the code block's body is highlighted with 'py-highlight'.
+ *   - The remaining py-* classes are used to perform syntax
+ *     highlighting (py-string for string literals, py-name for names,
+ *     etc.)
+ */
+pre.py-doctest              { padding: .5em; margin: 1em;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #708890; }
+table pre.py-doctest        { background: #dce4ec;
+                              color: #000000; }
+pre.py-src                  { border: 2px solid #000000; 
+                              background: #f0f0f0; color: #000000; }
+.py-line                    { border-left: 2px solid #000000; 
+                              margin-left: .2em; padding-left: .4em; }
+.py-lineno                  { font-style: italic; font-size: 90%;
+                              padding-left: .5em; }
+a.py-toggle                 { text-decoration: none; }
+div.py-highlight-hdr        { border-top: 2px solid #000000;
+                              border-bottom: 2px solid #000000;
+                              background: #d8e8e8; }
+div.py-highlight            { border-bottom: 2px solid #000000;
+                              background: #d0e0e0; }
+.py-prompt                  { color: #005050; font-weight: bold;}
+.py-more                    { color: #005050; font-weight: bold;}
+.py-string                  { color: #006030; }
+.py-comment                 { color: #003060; }
+.py-keyword                 { color: #600000; }
+.py-output                  { color: #404040; }
+.py-name                    { color: #000050; }
+.py-name:link               { color: #000050 !important; }
+.py-name:visited            { color: #000050 !important; }
+.py-number                  { color: #005000; }
+.py-defname                 { color: #000060; font-weight: bold; }
+.py-def-name                { color: #000060; font-weight: bold; }
+.py-base-class              { color: #000060; }
+.py-param                   { color: #000060; }
+.py-docstring               { color: #006030; }
+.py-decorator               { color: #804020; }
+/* Use this if you don't want links to names underlined: */
+/*a.py-name                   { text-decoration: none; }*/
+
+/* Graphs & Diagrams
+ *   - These CSS styles are used for graphs & diagrams generated using
+ *     Graphviz dot.  'img.graph-without-title' is used for bare
+ *     diagrams (to remove the border created by making the image
+ *     clickable).
+ */
+img.graph-without-title     { border: none; }
+img.graph-with-title        { border: 1px solid #000000; }
+span.graph-title            { font-weight: bold; }
+span.graph-caption          { }
+
+/* General-purpose classes
+ *   - 'p.indent-wrapped-lines' defines a paragraph whose first line
+ *     is not indented, but whose subsequent lines are.
+ *   - The 'nomargin-top' class is used to remove the top margin (e.g.
+ *     from lists).  The 'nomargin' class is used to remove both the
+ *     top and bottom margin (but not the left or right margin --
+ *     for lists, that would cause the bullets to disappear.)
+ */
+p.indent-wrapped-lines      { padding: 0 0 0 7em; text-indent: -7em; 
+                              margin: 0; }
+.nomargin-top               { margin-top: 0; }
+.nomargin                   { margin-top: 0; margin-bottom: 0; }
+
+/* HTML Log */
+div.log-block               { padding: 0; margin: .5em 0 .5em 0;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #000000; }
+div.log-error               { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #ffb0b0; color: #000000;
+                              border: 1px solid #000000; }
+div.log-warning             { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #ffffb0; color: #000000;
+                              border: 1px solid #000000; }
+div.log-info               { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #b0ffb0; color: #000000;
+                              border: 1px solid #000000; }
+h2.log-hdr                  { background: #70b0ff; color: #000000;
+                              margin: 0; padding: 0em 0.5em 0em 0.5em;
+                              border-bottom: 1px solid #000000; font-size: 110%; }
+p.log                       { font-weight: bold; margin: .5em 0 .5em 0; }
+tr.opt-changed              { color: #000000; font-weight: bold; }
+tr.opt-default              { color: #606060; }
+pre.log                     { margin: 0; padding: 0; padding-left: 1em; }
diff --git a/doc/html/epydoc.js b/doc/html/epydoc.js
new file mode 100644
index 0000000..e787dbc
--- /dev/null
+++ b/doc/html/epydoc.js
@@ -0,0 +1,293 @@
+function toggle_private() {
+        // Search for any private/public links on this page.  Store
+        // their old text in "cmd," so we will know what action to
+        // take; and change their text to the opposite action.
+        var cmd = "?";
+        var elts = document.getElementsByTagName("a");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "privatelink") {
+            cmd = elts[i].innerHTML;
+            elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
+                                    "hide private":"show private");
+          }
+        }
+        // Update all DIVs containing private objects.
+        var elts = document.getElementsByTagName("div");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
+          }
+          else if (elts[i].className == "public") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
+          }
+        }
+        // Update all table rows containing private objects.  Note, we
+        // use "" instead of "block" becaue IE & firefox disagree on what
+        // this should be (block vs table-row), and "" just gives the
+        // default for both browsers.
+        var elts = document.getElementsByTagName("tr");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
+          }
+        }
+        // Update all list items containing private objects.
+        var elts = document.getElementsByTagName("li");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
+                                        "none":"");
+          }
+        }
+        // Update all list items containing private objects.
+        var elts = document.getElementsByTagName("ul");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
+          }
+        }
+        // Set a cookie to remember the current option.
+        document.cookie = "EpydocPrivate="+cmd;
+      }
+function show_private() {
+        var elts = document.getElementsByTagName("a");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "privatelink") {
+            cmd = elts[i].innerHTML;
+            if (cmd && cmd.substr(0,4)=="show")
+                toggle_private();
+          }
+        }
+      }
+function getCookie(name) {
+        var dc = document.cookie;
+        var prefix = name + "=";
+        var begin = dc.indexOf("; " + prefix);
+        if (begin == -1) {
+          begin = dc.indexOf(prefix);
+          if (begin != 0) return null;
+        } else
+        { begin += 2; }
+        var end = document.cookie.indexOf(";", begin);
+        if (end == -1)
+        { end = dc.length; }
+        return unescape(dc.substring(begin + prefix.length, end));
+      }
+function setFrame(url1, url2) {
+          parent.frames[1].location.href = url1;
+          parent.frames[2].location.href = url2;
+      }
+function checkCookie() {
+        var cmd=getCookie("EpydocPrivate");
+        if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
+            toggle_private();
+      }
+function toggleCallGraph(id) {
+        var elt = document.getElementById(id);
+        if (elt.style.display == "none")
+            elt.style.display = "block";
+        else
+            elt.style.display = "none";
+      }
+function expand(id) {
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.style.display = "block";
+  var elt = document.getElementById(id+"-expanded-linenums");
+  if (elt) elt.style.display = "block";
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
+  var elt = document.getElementById(id+"-collapsed-linenums");
+  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
+  var elt = document.getElementById(id+"-toggle");
+  if (elt) { elt.innerHTML = "-"; }
+}
+
+function collapse(id) {
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.style.display = "none";
+  var elt = document.getElementById(id+"-expanded-linenums");
+  if (elt) elt.style.display = "none";
+  var elt = document.getElementById(id+"-collapsed-linenums");
+  if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
+  var elt = document.getElementById(id+"-toggle");
+  if (elt) { elt.innerHTML = "+"; }
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) {
+    elt.style.display = "block";
+    
+    var indent = elt.getAttribute("indent");
+    var pad = elt.getAttribute("pad");
+    var s = "<tt class='py-lineno'>";
+    for (var i=0; i<pad.length; i++) { s += " " }
+    s += "</tt>";
+    s += "  <tt class='py-line'>";
+    for (var i=0; i<indent.length; i++) { s += " " }
+    s += "<a href='#' onclick='expand(\"" + id;
+    s += "\");return false'>...</a></tt><br />";
+    elt.innerHTML = s;
+  }
+}
+
+function toggle(id) {
+  elt = document.getElementById(id+"-toggle");
+  if (elt.innerHTML == "-")
+      collapse(id); 
+  else
+      expand(id);
+  return false;
+}
+
+function highlight(id) {
+  var elt = document.getElementById(id+"-def");
+  if (elt) elt.className = "py-highlight-hdr";
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.className = "py-highlight";
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) elt.className = "py-highlight";
+}
+
+function num_lines(s) {
+  var n = 1;
+  var pos = s.indexOf("\n");
+  while ( pos > 0) {
+    n += 1;
+    pos = s.indexOf("\n", pos+1);
+  }
+  return n;
+}
+
+// Collapse all blocks that mave more than `min_lines` lines.
+function collapse_all(min_lines) {
+  var elts = document.getElementsByTagName("div");
+  for (var i=0; i<elts.length; i++) {
+    var elt = elts[i];
+    var split = elt.id.indexOf("-");
+    if (split > 0)
+      if (elt.id.substring(split, elt.id.length) == "-expanded")
+        if (num_lines(elt.innerHTML) > min_lines)
+          collapse(elt.id.substring(0, split));
+  }
+}
+
+function expandto(href) {
+  var start = href.indexOf("#")+1;
+  if (start != 0 && start != href.length) {
+    if (href.substring(start, href.length) != "-") {
+      collapse_all(4);
+      pos = href.indexOf(".", start);
+      while (pos != -1) {
+        var id = href.substring(start, pos);
+        expand(id);
+        pos = href.indexOf(".", pos+1);
+      }
+      var id = href.substring(start, href.length);
+      expand(id);
+      highlight(id);
+    }
+  }
+}
+
+function kill_doclink(id) {
+  var parent = document.getElementById(id);
+  parent.removeChild(parent.childNodes.item(0));
+}
+function auto_kill_doclink(ev) {
+  if (!ev) var ev = window.event;
+  if (!this.contains(ev.toElement)) {
+    var parent = document.getElementById(this.parentID);
+    parent.removeChild(parent.childNodes.item(0));
+  }
+}
+
+function doclink(id, name, targets_id) {
+  var elt = document.getElementById(id);
+
+  // If we already opened the box, then destroy it.
+  // (This case should never occur, but leave it in just in case.)
+  if (elt.childNodes.length > 1) {
+    elt.removeChild(elt.childNodes.item(0));
+  }
+  else {
+    // The outer box: relative + inline positioning.
+    var box1 = document.createElement("div");
+    box1.style.position = "relative";
+    box1.style.display = "inline";
+    box1.style.top = 0;
+    box1.style.left = 0;
+  
+    // A shadow for fun
+    var shadow = document.createElement("div");
+    shadow.style.position = "absolute";
+    shadow.style.left = "-1.3em";
+    shadow.style.top = "-1.3em";
+    shadow.style.background = "#404040";
+    
+    // The inner box: absolute positioning.
+    var box2 = document.createElement("div");
+    box2.style.position = "relative";
+    box2.style.border = "1px solid #a0a0a0";
+    box2.style.left = "-.2em";
+    box2.style.top = "-.2em";
+    box2.style.background = "white";
+    box2.style.padding = ".3em .4em .3em .4em";
+    box2.style.fontStyle = "normal";
+    box2.onmouseout=auto_kill_doclink;
+    box2.parentID = id;
+
+    // Get the targets
+    var targets_elt = document.getElementById(targets_id);
+    var targets = targets_elt.getAttribute("targets");
+    var links = "";
+    target_list = targets.split(",");
+    for (var i=0; i<target_list.length; i++) {
+        var target = target_list[i].split("=");
+        links += "<li><a href='" + target[1] + 
+               "' style='text-decoration:none'>" +
+               target[0] + "</a></li>";
+    }
+  
+    // Put it all together.
+    elt.insertBefore(box1, elt.childNodes.item(0));
+    //box1.appendChild(box2);
+    box1.appendChild(shadow);
+    shadow.appendChild(box2);
+    box2.innerHTML =
+        "Which <b>"+name+"</b> do you want to see documentation for?" +
+        "<ul style='margin-bottom: 0;'>" +
+        links + 
+        "<li><a href='#' style='text-decoration:none' " +
+        "onclick='kill_doclink(\""+id+"\");return false;'>"+
+        "<i>None of the above</i></a></li></ul>";
+  }
+  return false;
+}
+
+function get_anchor() {
+          var href = location.href;
+          var start = href.indexOf("#")+1;
+          if ((start != 0) && (start != href.length))
+              return href.substring(start, href.length);
+      }
+function redirect_url(dottedName) {
+          // Scan through each element of the "pages" list, and check
+          // if "name" matches with any of them.
+          for (var i=0; i<pages.length; i++) {
+
+              // Each page has the form "<pagename>-m" or "<pagename>-c";
+              // extract the <pagename> portion & compare it to dottedName.
+              var pagename = pages[i].substring(0, pages[i].length-2);
+              if (pagename == dottedName.substring(0,pagename.length)) {
+
+                  // We've found a page that matches `dottedName`;
+                  // construct its URL, using leftover `dottedName`
+                  // content to form an anchor.
+                  var pagetype = pages[i].charAt(pages[i].length-1);
+                  var url = pagename + ((pagetype=="m")?"-module.html":
+                                                        "-class.html");
+                  if (dottedName.length > pagename.length)
+                      url += "#" + dottedName.substring(pagename.length+1,
+                                                        dottedName.length);
+                  return url;
+              }
+          }
+      }
diff --git a/doc/html/fabio-module.html b/doc/html/fabio-module.html
new file mode 100644
index 0000000..08c0d59
--- /dev/null
+++ b/doc/html/fabio-module.html
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Home   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Package fabio
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package fabio</h1><p class="nomargin-top"><span class="codelink"><a href="fabio-pysrc.html">source code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Submodules</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Submodules"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr><td class="summary">
+  <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="fabio.GEimage-module.html">fabio.GEimage</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="fabio.GEimage_old-module.html">fabio.GEimage_old</a></strong>: <em class="summary">Reads the header from a GE a-Si Angio Detector</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.HiPiCimage-module.html">fabio.HiPiCimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.OXDimage-module.html">fabio.OXDimage</a></strong>: <em class="summary">Reads Oxford Diffraction Sapphire 3 images</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.TiffIO-module.html">fabio.TiffIO</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="fabio.adscimage-module.html">fabio.adscimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.binaryimage-module.html">fabio.binaryimage</a></strong>: <em class="summary">Authors: Gael Goret, Jerome Kieffer, ESRF, France Emails: 
+        gael.goret at esrf.fr, jerome.kieffer at esrf.fr</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.bruker100image-module.html">fabio.bruker100image</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="fabio.brukerimage-module.html">fabio.brukerimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.byte_offset-module.html">fabio.byte_offset</a></strong>: <em class="summary">Authors:      Jerome Kieffer, ESRF Email:        
+        jerome.kieffer at esrf.eu</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.cbfimage-module.html">fabio.cbfimage</a></strong>: <em class="summary">Authors: Jérôme Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.cf_io-module.html">fabio.cf_io</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="fabio.compression-module.html">fabio.compression</a></strong>: <em class="summary">Authors: Jérôme Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.converters-module.html">fabio.converters</a></strong>: <em class="summary">Converter module.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.datIO-module.html">fabio.datIO</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.dm3image-module.html">fabio.dm3image</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.edfimage-module.html">fabio.edfimage</a></strong>: <em class="summary">License: GPLv2+</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.fabioimage-module.html">fabio.fabioimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.fabioutils-module.html">fabio.fabioutils</a></strong>: <em class="summary">General purpose utilities functions for fabio</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.file_series-module.html">fabio.file_series</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.fit2dmaskimage-module.html">fabio.fit2dmaskimage</a></strong>: <em class="summary">Author: Andy Hammersley, ESRF Translation into python/fabio: Jon 
+        Wright, ESRF</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.fit2dspreadsheetimage-module.html">fabio.fit2dspreadsheetimage</a></strong>: <em class="summary">Read the fit2d ascii image output...</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.kcdimage-module.html">fabio.kcdimage</a></strong>: <em class="summary">Authors: Jerome Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.mar345_IO-module.html">fabio.mar345_IO</a></strong>: <em class="summary">New Cython version of mar345_io for preparing the migration to Python3</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.mar345image-module.html">fabio.mar345image</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.marccdimage-module.html">fabio.marccdimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.openimage-module.html">fabio.openimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.pilatusimage-module.html">fabio.pilatusimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.pnmimage-module.html">fabio.pnmimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.readbytestream-module.html">fabio.readbytestream</a></strong>: <em class="summary">Reads a bytestream</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.tifimage-module.html">fabio.tifimage</a></strong>: <em class="summary">FabIO class for dealing with TIFF images.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.xsdimage-module.html">fabio.xsdimage</a></strong>: <em class="summary">Authors: Jérôme Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr</em>    </li>
+  </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="version"></a><span class="summary-name">version</span> = <code title="'0.1.0'"><code class="variable-quote">'</code><code class="variable-string">0.1.0</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Home   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio-pysrc.html b/doc/html/fabio-pysrc.html
new file mode 100644
index 0000000..dd5061c
--- /dev/null
+++ b/doc/html/fabio-pysrc.html
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Home   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Package fabio
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio-module.html">Package fabio</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.version=fabio-module.html#version"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-0', 'version', 'link-0');">version</a></tt> <tt class="py-op">=</tt> <tt class="py-docstring">"0.1.0"</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">basicConfig</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-1');">fabioimage</a></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Module fabio.openimage=fabio.openimage-module.html,Function fabio.openimage.openimage()=fabio.openimage-module.html#openimage"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-2', 'openimage', 'link-2');">openimage</a></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module fabio.fabioutils=fabio.fabioutils-module.html"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-3', 'fabioutils', 'link-3');">fabioutils</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Class fabio.fabioutils.filename_object=fabio.fabioutils.filename_object-class.html"><a  [...]
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line">        <tt id="link-7" class="py-name" targets="Function fabio.fabioutils.previous_filename()=fabio.fabioutils-module.html#previous_filename"><a title="fabio.fabioutils.previous_filename" class="py-name" href="#" onclick="return doclink('link-7', 'previous_filename', 'link-7');">previous_filename</a></tt><tt class="py-op">,</tt> <tt id="link-8" class="py-name" targets="Function fabio.fabioutils.next_filename()=fabio.fab [...]
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">        <tt id="link-10" class="py-name" targets="Function fabio.fabioutils.extract_filenumber()=fabio.fabioutils-module.html#extract_filenumber"><a title="fabio.fabioutils.extract_filenumber" class="py-name" href="#" onclick="return doclink('link-10', 'extract_filenumber', 'link-10');">extract_filenumber</a></tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Function fabio.fabioutils.getnum()=fabio.f [...]
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-13" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-13', 'openimage', 'link-2');">openimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-14" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-14', 'openimage', 'link-2');">openimage</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">open</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Home   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.GEimage-module.html b/doc/html/fabio.GEimage-module.html
new file mode 100644
index 0000000..593dca2
--- /dev/null
+++ b/doc/html/fabio.GEimage-module.html
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.GEimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module GEimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.GEimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module GEimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.GEimage-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.GEimage.GEimage-class.html" class="summary-name">GEimage</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="demo"></a><span class="summary-sig-name">demo</span>()</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage-pysrc.html#demo">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("GEimage")">logging.getLogger("GEimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.GEimage-module.html#GE_HEADER_INFO" class="summary-name">GE_HEADER_INFO</a> = <code title="[('ImageFormat', 10, None),
+ ('VersionOfStandardHeader', 2, '=H'),
+ ('StandardHeaderSizeInBytes', 4, '=L'),
+ ('VersionOfUserHeader', 2, '=H'),
+ ('UserHeaderSizeInBytes', 4, '=L'),
+ ('NumberOfFrames', 2, '=H'),
+ ('NumberOfRowsInFrame', 2, '=H'),
+ ('NumberOfColsInFrame', 2, '=H'),
+..."><code class="variable-group">[</code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">ImageFormat</code><code class="variable-quote">'</code><code class="variable-op">, </code>10<code class="variable-op">, </code>None<code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">VersionOfStanda</code><code class="vari [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="GE_HEADER_INFO"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">GE_HEADER_INFO</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">ImageFormat</code><code class="variable-quote">'</code><code class="variable-op">, </code>10<code class="variable-op">, </code>None<code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">VersionOfStandardHeader</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">=H</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">StandardHeaderSizeInBytes</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">=L</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">VersionOfUserHeader</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">=H</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">UserHeaderSizeInBytes</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">=L</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">NumberOfFrames</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">=H</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">NumberOfRowsInFrame</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">=H</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">NumberOfColsInFrame</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">=H</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.GEimage-pysrc.html b/doc/html/fabio.GEimage-pysrc.html
new file mode 100644
index 0000000..87f5752
--- /dev/null
+++ b/doc/html/fabio.GEimage-pysrc.html
@@ -0,0 +1,638 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.GEimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module GEimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.GEimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.GEimage-module.html">Module fabio.GEimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt>
 </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line">
 </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-comment">#</tt>
 </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-comment"># Reads the header from a GE a-Si Angio Detector</tt>
 </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-comment"># Using version 8001 of the header from file:</tt>
 </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment">#     c:\adept\core\DefaultImageInfoConfig.csv</tt>
 </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-comment">#</tt>
 </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-comment">#  Antonino Miceli</tt>
 </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-comment">#  Thu Jan  4 13:46:31 CST 2007</tt>
 </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-comment">#</tt>
 </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">
 </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-comment"># modifications by Jon Wright for style, pychecker and fabio</tt>
 </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-comment"># </tt>
 </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">
 </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"GEimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-1');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-1');">fabioimage</a></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module fabio.fabioutils=fabio.fabioutils-module.html"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-3', 'fabioutils', 'link-3');">fabioutils</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Function fabio.fabioutils.next_filename()=fabio.fabioutils-module.html#next_filename" [...]
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">
 </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable fabio.GEimage.GE_HEADER_INFO=fabio.GEimage-module.html#GE_HEADER_INFO"><a title="fabio.GEimage.GE_HEADER_INFO" class="py-name" href="#" onclick="return doclink('link-6', 'GE_HEADER_INFO', 'link-6');">GE_HEADER_INFO</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt>
 </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt class="py-comment"># Name, length in bytes, format for struct (None means string)</tt>
 </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ImageFormat'</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'VersionOfStandardHeader'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'StandardHeaderSizeInBytes'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'VersionOfUserHeader'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'UserHeaderSizeInBytes'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'NumberOfFrames'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'NumberOfRowsInFrame'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'NumberOfColsInFrame'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ImageDepthInBits'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'AcquisitionDate'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'AcquisitionTime'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DUTID'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'Operator'</tt><tt class="py-op">,</tt> <tt class="py-number">50</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DetectorSignature'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TestSystemName'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TestStationRevision'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'CoreBundleRevision'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'AcquisitionName'</tt><tt class="py-op">,</tt> <tt class="py-number">40</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'AcquisitionParameterRevision'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'OriginalNumberOfRows'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'OriginalNumberOfColumns'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'RowNumberUpperLeftPointArchiveROI'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ColNumberUpperLeftPointArchiveROI'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'Swapped'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'Reordered'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'HorizontalFlipped'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'VerticalFlipped'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'WindowValueDesired'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'LevelValueDesired'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'AcquisitionMode'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'AcquisitionType'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'UserAcquisitionCoffFileName1'</tt><tt class="py-op">,</tt> <tt class="py-number">100</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'UserAcquisitionCoffFileName2'</tt><tt class="py-op">,</tt> <tt class="py-number">100</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FramesBeforeExpose'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FramesDuringExpose'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FramesAfterExpose'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'IntervalBetweenFrames'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ExposeTimeDelayInMicrosecs'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TimeBetweenFramesInMicrosecs'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FramesToSkipExpose'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ExposureMode'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'PrepPresetTimeInMicrosecs'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ExposePresetTimeInMicrosecs'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'AcquisitionFrameRateInFps'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FOVSelect'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ExpertMode'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetVCommon1'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetVCommon2'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetAREF'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetAREFTrim'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetSpareVoltageSource'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetCompensationVoltageSource'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetRowOffVoltage'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetRowOnVoltage'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'StoreCompensationVoltage'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'RampSelection'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TimingMode'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'Bandwidth'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ARCIntegrator'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ARCPostIntegrator'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'NumberOfRows'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'RowEnable'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'EnableStretch'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'CompEnable'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'CompStretch'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'LeftEvenTristate'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'RightOddTristate'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TestModeSelect'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'AnalogTestSource'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'VCommonSelect'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DRCColumnSum'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TestPatternFrameDelta'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TestPatternRowDelta'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TestPatternColumnDelta'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DetectorHorizontalFlip'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DetectorVerticalFlip'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DFNAutoScrubOnOff'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FiberChannelTimeOutInMicrosecs'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DFNAutoScrubDelayInMicrosecs'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'StoreAECROI'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TestPatternSaturationValue'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TestPatternSeed'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ExposureTimeInMillisecs'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FrameRateInFps'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'kVp'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'mA'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'mAs'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FocalSpotInMM'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'GeneratorType'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'StrobeIntensityInFtL'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'NDFilterSelection'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'RefRegTemp1'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'RefRegTemp2'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'RefRegTemp3'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'Humidity1'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'Humidity2'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DetectorControlTemp'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DoseValueInmR'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TargetLevelROIRow0'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TargetLevelROICol0'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TargetLevelROIRow1'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TargetLevelROICol1'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FrameNumberForTargetLevelROI'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'PercentRangeForTargetLevel'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TargetValue'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ComputedMedianValue'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'LoadZero'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'MaxLUTOut'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'MinLUTOut'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'MaxLinear'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'Reserved'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ElectronsPerCount'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ModeGain'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'TemperatureInDegC'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'LineRepaired'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'LineRepairFileName'</tt><tt class="py-op">,</tt> <tt class="py-number">100</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'CurrentLongitudinalInMM'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'CurrentTransverseInMM'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'CurrentCircularInMM'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=f'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'CurrentFilterSelection'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-string">'=L'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DisableScrubAck'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ScanModeSelect'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DetectorAppSwVersion'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DetectorNIOSVersion'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DetectorPeripheralSetVersion'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DetectorPhysicalAddress'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'PowerDown'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'InitialVoltageLevel_VCOMMON'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FinalVoltageLevel_VCOMMON'</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-string">'=d'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DmrCollimatorSpotSize'</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DmrTrack'</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'DmrFilter'</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FilterCarousel'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'Phantom'</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetEnableHighTime'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetEnableLowTime'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetCompHighTime'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetCompLowTime'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetSyncLowTime'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetConvertLowTime'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetSyncHighTime'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetEOLTime'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'SetRampOffsetTime'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FOVStartingValue'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'ColumnBinning'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'RowBinning'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'BorderColumns64'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'BorderRows64'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FETOffRows64'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FOVStartColumn128'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'FOVStartRow128'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'NumberOfColumns128'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'NumberOfRows128'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">'=H'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'VFPAquisition'</tt><tt class="py-op">,</tt> <tt class="py-number">2000</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'Comment'</tt><tt class="py-op">,</tt> <tt class="py-number">200</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt>
 </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-op">]</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">
 </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage"></a><div id="GEimage-def"><a name="L181"></a><tt class="py-lineno">181</tt> <a class="py-toggle" href="#" id="GEimage-toggle" onclick="return toggle('GEimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.GEimage.GEimage-class.html">GEimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GEimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="GEimage-expanded"><a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">
 </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">    <tt id="link-7" class="py-name" targets="Variable fabio.GEimage.GEimage._need_a_seek_to_read=fabio.GEimage.GEimage-class.html#_need_a_seek_to_read,Variable fabio.fabioimage.fabioimage._need_a_seek_to_read=fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read,Variable fabio.tifimage.tifimage._need_a_seek_to_read=fabio.tifimage.tifimage-class.html#_need_a_seek_to_read"><a title="fabio.GEimage.GEimage._need_a_s [...]
+fabio.fabioimage.fabioimage._need_a_seek_to_read
+fabio.tifimage.tifimage._need_a_seek_to_read" class="py-name" href="#" onclick="return doclink('link-7', '_need_a_seek_to_read', 'link-7');">_need_a_seek_to_read</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage._readheader"></a><div id="GEimage._readheader-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="GEimage._readheader-toggle" onclick="return toggle('GEimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage.GEimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">infile</tt><t [...]
+</div><div id="GEimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GEimage._readheader-expanded"><a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-docstring">""" Read a GE image header """</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">
 </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">
 </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-8', 'header', 'link-8');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">nbytes</tt><tt class="py-op">,</tt> <tt class="py-name">format</tt> <tt class="py-keyword">in</tt> <tt id="link-9" class="py-name"><a title="fabio.GEimage.GE_HEADER_INFO" class="py-name" href="#" onclick="return doclink('link-9', 'GE_HEADER_INFO', 'link-6');">GE_HEADER_INFO</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">format</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-10', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt> <tt class="py-name">name</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-11" cla [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-11', 'read', 'link-11');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">nbytes</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-12', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt> <tt class="py-name">name</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-13" cla [...]
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-13', 'unpack', 'link-13');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">format</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                                                     <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-14', 'read', 'link-11');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">nbytes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage.read"></a><div id="GEimage.read-def"><a name="L198"></a><tt class="py-lineno">198</tt> <a class="py-toggle" href="#" id="GEimage.read-toggle" onclick="return toggle('GEimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage.GEimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py-param" [...]
+</div><div id="GEimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GEimage.read-expanded"><a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"><tt class="py-docstring">        Read in header into self.header and
</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"><tt class="py-docstring">        the data   into self.data
</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">frame</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">frame</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-15', 'header', 'link-8');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-16', 'resetvals', 'link-16');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-17', '_open', 'link-17');">_open</a></tt><tt class="py-op">(</tt><tt cla [...]
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sequencefilename</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._re [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-18', '_readheader', 'link-18');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Variable fabio.edfimage.edfimage.nframes=fabio.edfimage.edfimage-class.html#nframes"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-19', 'nframes', 'link-19');">nframes</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="lin [...]
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method fabio.GEimage.GEimage._readframe()=fabio.GEimage.GEimage-class.html#_readframe"><a title="fabio.GEimage.GEimage._readframe" class="py-name" href="#" onclick="return doclink('link-21', '_readframe', 'link-21');">_readframe</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> < [...]
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage._makeframename"></a><div id="GEimage._makeframename-def"><a name="L215"></a><tt class="py-lineno">215</tt> <a class="py-toggle" href="#" id="GEimage._makeframename-toggle" onclick="return toggle('GEimage._makeframename');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage.GEimage-class.html#_makeframename">_makeframename</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op" [...]
+</div><div id="GEimage._makeframename-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GEimage._makeframename-expanded"><a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-docstring">""" The thing to be printed for the user to represent a frame inside
</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring">        a file """</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s$%04d"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sequencefilename</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">                                   <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage._readframe"></a><div id="GEimage._readframe-def"><a name="L221"></a><tt class="py-lineno">221</tt> <a class="py-toggle" href="#" id="GEimage._readframe-toggle" onclick="return toggle('GEimage._readframe');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage.GEimage-class.html#_readframe">_readframe</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filepointer</tt><tt [...]
+</div><div id="GEimage._readframe-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GEimage._readframe-expanded"><a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">        # Load only one image from the sequence
</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">        #    Note: the first image in the sequence 0
</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">        # raises an exception if you give an invalid image
</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">        # otherwise fills in self.data
</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">img_num</tt> <tt class="py-op">></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-22', 'nframes', 'link-19');">nframes</a></tt> <tt class="py-keyword">or</tt> <tt class="py-name">img_num</tt> <tt  [...]
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Bad image number"</tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-name">imgstart</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-23', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'StandardHeaderSizeInBytes'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> \
 </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                   <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-24', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'UserHeaderSizeInBytes'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> \
 </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                   <tt class="py-name">img_num</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-25', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NumberOfRowsInFrame'</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> \
 </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                   <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-26', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NumberOfColsInFrame'</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> \
 </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">                   <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-27', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'ImageDepthInBits'</tt><tt class="py-op">]</tt> <tt class="py-op">/</tt> <tt class="py-number">8</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-comment"># whence = 0 means seek from start of file</tt>
 </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-name">filepointer</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">imgstart</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">
 </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-28', 'bpp', 'link-28');">bpp</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name [...]
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">imglength</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-30', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NumberOfRowsInFrame'</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> \
 </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-31', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NumberOfColsInFrame'</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt>< [...]
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-33', 'bpp', 'link-28');">bpp</a></tt> <tt class="py-op">!=</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Using uint16 for GE but seems to be wrong"</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">
 </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-comment"># Guessing it is always unsigned int?</tt>
 </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-34', 'data', 'link-34');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">filepointer</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-35', 'read', 'link-11');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">imglength</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-36', 'data', 'link-34');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-37', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-s [...]
 </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-38', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NumberOfColsInFrame'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-39', 'dim2', 'link-39');">dim2</a></tt> <tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-41', 'data', 'link-34');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">img_num</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method fabio.GEimage.GEimage._makeframename()=fabio.GEimage.GEimage-class.html#_makeframename"><a title="fabio.GEimage.GEimage._makeframename" class="py-name" href="#" onclick="return doclink('link-42', '_makeframename', 'link-42');">_makeframename</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">
 </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage.write"></a><div id="GEimage.write-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="GEimage.write-toggle" onclick="return toggle('GEimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage.GEimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py- [...]
+</div><div id="GEimage.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GEimage.write-expanded"><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-docstring">""" Not yet implemented"""</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Write is not implemented"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage.getframe"></a><div id="GEimage.getframe-def"><a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="GEimage.getframe-toggle" onclick="return toggle('GEimage.getframe');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage.GEimage-class.html#getframe">getframe</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">num</tt><tt class="py-op">)</tt [...]
+</div><div id="GEimage.getframe-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GEimage.getframe-expanded"><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring">        Returns a frame as a new fabioimage object
</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">num</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt> <tt class="py-keyword">or</tt> <tt class="py-name">num</tt> <tt class="py-op">></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-43', 'nframes', 'link-19 [...]
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Requested frame number is out of range"</tt><tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-comment"># Do a deep copy of the header to make a new one</tt>
 </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-name">newheader</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-44', 'header', 'link-8');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</ [...]
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-name">newheader</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-45', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">k</tt> [...]
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-name">frame</tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name" targets="Module fabio.GEimage=fabio.GEimage-module.html,Class fabio.GEimage.GEimage=fabio.GEimage.GEimage-class.html,Class fabio.GEimage_old.GEimage=fabio.GEimage_old.GEimage-class.html"><a title="fabio.GEimage
+fabio.GEimage.GEimage
+fabio.GEimage_old.GEimage" class="py-name" href="#" onclick="return doclink('link-46', 'GEimage', 'link-46');">GEimage</a></tt><tt class="py-op">(</tt><tt id="link-47" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-47', 'header', 'link-8');">header</a></tt><tt class="py-op">=</tt><tt class="py-name">newheader</tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">frame</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-48', 'nframes', 'link-19');">nframes</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onc [...]
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-name">frame</tt><tt class="py-op">.</tt><tt class="py-name">sequencefilename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sequencefilename</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">frame</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-50', '_open', 'link-17');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sequencefilename</tt><tt class= [...]
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-name">frame</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="fabio.GEimage.GEimage._readframe" class="py-name" href="#" onclick="return doclink('link-51', '_readframe', 'link-21');">_readframe</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">frame</tt> </tt>
+</div><a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage.next"></a><div id="GEimage.next-def"><a name="L275"></a><tt class="py-lineno">275</tt> <a class="py-toggle" href="#" id="GEimage.next-toggle" onclick="return toggle('GEimage.next');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage.GEimage-class.html#next">next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GEimage.next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GEimage.next-expanded"><a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-docstring">        Get the next image in a series as a fabio image
</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op"><</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-52', 'nframes', 'link-19');">nframes</a></tt> <tt class [...]
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method fabio.GEimage.GEimage.getframe()=fabio.GEimage.GEimage-class.html#getframe,Method fabio.edfimage.edfimage.getframe()=fabio.edfimage.edfimage-class.html#getframe,Method fabio.fabioimage.fabioimage.getframe()=fabio.fabioimage.fabioimage-class.html#getframe"><a title="fabio. [...]
+fabio.edfimage.edfimage.getframe
+fabio.fabioimage.fabioimage.getframe" class="py-name" href="#" onclick="return doclink('link-54', 'getframe', 'link-54');">getframe</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">            <tt class="py-name">newobj</tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="fabio.GEimage
+fabio.GEimage.GEimage
+fabio.GEimage_old.GEimage" class="py-name" href="#" onclick="return doclink('link-55', 'GEimage', 'link-46');">GEimage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">            <tt class="py-name">newobj</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-56', 'read', 'link-11');">read</a></tt><tt class="py-op">(</tt><tt id="link-57" class="py-name"><a title="fabio.fabioutils.next_filename" class="py-name" href="#" onclick="return doclink('link-57', 'next_filename', 'link-4');">next_filename</a></tt><tt class="py-op">(</tt>
 </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sequencefilename</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">newobj</tt> </tt>
+</div><a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage.previous"></a><div id="GEimage.previous-def"><a name="L287"></a><tt class="py-lineno">287</tt> <a class="py-toggle" href="#" id="GEimage.previous-toggle" onclick="return toggle('GEimage.previous');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage.GEimage-class.html#previous">previous</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GEimage.previous-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GEimage.previous-expanded"><a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"><tt class="py-docstring">        Get the previous image in a series as a fabio image
</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="fabio.GEimage.GEimage.getframe
+fabio.edfimage.edfimage.getframe
+fabio.fabioimage.fabioimage.getframe" class="py-name" href="#" onclick="return doclink('link-58', 'getframe', 'link-54');">getframe</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">            <tt class="py-name">newobj</tt> <tt class="py-op">=</tt> <tt id="link-59" class="py-name"><a title="fabio.GEimage
+fabio.GEimage.GEimage
+fabio.GEimage_old.GEimage" class="py-name" href="#" onclick="return doclink('link-59', 'GEimage', 'link-46');">GEimage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">            <tt class="py-name">newobj</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-60', 'read', 'link-11');">read</a></tt><tt class="py-op">(</tt><tt id="link-61" class="py-name"><a title="fabio.fabioutils.previous_filename" class="py-name" href="#" onclick="return doclink('link-61', 'previous_filename', 'link-5');">previous_filename</a></tt><tt class="py-op">(</tt>
 </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sequencefilename</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">newobj</tt> </tt>
+</div></div><a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">
 </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">
 </tt>
+<a name="demo"></a><div id="demo-def"><a name="L300"></a><tt class="py-lineno">300</tt> <a class="py-toggle" href="#" id="demo-toggle" onclick="return toggle('demo');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage-module.html#demo">demo</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="demo-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="demo-expanded"><a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">
 </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-62" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-62', 'len', 'link-62');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py [...]
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"USAGE: GE_script.py <GEaSi_raw_image_file>"</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">        <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">
 </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">    <tt class="py-name">image_file</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">
 </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"init read_GEaSi_data class and load header.."</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">    <tt class="py-name">sequence1</tt> <tt class="py-op">=</tt> <tt id="link-63" class="py-name"><a title="fabio.GEimage
+fabio.GEimage.GEimage
+fabio.GEimage_old.GEimage" class="py-name" href="#" onclick="return doclink('link-63', 'GEimage', 'link-46');">GEimage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">    <tt class="py-name">sequence1</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-64', 'read', 'link-11');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">image_file</tt><tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">
 </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"TimeBetweenFramesInMicrosecs = "</tt><tt class="py-op">,</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-name">sequence1</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-65', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'TimeBetweenFramesInMicrosecs'</tt><tt class="py-op">]</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"AcquisitionTime = "</tt><tt class="py-op">,</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-name">sequence1</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-66', 'header', 'link-8');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'AcquisitionTime'</tt><tt class="py-op">]</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">
 </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">
 </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"Mean = "</tt><tt class="py-op">,</tt> <tt class="py-name">sequence1</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-67', 'data', 'link-34');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">ravel</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">
 </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">        <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">            <tt class="py-name">sequence1</tt> <tt class="py-op">=</tt> <tt class="py-name">sequence1</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name" targets="Method fabio.GEimage.GEimage.next()=fabio.GEimage.GEimage-class.html#next,Method fabio.edfimage.edfimage.next()=fabio.edfimage.edfimage-class.html#next,Method fabio.fabioimage.fabioimage.next()=fabio.fabioimage.fabioimage-class.html#next,Method fabi [...]
+fabio.edfimage.edfimage.next
+fabio.fabioimage.fabioimage.next
+fabio.file_series.file_series.next
+fabio.file_series.filename_series.next" class="py-name" href="#" onclick="return doclink('link-68', 'next', 'link-68');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">sequence1</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">,</tt> <tt class="py-name">sequence1</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-69', 'data', 'link-34');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">ravel</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> \
 </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                  <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">ex</tt><tt class="py-op">:</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">ex</tt> </tt>
+</div><a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">
 </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">
 </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">
 </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">
 </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">    <tt id="link-70" class="py-name" targets="Function fabio.GEimage.demo()=fabio.GEimage-module.html#demo"><a title="fabio.GEimage.demo" class="py-name" href="#" onclick="return doclink('link-70', 'demo', 'link-70');">demo</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.GEimage.GEimage-class.html b/doc/html/fabio.GEimage.GEimage-class.html
new file mode 100644
index 0000000..8c646e3
--- /dev/null
+++ b/doc/html/fabio.GEimage.GEimage-class.html
@@ -0,0 +1,565 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.GEimage.GEimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.GEimage-module.html">Module GEimage</a> ::
+        Class GEimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.GEimage.GEimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class GEimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">GEimage</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.GEimage.GEimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Read a GE image header</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.GEimage.GEimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in header into self.header and the data   into self.data</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_makeframename"></a><span class="summary-sig-name">_makeframename</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      The thing to be printed for the user to represent a frame inside a 
+      file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage._makeframename">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_readframe"></a><span class="summary-sig-name">_readframe</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filepointer</span>,
+        <span class="summary-sig-arg">img_num</span>)</span><br />
+      # Load only one image from the sequence #    Note: the first image in
+      the sequence 0 # raises an exception if you give an invalid image # 
+      otherwise fills in self.data</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage._readframe">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.GEimage.GEimage-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">force_type</span>=<span class="summary-sig-default"><type 'numpy.uint16'></span>)</span><br />
+      Not yet implemented</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.GEimage.GEimage-class.html#getframe" class="summary-sig-name">getframe</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      Returns a frame as a new fabioimage object</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage.getframe">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.GEimage.GEimage-class.html#next" class="summary-sig-name">next</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Get the next image in a series as a fabio image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage.next">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.GEimage.GEimage-class.html#previous" class="summary-sig-name">previous</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Get the previous image in a series as a fabio image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage.previous">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="_need_a_seek_to_read"></a><span class="summary-name">_need_a_seek_to_read</span> = <code title="True">True</code>
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read a GE image header</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read in header into self.header and the data   into self.data</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">force_type</span>=<span class="sig-default"><type 'numpy.uint16'></span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Not yet implemented</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getframe"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getframe</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">num</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage.getframe">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Returns a frame as a new fabioimage object</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#getframe">fabioimage.fabioimage.getframe</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="next"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">next</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage.next">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Get the next image in a series as a fabio image</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#next">fabioimage.fabioimage.next</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="previous"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">previous</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.GEimage-pysrc.html#GEimage.previous">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Get the previous image in a series as a fabio image</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#previous">fabioimage.fabioimage.previous</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.GEimage_old-module.html b/doc/html/fabio.GEimage_old-module.html
new file mode 100644
index 0000000..1c94b6a
--- /dev/null
+++ b/doc/html/fabio.GEimage_old-module.html
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.GEimage_old</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module GEimage_old
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.GEimage_old-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module GEimage_old</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.GEimage_old-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Reads the header from a GE a-Si Angio Detector
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+
+        + Jon Wright, ESRF
+
+        The header information has been taken from the script read_GEaSi_data.py
+        by
+        Antonino Miceli
+        Thu Jan  4 13:46:31 CST 2007
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.GEimage_old.GEimage-class.html" class="summary-name">GEimage</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.GEimage_old-pysrc.html b/doc/html/fabio.GEimage_old-pysrc.html
new file mode 100644
index 0000000..11b3379
--- /dev/null
+++ b/doc/html/fabio.GEimage_old-pysrc.html
@@ -0,0 +1,1055 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.GEimage_old</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module GEimage_old
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.GEimage_old-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.GEimage_old-module.html">Module fabio.GEimage_old</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line">
 </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt>
 </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line">
 </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">"""
</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">Reads the header from a GE a-Si Angio Detector
</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen
</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions
</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory
</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399
</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde
</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">         email:erik.knudsen at risoe.dk
</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">        + Jon Wright, ESRF
</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">        The header information has been taken from the script read_GEaSi_data.py
</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">        by
</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">        Antonino Miceli
</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">        Thu Jan  4 13:46:31 CST 2007
</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">
 </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-0', 'fabioimage', 'link-0');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-0');">fabioimage</a></tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage"></a><div id="GEimage-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="GEimage-toggle" onclick="return toggle('GEimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.GEimage_old.GEimage-class.html">GEimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GEimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="GEimage-expanded"><a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">
 </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage._readheader"></a><div id="GEimage._readheader-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="GEimage._readheader-toggle" onclick="return toggle('GEimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage_old.GEimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">infile</tt [...]
+</div><div id="GEimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GEimage._readheader-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">
 </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">
 </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-comment"># ADEPT</tt>
 </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ImageFormat</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-2', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">
 </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-comment"># USHORT --> "=H"</tt>
 </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-comment"># ULONG  --> "=L"</tt>
 </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-comment">#   = means byte order is native</tt>
 </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">
 </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-3', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'HeaderVersion'</tt><tt class="py-op">]</tt> <tt clas [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-4', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-5', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'HeaderSizeInBytes'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name" [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-6', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-7', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'UserHeaderVersion'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-nam [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-8', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-9', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'UserHeaderSizeInBytes'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-n [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-10', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">
 </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-11', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NumberOfFrames'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-12', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-13', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NumberOfRowsInFrame'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-14', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-15', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NumberOfColsInFrame'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-16', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-17', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'BitsPerPixel'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name"> [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-18', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">
 </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-19', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'AcquisitionDate'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-20" [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-20', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-21', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'AcquisitionTime'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-22" [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-22', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">
 </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">DUTID</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-23', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">
 </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-24', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Operator'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-25" class= [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-25', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">50</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">
 </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-26', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'DetectorSignature'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-2 [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-27', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-28', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'TestSystemName'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-29"  [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-29', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-30', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'TestStationRevision'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-31', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-32', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'CoreBundleRevision'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link- [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-33', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-34', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'AcquisitionName'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-35" [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-35', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">40</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-36', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'AcquisitionParameterRevision'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-37', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">
 </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-comment">#         self.OriginalNumberOfRows = infile.read(2)</tt>
 </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-comment">#         self.OriginalNumberOfRows = struct.unpack("=H",self.OriginalNumberOfRows)[0]</tt>
 </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">
 </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-comment">#         self.OriginalNumberOfColumns = infile.read(2)</tt>
 </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-comment">#         self.OriginalNumberOfColumns = struct.unpack("=H",self.OriginalNumberOfColumns)[0]</tt>
 </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">
 </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-comment">#         self.RowNumberUpperLeftPointArchiveROI = infile.read(2)</tt>
 </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-comment">#         self.RowNumberUpperLeftPointArchiveROI = struct.unpack("=H",self.RowNumberUpperLeftPointArchiveROI)[0]</tt>
 </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">
 </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-comment">#         self.ColNumberUpperLeftPointArchiveROI = infile.read(2)</tt>
 </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-comment">#         self.ColNumberUpperLeftPointArchiveROI = struct.unpack("=H",self.ColNumberUpperLeftPointArchiveROI)[0]</tt>
 </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">
 </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-comment">#         self.Swapped = infile.read(2) </tt>
 </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-comment">#         self.Swapped = struct.unpack("=H",self.Swapped)[0]</tt>
 </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">
 </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-comment">#         self.Reordered = infile.read(2) </tt>
 </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-comment">#         self.Reordered = struct.unpack("=H",self.Reordered)[0]</tt>
 </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">
 </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-comment">#         self.HorizontalFlipped = infile.read(2) </tt>
 </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-comment">#         self.HorizontalFlipped = struct.unpack("=H",self.HorizontalFlipped)[0]</tt>
 </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">
 </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-comment">#         self.VerticalFlipped = infile.read(2) </tt>
 </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-comment">#         self.VerticalFlipped = struct.unpack("=H",self.VerticalFlipped)[0]</tt>
 </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">
 </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-comment">#         self.WindowValueDesired = infile.read(2) </tt>
 </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-comment">#         self.WindowValueDesired = struct.unpack("=H",self.WindowValueDesired)[0]</tt>
 </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">
 </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-comment">#         self.LevelValueDesired = infile.read(2) </tt>
 </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-comment">#         self.LevelValueDesired = struct.unpack("=H",self.LevelValueDesired)[0]</tt>
 </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">
 </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-comment">#         self.AcquisitionMode = infile.read(2) </tt>
 </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-comment">#         self.AcquisitionMode = struct.unpack("=H",self.AcquisitionMode)[0]</tt>
 </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">
 </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-comment">#         self.AcquisitionType = infile.read(2) </tt>
 </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-comment">#         self.AcquisitionType = struct.unpack("=H",self.AcquisitionType)[0]</tt>
 </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">
 </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-comment">#         self.UserAcquisitionCoffFileName1 = infile.read(100) </tt>
 </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-comment">#         self.UserAcquisitionCoffFileName2 = infile.read(100) </tt>
 </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">
 </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-comment">#         self.FramesBeforeExpose = infile.read(2) </tt>
 </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-comment">#         self.FramesBeforeExpose = struct.unpack("=H",self.FramesBeforeExpose)[0]</tt>
 </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">
 </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-comment">#         self.FramesDuringExpose = infile.read(2)  </tt>
 </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-comment">#         self.FramesDuringExpose = struct.unpack("=H",self.FramesDuringExpose)[0]</tt>
 </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">
 </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-comment">#         self.FramesAfterExpose = infile.read(2) </tt>
 </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-comment">#         self.FramesAfterExpose = struct.unpack("=H",self.FramesAfterExpose)[0]</tt>
 </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">
 </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-comment">#         self.IntervalBetweenFrames = infile.read(2) </tt>
 </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-comment">#         self.IntervalBetweenFrames = struct.unpack("=H",self.IntervalBetweenFrames)[0]</tt>
 </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">
 </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-comment">#         self.ExposeTimeDelayInMicrosecs = infile.read(8) </tt>
 </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-comment">#         self.ExposeTimeDelayInMicrosecs = struct.unpack("=d",self.ExposeTimeDelayInMicrosecs)[0]</tt>
 </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">
 </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-comment">#         self.TimeBetweenFramesInMicrosecs = infile.read(8) </tt>
 </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-comment">#         self.TimeBetweenFramesInMicrosecs = struct.unpack("=d",self.TimeBetweenFramesInMicrosecs)[0]</tt>
 </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">
 </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-comment">#         self.FramesToSkipExpose = infile.read(2) </tt>
 </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-comment">#         self.FramesToSkipExpose = struct.unpack("=H",self.FramesToSkipExpose)[0]</tt>
 </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">
 </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-comment">#         # Rad --> ExposureMode = 1</tt>
 </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-comment">#         self.ExposureMode = infile.read(2) </tt>
 </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-comment">#         self.ExposureMode = struct.unpack("=H",self.ExposureMode)[0]</tt>
 </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">
 </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-comment">#         self.PrepPresetTimeInMicrosecs = infile.read(8) </tt>
 </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-comment">#         self.PrepPresetTimeInMicrosecs = struct.unpack("=d",self.PrepPresetTimeInMicrosecs)[0]</tt>
 </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">
 </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-comment">#         self.ExposePresetTimeInMicrosecs = infile.read(8) </tt>
 </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-comment">#         self.ExposePresetTimeInMicrosecs = struct.unpack("=d",self.ExposePresetTimeInMicrosecs)[0]</tt>
 </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">
 </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-comment">#         self.AcquisitionFrameRateInFps = infile.read(4) </tt>
 </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-comment">#         self.AcquisitionFrameRateInFps = struct.unpack("=f",self.AcquisitionFrameRateInFps)[0]</tt>
 </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">
 </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-comment">#         self.FOVSelect = infile.read(2)</tt>
 </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-comment">#         self.FOVSelect = struct.unpack("=H",self.FOVSelect)[0]</tt>
 </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">
 </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-comment">#         self.ExpertMode = infile.read(2)</tt>
 </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-comment">#         self.ExpertMode = struct.unpack("=H",self.ExpertMode)[0]</tt>
 </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">
 </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetVCommon1 = infile.read(8)</tt>
 </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetVCommon1 = struct.unpack("=d",self.SetVCommon1)[0]</tt>
 </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">
 </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetVCommon2 = infile.read(8)</tt>
 </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetVCommon2 = struct.unpack("=d",self.SetVCommon2)[0]</tt>
 </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">
 </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetAREF = infile.read(8)</tt>
 </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetAREF = struct.unpack("=d",self.SetAREF)[0]</tt>
 </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">
 </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetAREFTrim = infile.read(4)</tt>
 </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetAREFTrim = struct.unpack("=L",self.SetAREFTrim)[0]</tt>
 </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">
 </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetSpareVoltageSource = infile.read(8)</tt>
 </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetSpareVoltageSource = struct.unpack("=d",self.SetSpareVoltageSource)[0]</tt>
 </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">
 </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetCompensationVoltageSource = infile.read(8)</tt>
 </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetCompensationVoltageSource = struct.unpack("=d",self.SetCompensationVoltageSource)[0]</tt>
 </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">
 </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetRowOffVoltage = infile.read(8)</tt>
 </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetRowOffVoltage = struct.unpack("=d",self.SetRowOffVoltage)[0]</tt>
 </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">
 </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetRowOnVoltage = infile.read(8)</tt>
 </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetRowOnVoltage = struct.unpack("=d",self.SetRowOnVoltage)[0]</tt>
 </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">
 </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-comment">#         self.StoreCompensationVoltage = infile.read(4)</tt>
 </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-comment">#         self.StoreCompensationVoltage = struct.unpack("=L",self.StoreCompensationVoltage)[0]</tt>
 </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">
 </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-comment">#         self.RampSelection = infile.read(2)</tt>
 </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-comment">#         self.RampSelection = struct.unpack("=H",self.RampSelection)[0]</tt>
 </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">
 </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-comment">#         self.TimingMode = infile.read(2)</tt>
 </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-comment">#         self.TimingMode = struct.unpack("=H",self.TimingMode)[0]</tt>
 </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">
 </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-comment">#         self.Bandwidth = infile.read(2)</tt>
 </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-comment">#         self.Bandwidth = struct.unpack("=H",self.Bandwidth)[0]</tt>
 </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">
 </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-comment">#         self.ARCIntegrator = infile.read(2)</tt>
 </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-comment">#         self.ARCIntegrator = struct.unpack("=H",self.ARCIntegrator)[0]</tt>
 </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">
 </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-comment">#         self.ARCPostIntegrator = infile.read(2)</tt>
 </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-comment">#         self.ARCPostIntegrator = struct.unpack("=H",self.ARCPostIntegrator)[0]</tt>
 </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">
 </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-comment">#         self.NumberOfRows = infile.read(4)</tt>
 </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-comment">#         self.NumberOfRows = struct.unpack("=L",self.NumberOfRows)[0]</tt>
 </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">
 </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-comment">#         self.RowEnable = infile.read(2)</tt>
 </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-comment">#         self.RowEnable = struct.unpack("=H",self.RowEnable)[0]</tt>
 </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">
 </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-comment">#         self.EnableStretch = infile.read(2)</tt>
 </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-comment">#         self.EnableStretch = struct.unpack("=H",self.EnableStretch)[0]</tt>
 </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">
 </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-comment">#         self.CompEnable = infile.read(2)</tt>
 </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-comment">#         self.CompEnable = struct.unpack("=H",self.CompEnable)[0]</tt>
 </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">
 </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-comment">#         self.CompStretch = infile.read(2)</tt>
 </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-comment">#         self.CompStretch = struct.unpack("=H",self.CompStretch)[0]</tt>
 </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">
 </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"><tt class="py-comment">#         self.LeftEvenTristate = infile.read(2)</tt>
 </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"><tt class="py-comment">#         self.LeftEvenTristate = struct.unpack("=H",self.LeftEvenTristate)[0]</tt>
 </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">
 </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-comment">#         self.RightOddTristate = infile.read(2)</tt>
 </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"><tt class="py-comment">#         self.RightOddTristate = struct.unpack("=H",self.RightOddTristate)[0]</tt>
 </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">
 </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestModeSelect = infile.read(4)</tt>
 </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestModeSelect = struct.unpack("=L",self.TestModeSelect)[0]</tt>
 </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">
 </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-comment">#         self.AnalogTestSource = infile.read(4)</tt>
 </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-comment">#         self.AnalogTestSource = struct.unpack("=L",self.AnalogTestSource)[0]</tt>
 </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">
 </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-comment">#         self.VCommonSelect = infile.read(4)</tt>
 </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-comment">#         self.VCommonSelect = struct.unpack("=L",self.VCommonSelect)[0]</tt>
 </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">
 </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-comment">#         self.DRCColumnSum = infile.read(4)</tt>
 </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-comment">#         self.DRCColumnSum = struct.unpack("=L",self.DRCColumnSum)[0]</tt>
 </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">
 </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestPatternFrameDelta = infile.read(4)</tt>
 </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestPatternFrameDelta = struct.unpack("=L",self.TestPatternFrameDelta)[0]</tt>
 </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">
 </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestPatternRowDelta = infile.read(4)</tt>
 </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestPatternRowDelta = struct.unpack("=L",self.TestPatternRowDelta)[0]</tt>
 </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">
 </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestPatternColumnDelta = infile.read(4)</tt>
 </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestPatternColumnDelta = struct.unpack("=L",self.TestPatternColumnDelta)[0]</tt>
 </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">
 </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-comment">#         self.DetectorHorizontalFlip = infile.read(2)</tt>
 </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-comment">#         self.DetectorHorizontalFlip = struct.unpack("=H",self.DetectorHorizontalFlip)[0]</tt>
 </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">
 </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-comment">#         self.DetectorVerticalFlip = infile.read(2)</tt>
 </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-comment">#         self.DetectorVerticalFlip = struct.unpack("=H",self.DetectorVerticalFlip)[0]</tt>
 </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">
 </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-comment">#         self.DFNAutoScrubOnOff = infile.read(2)</tt>
 </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-comment">#         self.DFNAutoScrubOnOff = struct.unpack("=H",self.DFNAutoScrubOnOff)[0]</tt>
 </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">
 </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-comment">#         self.FiberChannelTimeOutInMicrosecs = infile.read(4)</tt>
 </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-comment">#         self.FiberChannelTimeOutInMicrosecs = struct.unpack("=L",self.FiberChannelTimeOutInMicrosecs)[0]</tt>
 </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">
 </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-comment">#         self.DFNAutoScrubDelayInMicrosecs = infile.read(4)</tt>
 </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-comment">#         self.DFNAutoScrubDelayInMicrosecs = struct.unpack("=L",self.DFNAutoScrubDelayInMicrosecs)[0]</tt>
 </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">
 </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-comment">#         self.StoreAECROI = infile.read(2)</tt>
 </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"><tt class="py-comment">#         self.StoreAECROI = struct.unpack("=H",self.StoreAECROI)[0]</tt>
 </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">
 </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestPatternSaturationValue = infile.read(2)</tt>
 </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestPatternSaturationValue = struct.unpack("=H",self.TestPatternSaturationValue)[0]</tt>
 </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">
 </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestPatternSeed = infile.read(4)</tt>
 </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-comment">#         self.TestPatternSeed = struct.unpack("=L",self.TestPatternSeed)[0]</tt>
 </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">
 </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-comment">#         self.ExposureTimeInMillisecs = infile.read(4) </tt>
 </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-comment">#         self.ExposureTimeInMillisecs = struct.unpack("=f",self.ExposureTimeInMillisecs)[0]</tt>
 </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">
 </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"><tt class="py-comment">#         self.FrameRateInFps = infile.read(4) </tt>
 </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-comment">#         self.FrameRateInFps = struct.unpack("=f",self.FrameRateInFps)[0]</tt>
 </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">
 </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-comment">#         self.kVp = infile.read(4) </tt>
 </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"><tt class="py-comment">#         self.kVp = struct.unpack("=f",self.kVp)[0]</tt>
 </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">
 </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-comment">#         self.mA = infile.read(4) </tt>
 </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-comment">#         self.mA = struct.unpack("=f",self.mA)[0]</tt>
 </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">
 </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"><tt class="py-comment">#         self.mAs = infile.read(4) </tt>
 </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"><tt class="py-comment">#         self.mAs = struct.unpack("=f",self.mAs)[0]</tt>
 </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">
 </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-comment">#         self.FocalSpotInMM = infile.read(4) </tt>
 </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-comment">#         self.FocalSpotInMM = struct.unpack("=f",self.FocalSpotInMM)[0]</tt>
 </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">
 </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-comment">#         self.GeneratorType = infile.read(20)</tt>
 </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">
 </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-comment">#         self.StrobeIntensityInFtL = infile.read(4) </tt>
 </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line"><tt class="py-comment">#         self.StrobeIntensityInFtL = struct.unpack("=f",self.StrobeIntensityInFtL)[0]</tt>
 </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">
 </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"><tt class="py-comment">#         self.NDFilterSelection = infile.read(2) </tt>
 </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"><tt class="py-comment">#         self.NDFilterSelection = struct.unpack("=H",self.NDFilterSelection)[0]</tt>
 </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">
 </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"><tt class="py-comment">#         self.RefRegTemp1 = infile.read(8) </tt>
 </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"><tt class="py-comment">#         self.RefRegTemp1 = struct.unpack("=d",self.RefRegTemp1)[0]</tt>
 </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">
 </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"><tt class="py-comment">#         self.RefRegTemp2 = infile.read(8) </tt>
 </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"><tt class="py-comment">#         self.RefRegTemp2 = struct.unpack("=d",self.RefRegTemp2)[0]</tt>
 </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">
 </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"><tt class="py-comment">#         self.RefRegTemp3 = infile.read(8) </tt>
 </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"><tt class="py-comment">#         self.RefRegTemp3 = struct.unpack("=d",self.RefRegTemp3)[0]</tt>
 </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">
 </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"><tt class="py-comment">#         self.Humidity1 = infile.read(4) </tt>
 </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"><tt class="py-comment">#         self.Humidity1 = struct.unpack("=f",self.Humidity1)[0]</tt>
 </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">
 </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"><tt class="py-comment">#         self.Humidity2 = infile.read(4) </tt>
 </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"><tt class="py-comment">#         self.Humidity2 = struct.unpack("=f",self.Humidity2)[0]</tt>
 </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">
 </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"><tt class="py-comment">#         self.DetectorControlTemp = infile.read(8) </tt>
 </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line"><tt class="py-comment">#         self.DetectorControlTemp = struct.unpack("=d",self.DetectorControlTemp)[0]</tt>
 </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">
 </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-comment">#         self.DoseValueInmR = infile.read(8) </tt>
 </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-comment">#         self.DoseValueInmR = struct.unpack("=d",self.DoseValueInmR)[0]</tt>
 </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">
 </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"><tt class="py-comment">#         self.TargetLevelROIRow0 = infile.read(2)</tt>
 </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"><tt class="py-comment">#         self.TargetLevelROIRow0 = struct.unpack("=H",self.TargetLevelROIRow0)[0]</tt>
 </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">
 </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"><tt class="py-comment">#         self.TargetLevelROICol0 = infile.read(2)</tt>
 </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"><tt class="py-comment">#         self.TargetLevelROICol0 = struct.unpack("=H",self.TargetLevelROICol0)[0]</tt>
 </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">
 </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"><tt class="py-comment">#         self.TargetLevelROIRow1 = infile.read(2)</tt>
 </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"><tt class="py-comment">#         self.TargetLevelROIRow1 = struct.unpack("=H",self.TargetLevelROIRow1)[0]</tt>
 </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">
 </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-comment">#         self.TargetLevelROICol1 = infile.read(2)</tt>
 </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-comment">#         self.TargetLevelROICol1 = struct.unpack("=H",self.TargetLevelROICol1)[0]</tt>
 </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">
 </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-comment">#         self.FrameNumberForTargetLevelROI = infile.read(2)</tt>
 </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-comment">#         self.FrameNumberForTargetLevelROI = struct.unpack("=H",self.FrameNumberForTargetLevelROI)[0]</tt>
 </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">
 </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-comment">#         self.PercentRangeForTargetLevel = infile.read(2)</tt>
 </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-comment">#         self.PercentRangeForTargetLevel = struct.unpack("=H",self.PercentRangeForTargetLevel)[0]</tt>
 </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">
 </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"><tt class="py-comment">#         self.TargetValue = infile.read(2)</tt>
 </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"><tt class="py-comment">#         self.TargetValue = struct.unpack("=H",self.TargetValue)[0]</tt>
 </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">
 </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"><tt class="py-comment">#         self.ComputedMedianValue = infile.read(2)</tt>
 </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line"><tt class="py-comment">#         self.ComputedMedianValue = struct.unpack("=H",self.ComputedMedianValue)[0]</tt>
 </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">
 </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-comment">#         self.LoadZero = infile.read(2)</tt>
 </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-comment">#         self.LoadZero = struct.unpack("=H",self.LoadZero)[0]</tt>
 </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">
 </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"><tt class="py-comment">#         self.MaxLUTOut = infile.read(2)</tt>
 </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line"><tt class="py-comment">#         self.MaxLUTOut = struct.unpack("=H",self.MaxLUTOut)[0]</tt>
 </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">
 </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-comment">#         self.MinLUTOut = infile.read(2)</tt>
 </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"><tt class="py-comment">#         self.MinLUTOut = struct.unpack("=H",self.MinLUTOut)[0]</tt>
 </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">
 </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"><tt class="py-comment">#         self.MaxLinear = infile.read(2)</tt>
 </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"><tt class="py-comment">#         self.MaxLinear = struct.unpack("=H",self.MaxLinear)[0]</tt>
 </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">
 </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"><tt class="py-comment">#         self.Reserved = infile.read(2)</tt>
 </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"><tt class="py-comment">#         self.Reserved = struct.unpack("=H",self.Reserved)[0]</tt>
 </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">
 </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"><tt class="py-comment">#         self.ElectronsPerCount = infile.read(2)</tt>
 </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"><tt class="py-comment">#         self.ElectronsPerCount = struct.unpack("=H",self.ElectronsPerCount)[0]</tt>
 </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">
 </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line"><tt class="py-comment">#         self.ModeGain = infile.read(2)</tt>
 </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"><tt class="py-comment">#         self.ModeGain = struct.unpack("=H",self.ModeGain)[0]</tt>
 </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">
 </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"><tt class="py-comment">#         self.TemperatureInDegC = infile.read(8)</tt>
 </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-comment">#         self.TemperatureInDegC = struct.unpack("=d",self.TemperatureInDegC)[0]</tt>
 </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">
 </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"><tt class="py-comment">#         self.LineRepaired = infile.read(2)</tt>
 </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"><tt class="py-comment">#         self.LineRepaired = struct.unpack("=H",self.LineRepaired)[0]</tt>
 </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">
 </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"><tt class="py-comment">#         self.LineRepairFileName = infile.read(100)</tt>
 </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">
 </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-comment">#         self.CurrentLongitudinalInMM = infile.read(4)</tt>
 </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-comment">#         self.CurrentLongitudinalInMM = struct.unpack("=f",self.CurrentLongitudinalInMM)[0]</tt>
 </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">
 </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line"><tt class="py-comment">#         self.CurrentTransverseInMM = infile.read(4)</tt>
 </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"><tt class="py-comment">#         self.CurrentTransverseInMM = struct.unpack("=f",self.CurrentTransverseInMM)[0]</tt>
 </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">
 </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt class="py-comment">#         self.CurrentCircularInMM = infile.read(4)</tt>
 </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-comment">#         self.CurrentCircularInMM = struct.unpack("=f",self.CurrentCircularInMM)[0]</tt>
 </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">
 </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-comment">#         self.CurrentFilterSelection = infile.read(4)</tt>
 </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-comment">#         self.CurrentFilterSelection = struct.unpack("=L",self.CurrentFilterSelection)[0]</tt>
 </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">
 </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"><tt class="py-comment">#         self.DisableScrubAck = infile.read(2)</tt>
 </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line"><tt class="py-comment">#         self.DisableScrubAck = struct.unpack("=H",self.DisableScrubAck)[0]</tt>
 </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">
 </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"><tt class="py-comment">#         self.ScanModeSelect = infile.read(2)</tt>
 </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"><tt class="py-comment">#         self.ScanModeSelect = struct.unpack("=H",self.ScanModeSelect)[0]</tt>
 </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">
 </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"><tt class="py-comment">#         self.DetectorAppSwVersion = infile.read(20)   </tt>
 </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">
 </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line"><tt class="py-comment">#         self.DetectorNIOSVersion = infile.read(20)    </tt>
 </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">
 </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line"><tt class="py-comment">#         self.DetectorPeripheralSetVersion = infile.read(20)   </tt>
 </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">
 </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line"><tt class="py-comment">#         self.DetectorPhysicalAddress   = infile.read(20)</tt>
 </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">
 </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"><tt class="py-comment">#         self.PowerDown = infile.read(2)</tt>
 </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"><tt class="py-comment">#         self.PowerDown = struct.unpack("=H",self.PowerDown)[0]</tt>
 </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">
 </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"><tt class="py-comment">#         self.InitialVoltageLevel_VCOMMON = infile.read(8)</tt>
 </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"><tt class="py-comment">#         self.InitialVoltageLevel_VCOMMON = struct.unpack("=d",self.InitialVoltageLevel_VCOMMON)[0]</tt>
 </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">
 </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"><tt class="py-comment">#         self.FinalVoltageLevel_VCOMMON = infile.read(8)</tt>
 </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"><tt class="py-comment">#         self.FinalVoltageLevel_VCOMMON = struct.unpack("=d",self.FinalVoltageLevel_VCOMMON)[0]</tt>
 </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">
 </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"><tt class="py-comment">#         self.DmrCollimatorSpotSize     = infile.read(10)</tt>
 </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">
 </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line"><tt class="py-comment">#         self.DmrTrack  = infile.read(5)</tt>
 </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">
 </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line"><tt class="py-comment">#         self.DmrFilter         = infile.read(5)</tt>
 </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">
 </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"><tt class="py-comment">#         self.FilterCarousel = infile.read(2)</tt>
 </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line"><tt class="py-comment">#         self.FilterCarousel = struct.unpack("=H",self.FilterCarousel)[0]</tt>
 </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">
 </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"><tt class="py-comment">#         self.Phantom   = infile.read(20)</tt>
 </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">
 </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetEnableHighTime = infile.read(2)</tt>
 </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetEnableHighTime = struct.unpack("=H",self.SetEnableHighTime)[0]</tt>
 </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">
 </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetEnableLowTime = infile.read(2)</tt>
 </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetEnableLowTime = struct.unpack("=H",self.SetEnableLowTime)[0]</tt>
 </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">
 </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetCompHighTime = infile.read(2)</tt>
 </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetCompHighTime = struct.unpack("=H",self.SetCompHighTime)[0]</tt>
 </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">
 </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetCompLowTime = infile.read(2)</tt>
 </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetCompLowTime = struct.unpack("=H",self.SetCompLowTime)[0]</tt>
 </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">
 </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetSyncLowTime = infile.read(2)</tt>
 </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetSyncLowTime = struct.unpack("=H",self.SetSyncLowTime)[0]</tt>
 </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">
 </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetConvertLowTime = infile.read(2)</tt>
 </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetConvertLowTime = struct.unpack("=H",self.SetConvertLowTime)[0]</tt>
 </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">
 </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetSyncHighTime = infile.read(2)</tt>
 </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetSyncHighTime = struct.unpack("=H",self.SetSyncHighTime)[0]</tt>
 </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">
 </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetEOLTime = infile.read(2)</tt>
 </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetEOLTime = struct.unpack("=H",self.SetEOLTime)[0]</tt>
 </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">
 </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetRampOffsetTime = infile.read(2)</tt>
 </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"><tt class="py-comment">#         self.SetRampOffsetTime = struct.unpack("=H",self.SetRampOffsetTime)[0]</tt>
 </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">
 </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line"><tt class="py-comment">#         self.FOVStartingValue = infile.read(2)</tt>
 </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"><tt class="py-comment">#         self.FOVStartingValue = struct.unpack("=H",self.FOVStartingValue)[0]</tt>
 </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">
 </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line"><tt class="py-comment">#         self.ColumnBinning = infile.read(2)</tt>
 </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line"><tt class="py-comment">#         self.ColumnBinning = struct.unpack("=H",self.ColumnBinning)[0]</tt>
 </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">
 </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line"><tt class="py-comment">#         self.RowBinning = infile.read(2)</tt>
 </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line"><tt class="py-comment">#         self.RowBinning = struct.unpack("=H",self.RowBinning)[0]</tt>
 </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">
 </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line"><tt class="py-comment">#         self.BorderColumns64 = infile.read(2)</tt>
 </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"><tt class="py-comment">#         self.BorderColumns64 = struct.unpack("=H",self.BorderColumns64)[0]</tt>
 </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">
 </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line"><tt class="py-comment">#         self.BorderRows64 = infile.read(2)</tt>
 </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line"><tt class="py-comment">#         self.BorderRows64 = struct.unpack("=H",self.BorderRows64)[0]</tt>
 </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">
 </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line"><tt class="py-comment">#         self.FETOffRows64 = infile.read(2)</tt>
 </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line"><tt class="py-comment">#         self.FETOffRows64 = struct.unpack("=H",self.FETOffRows64)[0]</tt>
 </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">
 </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"><tt class="py-comment">#         self.FOVStartColumn128 = infile.read(2)</tt>
 </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line"><tt class="py-comment">#         self.FOVStartColumn128 = struct.unpack("=H",self.FOVStartColumn128)[0]</tt>
 </tt>
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">
 </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"><tt class="py-comment">#         self.FOVStartRow128 = infile.read(2)</tt>
 </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"><tt class="py-comment">#         self.FOVStartRow128 = struct.unpack("=H",self.FOVStartRow128)[0]</tt>
 </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">
 </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line"><tt class="py-comment">#         self.NumberOfColumns128 = infile.read(2)</tt>
 </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line"><tt class="py-comment">#         self.NumberOfColumns128 = struct.unpack("=H",self.NumberOfColumns128)[0]</tt>
 </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">
 </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line"><tt class="py-comment">#         self.NumberOfRows128 = infile.read(2)</tt>
 </tt>
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line"><tt class="py-comment">#         self.NumberOfRows128 = struct.unpack("=H",self.NumberOfRows128)[0]</tt>
 </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">
 </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line"><tt class="py-comment">#         self.VFPAquisition     = infile.read(2000)</tt>
 </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">
 </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line"><tt class="py-comment">#         self.Comment   = infile.read(200)</tt>
 </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">
 </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">
 </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">
 </tt>
+<a name="GEimage.read"></a><div id="GEimage.read-def"><a name="L460"></a><tt class="py-lineno">460</tt> <a class="py-toggle" href="#" id="GEimage.read-toggle" onclick="return toggle('GEimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.GEimage_old.GEimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py-pa [...]
+</div><div id="GEimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="GEimage.read-expanded"><a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"><tt class="py-docstring">        Read in header into self.header and
</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"><tt class="py-docstring">            the data   into self.data
</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-38', 'header', 'link-3');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-39', 'resetvals', 'link-39');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-40', '_open', 'link-40');">_open</a></tt><tt class="py-op">(</tt><tt cla [...]
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._re [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-41', '_readheader', 'link-41');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">        <tt class="py-comment"># Compute image size</tt>
 </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-42', 'dim1', 'link-42');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">sel [...]
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-44', 'dim2', 'link-44');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">sel [...]
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-46', 'bpp', 'link-46');">bpp</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt [...]
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"GE  file"</tt><tt class="py-op">,</tt> <tt id="link-48" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-48', 'str', 'link-48');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \
 </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">                                <tt class="py-string">"is corrupt, cannot read it"</tt><tt class="py-op">)</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">
 </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt class="py-comment"># More than one image can be saved in a GE file</tt>
 </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">        <tt class="py-comment"># Will only load the first one</tt>
 </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">
 </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">
 </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-comment"># Go to the beginning of the file</tt>
 </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-49', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'HeaderSizeInBytes'</tt><tt class= [...]
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">
 </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">        <tt class="py-name">ReadBytes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-51', 'dim1', 'link-42');">dim1</a></tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="fabio.edfim [...]
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-54', 'read', 'link-2');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">ReadBytes</tt><tt class="py-op">)</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">
 </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">
 </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-55', 'data', 'link-55');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" on [...]
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt id="link-58" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-58', 'len', 'link-58');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt  [...]
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> \
 </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">              <tt class="py-string">'Size spec in GE-header does not match size of image data field'</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">
 </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-61', 'bytecode', 'link-61');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-62', 'data', 'link-55');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div></div><a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.GEimage_old.GEimage-class.html b/doc/html/fabio.GEimage_old.GEimage-class.html
new file mode 100644
index 0000000..5a98bb5
--- /dev/null
+++ b/doc/html/fabio.GEimage_old.GEimage-class.html
@@ -0,0 +1,368 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.GEimage_old.GEimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.GEimage_old-module.html">Module GEimage_old</a> ::
+        Class GEimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.GEimage_old.GEimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class GEimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.GEimage_old-pysrc.html#GEimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">GEimage</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.GEimage_old.GEimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Must be overridden in classes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage_old-pysrc.html#GEimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.GEimage_old.GEimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in header into self.header and...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.GEimage_old-pysrc.html#GEimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#write">write</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.GEimage_old-pysrc.html#GEimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Must be overridden in classes</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.GEimage_old-pysrc.html#GEimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Read in header into self.header and
+    the data   into self.data
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.HiPiCimage-module.html b/doc/html/fabio.HiPiCimage-module.html
new file mode 100644
index 0000000..f38cd2d
--- /dev/null
+++ b/doc/html/fabio.HiPiCimage-module.html
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.HiPiCimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module HiPiCimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.HiPiCimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module HiPiCimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.HiPiCimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+
+        + Jon Wright, ESRF
+
+Information about the file format from Masakatzu Kobayashi is highly appreciated
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.HiPiCimage.HiPiCimage-class.html" class="summary-name">HiPiCimage</a><br />
+      Read HiPic images e.g.
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("HiPiCimage")">logging.getLogger("HiPiCimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.HiPiCimage-pysrc.html b/doc/html/fabio.HiPiCimage-pysrc.html
new file mode 100644
index 0000000..0619089
--- /dev/null
+++ b/doc/html/fabio.HiPiCimage-pysrc.html
@@ -0,0 +1,478 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.HiPiCimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module HiPiCimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.HiPiCimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.HiPiCimage-module.html">Module fabio.HiPiCimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">         email:erik.knudsen at risoe.dk</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">        + Jon Wright, ESRF</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">Information about the file format from Masakatzu Kobayashi is highly appreciated</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"HiPiCimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-1');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-1');">fabioimage</a></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
+<a name="HiPiCimage"></a><div id="HiPiCimage-def"><a name="L20"></a><tt class="py-lineno"> 20</tt> <a class="py-toggle" href="#" id="HiPiCimage-toggle" onclick="return toggle('HiPiCimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.HiPiCimage.HiPiCimage-class.html">HiPiCimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HiPiCimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HiPiCimage-expanded"><a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">    <tt class="py-docstring">""" Read HiPic images e.g. collected with a Hamamatsu CCD camera"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"> </tt>
+<a name="HiPiCimage._readheader"></a><div id="HiPiCimage._readheader-def"><a name="L24"></a><tt class="py-lineno"> 24</tt> <a class="py-toggle" href="#" id="HiPiCimage._readheader-toggle" onclick="return toggle('HiPiCimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.HiPiCimage.HiPiCimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-par [...]
+</div><div id="HiPiCimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HiPiCimage._readheader-expanded"><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">        Read in a header from an already open file</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">Image_tag</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXD [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-3', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">Image_tag</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">Comment_len</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-4', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">Dim_1</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-5', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">Dim_2</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-6', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">Dim_1_offset</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-7', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">Dim_2_offset</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-8', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">HeaderType</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-9', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">Dump</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-10', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">50</tt><tt class="py-op">)</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">Comment</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-11', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">Comment_len</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-12', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Image_tag'</tt><tt class="py-op">]</tt> <tt class [...]
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-13', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Dim_1'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">Dim_1</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-14', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Dim_2'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">Dim_2</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-15', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Dim_1_offset'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">Dim_1_offset</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-16', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Dim_2_offset'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">Dim_2_offset</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-comment">#self.header['Comment'] = Comment</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">Image_tag</tt> <tt class="py-op">!=</tt> <tt class="py-string">'IM'</tt> <tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-comment"># This does not look like an HiPic file</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"no opening.  Corrupt header of HiPic file "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                            <tt id="link-17" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-17', 'str', 'link-17');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">Comment_split</tt> <tt class="py-op">=</tt> <tt class="py-name">Comment</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">Comment</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">'\x00'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><t [...]
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">topcomment</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Comment_split</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-name">topsplit</tt> <tt class="py-op">=</tt> <tt class="py-name">topcomment</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">topsplit</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">'='</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">                    <tt id="link-18" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-18', 'key', 'link-18');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class= [...]
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">                    <tt class="py-comment"># Users cannot type in significant whitespace</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                    <tt id="link-19" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-19', 'key', 'link-18');">key</a></tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-20', 'key', 'link-18');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt cla [...]
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Variable fabio.edfimage.edfimage.header_keys=fabio.edfimage.edfimage-class.html#header_keys"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-21', 'header_keys', 'link-21');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt  [...]
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-23', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-24" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-24', 'key', 'link-18');">key</a> [...]
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-25', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-26" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-26', 'key', 'link-18');">key</a> [...]
+</div><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="HiPiCimage.read"></a><div id="HiPiCimage.read-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="HiPiCimage.read-toggle" onclick="return toggle('HiPiCimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.HiPiCimage.HiPiCimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt [...]
+</div><div id="HiPiCimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HiPiCimage.read-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">        Read in header into self.header and</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">            the data   into self.data</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-27', 'header', 'link-12');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-28', 'resetvals', 'link-28');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-29', '_open', 'link-29');">_open</a></tt><tt class="py-op">(</tt><tt clas [...]
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._rea [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-30', '_readheader', 'link-30');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-comment"># Compute image size</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-31', 'dim1', 'link-31');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self [...]
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-33', 'dim2', 'link-33');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self [...]
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"HiPic file"</tt><tt class="py-op">,</tt> <tt id="link-35" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-35', 'str', 'link-17');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                                <tt class="py-string">"is corrupt, cannot read it"</tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt id="link-36" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-36', 'bytecode', 'link-36');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-37', 'bpp', 'link-37');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-38" class="py-name" targets="Method fabio.file_series.file_series.len()= [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-40', 'tostring', 'link-40');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-comment"># Read image data</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-41', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-42', 'dim1', 'link-31');">dim1</a></tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="fab [...]
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-comment">#now read the data into the array</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-45', 'data', 'link-45');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-46', 'bytecode', 'link-36');">bytecode</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-47', 'dim2', 'link-33');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-n [...]
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt id="link-49" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-49', 'len', 'link-38');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-50" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" o [...]
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">              <tt class="py-string">'Size spec in HiPic-header does not match size of image data field'</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-54', 'bytecode', 'link-36');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-55', 'data', 'link-45');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-comment"># Sometimes these files are not saved as 12 bit,</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-comment"># But as 16 bit after bg subtraction - which results </tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-comment"># negative values saved as 16bit. Therefore values higher </tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-comment"># 4095 is really negative values</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-56', 'data', 'link-45');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">4095</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">gt12bit</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-57', 'data', 'link-45');">data</a></tt> <tt class="py-op">></tt> <tt class="py-number">4095</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-58', 'data', 'link-45');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-59', 'data', 'link-45');">data</a></tt> <tt class="py-op">-</tt> <tt class="py-name">gt12bit</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt> <tt class="py-op">**</tt> <tt class="py-number">16</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-comment"># ensure the PIL image is reset</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div></div><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.HiPiCimage.HiPiCimage-class.html b/doc/html/fabio.HiPiCimage.HiPiCimage-class.html
new file mode 100644
index 0000000..b5ed99b
--- /dev/null
+++ b/doc/html/fabio.HiPiCimage.HiPiCimage-class.html
@@ -0,0 +1,369 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.HiPiCimage.HiPiCimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.HiPiCimage-module.html">Module HiPiCimage</a> ::
+        Class HiPiCimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.HiPiCimage.HiPiCimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HiPiCimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.HiPiCimage-pysrc.html#HiPiCimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">HiPiCimage</strong>
+</pre>
+
+<hr />
+<p>Read HiPic images e.g. collected with a Hamamatsu CCD camera</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.HiPiCimage.HiPiCimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Read in a header from an already open file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.HiPiCimage-pysrc.html#HiPiCimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.HiPiCimage.HiPiCimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in header into self.header and...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.HiPiCimage-pysrc.html#HiPiCimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#write">write</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.HiPiCimage-pysrc.html#HiPiCimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read in a header from an already open file</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.HiPiCimage-pysrc.html#HiPiCimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Read in header into self.header and
+    the data   into self.data
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.OXDimage-module.html b/doc/html/fabio.OXDimage-module.html
new file mode 100644
index 0000000..df525f3
--- /dev/null
+++ b/doc/html/fabio.OXDimage-module.html
@@ -0,0 +1,335 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.OXDimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module OXDimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.OXDimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module OXDimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.OXDimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Reads Oxford Diffraction Sapphire 3 images
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+
+        + Jon Wright, ESRF
+        + Gaël Goret, ESRF
+        + Jérôme Kieffer, ESRF
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.OXDimage.OXDimage-class.html" class="summary-name">OXDimage</a><br />
+      Oxford Diffraction Sapphire 3 images reader/writer class
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.OXDimage.Section-class.html" class="summary-name">Section</a><br />
+      Small helper class for writing binary headers
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.OXDimage-module.html#__doc__" class="summary-name">__doc__</a> = <code title=""""
+Reads Oxford Diffraction Sapphire 3 images
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dim\
+ensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+...">"<code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("OXDimage")">logging.getLogger("OXDimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="rad2deg"></a><span class="summary-name">rad2deg</span> = <code title="<ufunc 'rad2deg'>"><ufunc 'rad2deg'></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="deg2rad"></a><span class="summary-name">deg2rad</span> = <code title="<ufunc 'deg2rad'>"><ufunc 'deg2rad'></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.OXDimage-module.html#DETECTOR_TYPES" class="summary-name">DETECTOR_TYPES</a> = <code title="{0: 'Sapphire/KM4CCD (1x1: 0.06mm, 2x2: 0.12mm)',
+ 1: 'Sapphire2-Kodak (1x1: 0.06mm, 2x2: 0.12mm)',
+ 2: 'Sapphire3-Kodak (1x1: 0.03mm, 2x2: 0.06mm, 4x4: 0.12mm)',
+ 3: 'Onyx-Kodak (1x1: 0.06mm, 2x2: 0.12mm, 4x4: 0.24mm)',
+ 4: 'Unknown Oxford diffraction detector'}"><code class="variable-group">{</code>0<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Sapphire/KM4CCD (1x1: 0.06mm, 2x2: 0.12m</code><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.OXDimage-module.html#DEFAULT_HEADERS" class="summary-name">DEFAULT_HEADERS</a> = <code title="{'ASCII Section size in Byte': 256,
+ 'Compression': 'TY1',
+ 'General Section size in Byte': 512,
+ 'Header Size In Bytes': 5120,
+ 'Header Version': 'OD SAPPHIRE  3.0',
+ 'History Section in Byte': 2048,
+ 'KM4 Section size in Byte': 1024,
+ 'NSUPPLEMENT': 0,
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">ASCII Section size in Byte</code><code class="variable-quote">'</code><code class="variable-op">: </code>256<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">Compres</code><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__doc__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">__doc__</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+"""
+Reads Oxford Diffraction Sapphire 3 images
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dim<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+ensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="DETECTOR_TYPES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">DETECTOR_TYPES</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>0<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Sapphire/KM4CCD (1x1: 0.06mm, 2x2: 0.12mm)</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Sapphire2-Kodak (1x1: 0.06mm, 2x2: 0.12mm)</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Sapphire3-Kodak (1x1: 0.03mm, 2x2: 0.06mm, 4x4: 0.12mm)</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Onyx-Kodak (1x1: 0.06mm, 2x2: 0.12mm, 4x4: 0.24mm)</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown Oxford diffraction detector</code><code class="variable-quote">'</code><code class="variable-group">}</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="DEFAULT_HEADERS"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">DEFAULT_HEADERS</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">ASCII Section size in Byte</code><code class="variable-quote">'</code><code class="variable-op">: </code>256<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Compression</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">TY1</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">General Section size in Byte</code><code class="variable-quote">'</code><code class="variable-op">: </code>512<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Header Size In Bytes</code><code class="variable-quote">'</code><code class="variable-op">: </code>5120<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Header Version</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">OD SAPPHIRE  3.0</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">History Section in Byte</code><code class="variable-quote">'</code><code class="variable-op">: </code>2048<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">KM4 Section size in Byte</code><code class="variable-quote">'</code><code class="variable-op">: </code>1024<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">NSUPPLEMENT</code><code class="variable-quote">'</code><code class="variable-op">: </code>0<code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.OXDimage-pysrc.html b/doc/html/fabio.OXDimage-pysrc.html
new file mode 100644
index 0000000..b95fb97
--- /dev/null
+++ b/doc/html/fabio.OXDimage-pysrc.html
@@ -0,0 +1,1026 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.OXDimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module OXDimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.OXDimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.OXDimage-module.html">Module fabio.OXDimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt>
 </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#coding: utf8</tt>
 </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line">
 </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">__future__</tt> <tt class="py-keyword">import</tt> <tt class="py-name">with_statement</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.OXDimage.__doc__=fabio.OXDimage-module.html#__doc__,Variable fabio.binaryimage.__doc__=fabio.binaryimage-module.html#__doc__,Variable fabio.mar345image.__doc__=fabio.mar345image-module.html#__doc__"><a title="fabio.OXDimage.__doc__
+fabio.binaryimage.__doc__
+fabio.mar345image.__doc__" class="py-name" href="#" onclick="return doclink('link-0', '__doc__', 'link-0');">__doc__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"""
</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-string">Reads Oxford Diffraction Sapphire 3 images
</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-string">
</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-string">Authors: Henning O. Sorensen & Erik Knudsen
</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-string">         Center for Fundamental Research: Metal Structures in Four Dimensions
</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-string">         Risoe National Laboratory
</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-string">         Frederiksborgvej 399
</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-string">         DK-4000 Roskilde
</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-string">         email:erik.knudsen at risoe.dk
</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-string">
</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-string">        + Jon Wright, ESRF
</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-string">        + Gaël Goret, ESRF
</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-string">        + Jérôme Kieffer, ESRF
</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-string">
</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">
 </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">struct</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-1', 'logger', 'link-1');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"OXDimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-2');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-3', 'fabioimage', 'link-2');">fabioimage</a></tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module fabio.compression=fabio.compression-module.html"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-4', 'compression', 'link-4');">compression</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Function fabio.compression.decTY1()=fabio.compression-module.html#decTY1"><a tit [...]
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">
 </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt class="py-name">numpy</tt> <tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Variable fabio.OXDimage.rad2deg=fabio.OXDimage-module.html#rad2deg"><a title="fabio.OXDimage.rad2deg" class="py-name" href="#" onclick="return doclink('link-7', 'rad2deg', 'link-7');">rad2deg</a></tt><tt class="py-op">,</tt> <tt id="link-8" class="py-name" targets="Variable fab [...]
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> <tt class="py-comment">#naive implementation for very old numpy (v1.0.1 on MacOSX from Risoe)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt id="link-9" class="py-name"><a title="fabio.OXDimage.rad2deg" class="py-name" href="#" onclick="return doclink('link-9', 'rad2deg', 'link-7');">rad2deg</a></tt> <tt class="py-op">=</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> <tt class="py-number">180.0</tt> <tt class="py-op">*</tt> <tt class="py-name">x</tt> <tt class="py-op">/</tt> <tt class="py-name">numpy</tt><t [...]
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt id="link-10" class="py-name"><a title="fabio.OXDimage.deg2rad" class="py-name" href="#" onclick="return doclink('link-10', 'deg2rad', 'link-8');">deg2rad</a></tt> <tt class="py-op">=</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> <tt class="py-name">x</tt> <tt class="py-op">*</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">pi</tt> <tt cl [...]
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">
 </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable fabio.OXDimage.DETECTOR_TYPES=fabio.OXDimage-module.html#DETECTOR_TYPES"><a title="fabio.OXDimage.DETECTOR_TYPES" class="py-name" href="#" onclick="return doclink('link-11', 'DETECTOR_TYPES', 'link-11');">DETECTOR_TYPES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> <tt class="py-string">'Sapphire/KM4CCD ( [...]
 </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-number">1</tt><tt class="py-op">:</tt> <tt class="py-string">'Sapphire2-Kodak (1x1: 0.06mm, 2x2: 0.12mm)'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-number">2</tt><tt class="py-op">:</tt> <tt class="py-string">'Sapphire3-Kodak (1x1: 0.03mm, 2x2: 0.06mm, 4x4: 0.12mm)'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-number">3</tt><tt class="py-op">:</tt> <tt class="py-string">'Onyx-Kodak (1x1: 0.06mm, 2x2: 0.12mm, 4x4: 0.24mm)'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-number">4</tt><tt class="py-op">:</tt> <tt class="py-string">'Unknown Oxford diffraction detector'</tt><tt class="py-op">}</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">
 </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable fabio.OXDimage.DEFAULT_HEADERS=fabio.OXDimage-module.html#DEFAULT_HEADERS"><a title="fabio.OXDimage.DEFAULT_HEADERS" class="py-name" href="#" onclick="return doclink('link-12', 'DEFAULT_HEADERS', 'link-12');">DEFAULT_HEADERS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'Header Version'</tt><tt class="py-op">:</tt>  <tt class="py-strin [...]
 </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">                   <tt class="py-string">'Compression'</tt><tt class="py-op">:</tt> <tt class="py-string">"TY1"</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">                   <tt class="py-string">'Header Size In Bytes'</tt><tt class="py-op">:</tt> <tt class="py-number">5120</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">                   <tt class="py-string">"ASCII Section size in Byte"</tt><tt class="py-op">:</tt> <tt class="py-number">256</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">                   <tt class="py-string">"General Section size in Byte"</tt><tt class="py-op">:</tt> <tt class="py-number">512</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">                   <tt class="py-string">"Special Section size in Byte"</tt><tt class="py-op">:</tt> <tt class="py-number">768</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">                   <tt class="py-string">"KM4 Section size in Byte"</tt><tt class="py-op">:</tt> <tt class="py-number">1024</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">                   <tt class="py-string">"Statistic Section in Byte"</tt><tt class="py-op">:</tt> <tt class="py-number">512</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                   <tt class="py-string">"History Section in Byte"</tt><tt class="py-op">:</tt> <tt class="py-number">2048</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                   <tt class="py-string">'NSUPPLEMENT'</tt><tt class="py-op">:</tt><tt class="py-number">0</tt>
 </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">                   <tt class="py-op">}</tt> </tt>
+<a name="OXDimage"></a><div id="OXDimage-def"><a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">
 </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="OXDimage-toggle" onclick="return toggle('OXDimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.OXDimage.OXDimage-class.html">OXDimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="OXDimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="OXDimage-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">    Oxford Diffraction Sapphire 3 images reader/writer class
</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="OXDimage._readheader"></a><div id="OXDimage._readheader-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="OXDimage._readheader-toggle" onclick="return toggle('OXDimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.OXDimage.OXDimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">infile</ [...]
+</div><div id="OXDimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OXDimage._readheader-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">
 </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">
 </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-comment"># Ascii header part 256 byes long</tt>
 </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-13', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Header Version'</tt><tt class="py-op">]</tt> <tt  [...]
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-14', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Compression'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt><tt class="py-op">[</tt><tt class="py-number [...]
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-15', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NX'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">block</tt>< [...]
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-16', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NY'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">block</tt>< [...]
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-17', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'OI'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">block</tt>< [...]
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-18', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'OL'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">block</tt>< [...]
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-19', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Header Size In Bytes'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py [...]
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-20', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'General Section size in Byte'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt c [...]
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-21', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Special Section size in Byte'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt c [...]
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-22', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'KM4 Section size in Byte'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class [...]
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-23', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Statistic Section in Byte'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt clas [...]
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-24', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'History Section in Byte'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class= [...]
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-25', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NSUPPLEMENT'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">bl [...]
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-26', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Time'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt><tt class="py-op">[</tt><tt class="py-number">5</tt [...]
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-27', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"ASCII Section size in Byte"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id [...]
 </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                                                <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-29', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'General Section size in Byte'</tt><tt class="py-op">]</tt>\
 </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                                                <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-30', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Special Section size in Byte'</tt><tt class="py-op">]</tt> \
 </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                                                <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-31', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'KM4 Section size in Byte'</tt><tt class="py-op">]</tt>\
 </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                                                <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-32', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Statistic Section in Byte'</tt><tt class="py-op">]</tt>\
 </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">                                                <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-33', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'History Section in Byte'</tt><tt class="py-op">]</tt>\
 </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-comment"># Skip to general section (NG) 512 byes long <<<<<<"</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-34', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"ASCII Section size in Byte"</tt>< [...]
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDima [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-35', 'read', 'link-35');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-36', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'General Section size in Byte'</tt><tt class="py-op">]</tt><tt class="py [...]
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-37', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Binning in x'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-38', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Binning in y'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-39', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Detector size x'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-na [...]
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-40', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Detector size y'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-na [...]
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-41', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Pixels in x'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name"> [...]
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-42', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Pixels in y'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name"> [...]
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-43', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'No of pixels'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">
 </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-comment"># Speciel section (NS) 768 bytes long</tt>
 </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-44', 'read', 'link-35');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-45', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Special Section size in Byte'</tt><tt class="py-op">]</tt><tt class="py [...]
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-46', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Gain'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstr [...]
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-47', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Overflows flag'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-nam [...]
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-48', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Overflow after remeasure flag'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt>< [...]
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-49', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Overflow threshold'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="p [...]
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-50', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Exposure time in sec'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class= [...]
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-51', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Overflow time in sec'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class= [...]
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-52', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Monitor counts of raw image 1'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt>< [...]
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-53', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Monitor counts of raw image 2'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt>< [...]
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-54', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Monitor counts of overflow raw image 1'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op [...]
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-55', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Monitor counts of overflow raw image 2'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op [...]
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-56', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Unwarping'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">f [...]
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-57', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Detector type'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="fabio.OXDimage.DETECTOR_TYPE [...]
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-59', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Real pixel size x (mm)'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt clas [...]
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-60', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Real pixel size y (mm)'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt clas [...]
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">
 </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-comment"># KM4 goniometer section (NK) 1024 bytes long</tt>
 </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-61', 'read', 'link-35');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-62', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'KM4 Section size in Byte'</tt><tt class="py-op">]</tt><tt class="py-op" [...]
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-comment"># Spatial correction file</tt>
 </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-63', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Spatial correction file'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt><tt class="py-op">[</tt><tt cla [...]
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-64', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Spatial correction file date'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt><tt class="py-op">[</tt><t [...]
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-comment"># Angles are in steps due to stepper motors - conversion factor RAD</tt>
 </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-comment"># angle[0] = omega, angle[1] = theta, angle[2] = kappa, angle[3] = phi,   </tt>
 </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">start_angles_step</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">[</tt><tt class="py-number">284</tt><tt class="py-op">:</tt><tt class="py-number">304</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-o [...]
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">end_angles_step</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">[</tt><tt class="py-number">324</tt><tt class="py-op">:</tt><tt class="py-number">344</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op" [...]
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">step2rad</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">[</tt><tt class="py-number">368</tt><tt class="py-op">:</tt><tt class="py-number">408</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt> [...]
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">step_angles_deg</tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name"><a title="fabio.OXDimage.rad2deg" class="py-name" href="#" onclick="return doclink('link-65', 'rad2deg', 'link-7');">rad2deg</a></tt><tt class="py-op">(</tt><tt class="py-name">step2rad</tt><tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-comment"># calc angles</tt>
 </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">start_angles_deg</tt> <tt class="py-op">=</tt> <tt class="py-name">start_angles_step</tt> <tt class="py-op">*</tt> <tt class="py-name">step_angles_deg</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">end_angles_deg</tt> <tt class="py-op">=</tt> <tt class="py-name">end_angles_step</tt> <tt class="py-op">*</tt> <tt class="py-name">step_angles_deg</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-66', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Omega start in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">start_angles_deg</tt><tt class="py-op">[</tt>< [...]
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-67', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Theta start in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">start_angles_deg</tt><tt class="py-op">[</tt>< [...]
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-68', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Kappa start in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">start_angles_deg</tt><tt class="py-op">[</tt>< [...]
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-69', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Phi start in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">start_angles_deg</tt><tt class="py-op">[</tt><tt [...]
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-70', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Omega end in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">end_angles_deg</tt><tt class="py-op">[</tt><tt c [...]
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-71', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Theta end in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">end_angles_deg</tt><tt class="py-op">[</tt><tt c [...]
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-72', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Kappa end in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">end_angles_deg</tt><tt class="py-op">[</tt><tt c [...]
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-73', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Phi end in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">end_angles_deg</tt><tt class="py-op">[</tt><tt cla [...]
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-74', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Omega step in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">step_angles_deg</tt><tt class="py-op">[</tt><tt [...]
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-75', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Theta step in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">step_angles_deg</tt><tt class="py-op">[</tt><tt [...]
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-76', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Kappa step in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">step_angles_deg</tt><tt class="py-op">[</tt><tt [...]
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-77', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Phi step in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">step_angles_deg</tt><tt class="py-op">[</tt><tt c [...]
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">
 </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">
 </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">zero_correction_soft_step</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">[</tt><tt class="py-number">512</tt><tt class="py-op">:</tt><tt class="py-number">532</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt cla [...]
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">zero_correction_soft_deg</tt> <tt class="py-op">=</tt> <tt class="py-name">zero_correction_soft_step</tt> <tt class="py-op">*</tt> <tt class="py-name">step_angles_deg</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-78', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Omega zero corr. in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">zero_correction_soft_deg</tt><tt class="p [...]
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-79', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Theta zero corr. in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">zero_correction_soft_deg</tt><tt class="p [...]
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-80', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Kappa zero corr. in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">zero_correction_soft_deg</tt><tt class="p [...]
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-81', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Phi zero corr. in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">zero_correction_soft_deg</tt><tt class="py- [...]
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-comment"># Beam rotation about e2,e3</tt>
 </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-82', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Beam rot in deg (e2)'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class= [...]
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-83', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Beam rot in deg (e3)'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class= [...]
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-comment"># Wavelenghts alpha1, alpha2, beta</tt>
 </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-84', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Wavelength alpha1'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py [...]
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-85', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Wavelength alpha2'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py [...]
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-86', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Wavelength alpha'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py- [...]
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-87', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Wavelength beta'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-n [...]
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">
 </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-comment"># Detector tilts around e1,e2,e3 in deg</tt>
 </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-88', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Detector tilt e1 in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt cla [...]
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-89', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Detector tilt e2 in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt cla [...]
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-90', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Detector tilt e3 in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt cla [...]
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">
 </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">
 </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-comment"># Beam center</tt>
 </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-91', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Beam center x'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-nam [...]
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-92', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Beam center y'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-nam [...]
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-comment"># Angle (alpha) between kappa rotation axis and e3 (ideally 50 deg)</tt>
 </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-93', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Alpha angle in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="p [...]
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-comment"># Angle (beta) between phi rotation axis and e3 (ideally 0 deg)</tt>
 </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-94', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Beta angle in deg'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py [...]
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">
 </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-comment"># Detector distance</tt>
 </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-95', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Distance in mm'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-na [...]
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-comment"># Statistics section (NS) 512 bytes long</tt>
 </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-96', 'read', 'link-35');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-97', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Statistic Section in Byte'</tt><tt class="py-op">]</tt><tt class="py-op [...]
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-98', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Stat: Min '</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name"> [...]
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-99', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Stat: Max '</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name"> [...]
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-100', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Stat: Average '</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py- [...]
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-101', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Stat: Stddev '</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-n [...]
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-102', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Stat: Skewness '</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py [...]
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">
 </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-comment"># History section (NH) 2048 bytes long</tt>
 </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-103', 'read', 'link-35');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-104', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'History Section in Byte'</tt><tt class="py-op">]</tt><tt class="py-o [...]
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-105', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Flood field image'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt><tt class="py-op">[</tt><tt class=" [...]
+</div><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">
 </tt>
+<a name="OXDimage.read"></a><div id="OXDimage.read-def"><a name="L184"></a><tt class="py-lineno">184</tt> <a class="py-toggle" href="#" id="OXDimage.read-toggle" onclick="return toggle('OXDimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.OXDimage.OXDimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py- [...]
+</div><div id="OXDimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OXDimage.read-expanded"><a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">        Read in header into self.header and
</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring">            the data   into self.data
</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-106', 'header', 'link-13');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-107', 'resetvals', 'link-107');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-108', '_open', 'link-108');">_open</a></tt><tt class="py-op">(</tt><tt  [...]
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._r [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-109', '_readheader', 'link-109');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">
 </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-110', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Header Size In Bytes'</tt><tt  [...]
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">
 </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-comment"># Compute image size</tt>
 </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-111', 'dim1', 'link-111');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name"> [...]
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-113', 'dim2', 'link-113');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name"> [...]
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Oxford  file"</tt><tt class="py-op">,</tt> <tt id="link-115" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-115', 'str', 'link-115');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \
 </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                                <tt class="py-string">"is corrupt, cannot read it"</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-comment">#</tt>
 </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-116', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Compression'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'TY1'</tt><tt cla [...]
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-comment">#Compressed with the KM4CCD compression</tt>
 </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-name">raw8</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-117', 'read', 'link-35');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-118', 'dim1', 'link-111');">dim1</a></tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a titl [...]
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">raw16</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-name">raw32</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-120', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'OI'</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py- [...]
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                <tt class="py-name">raw16</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-121', 'read', 'link-35');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-122', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'OI'</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class= [...]
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-123', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'OL'</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py- [...]
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                <tt class="py-name">raw32</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-124', 'read', 'link-35');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-125', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'OL'</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class= [...]
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-comment">#DEBUG stuff ... </tt>
 </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">raw8</tt> <tt class="py-op">=</tt> <tt class="py-name">raw8</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">raw16</tt> <tt class="py-op">=</tt> <tt class="py-name">raw16</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">raw32</tt> <tt class="py-op">=</tt> <tt class="py-name">raw32</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-comment">#END DEBUG</tt>
 </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt id="link-126" class="py-name"><a title="fabio.compression.decTY1" class="py-name" href="#" onclick="return doclink('link-126', 'decTY1', 'link-5');">decTY1</a></tt><tt class="py-op">(</tt><tt class="py-name">raw8</tt><tt class="py-op">,</tt> <tt class="py-name">raw16</tt><tt class="py-op">,</tt> <tt class="py-name">raw32</tt><tt class="py-op">)</t [...]
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt id="link-127" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-127', 'bytecode', 'link-127');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">
 </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt id="link-128" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-128', 'bytecode', 'link-127');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-129', 'bpp', 'link-129');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-130" class="py-name" targets="Method fabio.file_series.file_seri [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-132', 'tostring', 'link-132');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-name">ReadBytes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-133', 'dim1', 'link-111');">dim1</a></tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="fab [...]
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-136', 'read', 'link-35');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">ReadBytes</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-137" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-137', 'bytecode', 'link-127');">bytecode</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">
 </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt id="link-138" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-138', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'OVER_SHORT2: %s'</tt><tt class="py-op">,</tt> <tt class="py-name">block</tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt id="link-139" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-139', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">block</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt>< [...]
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt id="link-140" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-140', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"BYTECODE: %s"</tt><tt class="py-op">,</tt> <tt id="link-141" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-141', 'bytecode', 'link-127');">bytecode</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-142', 'data', 'link-142');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-143', 'dim2', 'link-113' [...]
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-145', 'bytecode', 'link-127');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-146', 'data', 'link-142');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">
 </tt>
+<a name="OXDimage._writeheader"></a><div id="OXDimage._writeheader-def"><a name="L236"></a><tt class="py-lineno">236</tt> <a class="py-toggle" href="#" id="OXDimage._writeheader-toggle" onclick="return toggle('OXDimage._writeheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.OXDimage.OXDimage-class.html#_writeheader">_writeheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt [...]
+</div><div id="OXDimage._writeheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OXDimage._writeheader-expanded"><a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring">        @return a string containing the header for Oxford images
</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-name">linesep</tt> <tt class="py-op">=</tt> <tt class="py-string">"\r\n"</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-147" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-147', 'key', 'link-147');">key</a></tt> <tt class="py-keyword">in</tt> <tt id="link-148" class="py-name"><a title="fabio.OXDimage.DEFAULT_HEADERS" class="py-name" href="#" onclick="return [...]
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-149" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-149', 'key', 'link-147');">key</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name" targets="Variable fabio.edfimage.edfimage.header_keys=fabio.edfimag [...]
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-151', 'header_keys', 'link-150');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-152" class="py-name"><a title="fabio.fabioutils.key" class="py-name"  [...]
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-153', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt id="link-154" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-154', 'key', 'link-147');">key</ [...]
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">
 </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"NX"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-157', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt cl [...]
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-159', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NX'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="lin [...]
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-161', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NY'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="lin [...]
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-name">ascii_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-163', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Header Version'</tt><tt class="py-op">]</tt><tt cl [...]
 </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                       <tt class="py-string">"COMPRESSION=%s (%5.1f)"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-164', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"Compression"</tt><tt c [...]
 </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                       <tt class="py-string">"NX=%4i NY=%4i OI=%7i OL=%7i "</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-166', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"NX"</tt><tt clas [...]
 </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                       <tt class="py-string">"NHEADER=%7i NG=%7i NS=%7i NK=%7i NS=%7i NH=%7i"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-170', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string" [...]
 </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                                                                                 <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-171', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'General Section size in Byte'</tt><tt class="py-op">]</tt><tt cla [...]
 </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                                                                                 <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-172', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Special Section size in Byte'</tt><tt class="py-op">]</tt><tt cla [...]
 </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                                                                                 <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-173', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'KM4 Section size in Byte'</tt><tt class="py-op">]</tt><tt class=" [...]
 </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                                                                                 <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-174', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Statistic Section in Byte'</tt><tt class="py-op">]</tt><tt class= [...]
 </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                                                                                 <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-175', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'History Section in Byte'</tt><tt class="py-op">]</tt><tt class="p [...]
 </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">                        <tt class="py-string">"NSUPPLEMENT=%7i"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-176', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"NSUPPLEMENT"</tt><tt class=" [...]
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"Time"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-177', 'header', 'link-13');">header</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">            <tt class="py-name">ascii_headers</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"TIME=%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-178', 'header', 'link-13');">header</a></tt><t [...]
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">
 </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">ascii_headers</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"TIME=%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">ctime</tt><tt class="py-op">)</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">
 </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt id="link-179" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-179', 'header', 'link-13');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">linesep</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">ascii_headers</tt><tt class="py-op">)</tt><tt class="py-op" [...]
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">
 </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">
 </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">NG</tt> <tt class="py-op">=</tt> <tt id="link-180" class="py-name" targets="Class fabio.OXDimage.Section=fabio.OXDimage.Section-class.html"><a title="fabio.OXDimage.Section" class="py-name" href="#" onclick="return doclink('link-180', 'Section', 'link-180');">Section</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a tit [...]
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-name">NG</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name" targets="Method fabio.OXDimage.Section.setData()=fabio.OXDimage.Section-class.html#setData,Method fabio.edfimage.Frame.setData()=fabio.edfimage.Frame-class.html#setData,Method fabio.edfimage.edfimage.setData()=fabio.edfimage.edfimage-class.html#setData"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-183', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Binning in x'</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-name">NG</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-184', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Binning in y'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-name">NG</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-185', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Detector size x'</tt><tt class="py-op">,</tt> <tt class="py-number">22</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-name">NG</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-186', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Detector size y'</tt><tt class="py-op">,</tt> <tt class="py-number">24</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-name">NG</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-187', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Pixels in x'</tt><tt class="py-op">,</tt> <tt class="py-number">26</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-name">NG</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-188', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Pixels in y'</tt><tt class="py-op">,</tt> <tt class="py-number">28</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">        <tt class="py-name">NG</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-189', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'No of pixels'</tt><tt class="py-op">,</tt> <tt class="py-number">36</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt><tt class="py-op">)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt id="link-190" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-190', 'header', 'link-13');">header</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">NG</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name" targets="Method fabio.OXDimage.Section.__repr__()=fabio.OXDimage.Section-class.html#__repr__"><a title="fabio.OXDimage.Section [...]
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">
 </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-name">NS</tt> <tt class="py-op">=</tt> <tt id="link-192" class="py-name"><a title="fabio.OXDimage.Section" class="py-name" href="#" onclick="return doclink('link-192', 'Section', 'link-180');">Section</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="ret [...]
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-195', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Gain'</tt><tt class="py-op">,</tt> <tt class="py-number">56</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-196', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Overflows flag'</tt><tt class="py-op">,</tt> <tt class="py-number">464</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int16</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-197', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Overflow after remeasure flag'</tt><tt class="py-op">,</tt> <tt class="py-number">466</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int16</tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-198', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Overflow threshold'</tt><tt class="py-op">,</tt> <tt class="py-number">472</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-199', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Exposure time in sec'</tt><tt class="py-op">,</tt> <tt class="py-number">480</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float</tt><tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-200', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Overflow time in sec'</tt><tt class="py-op">,</tt> <tt class="py-number">488</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-201', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Monitor counts of raw image 1'</tt><tt class="py-op">,</tt> <tt class="py-number">528</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-202', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Monitor counts of raw image 2'</tt><tt class="py-op">,</tt> <tt class="py-number">532</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-203', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Monitor counts of overflow raw image 1'</tt><tt class="py-op">,</tt> <tt class="py-number">536</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-204', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Monitor counts of overflow raw image 2'</tt><tt class="py-op">,</tt> <tt class="py-number">540</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-205', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Unwarping'</tt><tt class="py-op">,</tt> <tt class="py-number">544</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'Detector type'</tt> <tt class="py-keyword">in</tt>  <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-206', 'header', 'link-13');">header</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-207" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-207', 'key', 'link-147');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt>  <tt id="link-208" class="py-name"><a title="fabio.OXDimage.DETECTOR_TYPES" class="py-name" href="#" onclick="return doclink('link [...]
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-209', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Detector type'</tt><tt class="py-op">]</tt [...]
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                    <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-210', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">548</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">default</tt><tt class="py-op">=</tt><tt id="link-211" class="py-name"><a title="fabio.fabioutil [...]
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-212', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Real pixel size x (mm)'</tt><tt class="py-op">,</tt> <tt class="py-number">568</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float</tt><tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">        <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-213', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Real pixel size y (mm)'</tt><tt class="py-op">,</tt> <tt class="py-number">576</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float</tt><tt class="py-op">)</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt id="link-214" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-214', 'header', 'link-13');">header</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">NS</tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="fabio.OXDimage.Section.__repr__" class="py-name" href="#" onclick="return doclink('link-215', '__repr__', 'link-191' [...]
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">
 </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt class="py-name">KM</tt> <tt class="py-op">=</tt> <tt id="link-216" class="py-name"><a title="fabio.OXDimage.Section" class="py-name" href="#" onclick="return doclink('link-216', 'Section', 'link-180');">Section</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="ret [...]
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-219', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Spatial correction file date'</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"|S26"</tt><tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-220', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Spatial correction file'</tt><tt class="py-op">,</tt> <tt class="py-number">26</tt><tt class="py-op">,</tt> <tt class="py-string">"|S246"</tt><tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt class="py-comment"># Angles are in steps due to stepper motors - conversion factor RAD</tt>
 </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-comment"># angle[0] = omega, angle[1] = theta, angle[2] = kappa, angle[3] = phi,</tt>
 </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-221', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Omega step in deg'</tt><tt class="py-op">,</tt> <tt cla [...]
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">            <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-222', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">368</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">,</tt> <tt id="link-223" class="py-name"><a title="fabio.OXDimage.deg2rad" class="py-name" href="#" onclick="return docl [...]
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-225', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Omega start in deg'</tt><tt class="py-op">,</tt> <t [...]
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-226', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">284</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="fabio.edfimage.edf [...]
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-229', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Omega end in deg'</tt><tt class="py-op">,</tt> <tt  [...]
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-230', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">324</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="fabio.edfimage.edf [...]
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-233', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Omega zero corr. in deg'</tt><tt class="py-op">,</t [...]
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-234', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">512</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="fabio.edfimage.edf [...]
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">
 </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-237', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Theta step in deg'</tt><tt class="py-op">,</tt> <tt cla [...]
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">            <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-238', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">368</tt> <tt class="py-op">+</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">,</tt> <tt id="link-239" class="py-name"><a title="fabio.OXDimage. [...]
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-241', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Theta start in deg'</tt><tt class="py-op">,</tt> <t [...]
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-242', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">284</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id=" [...]
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-245', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Theta end in deg'</tt><tt class="py-op">,</tt> <tt  [...]
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-246" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-246', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">324</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id=" [...]
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-249', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Theta zero corr. in deg'</tt><tt class="py-op">,</t [...]
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-250', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">512</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id=" [...]
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">
 </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-253" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-253', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Kappa step in deg'</tt><tt class="py-op">,</tt> <tt cla [...]
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">            <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-254', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">368</tt> <tt class="py-op">+</tt> <tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">,</tt> <tt id="link-255" class="py-name"><a title="fabio.OXDimage [...]
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-257', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Kappa start in deg'</tt><tt class="py-op">,</tt> <t [...]
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-258', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">284</tt> <tt class="py-op">+</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id=" [...]
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-261', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Kappa end in deg'</tt><tt class="py-op">,</tt> <tt  [...]
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-262', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">324</tt> <tt class="py-op">+</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id=" [...]
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-265', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Kappa zero corr. in deg'</tt><tt class="py-op">,</t [...]
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-266" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-266', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">512</tt> <tt class="py-op">+</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id=" [...]
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">
 </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-269" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-269', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Phi step in deg'</tt><tt class="py-op">,</tt> <tt class [...]
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">            <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-270" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-270', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">368</tt> <tt class="py-op">+</tt> <tt class="py-number">24</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">,</tt> <tt id="link-271" class="py-name"><a title="fabio.OXDimage [...]
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-273', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Phi start in deg'</tt><tt class="py-op">,</tt> <tt  [...]
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-274', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">284</tt> <tt class="py-op">+</tt> <tt class="py-number">12</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id= [...]
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-277', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Phi end in deg'</tt><tt class="py-op">,</tt> <tt cl [...]
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-278', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">324</tt> <tt class="py-op">+</tt> <tt class="py-number">12</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id= [...]
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-281', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Phi zero corr. in deg'</tt><tt class="py-op">,</tt> [...]
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">                <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-282" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-282', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">512</tt> <tt class="py-op">+</tt> <tt class="py-number">12</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id= [...]
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">
 </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-comment"># Beam rotation about e2,e3</tt>
 </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-285" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-285', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Beam rot in deg (e2)'</tt><tt class="py-op">,</tt> <tt class="py-number">552</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-286', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Beam rot in deg (e3)'</tt><tt class="py-op">,</tt> <tt class="py-number">560</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">        <tt class="py-comment"># Wavelenghts alpha1, alpha2, beta</tt>
 </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-287', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Wavelength alpha1'</tt><tt class="py-op">,</tt> <tt class="py-number">568</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-288', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Wavelength alpha2'</tt><tt class="py-op">,</tt> <tt class="py-number">576</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-289" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-289', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Wavelength alpha'</tt><tt class="py-op">,</tt> <tt class="py-number">584</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-290', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Wavelength beta'</tt><tt class="py-op">,</tt> <tt class="py-number">592</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">
 </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt class="py-comment"># Detector tilts around e1,e2,e3 in deg</tt>
 </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-291" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-291', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Detector tilt e1 in deg'</tt><tt class="py-op">,</tt> <tt class="py-number">640</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-292', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Detector tilt e2 in deg'</tt><tt class="py-op">,</tt> <tt class="py-number">648</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-293" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-293', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Detector tilt e3 in deg'</tt><tt class="py-op">,</tt> <tt class="py-number">656</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">
 </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <tt class="py-comment"># Beam center</tt>
 </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-294', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Beam center x'</tt><tt class="py-op">,</tt> <tt class="py-number">664</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-295" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-295', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Beam center y'</tt><tt class="py-op">,</tt> <tt class="py-number">672</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">        <tt class="py-comment"># Angle (alpha) between kappa rotation axis and e3 (ideally 50 deg)</tt>
 </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-296" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-296', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Alpha angle in deg'</tt><tt class="py-op">,</tt> <tt class="py-number">672</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">        <tt class="py-comment"># Angle (beta) between phi rotation axis and e3 (ideally 0 deg)</tt>
 </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-297', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Beta angle in deg'</tt><tt class="py-op">,</tt> <tt class="py-number">672</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">
 </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">        <tt class="py-comment"># Detector distance</tt>
 </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">        <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-298', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Distance in mm'</tt><tt class="py-op">,</tt> <tt class="py-number">712</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">        <tt id="link-299" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-299', 'header', 'link-13');">header</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">KM</tt><tt class="py-op">.</tt><tt id="link-300" class="py-name"><a title="fabio.OXDimage.Section.__repr__" class="py-name" href="#" onclick="return doclink('link-300', '__repr__', 'link-191' [...]
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">
 </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">        <tt class="py-name">SS</tt> <tt class="py-op">=</tt> <tt id="link-301" class="py-name"><a title="fabio.OXDimage.Section" class="py-name" href="#" onclick="return doclink('link-301', 'Section', 'link-180');">Section</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="ret [...]
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">        <tt class="py-name">SS</tt><tt class="py-op">.</tt><tt id="link-304" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-304', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Stat: Min '</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">)</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">        <tt class="py-name">SS</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-305', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Stat: Max '</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">        <tt class="py-name">SS</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-306', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Stat: Average '</tt><tt class="py-op">,</tt> <tt class="py-number">24</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-307', 'header', 'link-13');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'Stat: Stddev '</tt><tt class="py-op">,</tt> <tt class=" [...]
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">            <tt class="py-name">SS</tt><tt class="py-op">.</tt><tt id="link-308" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-308', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">32</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-309" class="py-name"><a title="fabio.edfimage.ed [...]
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-name">SS</tt><tt class="py-op">.</tt><tt id="link-310" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-310', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Stat: Skewness '</tt><tt class="py-op">,</tt> <tt class="py-number">40</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt id="link-311" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-311', 'header', 'link-13');">header</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">SS</tt><tt class="py-op">.</tt><tt id="link-312" class="py-name"><a title="fabio.OXDimage.Section.__repr__" class="py-name" href="#" onclick="return doclink('link-312', '__repr__', 'link-191' [...]
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">
 </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-name">HS</tt> <tt class="py-op">=</tt> <tt id="link-313" class="py-name"><a title="fabio.OXDimage.Section" class="py-name" href="#" onclick="return doclink('link-313', 'Section', 'link-180');">Section</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="ret [...]
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">        <tt class="py-name">HS</tt><tt class="py-op">.</tt><tt id="link-316" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-316', 'setData', 'link-183');">setData</a></tt><tt class="py-op">(</tt><tt class="py-string">'Flood field image'</tt><tt class="py-op">,</tt> <tt class="py-number">99</tt><tt class="py-op">,</tt> <tt class="py-string">"|S27"</tt><tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">        <tt id="link-317" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-317', 'header', 'link-13');">header</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">HS</tt><tt class="py-op">.</tt><tt id="link-318" class="py-name"><a title="fabio.OXDimage.Section.__repr__" class="py-name" href="#" onclick="return doclink('link-318', '__repr__', 'link-191' [...]
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">
 </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-319" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-319', 'header', 'link-13');">header</a></tt> </tt>
+</div><a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">
 </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">
 </tt>
+<a name="OXDimage.write"></a><div id="OXDimage.write-def"><a name="L381"></a><tt class="py-lineno">381</tt> <a class="py-toggle" href="#" id="OXDimage.write-toggle" onclick="return toggle('OXDimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.OXDimage.OXDimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">)</tt><tt class [...]
+</div><div id="OXDimage.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OXDimage.write-expanded"><a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">        <tt class="py-docstring">"""Write Oxford diffraction images: this is still beta
</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"><tt class="py-docstring">        @param fname: output filename 
</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">        <tt class="py-name">datablock8</tt><tt class="py-op">,</tt> <tt class="py-name">datablock16</tt><tt class="py-op">,</tt> <tt class="py-name">datablock32</tt> <tt class="py-op">=</tt> <tt id="link-320" class="py-name"><a title="fabio.compression.compTY1" class="py-name" href="#" onclick="return doclink('link-320', 'compTY1', 'link-6');">compTY1</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt cl [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-321', 'data', 'link-142');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-322', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"OI"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-323" class="py-name"><a title="fabio.file_series.file_series.len" c [...]
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-324" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-324', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"OL"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-325" class="py-name"><a title="fabio.file_series.file_series.len" c [...]
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt class="py-keyword">with</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-326', '_open', 'link-108');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-stri [...]
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-327" class="py-name" targets="Method fabio.GEimage.GEimage.write()=fabio.GEimage.GEimage-class.html#write,Method fabio.OXDimage.OXDimage.write()=fabio.OXDimage.OXDimage-class.html#write,Method fabio.adscimage.adscimage.write()=fabio.adscimage.adscimage-class.html#write,Method fabio.binaryimage.binaryimage.write()=fabio.binaryimage.binaryi [...]
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-327', 'write', 'link-327');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-328" class="py-name" targets="Method fabio.OXDimage.OXDimage._writeheader()=fabio.OXDimage.OXDimage-class.html#_writeheader,Method fabio.mar345image.mar345image._writeheader()=fabio.mar345image.mar345image-class.html#_writeheader"><a title="fabio.OXDimage.OXDimage._writeheader
+fabio.mar345image.mar345image._writeheader" class="py-name" href="#" onclick="return doclink('link-328', '_writeheader', 'link-328');">_writeheader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-329', 'write', 'link-327');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">datablock8</tt><tt class="py-op">)</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-330" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-330', 'write', 'link-327');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">datablock16</tt><tt class="py-op">)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-331" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-331', 'write', 'link-327');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">datablock32</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">
 </tt>
+<a name="OXDimage.getCompressionRatio"></a><div id="OXDimage.getCompressionRatio-def"><a name="L394"></a><tt class="py-lineno">394</tt> <a class="py-toggle" href="#" id="OXDimage.getCompressionRatio-toggle" onclick="return toggle('OXDimage.getCompressionRatio');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.OXDimage.OXDimage-class.html#getCompressionRatio">getCompressionRatio</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt c [...]
+</div><div id="OXDimage.getCompressionRatio-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OXDimage.getCompressionRatio-expanded"><a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">        <tt class="py-docstring">"calculate the compression factor obtained vs raw data"</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-number">100.0</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-332" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-332', 'data', 'link-142');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-333', 'header', 'link-13');">header</a></tt><tt c [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-335', 'data', 'link-142');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">
 </tt>
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="OXDimage.checkData"></a><div id="OXDimage.checkData-def"><a name="L399"></a><tt class="py-lineno">399</tt> <a class="py-toggle" href="#" id="OXDimage.checkData-toggle" onclick="return toggle('OXDimage.checkData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.OXDimage.OXDimage-class.html#checkData">checkData</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="p [...]
+</div><div id="OXDimage.checkData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OXDimage.checkData-expanded"><a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-336" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-336', 'data', 'link-142');">data</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-337" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-337', 'data', 'link-142');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">
 </tt>
+<a name="Section"></a><div id="Section-def"><a name="L405"></a><tt class="py-lineno">405</tt> <a class="py-toggle" href="#" id="Section-toggle" onclick="return toggle('Section');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.OXDimage.Section-class.html">Section</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Section-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Section-expanded"><a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line"><tt class="py-docstring">    Small helper class for writing binary headers
</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="Section.__init__"></a><div id="Section.__init__-def"><a name="L409"></a><tt class="py-lineno">409</tt> <a class="py-toggle" href="#" id="Section.__init__-toggle" onclick="return toggle('Section.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.OXDimage.Section-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt><tt class="py-op">,</ [...]
+</div><div id="Section.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Section.__init__-expanded"><a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line"><tt class="py-docstring">        @param size: size of the header section in bytes
</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line"><tt class="py-docstring">        @param dictHeader: headers of the image
</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">size</tt> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-338', 'header', 'link-13');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-name">dictHeader</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lstChr</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"\x00"</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-name">size</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dictSize</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+</div><a name="Section.__repr__"></a><div id="Section.__repr__-def"><a name="L418"></a><tt class="py-lineno">418</tt> <a class="py-toggle" href="#" id="Section.__repr__-toggle" onclick="return toggle('Section.__repr__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.OXDimage.Section-class.html#__repr__">__repr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Section.__repr__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Section.__repr__-expanded"><a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lstChr</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">
 </tt>
+<a name="Section.getSize"></a><div id="Section.getSize-def"><a name="L421"></a><tt class="py-lineno">421</tt> <a class="py-toggle" href="#" id="Section.getSize-toggle" onclick="return toggle('Section.getSize');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.OXDimage.Section-class.html#getSize">getSize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dtype</tt><tt class="py-op">)</tt><t [...]
+</div><div id="Section.getSize-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Section.getSize-expanded"><a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">dtype</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dictSize</tt><tt class="py-op">:</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dictSize</tt><tt class="py-op">[</tt><tt class="py-name">dtype</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-339" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-339', 'len', 'link-130');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">n [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-340', 'tostring', 'link-132');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_dictSize</tt><tt class="py-op">[</tt><tt class="py-name">dtype</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">
 </tt>
+<a name="Section.setData"></a><div id="Section.setData-def"><a name="L426"></a><tt class="py-lineno">426</tt> <a class="py-toggle" href="#" id="Section.setData-toggle" onclick="return toggle('Section.setData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.OXDimage.Section-class.html#setData">setData</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt [...]
+</div><div id="Section.setData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Section.setData-expanded"><a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line"><tt class="py-docstring">        @param offset: int, starting position in the section
</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line"><tt class="py-docstring">        @param key: name of the header key
</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line"><tt class="py-docstring">        @param dtype: type of the data to insert (defines the size!)
</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-341" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-341', 'key', 'link-147');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-342" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-342',  [...]
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-343" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-343', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt id="link-344" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="r [...]
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-345" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-345', 'key', 'link-147');">key</a></tt> <tt class="py-keyword">in</tt> <tt id="link-346" class="py-name"><a title="fabio.OXDimage.DEFAULT_HEADERS" class="py-name" href="#" onclick="return doclink('link-346', 'DEFAULT_HEADERS', 'link-12');">DEFAULT_HEADERS</a> [...]
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-347" class="py-name"><a title="fabio.OXDimage.DEFAULT_HEADERS" class="py-name" href="#" onclick="return doclink('link-347', 'DEFAULT_HEADERS', 'link-12');">DEFAULT_HEADERS</a></tt><tt class="py-op">[</tt><tt id="link-348" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-348', 'key', 'l [...]
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-string">"\x00"</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-349" class="py-name" targets="Method fabio.OXDimage.Section.getSize()=fabio.OXDimage.Section-class.html#getSize"><a title="fabio.OXDimage.Section.getSize" class="py-name" href="#" onclick="return doclink('link-349', 'getSize', ' [...]
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">            <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">dtype</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-350" class="py-name"> [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-350', 'tostring', 'link-132');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lstChr</tt><tt class="py-op">[</tt><tt class="py-name">offset</tt><tt class="py-op">:</tt><tt class="py-name">offset</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="fabio.OXDimage.Section.getSize" class="py-name" href="#" onclick="return doclink('link-351', 'ge [...]
+</div></div><a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.OXDimage.OXDimage-class.html b/doc/html/fabio.OXDimage.OXDimage-class.html
new file mode 100644
index 0000000..f181eba
--- /dev/null
+++ b/doc/html/fabio.OXDimage.OXDimage-class.html
@@ -0,0 +1,490 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.OXDimage.OXDimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.OXDimage-module.html">Module OXDimage</a> ::
+        Class OXDimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.OXDimage.OXDimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class OXDimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">OXDimage</strong>
+</pre>
+
+<hr />
+<p>Oxford Diffraction Sapphire 3 images reader/writer class</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.OXDimage.OXDimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Must be overridden in classes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.OXDimage.OXDimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in header into self.header and...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_writeheader"></a><span class="summary-sig-name">_writeheader</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      @return a string containing the header for Oxford images</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage._writeheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.OXDimage.OXDimage-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      Write Oxford diffraction images: this is still beta</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getCompressionRatio"></a><span class="summary-sig-name">getCompressionRatio</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      calculate the compression factor obtained vs raw data</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage.getCompressionRatio">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.OXDimage.OXDimage-class.html#checkData" class="summary-sig-name">checkData</a>(<span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Empty for fabioimage but may be populated by others classes, 
+      especially for format accepting only integers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage.checkData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Must be overridden in classes</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Read in header into self.header and
+    the data   into self.data
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Write Oxford diffraction images: this is still beta</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>fname</code></strong> - output filename</li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkData"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkData</span>(<span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.OXDimage-pysrc.html#OXDimage.checkData">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Empty for fabioimage but may be populated by others classes, 
+  especially for format accepting only integers</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#checkData">fabioimage.fabioimage.checkData</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.OXDimage.Section-class.html b/doc/html/fabio.OXDimage.Section-class.html
new file mode 100644
index 0000000..27d166a
--- /dev/null
+++ b/doc/html/fabio.OXDimage.Section-class.html
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.OXDimage.Section</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.OXDimage-module.html">Module OXDimage</a> ::
+        Class Section
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.OXDimage.Section-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Section</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.OXDimage-pysrc.html#Section">source code</a></span></p>
+<pre class="base-tree">
+object --+
+         |
+        <strong class="uidshort">Section</strong>
+</pre>
+
+<hr />
+<p>Small helper class for writing binary headers</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.OXDimage.Section-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">size</span>,
+        <span class="summary-sig-arg">dictHeader</span>)</span><br />
+      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.OXDimage-pysrc.html#Section.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.OXDimage.Section-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      repr(x)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.OXDimage-pysrc.html#Section.__repr__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getSize"></a><span class="summary-sig-name">getSize</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">dtype</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.OXDimage-pysrc.html#Section.getSize">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.OXDimage.Section-class.html#setData" class="summary-sig-name">setData</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">key</span>,
+        <span class="summary-sig-arg">offset</span>,
+        <span class="summary-sig-arg">dtype</span>,
+        <span class="summary-sig-arg">default</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.OXDimage-pysrc.html#Section.setData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">size</span>,
+        <span class="sig-arg">dictHeader</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.OXDimage-pysrc.html#Section.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
+  signature</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>size</code></strong> - size of the header section in bytes</li>
+        <li><strong class="pname"><code>dictHeader</code></strong> - headers of the image</li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__repr__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
+    <br /><em class="fname">(Representation operator)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.OXDimage-pysrc.html#Section.__repr__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>repr(x)</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__repr__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="setData"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setData</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">key</span>,
+        <span class="sig-arg">offset</span>,
+        <span class="sig-arg">dtype</span>,
+        <span class="sig-arg">default</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.OXDimage-pysrc.html#Section.setData">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>offset</code></strong> - int, starting position in the section</li>
+        <li><strong class="pname"><code>key</code></strong> - name of the header key</li>
+        <li><strong class="pname"><code>dtype</code></strong> - type of the data to insert (defines the size!)</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.TiffIO-module.html b/doc/html/fabio.TiffIO-module.html
new file mode 100644
index 0000000..c115885
--- /dev/null
+++ b/doc/html/fabio.TiffIO-module.html
@@ -0,0 +1,454 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.TiffIO</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module TiffIO
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.TiffIO-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module TiffIO</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.TiffIO-pysrc.html">source code</a></span></p>
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        V.A. Sole - ESRF Data Analysis
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.TiffIO.TiffIO-class.html" class="summary-name">TiffIO</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__revision__"></a><span class="summary-name">__revision__</span> = <code title="1501">1501</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="0">0</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="ALLOW_MULTIPLE_STRIPS"></a><span class="summary-name">ALLOW_MULTIPLE_STRIPS</span> = <code title="False">False</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.TiffIO-module.html#TAG_ID" class="summary-name">TAG_ID</a> = <code title="{256: 'NumberOfColumns',
+ 257: 'NumberOfRows',
+ 258: 'BitsPerSample',
+ 259: 'Compression',
+ 262: 'PhotometricInterpretation',
+ 270: 'ImageDescription',
+ 273: 'StripOffsets',
+ 278: 'RowsPerStrip',
+..."><code class="variable-group">{</code>256<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">NumberOfColumns</code><code class="variable-quote">'</code><code class="variable-op">, </code>257<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">NumberOfRows</code><code class="variable-quote">'</code><code class="variable-op">, </code>258<code class="variable-op">: </code><code class="vari [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_NUMBER_OF_COLUMNS"></a><span class="summary-name">TAG_NUMBER_OF_COLUMNS</span> = <code title="256">256</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_NUMBER_OF_ROWS"></a><span class="summary-name">TAG_NUMBER_OF_ROWS</span> = <code title="257">257</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_BITS_PER_SAMPLE"></a><span class="summary-name">TAG_BITS_PER_SAMPLE</span> = <code title="258">258</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_PHOTOMETRIC_INTERPRETATION"></a><span class="summary-name">TAG_PHOTOMETRIC_INTERPRETATION</span> = <code title="262">262</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_COMPRESSION"></a><span class="summary-name">TAG_COMPRESSION</span> = <code title="259">259</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_IMAGE_DESCRIPTION"></a><span class="summary-name">TAG_IMAGE_DESCRIPTION</span> = <code title="270">270</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_STRIP_OFFSETS"></a><span class="summary-name">TAG_STRIP_OFFSETS</span> = <code title="273">273</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_ROWS_PER_STRIP"></a><span class="summary-name">TAG_ROWS_PER_STRIP</span> = <code title="278">278</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_STRIP_BYTE_COUNTS"></a><span class="summary-name">TAG_STRIP_BYTE_COUNTS</span> = <code title="279">279</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_SOFTWARE"></a><span class="summary-name">TAG_SOFTWARE</span> = <code title="305">305</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_DATE"></a><span class="summary-name">TAG_DATE</span> = <code title="306">306</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_COLORMAP"></a><span class="summary-name">TAG_COLORMAP</span> = <code title="320">320</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="TAG_SAMPLE_FORMAT"></a><span class="summary-name">TAG_SAMPLE_FORMAT</span> = <code title="339">339</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.TiffIO-module.html#FIELD_TYPE" class="summary-name">FIELD_TYPE</a> = <code title="{1: ('BYTE', 'B'),
+ 2: ('ASCII', 's'),
+ 3: ('SHORT', 'H'),
+ 4: ('LONG', 'I'),
+ 5: ('RATIONAL', 'II'),
+ 6: ('SBYTE', 'b'),
+ 7: ('UNDEFINED', 'B'),
+ 8: ('SSHORT', 'h'),
+..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">BYTE</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">B</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code c [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.TiffIO-module.html#FIELD_TYPE_OUT" class="summary-name">FIELD_TYPE_OUT</a> = <code title="{'B': 1,
+ 'H': 3,
+ 'I': 4,
+ 'II': 5,
+ 'b': 6,
+ 'd': 12,
+ 'f': 11,
+ 'h': 8,
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">B</code><code class="variable-quote">'</code><code class="variable-op">: </code>1<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">H</code><code class="variable-quote">'</code><code class="variable-op">: </code>3<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">I</code><code cla [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="SAMPLE_FORMAT_UINT"></a><span class="summary-name">SAMPLE_FORMAT_UINT</span> = <code title="1">1</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="SAMPLE_FORMAT_INT"></a><span class="summary-name">SAMPLE_FORMAT_INT</span> = <code title="2">2</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="SAMPLE_FORMAT_FLOAT"></a><span class="summary-name">SAMPLE_FORMAT_FLOAT</span> = <code title="3">3</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="SAMPLE_FORMAT_VOID"></a><span class="summary-name">SAMPLE_FORMAT_VOID</span> = <code title="4">4</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="SAMPLE_FORMAT_COMPLEXINT"></a><span class="summary-name">SAMPLE_FORMAT_COMPLEXINT</span> = <code title="5">5</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="SAMPLE_FORMAT_COMPLEXIEEEFP"></a><span class="summary-name">SAMPLE_FORMAT_COMPLEXIEEEFP</span> = <code title="6">6</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="TAG_ID"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">TAG_ID</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>256<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">NumberOfColumns</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 257<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">NumberOfRows</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 258<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">BitsPerSample</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 259<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Compression</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 262<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">PhotometricInterpretation</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 270<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ImageDescription</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 273<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">StripOffsets</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 278<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">RowsPerStrip</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="FIELD_TYPE"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">FIELD_TYPE</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">BYTE</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">B</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ 2<code class="variable-op">: </code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">ASCII</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">s</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ 3<code class="variable-op">: </code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">SHORT</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">H</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ 4<code class="variable-op">: </code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">LONG</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">I</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ 5<code class="variable-op">: </code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">RATIONAL</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">II</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ 6<code class="variable-op">: </code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">SBYTE</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">b</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ 7<code class="variable-op">: </code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">UNDEFINED</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">B</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ 8<code class="variable-op">: </code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">SSHORT</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">h</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="FIELD_TYPE_OUT"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">FIELD_TYPE_OUT</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">B</code><code class="variable-quote">'</code><code class="variable-op">: </code>1<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">H</code><code class="variable-quote">'</code><code class="variable-op">: </code>3<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">I</code><code class="variable-quote">'</code><code class="variable-op">: </code>4<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">II</code><code class="variable-quote">'</code><code class="variable-op">: </code>5<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">b</code><code class="variable-quote">'</code><code class="variable-op">: </code>6<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">d</code><code class="variable-quote">'</code><code class="variable-op">: </code>12<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">f</code><code class="variable-quote">'</code><code class="variable-op">: </code>11<code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">h</code><code class="variable-quote">'</code><code class="variable-op">: </code>8<code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.TiffIO-pysrc.html b/doc/html/fabio.TiffIO-pysrc.html
new file mode 100644
index 0000000..8f11428
--- /dev/null
+++ b/doc/html/fabio.TiffIO-pysrc.html
@@ -0,0 +1,1786 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.TiffIO</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module TiffIO
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.TiffIO-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.TiffIO-module.html">Module fabio.TiffIO</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment">#/*##########################################################################</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-comment"># Copyright (C) 2012 European Synchrotron Radiation Facility</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-comment"># This file is part of the PyMca X-ray Fluorescence Toolkit developed at</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-comment"># the ESRF by the Software group.</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-comment"># This file is free software; you can redistribute it and/or modify it </tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-comment"># under the terms of the GNU Lesser General Public License as published by the Free</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-comment"># Software Foundation; either version 2 of the License, or (at your option) </tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-comment"># any later version.</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-comment"># PyMca is distributed in the hope that it will be useful, but WITHOUT ANY</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-comment"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-comment"># FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-comment"># details.</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-comment">#############################################################################*/</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-docstring">"V.A. Sole - ESRF Data Analysis"</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.TiffIO.__revision__=fabio.TiffIO-module.html#__revision__"><a title="fabio.TiffIO.__revision__" class="py-name" href="#" onclick="return doclink('link-0', '__revision__', 'link-0');">__revision__</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1501</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable fabio.TiffIO.DEBUG=fabio.TiffIO-module.html#DEBUG"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-1', 'DEBUG', 'link-1');">DEBUG</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable fabio.TiffIO.ALLOW_MULTIPLE_STRIPS=fabio.TiffIO-module.html#ALLOW_MULTIPLE_STRIPS"><a title="fabio.TiffIO.ALLOW_MULTIPLE_STRIPS" class="py-name" href="#" onclick="return doclink('link-2', 'ALLOW_MULTIPLE_STRIPS', 'link-2');">ALLOW_MULTIPLE_STRIPS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable fabio.TiffIO.TAG_ID=fabio.TiffIO-module.html#TAG_ID"><a title="fabio.TiffIO.TAG_ID" class="py-name" href="#" onclick="return doclink('link-3', 'TAG_ID', 'link-3');">TAG_ID</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-number">256</tt><tt class="py-op">:</tt><tt class="py-string">"NumberOfColumns"</tt><tt class="py-op">,</tt> <tt class="py-com [...]
+<a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line">            <tt class="py-number">257</tt><tt class="py-op">:</tt><tt class="py-string">"NumberOfRows"</tt><tt class="py-op">,</tt> <tt class="py-comment"># S or L ImageHeight</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line">            <tt class="py-number">258</tt><tt class="py-op">:</tt><tt class="py-string">"BitsPerSample"</tt><tt class="py-op">,</tt> <tt class="py-comment"># S Number of bits per component</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line">            <tt class="py-number">259</tt><tt class="py-op">:</tt><tt class="py-string">"Compression"</tt><tt class="py-op">,</tt> <tt class="py-comment"># SHORT (1 - NoCompression, ... </tt> </tt>
+<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line">            <tt class="py-number">262</tt><tt class="py-op">:</tt><tt class="py-string">"PhotometricInterpretation"</tt><tt class="py-op">,</tt> <tt class="py-comment"># SHORT (0 - WhiteIsZero, 1 -BlackIsZero, 2 - RGB, 3 - Palette color</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line">            <tt class="py-number">270</tt><tt class="py-op">:</tt><tt class="py-string">"ImageDescription"</tt><tt class="py-op">,</tt> <tt class="py-comment"># ASCII</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line">            <tt class="py-number">273</tt><tt class="py-op">:</tt><tt class="py-string">"StripOffsets"</tt><tt class="py-op">,</tt> <tt class="py-comment"># S or L, for each strip, the byte offset of the strip</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line">            <tt class="py-number">278</tt><tt class="py-op">:</tt><tt class="py-string">"RowsPerStrip"</tt><tt class="py-op">,</tt> <tt class="py-comment"># S or L, number of rows in each back may be not for the last</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line">            <tt class="py-number">279</tt><tt class="py-op">:</tt><tt class="py-string">"StripByteCounts"</tt><tt class="py-op">,</tt> <tt class="py-comment"># S or L, The number of bytes in the strip AFTER any compression</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line">            <tt class="py-number">305</tt><tt class="py-op">:</tt><tt class="py-string">"Software"</tt><tt class="py-op">,</tt> <tt class="py-comment"># ASCII</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line">            <tt class="py-number">306</tt><tt class="py-op">:</tt><tt class="py-string">"Date"</tt><tt class="py-op">,</tt> <tt class="py-comment"># ASCII</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line">            <tt class="py-number">320</tt><tt class="py-op">:</tt><tt class="py-string">"Colormap"</tt><tt class="py-op">,</tt> <tt class="py-comment"># Colormap of Palette-color Images </tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line">            <tt class="py-number">339</tt><tt class="py-op">:</tt><tt class="py-string">"SampleFormat"</tt><tt class="py-op">,</tt> <tt class="py-comment"># SHORT Interpretation of data in each pixel</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line">            <tt class="py-op">}</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"><tt class="py-comment">#TILES ARE TO BE SUPPORTED TOO ...</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable fabio.TiffIO.TAG_NUMBER_OF_COLUMNS=fabio.TiffIO-module.html#TAG_NUMBER_OF_COLUMNS"><a title="fabio.TiffIO.TAG_NUMBER_OF_COLUMNS" class="py-name" href="#" onclick="return doclink('link-4', 'TAG_NUMBER_OF_COLUMNS', 'link-4');">TAG_NUMBER_OF_COLUMNS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">256</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable fabio.TiffIO.TAG_NUMBER_OF_ROWS=fabio.TiffIO-module.html#TAG_NUMBER_OF_ROWS"><a title="fabio.TiffIO.TAG_NUMBER_OF_ROWS" class="py-name" href="#" onclick="return doclink('link-5', 'TAG_NUMBER_OF_ROWS', 'link-5');">TAG_NUMBER_OF_ROWS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">257</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable fabio.TiffIO.TAG_BITS_PER_SAMPLE=fabio.TiffIO-module.html#TAG_BITS_PER_SAMPLE"><a title="fabio.TiffIO.TAG_BITS_PER_SAMPLE" class="py-name" href="#" onclick="return doclink('link-6', 'TAG_BITS_PER_SAMPLE', 'link-6');">TAG_BITS_PER_SAMPLE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">258</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable fabio.TiffIO.TAG_PHOTOMETRIC_INTERPRETATION=fabio.TiffIO-module.html#TAG_PHOTOMETRIC_INTERPRETATION"><a title="fabio.TiffIO.TAG_PHOTOMETRIC_INTERPRETATION" class="py-name" href="#" onclick="return doclink('link-7', 'TAG_PHOTOMETRIC_INTERPRETATION', 'link-7');">TAG_PHOTOMETRIC_INTERPRETATION</a></tt> <tt class="py-op">=</tt> <tt class="py-number">262</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable fabio.TiffIO.TAG_COMPRESSION=fabio.TiffIO-module.html#TAG_COMPRESSION"><a title="fabio.TiffIO.TAG_COMPRESSION" class="py-name" href="#" onclick="return doclink('link-8', 'TAG_COMPRESSION', 'link-8');">TAG_COMPRESSION</a></tt> <tt class="py-op">=</tt> <tt class="py-number">259</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line"><tt id="link-9" class="py-name" targets="Variable fabio.TiffIO.TAG_IMAGE_DESCRIPTION=fabio.TiffIO-module.html#TAG_IMAGE_DESCRIPTION"><a title="fabio.TiffIO.TAG_IMAGE_DESCRIPTION" class="py-name" href="#" onclick="return doclink('link-9', 'TAG_IMAGE_DESCRIPTION', 'link-9');">TAG_IMAGE_DESCRIPTION</a></tt> <tt class="py-op">=</tt> <tt class="py-number">270</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable fabio.TiffIO.TAG_STRIP_OFFSETS=fabio.TiffIO-module.html#TAG_STRIP_OFFSETS"><a title="fabio.TiffIO.TAG_STRIP_OFFSETS" class="py-name" href="#" onclick="return doclink('link-10', 'TAG_STRIP_OFFSETS', 'link-10');">TAG_STRIP_OFFSETS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">273</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable fabio.TiffIO.TAG_ROWS_PER_STRIP=fabio.TiffIO-module.html#TAG_ROWS_PER_STRIP"><a title="fabio.TiffIO.TAG_ROWS_PER_STRIP" class="py-name" href="#" onclick="return doclink('link-11', 'TAG_ROWS_PER_STRIP', 'link-11');">TAG_ROWS_PER_STRIP</a></tt> <tt class="py-op">=</tt> <tt class="py-number">278</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable fabio.TiffIO.TAG_STRIP_BYTE_COUNTS=fabio.TiffIO-module.html#TAG_STRIP_BYTE_COUNTS"><a title="fabio.TiffIO.TAG_STRIP_BYTE_COUNTS" class="py-name" href="#" onclick="return doclink('link-12', 'TAG_STRIP_BYTE_COUNTS', 'link-12');">TAG_STRIP_BYTE_COUNTS</a></tt> <tt class="py-op">=</tt> <tt class="py-number">279</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line"><tt id="link-13" class="py-name" targets="Variable fabio.TiffIO.TAG_SOFTWARE=fabio.TiffIO-module.html#TAG_SOFTWARE"><a title="fabio.TiffIO.TAG_SOFTWARE" class="py-name" href="#" onclick="return doclink('link-13', 'TAG_SOFTWARE', 'link-13');">TAG_SOFTWARE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">305</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line"><tt id="link-14" class="py-name" targets="Variable fabio.TiffIO.TAG_DATE=fabio.TiffIO-module.html#TAG_DATE"><a title="fabio.TiffIO.TAG_DATE" class="py-name" href="#" onclick="return doclink('link-14', 'TAG_DATE', 'link-14');">TAG_DATE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">306</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line"><tt id="link-15" class="py-name" targets="Variable fabio.TiffIO.TAG_COLORMAP=fabio.TiffIO-module.html#TAG_COLORMAP"><a title="fabio.TiffIO.TAG_COLORMAP" class="py-name" href="#" onclick="return doclink('link-15', 'TAG_COLORMAP', 'link-15');">TAG_COLORMAP</a></tt> <tt class="py-op">=</tt> <tt class="py-number">320</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line"><tt id="link-16" class="py-name" targets="Variable fabio.TiffIO.TAG_SAMPLE_FORMAT=fabio.TiffIO-module.html#TAG_SAMPLE_FORMAT"><a title="fabio.TiffIO.TAG_SAMPLE_FORMAT" class="py-name" href="#" onclick="return doclink('link-16', 'TAG_SAMPLE_FORMAT', 'link-16');">TAG_SAMPLE_FORMAT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">339</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line"><tt id="link-17" class="py-name" targets="Variable fabio.TiffIO.FIELD_TYPE=fabio.TiffIO-module.html#FIELD_TYPE"><a title="fabio.TiffIO.FIELD_TYPE" class="py-name" href="#" onclick="return doclink('link-17', 'FIELD_TYPE', 'link-17');">FIELD_TYPE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'BYTE'</tt><tt class [...]
+<a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">               <tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'ASCII'</tt><tt class="py-op">,</tt> <tt class="py-string">"s"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment">#string ending with binary zero</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">               <tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'SHORT'</tt><tt class="py-op">,</tt> <tt class="py-string">"H"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">               <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'LONG'</tt><tt class="py-op">,</tt> <tt class="py-string">"I"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">               <tt class="py-number">5</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'RATIONAL'</tt><tt class="py-op">,</tt> <tt class="py-string">"II"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line">               <tt class="py-number">6</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'SBYTE'</tt><tt class="py-op">,</tt> <tt class="py-string">"b"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line">               <tt class="py-number">7</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'UNDEFINED'</tt><tt class="py-op">,</tt> <tt class="py-string">"B"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">               <tt class="py-number">8</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'SSHORT'</tt><tt class="py-op">,</tt> <tt class="py-string">"h"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">               <tt class="py-number">9</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'SLONG'</tt><tt class="py-op">,</tt> <tt class="py-string">"i"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">               <tt class="py-number">10</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'SRATIONAL'</tt><tt class="py-op">,</tt> <tt class="py-string">"ii"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">               <tt class="py-number">11</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'FLOAT'</tt><tt class="py-op">,</tt> <tt class="py-string">"f"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line">               <tt class="py-number">12</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-string">'DOUBLE'</tt><tt class="py-op">,</tt> <tt class="py-string">"d"</tt><tt class="py-op">)</tt><tt class="py-op">}</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line"><tt id="link-18" class="py-name" targets="Variable fabio.TiffIO.FIELD_TYPE_OUT=fabio.TiffIO-module.html#FIELD_TYPE_OUT"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-18', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">'B'</tt><tt class="py-op">:</tt>   <tt class="py-number">1</tt><tt class="p [...]
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">                   <tt class="py-string">'s'</tt><tt class="py-op">:</tt>   <tt class="py-number">2</tt><tt class="py-op">,</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">                   <tt class="py-string">'H'</tt><tt class="py-op">:</tt>   <tt class="py-number">3</tt><tt class="py-op">,</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">                   <tt class="py-string">'I'</tt><tt class="py-op">:</tt>   <tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">                   <tt class="py-string">'II'</tt><tt class="py-op">:</tt>  <tt class="py-number">5</tt><tt class="py-op">,</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">                   <tt class="py-string">'b'</tt><tt class="py-op">:</tt>   <tt class="py-number">6</tt><tt class="py-op">,</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">                   <tt class="py-string">'h'</tt><tt class="py-op">:</tt>   <tt class="py-number">8</tt><tt class="py-op">,</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">                   <tt class="py-string">'i'</tt><tt class="py-op">:</tt>   <tt class="py-number">9</tt><tt class="py-op">,</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line">                   <tt class="py-string">'ii'</tt><tt class="py-op">:</tt> <tt class="py-number">10</tt><tt class="py-op">,</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line">                   <tt class="py-string">'f'</tt><tt class="py-op">:</tt>  <tt class="py-number">11</tt><tt class="py-op">,</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">                   <tt class="py-string">'d'</tt><tt class="py-op">:</tt>  <tt class="py-number">12</tt><tt class="py-op">}</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line"> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line"><tt class="py-comment">#sample formats (http://www.awaresystems.be/imaging/tiff/tiffflags/sampleformat.html)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line"><tt id="link-19" class="py-name" targets="Variable fabio.TiffIO.SAMPLE_FORMAT_UINT=fabio.TiffIO-module.html#SAMPLE_FORMAT_UINT"><a title="fabio.TiffIO.SAMPLE_FORMAT_UINT" class="py-name" href="#" onclick="return doclink('link-19', 'SAMPLE_FORMAT_UINT', 'link-19');">SAMPLE_FORMAT_UINT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line"><tt id="link-20" class="py-name" targets="Variable fabio.TiffIO.SAMPLE_FORMAT_INT=fabio.TiffIO-module.html#SAMPLE_FORMAT_INT"><a title="fabio.TiffIO.SAMPLE_FORMAT_INT" class="py-name" href="#" onclick="return doclink('link-20', 'SAMPLE_FORMAT_INT', 'link-20');">SAMPLE_FORMAT_INT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line"><tt id="link-21" class="py-name" targets="Variable fabio.TiffIO.SAMPLE_FORMAT_FLOAT=fabio.TiffIO-module.html#SAMPLE_FORMAT_FLOAT"><a title="fabio.TiffIO.SAMPLE_FORMAT_FLOAT" class="py-name" href="#" onclick="return doclink('link-21', 'SAMPLE_FORMAT_FLOAT', 'link-21');">SAMPLE_FORMAT_FLOAT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt>   <tt class="py-comment">#floating point</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line"><tt id="link-22" class="py-name" targets="Variable fabio.TiffIO.SAMPLE_FORMAT_VOID=fabio.TiffIO-module.html#SAMPLE_FORMAT_VOID"><a title="fabio.TiffIO.SAMPLE_FORMAT_VOID" class="py-name" href="#" onclick="return doclink('link-22', 'SAMPLE_FORMAT_VOID', 'link-22');">SAMPLE_FORMAT_VOID</a></tt> <tt class="py-op">=</tt> <tt class="py-number">4</tt>   <tt class="py-comment">#undefined data, usually assumed UINT</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line"><tt id="link-23" class="py-name" targets="Variable fabio.TiffIO.SAMPLE_FORMAT_COMPLEXINT=fabio.TiffIO-module.html#SAMPLE_FORMAT_COMPLEXINT"><a title="fabio.TiffIO.SAMPLE_FORMAT_COMPLEXINT" class="py-name" href="#" onclick="return doclink('link-23', 'SAMPLE_FORMAT_COMPLEXINT', 'link-23');">SAMPLE_FORMAT_COMPLEXINT</a></tt> <tt class="py-op">=</tt> <tt class="py-number">5</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line"><tt id="link-24" class="py-name" targets="Variable fabio.TiffIO.SAMPLE_FORMAT_COMPLEXIEEEFP=fabio.TiffIO-module.html#SAMPLE_FORMAT_COMPLEXIEEEFP"><a title="fabio.TiffIO.SAMPLE_FORMAT_COMPLEXIEEEFP" class="py-name" href="#" onclick="return doclink('link-24', 'SAMPLE_FORMAT_COMPLEXIEEEFP', 'link-24');">SAMPLE_FORMAT_COMPLEXIEEEFP</a></tt> <tt class="py-op">=</tt> <tt class="py-number">6</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line"> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line"> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO"></a><div id="TiffIO-def"><a name="L94"></a><tt class="py-lineno">  94</tt> <a class="py-toggle" href="#" id="TiffIO-toggle" onclick="return toggle('TiffIO');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html">TiffIO</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TiffIO-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TiffIO-expanded"><a name="TiffIO.__init__"></a><div id="TiffIO.__init__-def"><a name="L95"></a><tt class="py-lineno">  95</tt> <a class="py-toggle" href="#" id="TiffIO.__init__-toggle" onclick="return toggle('TiffIO.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#__init__">__init__</a><tt class="py-op">(</tt>< [...]
+</div><div id="TiffIO.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO.__init__-expanded"><a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">mode</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">            <tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-string">'rb'</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'b'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line">            <tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-name">mode</tt> <tt class="py-op">+</tt> <tt class="py-string">'b'</tt> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'a'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">"Mode %s makes no sense on TIFF files. Consider 'rb+'"</tt> <tt class="py-op">%</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'w'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">'+'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">                <tt class="py-name">mode</tt> <tt class="py-op">+=</tt> <tt class="py-string">'+'</tt> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">        <tt class="py-comment">#if isinstance(filename, file): #does not work in python 3</tt> </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">"seek"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">            <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">filename</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_access</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">            <tt class="py-comment">#the b is needed for windows and python 3</tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">            <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_access</tt> <tt class="py-op">=</tt> <tt class="py-name">mode</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line"> </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method fabio.TiffIO.TiffIO._initInternalVariables()=fabio.TiffIO.TiffIO-class.html#_initInternalVariables"><a title="fabio.TiffIO.TiffIO._initInternalVariables" class="py-name" href="#" onclick="return doclink('link-25', '_initInternalVariables', 'link-25');">_initInternalVariables</a></tt><tt class="py-op">(</tt><t [...]
+<a name="L115"></a><tt class="py-lineno"> 115</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_maxImageCacheLength</tt> <tt class="py-op">=</tt> <tt class="py-name">cache_length</tt> </tt>
+<a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forceMonoOutput</tt> <tt class="py-op">=</tt> <tt class="py-name">mono_output</tt> </tt>
+</div><a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO._initInternalVariables"></a><div id="TiffIO._initInternalVariables-def"><a name="L118"></a><tt class="py-lineno"> 118</tt> <a class="py-toggle" href="#" id="TiffIO._initInternalVariables-toggle" onclick="return toggle('TiffIO._initInternalVariables');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#_initInternalVariables">_initInternalVariables</a><tt class="py-op">(</tt><tt class="py-param">self</t [...]
+</div><div id="TiffIO._initInternalVariables-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO._initInternalVariables-expanded"><a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">fd</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line">            <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line">        <tt class="py-comment"># read the order</tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line">        <tt class="py-name">order</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-26', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-27" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-27', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">order</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">order</tt> <tt class="py-op">==</tt> <tt class="py-string">"II"</tt><tt class="py-op">:</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line">                <tt class="py-comment">#intel, little endian</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line">                <tt class="py-name">fileOrder</tt> <tt class="py-op">=</tt> <tt class="py-string">"little"</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> <tt class="py-op">=</tt> <tt class="py-string">'<'</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">order</tt> <tt class="py-op">==</tt> <tt class="py-string">"MM"</tt><tt class="py-op">:</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line">                <tt class="py-comment">#motorola, high endian</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line">                <tt class="py-name">fileOrder</tt> <tt class="py-op">=</tt> <tt class="py-string">"big"</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> <tt class="py-op">=</tt> <tt class="py-string">'>'</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">"File is not a Mar CCD file, nor a TIFF file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line">            <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-28', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line">            <tt class="py-name">fortyTwo</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method fabio.edfimage.edfimage.unpack()=fabio.edfimage.edfimage-class.html#unpack,Method fabio.tifimage.Image_File_Directory.unpack()=fabio.tifimage.Image_File_Directory-class.html#unpack,Method fabio.tifimage.Image_File_Directory_entry.unpack()=fabio. [...]
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-29', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> <tt class="py-op">+</tt> <tt class="py-string">"H"</tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">fortyTwo</tt> <tt class="py-op">!=</tt> <tt class="py-number">42</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">"Invalid TIFF version %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">fortyTwo</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-30" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-30', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"VALID TIFF VERSION"</tt><tt class="py-op">)</tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">byteorder</tt> <tt class="py-op">!=</tt> <tt class="py-name">fileOrder</tt><tt class="py-op">:</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">                <tt class="py-name">swap</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line">                <tt class="py-name">swap</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">byteorder</tt> <tt class="py-op">==</tt> <tt class="py-string">"little"</tt><tt class="py-op">:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> <tt class="py-op">=</tt> <tt class="py-string">'<'</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> <tt class="py-op">=</tt> <tt class="py-string">'>'</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line">            <tt class="py-name">swap</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_swap</tt> <tt class="py-op">=</tt> <tt class="py-name">swap</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_IFD</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCacheIndex</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCache</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCacheIndex</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCache</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method fabio.TiffIO.TiffIO.getImageFileDirectories()=fabio.TiffIO.TiffIO-class.html#getImageFileDirectories"><a title="fabio.TiffIO.TiffIO.getImageFileDirectories" class="py-name" href="#" onclick="return doclink('link-31', 'getImageFileDirectories', 'link-31');">getImageFileDirectories</a></tt><tt class="py-op">(</ [...]
+</div><a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO.__makeSureFileIsOpen"></a><div id="TiffIO.__makeSureFileIsOpen-def"><a name="L162"></a><tt class="py-lineno"> 162</tt> <a class="py-toggle" href="#" id="TiffIO.__makeSureFileIsOpen-toggle" onclick="return toggle('TiffIO.__makeSureFileIsOpen');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#__makeSureFileIsOpen">__makeSureFileIsOpen</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class= [...]
+</div><div id="TiffIO.__makeSureFileIsOpen-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO.__makeSureFileIsOpen-expanded"><a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-32" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-32', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Reopening closed file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">        <tt class="py-name">fileName</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_access</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line">            <tt class="py-comment">#we do not own the file</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">            <tt class="py-comment">#open in read mode</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line">            <tt class="py-name">newFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">            <tt class="py-name">newFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fileName</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_access</tt><tt class="py-op">)</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">newFile</tt> </tt>
+</div><a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO.__makeSureFileIsClosed"></a><div id="TiffIO.__makeSureFileIsClosed-def"><a name="L176"></a><tt class="py-lineno"> 176</tt> <a class="py-toggle" href="#" id="TiffIO.__makeSureFileIsClosed-toggle" onclick="return toggle('TiffIO.__makeSureFileIsClosed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#__makeSureFileIsClosed">__makeSureFileIsClosed</a><tt class="py-op">(</tt><tt class="py-param">self</t [...]
+</div><div id="TiffIO.__makeSureFileIsClosed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO.__makeSureFileIsClosed-expanded"><a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_access</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">            <tt class="py-comment">#we do not own the file</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-33" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-33', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Not closing not owned file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line"> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO.getNumberOfImages"></a><div id="TiffIO.getNumberOfImages-def"><a name="L186"></a><tt class="py-lineno"> 186</tt> <a class="py-toggle" href="#" id="TiffIO.getNumberOfImages-toggle" onclick="return toggle('TiffIO.getNumberOfImages');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#getNumberOfImages">getNumberOfImages</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt  [...]
+</div><div id="TiffIO.getNumberOfImages-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO.getNumberOfImages-expanded"><a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">        <tt class="py-comment">#update for the case someone has done anything?</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method fabio.TiffIO.TiffIO._updateIFD()=fabio.TiffIO.TiffIO-class.html#_updateIFD"><a title="fabio.TiffIO.TiffIO._updateIFD" class="py-name" href="#" onclick="return doclink('link-34', '_updateIFD', 'link-34');">_updateIFD</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-35" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-35', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_IFD</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO._updateIFD"></a><div id="TiffIO._updateIFD-def"><a name="L191"></a><tt class="py-lineno"> 191</tt> <a class="py-toggle" href="#" id="TiffIO._updateIFD-toggle" onclick="return toggle('TiffIO._updateIFD');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#_updateIFD">_updateIFD</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="TiffIO._updateIFD-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO._updateIFD-expanded"><a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method fabio.TiffIO.TiffIO.__makeSureFileIsOpen()=fabio.TiffIO.TiffIO-class.html#__makeSureFileIsOpen"><a title="fabio.TiffIO.TiffIO.__makeSureFileIsOpen" class="py-name" href="#" [...]
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="fabio.TiffIO.TiffIO.getImageFileDirectories" class="py-name" href="#" onclick="return doclink('link-37', 'getImageFileDirectories', 'link-31');">getImageFileDirectories</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method fabio.TiffIO.TiffIO.__makeSureFileIsClosed()=fabio.TiffIO.TiffIO-class.html#__makeSureFileIsClosed"><a title="fabio.TiffIO.TiffIO.__makeSureFileIsClosed" class="py-name" href="#" onclick="return doclink('link-38', '__makeSureFileIsClosed', 'link-38');">__makeSureFileIsClosed</a></tt><tt class="py-op">(</tt><t [...]
+</div><a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO.getImageFileDirectories"></a><div id="TiffIO.getImageFileDirectories-def"><a name="L196"></a><tt class="py-lineno"> 196</tt> <a class="py-toggle" href="#" id="TiffIO.getImageFileDirectories-toggle" onclick="return toggle('TiffIO.getImageFileDirectories');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#getImageFileDirectories">getImageFileDirectories</a><tt class="py-op">(</tt><tt class="py-param">s [...]
+</div><div id="TiffIO.getImageFileDirectories-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO.getImageFileDirectories-expanded"><a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">fd</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">            <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">        <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_IFD</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">        <tt class="py-name">nImages</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'I'</tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">        <tt class="py-name">inStr</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-39', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">calcsize</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-40" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-40', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">inStr</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">            <tt class="py-name">offsetToIFD</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">            <tt class="py-name">offsetToIFD</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-41', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">inStr</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-42" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-42', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Offset to first IFD = %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">offsetToIFD</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">offsetToIFD</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_IFD</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">offsetToIFD</tt><tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line">            <tt class="py-name">nImages</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">offsetToIFD</tt><tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'H'</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">            <tt class="py-name">numberOfDirectoryEntries</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-43', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-44', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">calcsize</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-45" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-45', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Number of directory entries = %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">numberOfDirectoryEntries</tt><tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line"> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'I'</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">offsetToIFD</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt class="py-number">12</tt> <tt class="py-op">*</tt> <tt class="py-name">numberOfDirectoryEntries</tt><tt class="py-op">)</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">            <tt class="py-name">offsetToIFD</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-46', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-47', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">calcsize</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-48" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-48', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Next Offset to IFD = %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">offsetToIFD</tt><tt class="py-op">)</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">            <tt class="py-comment">#offsetToIFD = 0 </tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-49" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-49', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Number of images found = %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">nImages</tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">nImages</tt> </tt>
+</div><a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO._parseImageFileDirectory"></a><div id="TiffIO._parseImageFileDirectory-def"><a name="L232"></a><tt class="py-lineno"> 232</tt> <a class="py-toggle" href="#" id="TiffIO._parseImageFileDirectory-toggle" onclick="return toggle('TiffIO._parseImageFileDirectory');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#_parseImageFileDirectory">_parseImageFileDirectory</a><tt class="py-op">(</tt><tt class="py-pa [...]
+</div><div id="TiffIO._parseImageFileDirectory-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO._parseImageFileDirectory-expanded"><a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">        <tt class="py-name">offsetToIFD</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_IFD</tt><tt class="py-op">[</tt><tt class="py-name">nImage</tt><tt class="py-op">]</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line">        <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">        <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">offsetToIFD</tt><tt class="py-op">)</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'H'</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line">        <tt class="py-name">numberOfDirectoryEntries</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-50', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-51', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">calcsize</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-52" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-52', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Number of directory entries = %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">numberOfDirectoryEntries</tt><tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line"> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHI4s'</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">        <tt class="py-name">tagIDList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line">        <tt class="py-name">fieldTypeList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">        <tt class="py-name">nValuesList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line">        <tt class="py-name">valueOffsetList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-53" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-53', 'i', 'link-53');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">numberOfDirectoryEntries</tt><tt class="py-op">)</tt>< [...]
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">            <tt class="py-name">tagID</tt><tt class="py-op">,</tt> <tt class="py-name">fieldType</tt><tt class="py-op">,</tt> <tt class="py-name">nValues</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffset</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-54', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-55', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">12</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">            <tt class="py-name">tagIDList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">tagID</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">            <tt class="py-name">fieldTypeList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">fieldType</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">            <tt class="py-name">nValuesList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">nValues</tt><tt class="py-op">)</tt> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">nValues</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">                <tt class="py-name">ftype</tt><tt class="py-op">,</tt> <tt class="py-name">vfmt</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE" class="py-name" href="#" onclick="return doclink('link-56', 'FIELD_TYPE', 'link-17');">FIELD_TYPE</a></tt><tt class="py-op">[</tt><tt class="py-name">fieldType</tt><tt class="py-op">]</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">ftype</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'ASCII'</tt><tt class="py-op">,</tt> <tt class="py-string">'RATIONAL'</tt><tt class="py-op">,</tt> <tt class="py-string">'SRATIONAL'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">                    <tt class="py-name">vfmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-name">vfmt</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">                    <tt class="py-name">actualValue</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-57', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">vfmt</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffset</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">calcsize</tt><tt class="py-op">(</tt><tt class="py-name">vfmt</tt><tt class="p [...]
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">                    <tt class="py-name">valueOffsetList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">actualValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">                    <tt class="py-name">valueOffsetList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">valueOffset</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">nValues</tt> <tt class="py-op"><</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">fieldType</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">                <tt class="py-name">ftype</tt><tt class="py-op">,</tt> <tt class="py-name">vfmt</tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE" class="py-name" href="#" onclick="return doclink('link-58', 'FIELD_TYPE', 'link-17');">FIELD_TYPE</a></tt><tt class="py-op">[</tt><tt class="py-name">fieldType</tt><tt class="py-op">]</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">                <tt class="py-name">vfmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">"%d%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">nValues</tt><tt class="py-op">,</tt> <tt class="py-name">vfmt</tt><tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">                <tt class="py-name">actualValue</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-59', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">vfmt</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffset</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">calcsize</tt><tt class="py-op">(</tt><tt class="py-name">vfmt</tt><tt class="p [...]
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">                <tt class="py-name">valueOffsetList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">actualValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">                <tt class="py-name">valueOffsetList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">valueOffset</tt><tt class="py-op">)</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-60" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-60', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">tagID</tt> <tt class="py-keyword">in</tt> <tt id="link-61" class="py-name"><a title="fabio.TiffIO.TAG_ID" class="py-name" href="#" onclick="return doclink('link-61', 'TAG_ID', 'link-3');">TAG_ID</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"tagID = %s"</tt> <tt class="py-op">%</tt> <tt id="link-62" class="py-name"><a title="fabio.TiffIO.TAG_ID" class="py-name" href="#" onclick="return doclink('link-62', 'TAG_ID', 'link-3');">TAG_ID</a></tt><tt class="py-op">[</tt><tt class="py-name">tagID</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"tagID        = %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">tagID</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"fieldType    = %s"</tt> <tt class="py-op">%</tt> <tt id="link-63" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE" class="py-name" href="#" onclick="return doclink('link-63', 'FIELD_TYPE', 'link-17');">FIELD_TYPE</a></tt><tt class="py-op">[</tt><tt class="py-name">fieldType</tt><tt class="py-op">]</tt><tt class="py-op">[ [...]
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"nValues      = %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">nValues</tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">                <tt class="py-comment">#if nValues == 1:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">                <tt class="py-comment">#    print("valueOffset =  %s" % valueOffset)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">,</tt> <tt class="py-name">fieldTypeList</tt><tt class="py-op">,</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt> </tt>
+</div><a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line"> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line"> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO._readIFDEntry"></a><div id="TiffIO._readIFDEntry-def"><a name="L280"></a><tt class="py-lineno"> 280</tt> <a class="py-toggle" href="#" id="TiffIO._readIFDEntry-toggle" onclick="return toggle('TiffIO._readIFDEntry');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#_readIFDEntry">_readIFDEntry</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</t [...]
+</div><div id="TiffIO._readIFDEntry-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO._readIFDEntry-expanded"><a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">        <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">        <tt class="py-name">idx</tt> <tt class="py-op">=</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">        <tt class="py-name">nValues</tt> <tt class="py-op">=</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">        <tt class="py-name">output</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">        <tt class="py-name">ftype</tt><tt class="py-op">,</tt> <tt class="py-name">vfmt</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE" class="py-name" href="#" onclick="return doclink('link-64', 'FIELD_TYPE', 'link-17');">FIELD_TYPE</a></tt><tt class="py-op">[</tt><tt class="py-name">fieldTypeList</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt><tt class="py- [...]
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">        <tt class="py-name">vfmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">"%d%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">nValues</tt><tt class="py-op">,</tt> <tt class="py-name">vfmt</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">        <tt class="py-name">requestedBytes</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">calcsize</tt><tt class="py-op">(</tt><tt class="py-name">vfmt</tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">nValues</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">            <tt class="py-name">output</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">valueOffsetList</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">requestedBytes</tt> <tt class="py-op"><</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">            <tt class="py-name">output</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">valueOffsetList</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">            <tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-65', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">"I"</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]< [...]
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">            <tt class="py-name">output</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-66', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">vfmt</tt><tt class="py-op">,</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-67', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">requestedBytes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">output</tt> </tt>
+</div><a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO.getData"></a><div id="TiffIO.getData-def"><a name="L298"></a><tt class="py-lineno"> 298</tt> <a class="py-toggle" href="#" id="TiffIO.getData-toggle" onclick="return toggle('TiffIO.getData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#getData">getData</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nImage</tt><tt class="py-op">,</tt> <tt cl [...]
+</div><div id="TiffIO.getData-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO.getData-expanded"><a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">nImage</tt> <tt class="py-op">>=</tt> <tt id="link-68" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-68', 'len', 'link-27');">len</a></tt><tt class="py-op"> [...]
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">            <tt class="py-comment">#update prior to raise an index error error</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="fabio.TiffIO.TiffIO._updateIFD" class="py-name" href="#" onclick="return doclink('link-69', '_updateIFD', 'link-34');">_updateIFD</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Method fabio.TiffIO.TiffIO._readImage()=fabio.TiffIO.TiffIO-class.html#_readImage"><a title="fabio.TiffIO.TiffIO._readImage" class="py-name" href="#" onclick="return doclink('link-70', '_readImage', 'link-70');">_readImage</a></tt><tt class="py-op">(</tt><tt class="py-name">nImage< [...]
+</div><a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO.getImage"></a><div id="TiffIO.getImage-def"><a name="L304"></a><tt class="py-lineno"> 304</tt> <a class="py-toggle" href="#" id="TiffIO.getImage-toggle" onclick="return toggle('TiffIO.getImage');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#getImage">getImage</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nImage</tt><tt class="py-op">)</tt>< [...]
+</div><div id="TiffIO.getImage-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO.getImage-expanded"><a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name" targets="Method fabio.TiffIO.TiffIO.getData()=fabio.TiffIO.TiffIO-class.html#getData,Method fabio.edfimage.Frame.getData()=fabio.edfimage.Frame-class.html#ge [...]
+fabio.edfimage.Frame.getData
+fabio.edfimage.edfimage.getData" class="py-name" href="#" onclick="return doclink('link-71', 'getData', 'link-71');">getData</a></tt><tt class="py-op">(</tt><tt class="py-name">nImage</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO.getInfo"></a><div id="TiffIO.getInfo-def"><a name="L307"></a><tt class="py-lineno"> 307</tt> <a class="py-toggle" href="#" id="TiffIO.getInfo-toggle" onclick="return toggle('TiffIO.getInfo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#getInfo">getInfo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nImage</tt><tt class="py-op">,</tt> <tt cl [...]
+</div><div id="TiffIO.getInfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO.getInfo-expanded"><a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">nImage</tt> <tt class="py-op">>=</tt> <tt id="link-72" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-72', 'len', 'link-27');">len</a></tt><tt class="py-op"> [...]
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">            <tt class="py-comment">#update prior to raise an index error error</tt> </tt>
+<a name="L310"></a><tt class="py-lineno"> 310</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="fabio.TiffIO.TiffIO._updateIFD" class="py-name" href="#" onclick="return doclink('link-73', '_updateIFD', 'link-34');">_updateIFD</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">        <tt id="link-74" class="py-name" targets="Method fabio.file_series.file_series.current()=fabio.file_series.file_series-class.html#current,Method fabio.file_series.filename_series.current()=fabio.file_series.filename_series-class.html#current"><a title="fabio.file_series.file_series.current
+fabio.file_series.filename_series.current" class="py-name" href="#" onclick="return doclink('link-74', 'current', 'link-74');">current</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_IFD</tt><tt class="py-op">[</tt><tt class="py-name">nImage</tt><tt class="py-op">]</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name" targets="Method fabio.TiffIO.TiffIO._readInfo()=fabio.TiffIO.TiffIO-class.html#_readInfo"><a title="fabio.TiffIO.TiffIO._readInfo" class="py-name" href="#" onclick="return doclink('link-75', '_readInfo', 'link-75');">_readInfo</a></tt><tt class="py-op">(</tt><tt class="py-name">nImage</tt>< [...]
+</div><a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO._readInfo"></a><div id="TiffIO._readInfo-def"><a name="L314"></a><tt class="py-lineno"> 314</tt> <a class="py-toggle" href="#" id="TiffIO._readInfo-toggle" onclick="return toggle('TiffIO._readInfo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#_readInfo">_readInfo</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nImage</tt><tt class="py-op">, [...]
+</div><div id="TiffIO._readInfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO._readInfo-expanded"><a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">nImage</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCacheIndex</tt><tt class="py-op">:</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-76" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-76', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Reading info from cache"</tt><tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCache</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCacheIndex</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">nImage</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line"> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line">        <tt class="py-comment">#read the header</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="fabio.TiffIO.TiffIO.__makeSureFileIsOpen" class="py-name" href="#" onclick="return doclink('link-77', '__makeSureFileIsOpen', 'link-36');">__makeSureFileIsOpen</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">        <tt class="py-name">tagIDList</tt><tt class="py-op">,</tt> <tt class="py-name">fieldTypeList</tt><tt class="py-op">,</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method fabio.TiffIO.TiffIO._parseImageFileDirectory()=fabio.TiffIO.T [...]
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line"> </tt>
+<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">        <tt class="py-comment">#rows and columns</tt> </tt>
+<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">        <tt class="py-name">nColumns</tt> <tt class="py-op">=</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">[</tt><tt class="py-name">tagIDList</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt id="link-79" class="py-name"><a title="fabio.TiffIO.TAG_NUMBER_OF_COLUMNS" class="py-name" href="#" onclick="return doclink('link-79', 'TAG_NUMBER_OF_COLUMNS', 'link-4');">T [...]
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">        <tt class="py-name">nRows</tt> <tt class="py-op">=</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">[</tt><tt class="py-name">tagIDList</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt id="link-80" class="py-name"><a title="fabio.TiffIO.TAG_NUMBER_OF_ROWS" class="py-name" href="#" onclick="return doclink('link-80', 'TAG_NUMBER_OF_ROWS', 'link-5');">TAG_NUMBER [...]
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line"> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line">        <tt class="py-comment">#bits per sample</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line">        <tt class="py-name">idx</tt> <tt class="py-op">=</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt id="link-81" class="py-name"><a title="fabio.TiffIO.TAG_BITS_PER_SAMPLE" class="py-name" href="#" onclick="return doclink('link-81', 'TAG_BITS_PER_SAMPLE', 'link-6');">TAG_BITS_PER_SAMPLE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">        <tt class="py-name">nBits</tt> <tt class="py-op">=</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">            <tt class="py-comment">#this happens with RGB and friends, nBits is not a single value</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">            <tt class="py-name">nBits</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name" targets="Method fabio.TiffIO.TiffIO._readIFDEntry()=fabio.TiffIO.TiffIO-class.html#_readIFDEntry"><a title="fabio.TiffIO.TiffIO._readIFDEntry" class="py-name" href="#" onclick="return doclink('link-82', '_readIFDEntry', 'link-82');">_readIFDEntry</a></tt><tt class=" [...]
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">                                          <tt class="py-name">tagIDList</tt><tt class="py-op">,</tt> <tt class="py-name">fieldTypeList</tt><tt class="py-op">,</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">)</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line"> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line"> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-84" class="py-name"><a title="fabio.TiffIO.TAG_COLORMAP" class="py-name" href="#" onclick="return doclink('link-84', 'TAG_COLORMAP', 'link-15');">TAG_COLORMAP</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">:</tt> </tt>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">            <tt class="py-name">idx</tt> <tt class="py-op">=</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt id="link-85" class="py-name"><a title="fabio.TiffIO.TAG_COLORMAP" class="py-name" href="#" onclick="return doclink('link-85', 'TAG_COLORMAP', 'link-15');">TAG_COLORMAP</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">            <tt class="py-name">tmpColormap</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="fabio.TiffIO.TiffIO._readIFDEntry" class="py-name" href="#" onclick="return doclink('link-86', '_readIFDEntry', 'link-82');">_readIFDEntry</a></tt><tt class="py-op">(</tt><tt id="link-87" class="py-name"><a title="fabio.TiffIO.TAG_COLORMAP" class="py [...]
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line">                                          <tt class="py-name">tagIDList</tt><tt class="py-op">,</tt> <tt class="py-name">fieldTypeList</tt><tt class="py-op">,</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">)</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">tmpColormap</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">255</tt><tt class="py-op">:</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">                <tt class="py-name">tmpColormap</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-name">tmpColormap</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">                <tt class="py-name">tmpColormap</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">tmpColormap</tt> <tt class="py-op">/</tt> <tt class="py-number">256.</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class="py-op">)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">                <tt class="py-name">tmpColormap</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-name">tmpColormap</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">            <tt class="py-name">tmpColormap</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">            <tt class="py-name">colormap</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">tmpColormap</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <t [...]
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">            <tt class="py-name">colormap</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">tmpColormap</tt><tt class="py-op">.</tt><tt class="py-name">T</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line">            <tt class="py-name">tmpColormap</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line">            <tt class="py-name">colormap</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line"> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line">        <tt class="py-comment">#sample format</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-88" class="py-name"><a title="fabio.TiffIO.TAG_SAMPLE_FORMAT" class="py-name" href="#" onclick="return doclink('link-88', 'TAG_SAMPLE_FORMAT', 'link-16');">TAG_SAMPLE_FORMAT</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">:</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line">            <tt class="py-name">sampleFormat</tt> <tt class="py-op">=</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">[</tt><tt class="py-name">tagIDList</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt id="link-89" class="py-name"><a title="fabio.TiffIO.TAG_SAMPLE_FORMAT" class="py-name" href="#" onclick="return doclink('link-89', 'TAG_SAMPLE_FORMAT', 'link-16');"> [...]
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line">            <tt class="py-comment">#set to unknown</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">            <tt class="py-name">sampleFormat</tt> <tt class="py-op">=</tt> <tt id="link-90" class="py-name"><a title="fabio.TiffIO.SAMPLE_FORMAT_VOID" class="py-name" href="#" onclick="return doclink('link-90', 'SAMPLE_FORMAT_VOID', 'link-22');">SAMPLE_FORMAT_VOID</a></tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line"> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line">        <tt class="py-comment"># compression</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">        <tt id="link-91" class="py-name" targets="Module fabio.compression=fabio.compression-module.html"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-91', 'compression', 'link-91');">compression</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">        <tt class="py-name">compression_type</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-92" class="py-name"><a title="fabio.TiffIO.TAG_COMPRESSION" class="py-name" href="#" onclick="return doclink('link-92', 'TAG_COMPRESSION', 'link-8');">TAG_COMPRESSION</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">:</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line">            <tt class="py-name">compression_type</tt> <tt class="py-op">=</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">[</tt><tt class="py-name">tagIDList</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt id="link-93" class="py-name"><a title="fabio.TiffIO.TAG_COMPRESSION" class="py-name" href="#" onclick="return doclink('link-93', 'TAG_COMPRESSION', 'link-8');">T [...]
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">compression_type</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line">                <tt id="link-94" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-94', 'compression', 'link-91');">compression</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">                <tt id="link-95" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-95', 'compression', 'link-91');">compression</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line"> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line">        <tt class="py-comment">#photometric interpretation</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">        <tt class="py-name">interpretation</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-96" class="py-name"><a title="fabio.TiffIO.TAG_PHOTOMETRIC_INTERPRETATION" class="py-name" href="#" onclick="return doclink('link-96', 'TAG_PHOTOMETRIC_INTERPRETATION', 'link-7');">TAG_PHOTOMETRIC_INTERPRETATION</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">:</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line">            <tt class="py-name">interpretation</tt> <tt class="py-op">=</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">[</tt><tt class="py-name">tagIDList</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt id="link-97" class="py-name"><a title="fabio.TiffIO.TAG_PHOTOMETRIC_INTERPRETATION" class="py-name" href="#" onclick="return doclink('link-97', 'TAG_PHOTOMETRIC_IN [...]
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"WARNING: Non standard TIFF. Photometric interpretation TAG missing"</tt><tt class="py-op">)</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">        <tt class="py-name">helpString</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name" targets="Variable fabio.version=fabio-module.html#version"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-98', 'version', 'link-98');">version</a></tt> <tt class="py-op">></tt> <tt class="py-string">'2.6'</tt><tt class="py-op">:</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">            <tt class="py-name">helpString</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-string">'b""'</tt><tt class="py-op">)</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line"> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-99" class="py-name"><a title="fabio.TiffIO.TAG_IMAGE_DESCRIPTION" class="py-name" href="#" onclick="return doclink('link-99', 'TAG_IMAGE_DESCRIPTION', 'link-9');">TAG_IMAGE_DESCRIPTION</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">:</tt> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">            <tt class="py-name">imageDescription</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="fabio.TiffIO.TiffIO._readIFDEntry" class="py-name" href="#" onclick="return doclink('link-100', '_readIFDEntry', 'link-82');">_readIFDEntry</a></tt><tt class="py-op">(</tt><tt id="link-101" class="py-name"><a title="fabio.TiffIO.TAG_IMAGE_DESCR [...]
+<a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line">                    <tt class="py-name">tagIDList</tt><tt class="py-op">,</tt> <tt class="py-name">fieldTypeList</tt><tt class="py-op">,</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">)</tt> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">imageDescription</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">type< [...]
+<a name="L384"></a><tt class="py-lineno"> 384</tt>  <tt class="py-line">                <tt class="py-name">imageDescription</tt> <tt class="py-op">=</tt> <tt class="py-name">helpString</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">imageDescription</tt><tt class="py-op">)</tt> </tt>
+<a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line">            <tt class="py-name">imageDescription</tt> <tt class="py-op">=</tt> <tt class="py-string">"%d/%d"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">nImage</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt id="link-102" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-102', 'len',  [...]
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line"> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-103', 'version', 'link-98');">version</a></tt> <tt class="py-op"><</tt> <tt class="py-string">'3.0'</tt><tt class="py-op">:</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">            <tt class="py-name">defaultSoftware</tt> <tt class="py-op">=</tt> <tt class="py-string">"Unknown Software"</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line">            <tt class="py-name">defaultSoftware</tt> <tt class="py-op">=</tt> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-string">"Unknown Software"</tt><tt class="py-op">,</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line">                                    <tt class="py-name">encoding</tt><tt class="py-op">=</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-104" class="py-name"><a title="fabio.TiffIO.TAG_SOFTWARE" class="py-name" href="#" onclick="return doclink('link-104', 'TAG_SOFTWARE', 'link-13');">TAG_SOFTWARE</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">:</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line">            <tt class="py-name">software</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="fabio.TiffIO.TiffIO._readIFDEntry" class="py-name" href="#" onclick="return doclink('link-105', '_readIFDEntry', 'link-82');">_readIFDEntry</a></tt><tt class="py-op">(</tt><tt id="link-106" class="py-name"><a title="fabio.TiffIO.TAG_SOFTWARE" class="py [...]
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line">                    <tt class="py-name">tagIDList</tt><tt class="py-op">,</tt> <tt class="py-name">fieldTypeList</tt><tt class="py-op">,</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">)</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">software</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">type</tt><tt  [...]
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">                <tt class="py-name">software</tt> <tt class="py-op">=</tt> <tt class="py-name">helpString</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">software</tt><tt class="py-op">)</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">            <tt class="py-name">software</tt> <tt class="py-op">=</tt> <tt class="py-name">defaultSoftware</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line"> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">software</tt> <tt class="py-op">==</tt> <tt class="py-name">defaultSoftware</tt><tt class="py-op">:</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-107', 'version', 'link-98');">version</a></tt> <tt class="py-op"><</tt> <tt class="py-string">'3.0'</tt><tt class="py-op">:</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">imageDescription</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"IMAGEJ"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">                        <tt class="py-name">software</tt> <tt class="py-op">=</tt> <tt class="py-name">imageDescription</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"="</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">                    <tt class="py-name">tmpString</tt> <tt class="py-op">=</tt> <tt class="py-name">imageDescription</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">tmpString</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"IMAGEJ"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line">                        <tt class="py-name">software</tt> <tt class="py-op">=</tt> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">tmpString</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"="</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line">                                         <tt class="py-name">encoding</tt><tt class="py-op">=</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line"> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-108" class="py-name"><a title="fabio.TiffIO.TAG_DATE" class="py-name" href="#" onclick="return doclink('link-108', 'TAG_DATE', 'link-14');">TAG_DATE</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">:</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">            <tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="fabio.TiffIO.TiffIO._readIFDEntry" class="py-name" href="#" onclick="return doclink('link-109', '_readIFDEntry', 'link-82');">_readIFDEntry</a></tt><tt class="py-op">(</tt><tt id="link-110" class="py-name"><a title="fabio.TiffIO.TAG_DATE" class="py-name" h [...]
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">                    <tt class="py-name">tagIDList</tt><tt class="py-op">,</tt> <tt class="py-name">fieldTypeList</tt><tt class="py-op">,</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">)</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">type</tt><tt clas [...]
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line">                <tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt class="py-name">helpString</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">)</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">            <tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt class="py-string">"Unknown Date"</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line"> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line">        <tt class="py-name">stripOffsets</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="fabio.TiffIO.TiffIO._readIFDEntry" class="py-name" href="#" onclick="return doclink('link-111', '_readIFDEntry', 'link-82');">_readIFDEntry</a></tt><tt class="py-op">(</tt><tt id="link-112" class="py-name"><a title="fabio.TiffIO.TAG_STRIP_OFFSETS" clas [...]
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line">                        <tt class="py-name">tagIDList</tt><tt class="py-op">,</tt> <tt class="py-name">fieldTypeList</tt><tt class="py-op">,</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">)</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-113" class="py-name"><a title="fabio.TiffIO.TAG_ROWS_PER_STRIP" class="py-name" href="#" onclick="return doclink('link-113', 'TAG_ROWS_PER_STRIP', 'link-11');">TAG_ROWS_PER_STRIP</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">:</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line">            <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="fabio.TiffIO.TiffIO._readIFDEntry" class="py-name" href="#" onclick="return doclink('link-114', '_readIFDEntry', 'link-82');">_readIFDEntry</a></tt><tt class="py-op">(</tt><tt id="link-115" class="py-name"><a title="fabio.TiffIO.TAG_ROWS_PER_STRIP" [...]
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">                        <tt class="py-name">tagIDList</tt><tt class="py-op">,</tt> <tt class="py-name">fieldTypeList</tt><tt class="py-op">,</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">            <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">=</tt> <tt class="py-name">nRows</tt> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"WARNING: Non standard TIFF. Rows per strip TAG missing"</tt><tt class="py-op">)</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line"> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-116" class="py-name"><a title="fabio.TiffIO.TAG_STRIP_BYTE_COUNTS" class="py-name" href="#" onclick="return doclink('link-116', 'TAG_STRIP_BYTE_COUNTS', 'link-12');">TAG_STRIP_BYTE_COUNTS</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">tagIDList</tt><tt class="py-op">:</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">            <tt class="py-name">stripByteCounts</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="fabio.TiffIO.TiffIO._readIFDEntry" class="py-name" href="#" onclick="return doclink('link-117', '_readIFDEntry', 'link-82');">_readIFDEntry</a></tt><tt class="py-op">(</tt><tt id="link-118" class="py-name"><a title="fabio.TiffIO.TAG_STRIP_BYTE_C [...]
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">                        <tt class="py-name">tagIDList</tt><tt class="py-op">,</tt> <tt class="py-name">fieldTypeList</tt><tt class="py-op">,</tt> <tt class="py-name">nValuesList</tt><tt class="py-op">,</tt> <tt class="py-name">valueOffsetList</tt><tt class="py-op">)</tt> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"WARNING: Non standard TIFF. Strip byte counts TAG missing"</tt><tt class="py-op">)</tt> </tt>
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">nBits</tt><tt class="py-op">,</tt> <tt class="py-string">'index'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">                <tt class="py-name">expectedSum</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">nBits</tt><tt class="py-op">:</tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">                    <tt class="py-name">expectedSum</tt> <tt class="py-op">+=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">*</tt> <tt class="py-name">nColumns</tt> <tt class="py-op">*</tt> <tt class="py-name">n</tt> <tt class="py-op">/</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">                <tt class="py-name">expectedSum</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">*</tt> <tt class="py-name">nColumns</tt> <tt class="py-op">*</tt> <tt class="py-name">nBits</tt> <tt class="py-op">/</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line">            <tt class="py-name">stripByteCounts</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">expectedSum</tt><tt class="py-op">]</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line"> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">close</tt><tt class="py-op">:</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="fabio.TiffIO.TiffIO.__makeSureFileIsClosed" class="py-name" href="#" onclick="return doclink('link-119', '__makeSureFileIsClosed', 'link-38');">__makeSureFileIsClosed</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line"> </tt>
+<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forceMonoOutput</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">interpretation</tt> <tt class="py-op">></tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line">            <tt class="py-comment">#color image but asked monochrome output</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line">            <tt class="py-name">nBits</tt> <tt class="py-op">=</tt> <tt class="py-number">32</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line">            <tt class="py-name">colormap</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">            <tt class="py-name">sampleFormat</tt> <tt class="py-op">=</tt> <tt id="link-120" class="py-name"><a title="fabio.TiffIO.SAMPLE_FORMAT_FLOAT" class="py-name" href="#" onclick="return doclink('link-120', 'SAMPLE_FORMAT_FLOAT', 'link-21');">SAMPLE_FORMAT_FLOAT</a></tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line">            <tt class="py-name">interpretation</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line">            <tt class="py-comment">#we cannot rely on any cache in this case</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">            <tt class="py-name">useInfoCache</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-121" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-121', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"FORCED MONO"</tt><tt class="py-op">)</tt> </tt>
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">            <tt class="py-name">useInfoCache</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line"> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">        <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nRows"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">nRows</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nColumns"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">nColumns</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nBits"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">nBits</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"compression"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-122" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-122', 'compression', 'link-91');">compression</a></tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"compression_type"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">compression_type</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"imageDescription"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">imageDescription</tt> </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripOffsets"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">stripOffsets</tt> <tt class="py-comment">#This contains the file offsets to the data positions</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"rowsPerStrip"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">rowsPerStrip</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripByteCounts"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">stripByteCounts</tt> <tt class="py-comment">#bytes in strip since I do not support compression</tt> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"software"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">software</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"date"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">date</tt> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"colormap"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">colormap</tt> </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"sampleFormat"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">sampleFormat</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"photometricInterpretation"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">interpretation</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">        <tt class="py-name">infoDict</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-123', 'version', 'link-98');">version</a></tt> <tt class="py-op"><</tt> <tt class="py-string">'3.0'</tt><tt class="py-op">:</tt> </tt>
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">            <tt class="py-name">testString</tt> <tt class="py-op">=</tt> <tt class="py-string">'PyMca'</tt> </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">            <tt class="py-name">testString</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-string">'b"PyMca"'</tt><tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">software</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-name">testString</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line">            <tt class="py-comment">#str to make sure python 2.x sees it as string and not unicode</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-124', 'version', 'link-98');">version</a></tt> <tt class="py-op"><</tt> <tt class="py-string">'3.0'</tt><tt class="py-op">:</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">                <tt class="py-name">descriptionString</tt> <tt class="py-op">=</tt> <tt class="py-name">imageDescription</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">                <tt class="py-name">descriptionString</tt> <tt class="py-op">=</tt> <tt id="link-125" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-125', 'str', 'link-125');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">imageDescription</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">            <tt class="py-comment">#interpret the image description in terms of supplied</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">            <tt class="py-comment">#information at writing time</tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">            <tt class="py-name">items</tt> <tt class="py-op">=</tt> <tt class="py-name">descriptionString</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt><tt class="py-op">)</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-126" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-126', 'i', 'link-53');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-127" class="py-name"><a title="fabio.file_series.file_series.len" class= [...]
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">                <tt id="link-128" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-128', 'key', 'link-128');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">items</tt><tt class="py-op">[</tt><tt id="link-129" class="py-name"> [...]
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">                <tt class="py-comment">#get rid of the \n at the end of the value </tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">                <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">items</tt><tt class="py-op">[</tt><tt id="link-130" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-130', 'i', 'link-53');">i</a></tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt  [...]
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">                <tt class="py-name">infoDict</tt><tt class="py-op">[</tt><tt id="link-131" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-131', 'key', 'link-128');">key</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">'info'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infoDict</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line"> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_maxImageCacheLength</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">useInfoCache</tt><tt class="py-op">:</tt> </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCacheIndex</tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">nImage</tt><tt class="py-op">)</tt> </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCache</tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">info</tt><tt class="py-op">)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-132" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-132', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCacheIndex</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-name">self</tt>< [...]
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCacheIndex</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCacheIndex</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_maxImageCacheLength</tt><tt class="py-op">]</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCache</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageInfoCache</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_maxImageCacheLength</tt><tt class="py-op">]</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">info</tt> </tt>
+</div><a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO._readImage"></a><div id="TiffIO._readImage-def"><a name="L504"></a><tt class="py-lineno"> 504</tt> <a class="py-toggle" href="#" id="TiffIO._readImage-toggle" onclick="return toggle('TiffIO._readImage');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#_readImage">_readImage</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nImage</tt><tt class="py [...]
+</div><div id="TiffIO._readImage-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO._readImage-expanded"><a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-133" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-133', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Reading image %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">nImage</tt><tt class="py-op">)</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'close'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kw</tt><tt class="py-op">:</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">            <tt class="py-name">close</tt> <tt class="py-op">=</tt> <tt class="py-name">kw</tt><tt class="py-op">[</tt><tt class="py-string">'close'</tt><tt class="py-op">]</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">            <tt class="py-name">close</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">        <tt class="py-name">rowMin</tt> <tt class="py-op">=</tt> <tt class="py-name">kw</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'rowMin'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">        <tt class="py-name">rowMax</tt> <tt class="py-op">=</tt> <tt class="py-name">kw</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">'rowMax'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">nImage</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCacheIndex</tt><tt class="py-op">:</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-134" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-134', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Reading image data from cache"</tt><tt class="py-op">)</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCache</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCacheIndex</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">nImage</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line"> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="fabio.TiffIO.TiffIO.__makeSureFileIsOpen" class="py-name" href="#" onclick="return doclink('link-135', '__makeSureFileIsOpen', 'link-36');">__makeSureFileIsOpen</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forceMonoOutput</tt><tt class="py-op">:</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">            <tt class="py-name">oldMono</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">            <tt class="py-name">oldMono</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forceMonoOutput</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">            <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="fabio.TiffIO.TiffIO._readInfo" class="py-name" href="#" onclick="return doclink('link-136', '_readInfo', 'link-75');">_readInfo</a></tt><tt class="py-op">(</tt><tt class="py-name">nImage</tt><tt class="py-op">,</tt> <tt class="py-name">close</tt><tt class= [...]
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forceMonoOutput</tt> <tt class="py-op">=</tt> <tt class="py-name">oldMono</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forceMonoOutput</tt> <tt class="py-op">=</tt> <tt class="py-name">oldMono</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">        <tt id="link-137" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-137', 'compression', 'link-91');">compression</a></tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">'compression'</tt><tt class="py-op">]</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">        <tt class="py-name">compression_type</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">'compression_type'</tt><tt class="py-op">]</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-138" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-138', 'compression', 'link-91');">compression</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">compression_type</tt> <tt class="py-op">!=</tt> <tt class="py-number">32773</tt><tt class="py-op">:</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">"Compressed TIFF images not supported except packbits"</tt><tt class="py-op">)</tt> </tt>
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">                <tt class="py-comment">#PackBits compression</tt> </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-139" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-139', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">                    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Using PackBits compression"</tt><tt class="py-op">)</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line"> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">        <tt class="py-name">interpretation</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"photometricInterpretation"</tt><tt class="py-op">]</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">interpretation</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">            <tt class="py-comment">#RGB</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">            <tt class="py-comment">#raise IOError("RGB Image. Only grayscale images supported")</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">interpretation</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">            <tt class="py-comment">#Palette Color Image</tt> </tt>
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">            <tt class="py-comment">#raise IOError("Palette-color Image. Only grayscale images supported")</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">interpretation</tt> <tt class="py-op">></tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">            <tt class="py-comment">#Palette Color Image</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">"Only grayscale images supported"</tt><tt class="py-op">)</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line"> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">        <tt class="py-name">nRows</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nRows"</tt><tt class="py-op">]</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">        <tt class="py-name">nColumns</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nColumns"</tt><tt class="py-op">]</tt> </tt>
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">        <tt class="py-name">nBits</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nBits"</tt><tt class="py-op">]</tt> </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">        <tt class="py-name">colormap</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"colormap"</tt><tt class="py-op">]</tt> </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">        <tt class="py-name">sampleFormat</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"sampleFormat"</tt><tt class="py-op">]</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line"> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rowMin</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">            <tt class="py-name">rowMin</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line"> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rowMax</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">            <tt class="py-name">rowMax</tt> <tt class="py-op">=</tt> <tt class="py-name">nRows</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line"> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rowMin</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">            <tt class="py-name">rowMin</tt> <tt class="py-op">=</tt> <tt class="py-name">nRows</tt> <tt class="py-op">-</tt> <tt class="py-name">rowMin</tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line"> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rowMax</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">            <tt class="py-name">rowMax</tt> <tt class="py-op">=</tt> <tt class="py-name">nRows</tt> <tt class="py-op">-</tt> <tt class="py-name">rowMax</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line"> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rowMax</tt> <tt class="py-op"><</tt> <tt class="py-name">rowMin</tt><tt class="py-op">:</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">            <tt class="py-name">txt</tt> <tt class="py-op">=</tt> <tt class="py-string">"Max Row smaller than Min Row. Reverse selection not supported"</tt> </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplemented</tt><tt class="py-op">(</tt><tt class="py-name">txt</tt><tt class="py-op">)</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line"> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rowMin</tt> <tt class="py-op">>=</tt> <tt class="py-name">nRows</tt><tt class="py-op">:</tt> </tt>
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IndexError</tt><tt class="py-op">(</tt><tt class="py-string">"Image only has %d rows"</tt> <tt class="py-op">%</tt> <tt class="py-name">nRows</tt><tt class="py-op">)</tt> </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line"> </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rowMax</tt> <tt class="py-op">>=</tt> <tt class="py-name">nRows</tt><tt class="py-op">:</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IndexError</tt><tt class="py-op">(</tt><tt class="py-string">"Image only has %d rows"</tt> <tt class="py-op">%</tt> <tt class="py-name">nRows</tt><tt class="py-op">)</tt> </tt>
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line"> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sampleFormat</tt> <tt class="py-op">==</tt> <tt id="link-140" class="py-name"><a title="fabio.TiffIO.SAMPLE_FORMAT_FLOAT" class="py-name" href="#" onclick="return doclink('link-140', 'SAMPLE_FORMAT_FLOAT', 'link-21');">SAMPLE_FORMAT_FLOAT</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">nBits</tt> <tt class="py-op">==</tt> <tt class="py-number">32</tt><tt class="py-op">:</tt> </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">nBits</tt> <tt class="py-op">==</tt> <tt class="py-number">64</tt><tt class="py-op">:</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Unsupported number of bits for a float: %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">nBits</tt><tt class="py-op">)</tt> </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">sampleFormat</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt id="link-141" class="py-name"><a title="fabio.TiffIO.SAMPLE_FORMAT_UINT" class="py-name" href="#" onclick="return doclink('link-141', 'SAMPLE_FORMAT_UINT', 'link-19');">SAMPLE_FORMAT_UINT</a></tt><tt class="py-op">,</tt> <tt id="link-142" class="py-name"><a title="fabio.TiffIO.SAMP [...]
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">nBits</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt cla [...]
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">nBits</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt>< [...]
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt> </tt>
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">nBits</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">32</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">32</tt><tt class="py-op">,</tt> <tt class="py-number">32</tt><tt class="py-op">,</tt> <tt class="py-number">32</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt>< [...]
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt> </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">nBits</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">64</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">64</tt><tt class="py-op">,</tt> <tt class="py-number">64</tt><tt class="py-op">,</tt> <tt class="py-number">64</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt>< [...]
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint64</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Unsupported number of bits for unsigned int: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">nBits</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">sampleFormat</tt> <tt class="py-op">==</tt> <tt id="link-143" class="py-name"><a title="fabio.TiffIO.SAMPLE_FORMAT_INT" class="py-name" href="#" onclick="return doclink('link-143', 'SAMPLE_FORMAT_INT', 'link-20');">SAMPLE_FORMAT_INT</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">nBits</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt cla [...]
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int8</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">nBits</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-number">16</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt>< [...]
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int16</tt> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">nBits</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">32</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">32</tt><tt class="py-op">,</tt> <tt class="py-number">32</tt><tt class="py-op">,</tt> <tt class="py-number">32</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt>< [...]
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">nBits</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">64</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-number">64</tt><tt class="py-op">,</tt> <tt class="py-number">64</tt><tt class="py-op">,</tt> <tt class="py-number">64</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt>< [...]
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int64</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Unsupported number of bits for signed int: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">nBits</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Unsupported combination. Bits = %s  Format = %d"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">nBits</tt><tt class="py-op">,</tt> <tt class="py-name">sampleFormat</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">nBits</tt><tt class="py-op">,</tt> <tt class="py-string">'index'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">            <tt class="py-name">image</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt><tt class="py-op">,</tt> <tt id="link-144" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onc [...]
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">colormap</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">            <tt class="py-comment">#should I use colormap dtype?</tt> </tt>
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">            <tt class="py-name">image</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt> [...]
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">            <tt class="py-name">image</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">dtype</tt [...]
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line"> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">        <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">        <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">        <tt class="py-name">stripOffsets</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripOffsets"</tt><tt class="py-op">]</tt> <tt class="py-comment">#This contains the file offsets to the data positions</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">        <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"rowsPerStrip"</tt><tt class="py-op">]</tt> </tt>
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">        <tt class="py-name">stripByteCounts</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripByteCounts"</tt><tt class="py-op">]</tt> <tt class="py-comment">#bytes in strip since I do not support compression</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line"> </tt>
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line">        <tt class="py-name">rowStart</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-145" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-145', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">stripOffsets</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">            <tt class="py-name">bytesPerRow</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">stripByteCounts</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">/</tt> <tt class="py-name">rowsPerStrip</tt><tt class="py-op">)</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">stripOffsets</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">rowMin</tt> <tt class="py-op">*</tt> <tt class="py-name">bytesPerRow</tt><tt class="py-op">)</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">            <tt class="py-name">nBytes</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">rowMax</tt> <tt class="py-op">-</tt> <tt class="py-name">rowMin</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">bytesPerRow</tt> </tt>
+<a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_swap</tt><tt class="py-op">:</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line">                <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-146', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">nBytes</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L634"></a><tt class="py-lineno"> 634</tt>  <tt class="py-line">                <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-147', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">nBytes</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">)</tt> </tt>
+<a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">nBits</tt><tt class="py-op">,</tt> <tt class="py-string">'index'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line">                <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt><tt class="py-op">,</tt> <tt id="link-148" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-148', 'len', 'link-27') [...]
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">'colormap'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line">                <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">colormap</tt><tt class="py-op">[</tt><tt class="py-name">readout</tt><tt class="py-op">]</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line">                <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line">            <tt class="py-name">image</tt><tt class="py-op">[</tt><tt class="py-name">rowMin</tt><tt class="py-op">:</tt><tt class="py-name">rowMax</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">readout</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-149" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-149', 'i', 'link-53');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt id="link-150" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-150 [...]
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line">                <tt class="py-comment">#the amount of rows</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line">                <tt class="py-name">nRowsToRead</tt> <tt class="py-op">=</tt> <tt class="py-name">rowsPerStrip</tt> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">                <tt class="py-name">rowEnd</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">rowStart</tt> <tt class="py-op">+</tt> <tt class="py-name">nRowsToRead</tt><tt class="py-op">,</tt> <tt class="py-name">nRows</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">rowEnd</tt> <tt class="py-op"><</tt> <tt class="py-name">rowMin</tt><tt class="py-op">:</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">                    <tt class="py-name">rowStart</tt> <tt class="py-op">+=</tt> <tt class="py-name">nRowsToRead</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">rowStart</tt> <tt class="py-op">></tt> <tt class="py-name">rowMax</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">                <tt class="py-comment">#we are in position</tt> </tt>
+<a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">                <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">stripOffsets</tt><tt class="py-op">[</tt><tt id="link-151" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-151', 'i', 'link-53');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">                <tt class="py-comment">#the amount of bytes to read</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line">                <tt class="py-name">nBytes</tt> <tt class="py-op">=</tt> <tt class="py-name">stripByteCounts</tt><tt class="py-op">[</tt><tt id="link-152" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-152', 'i', 'link-53');">i</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">compression_type</tt> <tt class="py-op">==</tt> <tt class="py-number">32773</tt><tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line">                        <tt class="py-name">bufferBytes</tt> <tt class="py-op">=</tt> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line">                        <tt class="py-comment">#python 2.5 ...</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line">                        <tt class="py-name">bufferBytes</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line">                    <tt class="py-comment">#packBits</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line">                    <tt class="py-name">readBytes</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">                    <tt class="py-comment">#intermediate buffer</tt> </tt>
+<a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line">                    <tt class="py-name">tmpBuffer</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-153', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">nBytes</tt><tt class="py-op">)</tt> </tt>
+<a name="L666"></a><tt class="py-lineno"> 666</tt>  <tt class="py-line">                    <tt class="py-keyword">while</tt> <tt class="py-name">readBytes</tt> <tt class="py-op"><</tt> <tt class="py-name">nBytes</tt><tt class="py-op">:</tt> </tt>
+<a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">                        <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-154', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-name">tmpBuffer</tt><tt class="py-op">[</tt><tt class="py-name">readBytes</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-name">readBytes</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="p [...]
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line">                        <tt class="py-name">readBytes</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">>=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">                            <tt class="py-comment">#should I prevent reading more than the</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line">                            <tt class="py-comment">#length of the chain? Let's python raise</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line">                            <tt class="py-comment">#the exception...</tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">                            <tt class="py-name">bufferBytes</tt> <tt class="py-op">+=</tt> <tt class="py-name">tmpBuffer</tt><tt class="py-op">[</tt><tt class="py-name">readBytes</tt><tt class="py-op">:</tt>\ </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">                                                      <tt class="py-name">readBytes</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line">                            <tt class="py-name">readBytes</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">                        <tt class="py-keyword">elif</tt> <tt class="py-name">n</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">128</tt><tt class="py-op">:</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">                            <tt class="py-name">bufferBytes</tt> <tt class="py-op">+=</tt> <tt class="py-op">(</tt><tt class="py-op">-</tt><tt class="py-name">n</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">tmpBuffer</tt><tt class="py-op">[</tt><tt class="py-name">readBytes</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class=" [...]
+<a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line">                            <tt class="py-name">readBytes</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L680"></a><tt class="py-lineno"> 680</tt>  <tt class="py-line">                            <tt class="py-comment">#if read -128 ignore the byte</tt> </tt>
+<a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">                            <tt class="py-keyword">continue</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_swap</tt><tt class="py-op">:</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line">                        <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">bufferBytes</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">                        <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">bufferBytes</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">)</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">nBits</tt><tt class="py-op">,</tt> <tt class="py-string">'index'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line">                        <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt><tt class="py-op">,</tt> <tt id="link-155" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-155', 'len', 'l [...]
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">                    <tt class="py-keyword">elif</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">'colormap'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line">                        <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">colormap</tt><tt class="py-op">[</tt><tt class="py-name">readout</tt><tt class="py-op">]</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">                        <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">                        <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">                    <tt class="py-name">image</tt><tt class="py-op">[</tt><tt class="py-name">rowStart</tt><tt class="py-op">:</tt><tt class="py-name">rowEnd</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">readout</tt> </tt>
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line">                        <tt class="py-comment">#use numpy</tt> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_swap</tt><tt class="py-op">:</tt> </tt>
+<a name="L698"></a><tt class="py-lineno"> 698</tt>  <tt class="py-line">                            <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-156', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">nBytes</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line">                            <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-157', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">nBytes</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">)</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">nBits</tt><tt class="py-op">,</tt> <tt class="py-string">'index'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line">                            <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt><tt class="py-op">,</tt> <tt id="link-158" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-158', 'len' [...]
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line">                        <tt class="py-keyword">elif</tt> <tt class="py-name">colormap</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line">                            <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">colormap</tt><tt class="py-op">[</tt><tt class="py-name">readout</tt><tt class="py-op">]</tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line">                            <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line">                            <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">                        <tt class="py-name">image</tt><tt class="py-op">[</tt><tt class="py-name">rowStart</tt><tt class="py-op">:</tt><tt class="py-name">rowEnd</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">readout</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">                        <tt class="py-comment">#using struct</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">                        <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-159', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">"%df"</tt> <tt class="py-op">%</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">nBytes</tt> <tt class="py-op">/</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">fd [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-160', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">nBytes</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">                                              <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">dtype</tt><tt class="py-op">)</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">nBits</tt><tt class="py-op">,</tt> <tt class="py-string">'index'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">                            <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt><tt class="py-op">,</tt> <tt id="link-161" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-161', 'len' [...]
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">                        <tt class="py-keyword">elif</tt> <tt class="py-name">colormap</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">                            <tt class="py-name">readout</tt> <tt class="py-op">=</tt> <tt class="py-name">colormap</tt><tt class="py-op">[</tt><tt class="py-name">readout</tt><tt class="py-op">]</tt> </tt>
+<a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line">                            <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt><tt class="py-op">,</tt> <tt class="py-number">3</tt> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L719"></a><tt class="py-lineno"> 719</tt>  <tt class="py-line">                            <tt class="py-name">readout</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt> </tt>
+<a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">                        <tt class="py-name">image</tt><tt class="py-op">[</tt><tt class="py-name">rowStart</tt><tt class="py-op">:</tt><tt class="py-name">rowEnd</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">readout</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line">                <tt class="py-name">rowStart</tt> <tt class="py-op">+=</tt> <tt class="py-name">nRowsToRead</tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">close</tt><tt class="py-op">:</tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="fabio.TiffIO.TiffIO.__makeSureFileIsClosed" class="py-name" href="#" onclick="return doclink('link-162', '__makeSureFileIsClosed', 'link-38');">__makeSureFileIsClosed</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line"> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-163" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-163', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</t [...]
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line">            <tt class="py-comment">#color image</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_forceMonoOutput</tt><tt class="py-op">:</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line">                <tt class="py-comment">#color image, convert to monochrome</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line">                <tt class="py-name">image</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">image</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-number">0.114</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line">                         <tt class="py-name">image</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-number">0.587</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line">                         <tt class="py-name">image</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-number">0.299</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt> [...]
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line"> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">rowMin</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">rowMax</tt> <tt class="py-op">==</tt> <tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> [...]
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCacheIndex</tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">nImage</tt><tt class="py-op">)</tt> </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCache</tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">image</tt><tt class="py-op">)</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-164" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-164', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCacheIndex</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-name">self</tt>< [...]
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCacheIndex</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCacheIndex</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_maxImageCacheLength</tt><tt class="py-op">]</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCache</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_imageDataCache</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_maxImageCacheLength</tt><tt class="py-op">]</tt> </tt>
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line"> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">image</tt> </tt>
+</div><a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO.writeImage"></a><div id="TiffIO.writeImage-def"><a name="L742"></a><tt class="py-lineno"> 742</tt> <a class="py-toggle" href="#" id="TiffIO.writeImage-toggle" onclick="return toggle('TiffIO.writeImage');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#writeImage">writeImage</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">image0</tt><tt class="py [...]
+</div><div id="TiffIO.writeImage-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO.writeImage-expanded"><a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">software</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line">            <tt class="py-name">software</tt> <tt class="py-op">=</tt> <tt class="py-string">'PyMca.TiffIO'</tt> </tt>
+<a name="L745"></a><tt class="py-lineno"> 745</tt>  <tt class="py-line">        <tt class="py-comment">#if date is None:</tt> </tt>
+<a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">        <tt class="py-comment">#    date = time.ctime()</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line"> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="fabio.TiffIO.TiffIO.__makeSureFileIsOpen" class="py-name" href="#" onclick="return doclink('link-165', '__makeSureFileIsOpen', 'link-36');">__makeSureFileIsOpen</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line">        <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line">        <tt class="py-comment">#prior to do anything, perform some tests</tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-166" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-166', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">image0</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Empty image"</tt><tt class="py-op">)</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-167" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-167', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">image0</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</ [...]
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line">            <tt class="py-comment">#get a different view</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line">            <tt class="py-name">image</tt> <tt class="py-op">=</tt> <tt class="py-name">image0</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line">            <tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">            <tt class="py-name">image</tt> <tt class="py-op">=</tt> <tt class="py-name">image0</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line"> </tt>
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt> <tt class="py-op">==</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">:</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">            <tt class="py-name">image</tt> <tt class="py-op">=</tt> <tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">)</tt> </tt>
+<a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line">        <tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">mode</tt> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> </tt>
+<a name="L765"></a><tt class="py-lineno"> 765</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'w'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">mode</tt><tt class="py-op">:</tt> </tt>
+<a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">            <tt class="py-comment">#we have to overwrite the file</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="fabio.TiffIO.TiffIO.__makeSureFileIsClosed" class="py-name" href="#" onclick="return doclink('link-168', '__makeSureFileIsClosed', 'link-38');">__makeSureFileIsClosed</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line">            <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name" targets="Method fabio.cbfimage.CIF.exists()=fabio.cbfimage.CIF-class.html#exists"><a title="fabio.cbfimage.CIF.exists" class="py-name" href="#" onclick="return doclink('link-169', 'exists', 'link-169');">exists</a></tt><tt class="py-op">(< [...]
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line">                <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line">            <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-string">'wb+'</tt><tt class="py-op">)</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name" targets="Method fabio.TiffIO.TiffIO._initEmptyFile()=fabio.TiffIO.TiffIO-class.html#_initEmptyFile"><a title="fabio.TiffIO.TiffIO._initEmptyFile" class="py-name" href="#" onclick="return doclink('link-170', '_initEmptyFile', 'link-170');">_initEmptyFile</a></tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt clas [...]
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line"> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line">        <tt class="py-comment">#read the file size</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="fabio.TiffIO.TiffIO.__makeSureFileIsOpen" class="py-name" href="#" onclick="return doclink('link-171', '__makeSureFileIsOpen', 'link-36');">__makeSureFileIsOpen</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line">        <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_END</tt><tt class="py-op">)</tt> </tt>
+<a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">        <tt class="py-name">endOfFile</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L781"></a><tt class="py-lineno"> 781</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="fabio.TiffIO.TiffIO._initEmptyFile" class="py-name" href="#" onclick="return doclink('link-172', '_initEmptyFile', 'link-170');">_initEmptyFile</a></tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">)</tt> </tt>
+<a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_END</tt><tt class="py-op">)</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line">            <tt class="py-name">endOfFile</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line">        <tt class="py-comment">#init internal variables</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="fabio.TiffIO.TiffIO._initInternalVariables" class="py-name" href="#" onclick="return doclink('link-173', '_initInternalVariables', 'link-25');">_initInternalVariables</a></tt><tt class="py-op">(</tt><tt class="py-name">fd</tt><tt class="py-op">)</tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line">        <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line"> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line">        <tt class="py-comment">#get the image file directories</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line">        <tt class="py-name">nImages</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="fabio.TiffIO.TiffIO.getImageFileDirectories" class="py-name" href="#" onclick="return doclink('link-174', 'getImageFileDirectories', 'link-31');">getImageFileDirectories</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-175" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-175', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"File contains %d images"</tt> <tt class="py-op">%</tt> <tt class="py-name">nImages</tt><tt class="py-op">)</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">nImages</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'I'</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name" targets="Method fabio.GEimage.GEimage.write()=fabio.GEimage.GEimage-class.html#write,Method fabio.OXDimage.OXDimage.write()=fabio.OXDimage.OXDimage-class.html#write,Method fabio.adscimage.adscimage.write()=fabio.adscimage.adscimage-class.html#write,Method fabio.binaryimage.binaryimage.write()=fabio.binaryimage.binaryimage [...]
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-176', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">endOfFile</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_IFD</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'H'</tt> </tt>
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">            <tt class="py-name">numberOfDirectoryEntries</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-177', 'unpack', 'link-29');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-178', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">calcsize</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'I'</tt> </tt>
+<a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line">            <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_IFD</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt class="py-number">12</tt> <tt class="py-op">*</tt> <tt class="py-name">numberOfDirectory [...]
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">pos</tt><tt class="py-op">)</tt> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'I'</tt> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-179', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">endOfFile</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L806"></a><tt class="py-lineno"> 806</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">flush</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line"> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line">        <tt class="py-comment">#and we can write at the end of the file, find out the file length</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_END</tt><tt class="py-op">)</tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line"> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line">        <tt class="py-comment">#get the description information from the input information</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">info</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line">            <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-name">info</tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line">            <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s"</tt> <tt class="py-op">%</tt> <tt class="py-string">""</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-180" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-180', 'key', 'link-128');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">info</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">                <tt class="py-name">description</tt> <tt class="py-op">+=</tt> <tt class="py-string">"%s=%s\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-181" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-181', 'key', 'link-128');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt id="link-182" [...]
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line"> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">        <tt class="py-comment">#get the image file directory</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name" targets="Method fabio.TiffIO.TiffIO._getOutputIFD()=fabio.TiffIO.TiffIO-class.html#_getOutputIFD"><a title="fabio.TiffIO.TiffIO._getOutputIFD" class="py-name" href="#" onclick="return doclink('link-183', '_getOutputIFD', 'link-183');">_getOutputIFD</a></tt><tt clas [...]
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">                                              <tt class="py-name">software</tt><tt class="py-op">=</tt><tt class="py-name">software</tt><tt class="py-op">,</tt> </tt>
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">                                              <tt class="py-name">date</tt><tt class="py-op">=</tt><tt class="py-name">date</tt><tt class="py-op">)</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line"> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">        <tt class="py-comment">#write the new IFD</tt> </tt>
+<a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-184', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">outputIFD</tt><tt class="py-op">)</tt> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line"> </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line">        <tt class="py-comment">#write the image</tt> </tt>
+<a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_swap</tt><tt class="py-op">:</tt> </tt>
+<a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-185', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name" targets="Method fabio.cbfimage.CIF.tostring()=fabio.cbfimage.CIF-class.html#tostring,Method fabio.fabioutils.filename_object.tostring()=fabio.fabi [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-186', 'tostring', 'link-186');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-187', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">image</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-188', 'tostring', 'link-186');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line"> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">flush</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">fd</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="fabio.TiffIO.TiffIO.__makeSureFileIsClosed" class="py-name" href="#" onclick="return doclink('link-189', '__makeSureFileIsClosed', 'link-38');">__makeSureFileIsClosed</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO._initEmptyFile"></a><div id="TiffIO._initEmptyFile-def"><a name="L837"></a><tt class="py-lineno"> 837</tt> <a class="py-toggle" href="#" id="TiffIO._initEmptyFile-toggle" onclick="return toggle('TiffIO._initEmptyFile');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#_initEmptyFile">_initEmptyFile</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param"> [...]
+</div><div id="TiffIO._initEmptyFile-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO._initEmptyFile-expanded"><a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">fd</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">            <tt class="py-name">fd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">byteorder</tt> <tt class="py-op">==</tt> <tt class="py-string">"little"</tt><tt class="py-op">:</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">            <tt class="py-name">order</tt> <tt class="py-op">=</tt> <tt class="py-string">"II"</tt> </tt>
+<a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line">            <tt class="py-comment">#intel, little endian</tt> </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">            <tt class="py-name">fileOrder</tt> <tt class="py-op">=</tt> <tt class="py-string">"little"</tt> </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> <tt class="py-op">=</tt> <tt class="py-string">'<'</tt> </tt>
+<a name="L845"></a><tt class="py-lineno"> 845</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">            <tt class="py-name">order</tt> <tt class="py-op">=</tt> <tt class="py-string">"MM"</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line">            <tt class="py-comment">#motorola, high endian</tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line">            <tt class="py-name">fileOrder</tt> <tt class="py-op">=</tt> <tt class="py-string">"big"</tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> <tt class="py-op">=</tt> <tt class="py-string">'>'</tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line">        <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">fileOrder</tt> <tt class="py-op">==</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">byteorder</tt><tt class="py-op">:</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_swap</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_swap</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-190', 'version', 'link-98');">version</a></tt> <tt class="py-op"><</tt> <tt class="py-string">'3.0'</tt><tt class="py-op">:</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-191', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'2s'</tt><tt class="py-op">,</tt> <tt class="py-name">order</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-192', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'H'</tt><tt class="py-op">,</tt> <tt class="py-number">42</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-193', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'I'</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-194', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'2s'</tt><tt class="py-op">,</tt> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">order</tt><tt class="py-op">,</tt> <tt class="py [...]
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-195', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'H'</tt><tt class="py-op">,</tt> <tt class="py-number">42</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">            <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-196', 'write', 'link-176');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'I'</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">        <tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">flush</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line"> </tt>
+<a name="TiffIO._getOutputIFD"></a><div id="TiffIO._getOutputIFD-def"><a name="L866"></a><tt class="py-lineno"> 866</tt> <a class="py-toggle" href="#" id="TiffIO._getOutputIFD-toggle" onclick="return toggle('TiffIO._getOutputIFD');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.TiffIO.TiffIO-class.html#_getOutputIFD">_getOutputIFD</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">image< [...]
+</div><div id="TiffIO._getOutputIFD-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TiffIO._getOutputIFD-expanded"><a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">        <tt class="py-comment">#the tags have to be in order</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">        <tt class="py-comment">#the very minimum is</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">        <tt class="py-comment">#256:"NumberOfColumns",           # S or L ImageWidth</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">        <tt class="py-comment">#257:"NumberOfRows",              # S or L ImageHeight</tt> </tt>
+<a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">        <tt class="py-comment">#258:"BitsPerSample",             # S Number of bits per component</tt> </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line">        <tt class="py-comment">#259:"Compression",               # SHORT (1 - NoCompression, ... </tt> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line">        <tt class="py-comment">#262:"PhotometricInterpretation", # SHORT (0 - WhiteIsZero, 1 -BlackIsZero, 2 - RGB, 3 - Palette color</tt> </tt>
+<a name="L874"></a><tt class="py-lineno"> 874</tt>  <tt class="py-line">        <tt class="py-comment">#270:"ImageDescription",          # ASCII</tt> </tt>
+<a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">        <tt class="py-comment">#273:"StripOffsets",              # S or L, for each strip, the byte offset of the strip</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line">        <tt class="py-comment">#278:"RowsPerStrip",              # S or L, number of rows in each back may be not for the last</tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line">        <tt class="py-comment">#279:"StripByteCounts",           # S or L, The number of bytes in the strip AFTER any compression</tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line">        <tt class="py-comment">#305:"Software",                  # ASCII</tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line">        <tt class="py-comment">#306:"Date",                      # ASCII</tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line">        <tt class="py-comment">#339:"SampleFormat",              # SHORT Interpretation of data in each pixel</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line"> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line">        <tt class="py-name">nDirectoryEntries</tt> <tt class="py-op">=</tt> <tt class="py-number">9</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line">        <tt class="py-name">imageDescription</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">description</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line">            <tt class="py-name">descriptionLength</tt> <tt class="py-op">=</tt> <tt id="link-197" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-197', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">description</tt><tt class="py-op">)</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">descriptionLength</tt> <tt class="py-op"><</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line">                <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-name">description</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line">                <tt class="py-name">descriptionLength</tt> <tt class="py-op">=</tt> <tt id="link-198" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-198', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">description</tt><tt class="py-op">)</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-199', 'version', 'link-98');">version</a></tt> <tt class="py-op">>=</tt> <tt class="py-string">'3.0'</tt><tt class="py-op">:</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line">                <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">description</tt><tt class="py-op">,</tt> <tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">description</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">                    <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-name">description</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">UnicodeDecodeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">                        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-name">description</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">'latin-1'</tt><tt class="py-op">)</tt> </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">UnicodeDecodeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">                        <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">description</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-200', 'version', 'link-98');">version</a></tt> <tt class="py-op">></tt> <tt class="py-string">'2.6'</tt><tt class="py-op">:</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">                    <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-name">description</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">'utf-8'</tt><tt class="py-op">,</tt> <tt class="py-name">errors</tt><tt class="py-op">=</tt><tt class="py-string">"ignore"</tt><tt class="py-op">)</tt> </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">                <tt class="py-name">description</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">description</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">            <tt class="py-name">descriptionLength</tt> <tt class="py-op">=</tt> <tt id="link-201" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-201', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">description</tt><tt class="py-op">)</tt> </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">            <tt class="py-name">imageDescription</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">"%ds"</tt> <tt class="py-op">%</tt> <tt class="py-name">descriptionLength</tt><tt class="py-op">,</tt> <tt class="py-name">description</tt><tt class="py-op">)</tt> </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">            <tt class="py-name">nDirectoryEntries</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line"> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">        <tt class="py-comment">#software</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">software</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">            <tt class="py-name">softwareLength</tt> <tt class="py-op">=</tt> <tt id="link-202" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-202', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">software</tt><tt class="py-op">)</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">softwareLength</tt> <tt class="py-op"><</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">                <tt class="py-name">software</tt> <tt class="py-op">=</tt> <tt class="py-name">software</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">                <tt class="py-name">softwareLength</tt> <tt class="py-op">=</tt> <tt id="link-203" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-203', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">software</tt><tt class="py-op">)</tt> </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-204', 'version', 'link-98');">version</a></tt> <tt class="py-op">>=</tt> <tt class="py-string">'3.0'</tt><tt class="py-op">:</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">                <tt class="py-name">software</tt> <tt class="py-op">=</tt> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">software</tt><tt class="py-op">,</tt> <tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">            <tt class="py-name">softwarePackedString</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">"%ds"</tt> <tt class="py-op">%</tt> <tt class="py-name">softwareLength</tt><tt class="py-op">,</tt> <tt class="py-name">software</tt><tt class="py-op">)</tt> </tt>
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">            <tt class="py-name">nDirectoryEntries</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">            <tt class="py-name">softwareLength</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line"> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">date</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">            <tt class="py-name">dateLength</tt> <tt class="py-op">=</tt> <tt id="link-205" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-205', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">)</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-206', 'version', 'link-98');">version</a></tt> <tt class="py-op">>=</tt> <tt class="py-string">'3.0'</tt><tt class="py-op">:</tt> </tt>
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">                <tt class="py-name">date</tt> <tt class="py-op">=</tt> <tt class="py-name">bytes</tt><tt class="py-op">(</tt><tt class="py-name">date</tt><tt class="py-op">,</tt> <tt class="py-string">'utf-8'</tt><tt class="py-op">)</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">            <tt class="py-name">datePackedString</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-string">"%ds"</tt> <tt class="py-op">%</tt> <tt class="py-name">dateLength</tt><tt class="py-op">,</tt> <tt class="py-name">date</tt><tt class="py-op">)</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">            <tt class="py-name">dateLength</tt> <tt class="py-op">=</tt> <tt id="link-207" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-207', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">datePackedString</tt><tt class="py-op">)</tt> </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">            <tt class="py-name">nDirectoryEntries</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">            <tt class="py-name">dateLength</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line"> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">        <tt class="py-name">nRows</tt><tt class="py-op">,</tt> <tt class="py-name">nColumns</tt> <tt class="py-op">=</tt> <tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">        <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">image</tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">        <tt class="py-name">bitsPerSample</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-208', 'str', 'link-125');">str</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line"> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">        <tt class="py-comment">#only uncompressed data</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">        <tt id="link-209" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-209', 'compression', 'link-91');">compression</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line"> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">        <tt class="py-comment">#interpretation, black is zero</tt> </tt>
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line">        <tt class="py-name">interpretation</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line"> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">        <tt class="py-comment">#image description</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">imageDescription</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line">            <tt class="py-name">descriptionLength</tt> <tt class="py-op">=</tt> <tt id="link-210" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-210', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">imageDescription</tt><tt class="py-op">)</tt> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line">            <tt class="py-name">descriptionLength</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line"> </tt>
+<a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line">        <tt class="py-comment">#strip offsets</tt> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line">        <tt class="py-comment">#we are putting them after the directory and the directory is</tt> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line">        <tt class="py-comment">#at the end of the file</tt> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_END</tt><tt class="py-op">)</tt> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">        <tt class="py-name">endOfFile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fd</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">endOfFile</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">            <tt class="py-comment">#empty file</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">            <tt class="py-name">endOfFile</tt> <tt class="py-op">=</tt> <tt class="py-number">8</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line"> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line">        <tt class="py-comment">#rows per strip</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-211" class="py-name"><a title="fabio.TiffIO.ALLOW_MULTIPLE_STRIPS" class="py-name" href="#" onclick="return doclink('link-211', 'ALLOW_MULTIPLE_STRIPS', 'link-2');">ALLOW_MULTIPLE_STRIPS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">            <tt class="py-comment">#try to segment the image in several pieces</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">%</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">                <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">/</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">%</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">                <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">/</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
+<a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">%</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">                <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">/</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
+<a name="L963"></a><tt class="py-lineno"> 963</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">%</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">                <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">/</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">%</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line">                <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">/</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line">                <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">=</tt> <tt class="py-name">nRows</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line">            <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">=</tt> <tt class="py-name">nRows</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line"> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line">        <tt class="py-comment">#stripByteCounts</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line">        <tt class="py-name">stripByteCounts</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">nColumns</tt> <tt class="py-op">*</tt> <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">*</tt> <tt class="py-name">bitsPerSample</tt> <tt class="py-op">/</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line"> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">descriptionLength</tt> <tt class="py-op">></tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line">            <tt class="py-name">stripOffsets0</tt> <tt class="py-op">=</tt> <tt class="py-name">endOfFile</tt> <tt class="py-op">+</tt> <tt class="py-name">dateLength</tt> <tt class="py-op">+</tt> <tt class="py-name">descriptionLength</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line">                        <tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt class="py-number">12</tt> <tt class="py-op">*</tt> <tt class="py-name">nDirectoryEntries</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">            <tt class="py-name">stripOffsets0</tt> <tt class="py-op">=</tt> <tt class="py-name">endOfFile</tt> <tt class="py-op">+</tt> <tt class="py-name">dateLength</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">                        <tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt class="py-number">12</tt> <tt class="py-op">*</tt> <tt class="py-name">nDirectoryEntries</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line"> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">softwareLength</tt> <tt class="py-op">></tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">            <tt class="py-name">stripOffsets0</tt> <tt class="py-op">+=</tt> <tt class="py-name">softwareLength</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line"> </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">        <tt class="py-name">stripOffsets</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">stripOffsets0</tt><tt class="py-op">]</tt> </tt>
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">        <tt class="py-name">stripOffsetsLength</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">        <tt class="py-name">stripOffsetsString</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line"> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">        <tt class="py-name">st</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_structChar</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line"> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">rowsPerStrip</tt> <tt class="py-op">!=</tt> <tt class="py-name">nRows</tt><tt class="py-op">:</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">            <tt class="py-name">nStripOffsets</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">nRows</tt> <tt class="py-op">/</tt> <tt class="py-name">rowsPerStrip</tt><tt class="py-op">)</tt> </tt>
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'I'</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">            <tt class="py-name">stripOffsetsLength</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">calcsize</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">nStripOffsets</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">            <tt class="py-name">stripOffsets0</tt> <tt class="py-op">+=</tt> <tt class="py-name">stripOffsetsLength</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">            <tt class="py-comment">#the length for the stripByteCounts will be the same</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">            <tt class="py-name">stripOffsets0</tt> <tt class="py-op">+=</tt> <tt class="py-name">stripOffsetsLength</tt> </tt>
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">            <tt class="py-name">stripOffsets</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-212" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-212', 'i', 'link-53');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">nStripOffsets</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">                <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">stripOffsets0</tt> <tt class="py-op">+</tt> <tt id="link-213" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-213', 'i', 'link-53');">i</a></tt> <tt class="py-op">*</tt> <tt class="py-name">stripByteCounts</tt> </tt>
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">                <tt class="py-name">stripOffsets</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-214" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-214', 'i', 'link-53');">i</a></tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">                    <tt class="py-name">stripOffsetsString</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">                    <tt class="py-name">stripByteCountsString</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">stripByteCounts</tt><tt class="py-op">)</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">                    <tt class="py-name">stripOffsetsString</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                    <tt class="py-name">stripByteCountsString</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">stripByteCounts</tt><tt class="py-op">)</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line"> </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-215" class="py-name"><a title="fabio.TiffIO.DEBUG" class="py-name" href="#" onclick="return doclink('link-215', 'DEBUG', 'link-1');">DEBUG</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"IMAGE WILL START AT %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">stripOffsets</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line"> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">        <tt class="py-comment">#sample format</tt> </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">dtype</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt>\ </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">           <tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-216', 'str', 'link-125');">str</a></tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'f'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">            <tt class="py-name">sampleFormat</tt> <tt class="py-op">=</tt> <tt id="link-217" class="py-name"><a title="fabio.TiffIO.SAMPLE_FORMAT_FLOAT" class="py-name" href="#" onclick="return doclink('link-217', 'SAMPLE_FORMAT_FLOAT', 'link-21');">SAMPLE_FORMAT_FLOAT</a></tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">dtype</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">            <tt class="py-name">sampleFormat</tt> <tt class="py-op">=</tt> <tt id="link-218" class="py-name"><a title="fabio.TiffIO.SAMPLE_FORMAT_UINT" class="py-name" href="#" onclick="return doclink('link-218', 'SAMPLE_FORMAT_UINT', 'link-19');">SAMPLE_FORMAT_UINT</a></tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">dtype</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int8</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int16</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">i [...]
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">            <tt class="py-name">sampleFormat</tt> <tt class="py-op">=</tt> <tt id="link-219" class="py-name"><a title="fabio.TiffIO.SAMPLE_FORMAT_INT" class="py-name" href="#" onclick="return doclink('link-219', 'SAMPLE_FORMAT_INT', 'link-20');">SAMPLE_FORMAT_INT</a></tt> </tt>
+<a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"Unsupported data type %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">dtype</tt><tt class="py-op">)</tt> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line"> </tt>
+<a name="L1023"></a><tt class="py-lineno">1023</tt>  <tt class="py-line">        <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nColumns"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">nColumns</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nRows"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">nRows</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nBits"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">bitsPerSample</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"compression"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-220" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-220', 'compression', 'link-91');">compression</a></tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"photometricInterpretation"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">interpretation</tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripOffsets"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">stripOffsets</tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"rowsPerStrip"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">rowsPerStrip</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripByteCounts"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">stripByteCounts</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"date"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">date</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">        <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"sampleFormat"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">sampleFormat</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line"> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-221', 'version', 'link-98');">version</a></tt> <tt class="py-op">></tt> <tt class="py-string">'2.6'</tt><tt class="py-op">:</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">            <tt class="py-name">outputIFD</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-string">'b""'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line"> </tt>
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">"H"</tt> </tt>
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-name">nDirectoryEntries</tt><tt class="py-op">)</tt> </tt>
+<a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line"> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">"HHII"</tt> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-222" class="py-name"><a title="fabio.TiffIO.TAG_NUMBER_OF_COLUMNS" class="py-name" href="#" onclick="return doclink('link-222', 'TAG_NUMBER_OF_COLUMNS', 'link-4');">TAG_NUMBER_ [...]
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line">                                         <tt id="link-223" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-223', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'I'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1045"></a><tt class="py-lineno">1045</tt>  <tt class="py-line">                                         <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">                                         <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nColumns"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-224" class="py-name"><a title="fabio.TiffIO.TAG_NUMBER_OF_ROWS" class="py-name" href="#" onclick="return doclink('link-224', 'TAG_NUMBER_OF_ROWS', 'link-5');">TAG_NUMBER_OF_ROW [...]
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line">                                         <tt id="link-225" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-225', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'I'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line">                                         <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line">                                         <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nRows"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line"> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHIHH'</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-226" class="py-name"><a title="fabio.TiffIO.TAG_BITS_PER_SAMPLE" class="py-name" href="#" onclick="return doclink('link-226', 'TAG_BITS_PER_SAMPLE', 'link-6');">TAG_BITS_PER_SA [...]
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">                                         <tt id="link-227" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-227', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'H'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">                                         <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">                                         <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"nBits"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHIHH'</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-228" class="py-name"><a title="fabio.TiffIO.TAG_COMPRESSION" class="py-name" href="#" onclick="return doclink('link-228', 'TAG_COMPRESSION', 'link-8');">TAG_COMPRESSION</a></tt [...]
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line">                                         <tt id="link-229" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-229', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'H'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line">                                         <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line">                                         <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"compression"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHIHH'</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-230" class="py-name"><a title="fabio.TiffIO.TAG_PHOTOMETRIC_INTERPRETATION" class="py-name" href="#" onclick="return doclink('link-230', 'TAG_PHOTOMETRIC_INTERPRETATION', 'link [...]
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line">                                         <tt id="link-231" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-231', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'H'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">                                         <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">                                         <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"photometricInterpretation"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line"> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">imageDescription</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">            <tt class="py-name">descriptionLength</tt> <tt class="py-op">=</tt> <tt id="link-232" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-232', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">imageDescription</tt><tt class="py-op">)</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">descriptionLength</tt> <tt class="py-op">></tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">                <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHII'</tt> </tt>
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">                <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-233" class="py-name"><a title="fabio.TiffIO.TAG_IMAGE_DESCRIPTION" class="py-name" href="#" onclick="return doclink('link-233', 'TAG_IMAGE_DESCRIPTION', 'link-9');">TAG [...]
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line">                                         <tt id="link-234" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-234', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'s'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">                                         <tt class="py-name">descriptionLength</tt><tt class="py-op">,</tt> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">                                         <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripOffsets"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">-</tt> \ </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line">                                         <tt class="py-number">2</tt> <tt class="py-op">*</tt> <tt class="py-name">stripOffsetsLength</tt> <tt class="py-op">-</tt> \ </tt>
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">                                         <tt class="py-name">descriptionLength</tt><tt class="py-op">)</tt> </tt>
+<a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">                <tt class="py-comment">#it has to have length 4</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">                <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHI%ds'</tt> <tt class="py-op">%</tt> <tt class="py-name">descriptionLength</tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line">                <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-235" class="py-name"><a title="fabio.TiffIO.TAG_IMAGE_DESCRIPTION" class="py-name" href="#" onclick="return doclink('link-235', 'TAG_IMAGE_DESCRIPTION', 'link-9');">TAG [...]
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">                                         <tt id="link-236" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-236', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'s'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">                                         <tt class="py-name">descriptionLength</tt><tt class="py-op">,</tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">                                         <tt class="py-name">description</tt><tt class="py-op">)</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line"> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-237" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-237', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">stripOffsets</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHII'</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line">            <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-238" class="py-name"><a title="fabio.TiffIO.TAG_STRIP_OFFSETS" class="py-name" href="#" onclick="return doclink('link-238', 'TAG_STRIP_OFFSETS', 'link-10');">TAG_STRIP_OFFS [...]
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">                                             <tt id="link-239" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-239', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'I'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line">                                             <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line">                                             <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripOffsets"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHII'</tt> </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">            <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-240" class="py-name"><a title="fabio.TiffIO.TAG_STRIP_OFFSETS" class="py-name" href="#" onclick="return doclink('link-240', 'TAG_STRIP_OFFSETS', 'link-10');">TAG_STRIP_OFFS [...]
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">                                             <tt id="link-241" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-241', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'I'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">                                             <tt id="link-242" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-242', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">stripOffsets</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">                    <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripOffsets"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt> <tt class="py-op">*</tt> <tt class="py-name">stripOffsetsLength</tt><tt class="py-op">)</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line"> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHII'</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-243" class="py-name"><a title="fabio.TiffIO.TAG_ROWS_PER_STRIP" class="py-name" href="#" onclick="return doclink('link-243', 'TAG_ROWS_PER_STRIP', 'link-11');">TAG_ROWS_PER_STR [...]
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">                                         <tt id="link-244" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-244', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'I'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">                                         <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">                                         <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"rowsPerStrip"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line"> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-245" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-245', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">stripOffsets</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHII'</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">            <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-246" class="py-name"><a title="fabio.TiffIO.TAG_STRIP_BYTE_COUNTS" class="py-name" href="#" onclick="return doclink('link-246', 'TAG_STRIP_BYTE_COUNTS', 'link-12');">TAG_ST [...]
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">                                             <tt id="link-247" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-247', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'I'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">                                             <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">                                             <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripByteCounts"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHII'</tt> </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">            <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-248" class="py-name"><a title="fabio.TiffIO.TAG_STRIP_BYTE_COUNTS" class="py-name" href="#" onclick="return doclink('link-248', 'TAG_STRIP_BYTE_COUNTS', 'link-12');">TAG_ST [...]
+<a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line">                                             <tt id="link-249" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-249', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'I'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line">                                             <tt id="link-250" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-250', 'len', 'link-27');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">stripOffsets</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line">                    <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripOffsets"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">-</tt> <tt class="py-name">stripOffsetsLength</tt><tt class="py-op">)</tt> </tt>
+<a name="L1117"></a><tt class="py-lineno">1117</tt>  <tt class="py-line"> </tt>
+<a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">software</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">softwareLength</tt> <tt class="py-op">></tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line">                <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHII'</tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line">                <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-251" class="py-name"><a title="fabio.TiffIO.TAG_SOFTWARE" class="py-name" href="#" onclick="return doclink('link-251', 'TAG_SOFTWARE', 'link-13');">TAG_SOFTWARE</a></tt [...]
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line">                                         <tt id="link-252" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-252', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'s'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line">                                         <tt class="py-name">softwareLength</tt><tt class="py-op">,</tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line">                                         <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripOffsets"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">-</tt> \ </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line">                                         <tt class="py-number">2</tt> <tt class="py-op">*</tt> <tt class="py-name">stripOffsetsLength</tt> <tt class="py-op">-</tt> \ </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line">                            <tt class="py-name">descriptionLength</tt> <tt class="py-op">-</tt> <tt class="py-name">softwareLength</tt> <tt class="py-op">-</tt> <tt class="py-name">dateLength</tt><tt class="py-op">)</tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line">                <tt class="py-comment">#it has to have length 4</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line">                <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHI%ds'</tt> <tt class="py-op">%</tt> <tt class="py-name">softwareLength</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line">                <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-253" class="py-name"><a title="fabio.TiffIO.TAG_SOFTWARE" class="py-name" href="#" onclick="return doclink('link-253', 'TAG_SOFTWARE', 'link-13');">TAG_SOFTWARE</a></tt [...]
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line">                                         <tt id="link-254" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-254', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'s'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">                                         <tt class="py-name">softwareLength</tt><tt class="py-op">,</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">                                         <tt class="py-name">softwarePackedString</tt><tt class="py-op">)</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line"> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">date</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHII'</tt> </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">            <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-255" class="py-name"><a title="fabio.TiffIO.TAG_DATE" class="py-name" href="#" onclick="return doclink('link-255', 'TAG_DATE', 'link-14');">TAG_DATE</a></tt><tt class="py-o [...]
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">                                      <tt id="link-256" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-256', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'s'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">                                      <tt class="py-name">dateLength</tt><tt class="py-op">,</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">                                      <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"stripOffsets"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">-</tt> \ </tt>
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">                                         <tt class="py-number">2</tt> <tt class="py-op">*</tt> <tt class="py-name">stripOffsetsLength</tt> <tt class="py-op">-</tt> \ </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">                                      <tt class="py-name">descriptionLength</tt> <tt class="py-op">-</tt> <tt class="py-name">dateLength</tt><tt class="py-op">)</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line"> </tt>
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'HHIHH'</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-257" class="py-name"><a title="fabio.TiffIO.TAG_SAMPLE_FORMAT" class="py-name" href="#" onclick="return doclink('link-257', 'TAG_SAMPLE_FORMAT', 'link-16');">TAG_SAMPLE_FORMAT< [...]
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">                                         <tt id="link-258" class="py-name"><a title="fabio.TiffIO.FIELD_TYPE_OUT" class="py-name" href="#" onclick="return doclink('link-258', 'FIELD_TYPE_OUT', 'link-18');">FIELD_TYPE_OUT</a></tt><tt class="py-op">[</tt><tt class="py-string">'H'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">                                         <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">                                         <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">"sampleFormat"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-name">st</tt> <tt class="py-op">+</tt> <tt class="py-string">'I'</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">        <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">pack</tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line"> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">softwareLength</tt> <tt class="py-op">></tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">            <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">softwarePackedString</tt> </tt>
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line"> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">date</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line">            <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">datePackedString</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line"> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">imageDescription</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">descriptionLength</tt> <tt class="py-op">></tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">                <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">imageDescription</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line"> </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">stripOffsetsString</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">            <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">stripOffsetsString</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">            <tt class="py-name">outputIFD</tt> <tt class="py-op">+=</tt> <tt class="py-name">stripByteCountsString</tt> </tt>
+<a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line"> </tt>
+<a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">outputIFD</tt> </tt>
+</div></div><a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line"> </tt>
+<a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line"> </tt>
+<a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
+<a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line">    <tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line">    <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt id="link-259" class="py-name"><a title="fabio.cbfimage.CIF.exists" class="py-name" href="#" onclick="return doclink('link-259', 'exists', 'link-169');">exists</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)< [...]
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Testing file creation"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line">        <tt class="py-name">tif</tt> <tt class="py-op">=</tt> <tt id="link-260" class="py-name" targets="Module fabio.TiffIO=fabio.TiffIO-module.html,Class fabio.TiffIO.TiffIO=fabio.TiffIO.TiffIO-class.html"><a title="fabio.TiffIO
+fabio.TiffIO.TiffIO" class="py-name" href="#" onclick="return doclink('link-260', 'TiffIO', 'link-260');">TiffIO</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-string">'wb+'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line">        <tt id="link-261" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-261', 'data', 'link-261');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">arange</tt><tt class="py-op">(</tt><tt class="py-number">10000</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">dtype</tt><tt class="py-op">)</tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line">        <tt id="link-262" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-262', 'data', 'link-261');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-number">100</tt><tt class="py-op">,</tt> <tt class="py-number">100</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line">        <tt class="py-name">tif</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name" targets="Method fabio.TiffIO.TiffIO.writeImage()=fabio.TiffIO.TiffIO-class.html#writeImage"><a title="fabio.TiffIO.TiffIO.writeImage" class="py-name" href="#" onclick="return doclink('link-263', 'writeImage', 'link-263');">writeImage</a></tt><tt class="py-op">(</tt><tt id="link-264" class="py-name"><a title="fabio.edfimage. [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-264', 'data', 'link-261');">data</a></tt><tt class="py-op">,</tt> <tt class="py-name">info</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'Title'</tt><tt class="py-op">:</tt><tt class="py-string">'1st'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line">        <tt class="py-name">tif</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="fabio.cbfimage.CIF.exists" class="py-name" href="#" onclick="return doclink('link-265', 'exists', 'link-169');">exists</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Testing image appending"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line">            <tt class="py-name">tif</tt> <tt class="py-op">=</tt> <tt id="link-266" class="py-name"><a title="fabio.TiffIO
+fabio.TiffIO.TiffIO" class="py-name" href="#" onclick="return doclink('link-266', 'TiffIO', 'link-260');">TiffIO</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-string">'rb+'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line">            <tt class="py-name">tif</tt><tt class="py-op">.</tt><tt id="link-267" class="py-name"><a title="fabio.TiffIO.TiffIO.writeImage" class="py-name" href="#" onclick="return doclink('link-267', 'writeImage', 'link-263');">writeImage</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-268" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-268', 'data', 'link-261');">data</a></tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">dtype</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">info</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'Title'</tt><tt class="py-op">: [...]
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">            <tt class="py-name">tif</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line">    <tt class="py-name">tif</tt> <tt class="py-op">=</tt> <tt id="link-269" class="py-name"><a title="fabio.TiffIO
+fabio.TiffIO.TiffIO" class="py-name" href="#" onclick="return doclink('link-269', 'TiffIO', 'link-260');">TiffIO</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Number of images = %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">tif</tt><tt class="py-op">.</tt><tt id="link-270" class="py-name" targets="Method fabio.TiffIO.TiffIO.getNumberOfImages()=fabio.TiffIO.TiffIO-class.html#getNumberOfImages"><a title="fabio.TiffIO.TiffIO.getNumberOfImages" class="py-name" href="#" onclick="return  [...]
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt id="link-271" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-271', 'i', 'link-53');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">tif</tt><tt class="py-op">.</tt><tt id="link-272" class="py-name"><a title="fabio.TiffIO.TiffIO.getNumberOfImages" class="py [...]
+<a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line">        <tt class="py-name">info</tt> <tt class="py-op">=</tt> <tt class="py-name">tif</tt><tt class="py-op">.</tt><tt id="link-273" class="py-name" targets="Method fabio.TiffIO.TiffIO.getInfo()=fabio.TiffIO.TiffIO-class.html#getInfo"><a title="fabio.TiffIO.TiffIO.getInfo" class="py-name" href="#" onclick="return doclink('link-273', 'getInfo', 'link-273');">getInfo</a></tt><tt class="py-op">(</tt><tt id="link-274" c [...]
+<a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-275" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-275', 'key', 'link-128');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">info</tt><tt class="py-op">:</tt> </tt>
+<a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-276" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-276', 'key', 'link-128');">key</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">"colormap"</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"%s = %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-277" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-277', 'key', 'link-128');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt id="link-278" clas [...]
+<a name="L1191"></a><tt class="py-lineno">1191</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt class="py-string">'colormap'</tt><tt class="py-op">]</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L1192"></a><tt class="py-lineno">1192</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"RED   %s = %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-279" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-279', 'key', 'link-128');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt id="link-280 [...]
+<a name="L1193"></a><tt class="py-lineno">1193</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"GREEN %s = %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-281" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-281', 'key', 'link-128');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt id="link-282 [...]
+<a name="L1194"></a><tt class="py-lineno">1194</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"BLUE  %s = %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-283" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-283', 'key', 'link-128');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">info</tt><tt class="py-op">[</tt><tt id="link-284 [...]
+<a name="L1195"></a><tt class="py-lineno">1195</tt>  <tt class="py-line">        <tt id="link-285" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-285', 'data', 'link-261');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tif</tt><tt class="py-op">.</tt><tt id="link-286" class="py-name" targets="Method fabio.TiffIO.TiffIO.getImage()=fabio.TiffIO.TiffIO-class.html#getImage"><a title="fabio.TiffIO.TiffIO.getImage" class="py-name" href="#" onclick="return doclink('link-286', 'getImage', 'link-286');">getImage</a></tt><tt class="py-op">(</t [...]
+<a name="L1196"></a><tt class="py-lineno">1196</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"data [0, 0:10] = "</tt><tt class="py-op">,</tt> <tt id="link-288" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-288', 'data', 'link-261');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1197"></a><tt class="py-lineno">1197</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.TiffIO.TiffIO-class.html b/doc/html/fabio.TiffIO.TiffIO-class.html
new file mode 100644
index 0000000..8f4d19e
--- /dev/null
+++ b/doc/html/fabio.TiffIO.TiffIO-class.html
@@ -0,0 +1,524 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.TiffIO.TiffIO</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.TiffIO-module.html">Module TiffIO</a> ::
+        Class TiffIO
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.TiffIO.TiffIO-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class TiffIO</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO">source code</a></span></p>
+<pre class="base-tree">
+object --+
+         |
+        <strong class="uidshort">TiffIO</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.TiffIO.TiffIO-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>,
+        <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">cache_length</span>=<span class="summary-sig-default">20</span>,
+        <span class="summary-sig-arg">mono_output</span>=<span class="summary-sig-default">False</span>)</span><br />
+      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_initInternalVariables"></a><span class="summary-sig-name">_initInternalVariables</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fd</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO._initInternalVariables">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__makeSureFileIsOpen"></a><span class="summary-sig-name">__makeSureFileIsOpen</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO.__makeSureFileIsOpen">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__makeSureFileIsClosed"></a><span class="summary-sig-name">__makeSureFileIsClosed</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO.__makeSureFileIsClosed">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getNumberOfImages"></a><span class="summary-sig-name">getNumberOfImages</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO.getNumberOfImages">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_updateIFD"></a><span class="summary-sig-name">_updateIFD</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO._updateIFD">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getImageFileDirectories"></a><span class="summary-sig-name">getImageFileDirectories</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fd</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO.getImageFileDirectories">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_parseImageFileDirectory"></a><span class="summary-sig-name">_parseImageFileDirectory</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nImage</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO._parseImageFileDirectory">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_readIFDEntry"></a><span class="summary-sig-name">_readIFDEntry</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">tag</span>,
+        <span class="summary-sig-arg">tagIDList</span>,
+        <span class="summary-sig-arg">fieldTypeList</span>,
+        <span class="summary-sig-arg">nValuesList</span>,
+        <span class="summary-sig-arg">valueOffsetList</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO._readIFDEntry">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getData"></a><span class="summary-sig-name">getData</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nImage</span>,
+        <span class="summary-sig-arg">**kw</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO.getData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getImage"></a><span class="summary-sig-name">getImage</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nImage</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO.getImage">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getInfo"></a><span class="summary-sig-name">getInfo</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nImage</span>,
+        <span class="summary-sig-arg">**kw</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO.getInfo">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_readInfo"></a><span class="summary-sig-name">_readInfo</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nImage</span>,
+        <span class="summary-sig-arg">close</span>=<span class="summary-sig-default">True</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO._readInfo">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_readImage"></a><span class="summary-sig-name">_readImage</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nImage</span>,
+        <span class="summary-sig-arg">**kw</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO._readImage">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="writeImage"></a><span class="summary-sig-name">writeImage</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">image0</span>,
+        <span class="summary-sig-arg">info</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">software</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">date</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO.writeImage">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_initEmptyFile"></a><span class="summary-sig-name">_initEmptyFile</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fd</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO._initEmptyFile">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_getOutputIFD"></a><span class="summary-sig-name">_getOutputIFD</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">image</span>,
+        <span class="summary-sig-arg">description</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">software</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">date</span>=<span class="summary-sig-default">None</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO._getOutputIFD">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">filename</span>,
+        <span class="sig-arg">mode</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">cache_length</span>=<span class="sig-default">20</span>,
+        <span class="sig-arg">mono_output</span>=<span class="sig-default">False</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.TiffIO-pysrc.html#TiffIO.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
+  signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.adscimage-module.html b/doc/html/fabio.adscimage-module.html
new file mode 100644
index 0000000..45cbc6f
--- /dev/null
+++ b/doc/html/fabio.adscimage-module.html
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.adscimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module adscimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.adscimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module adscimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.adscimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+
++ mods for fabio by JPW
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.adscimage.adscimage-class.html" class="summary-name">adscimage</a><br />
+      Read an image in ADSC format (quite similar to edf?)
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="test"></a><span class="summary-sig-name">test</span>()</span><br />
+      testcase</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.adscimage-pysrc.html#test">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("adscimage")">logging.getLogger("adscimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.adscimage-pysrc.html b/doc/html/fabio.adscimage-pysrc.html
new file mode 100644
index 0000000..28a713b
--- /dev/null
+++ b/doc/html/fabio.adscimage-pysrc.html
@@ -0,0 +1,473 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.adscimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module adscimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.adscimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.adscimage-module.html">Module fabio.adscimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#coding: utf8</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">         email:erik.knudsen at risoe.dk</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">+ mods for fabio by JPW</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-0', 'fabioimage', 'link-0');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-0');">fabioimage</a></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-2', 'logger', 'link-2');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"adscimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
+<a name="adscimage"></a><div id="adscimage-def"><a name="L20"></a><tt class="py-lineno"> 20</tt> <a class="py-toggle" href="#" id="adscimage-toggle" onclick="return toggle('adscimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.adscimage.adscimage-class.html">adscimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="adscimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="adscimage-expanded"><a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">    <tt class="py-docstring">""" Read an image in ADSC format (quite similar to edf?) """</tt> </tt>
+<a name="adscimage.__init__"></a><div id="adscimage.__init__-def"><a name="L22"></a><tt class="py-lineno"> 22</tt> <a class="py-toggle" href="#" id="adscimage.__init__-toggle" onclick="return toggle('adscimage.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.adscimage.adscimage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-par [...]
+</div><div id="adscimage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="adscimage.__init__-expanded"><a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt id="link-3" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-3', 'fabioimage', 'link-0');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__init__()=fabio.TiffIO.TiffIO-class.html#__init__,Method fabio.adscimage.adscimage.__init__()=fabio.adscimage.adscimage-class.html#__init__,Method fabio.binaryimage.binaryimage.__ini [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-4', '__init__', 'link-4');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="adscimage.read"></a><div id="adscimage.read-def"><a name="L25"></a><tt class="py-lineno"> 25</tt> <a class="py-toggle" href="#" id="adscimage.read-toggle" onclick="return toggle('adscimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.adscimage.adscimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class [...]
+</div><div id="adscimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="adscimage.read-expanded"><a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-docstring">""" read in the file """</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-5', '_open', 'link-5');">_open</a></tt><tt class="py-op">(</tt><tt class=" [...]
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._ [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-6', '_readheader', 'link-6');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Error processing adsc header"</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-comment"># banned by bzip/gzip???</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">            <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclic [...]
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">            <tt class="py-comment"># Gzipped does not allow a seek and read header is not</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">            <tt class="py-comment"># promising to stop in the right place</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">            <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">            <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-8', '_open', 'link-5');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-string">"rb"</tt><tt class="py-op">) [...]
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">            <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage.OXDimage.read()=fabio.OXDimage.OXDimage-class.html [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-9', 'read', 'link-9');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-10', 'header', 'link-7');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'HEADER_BYTES'</tt><tt  [...]
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">binary</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-11', 'read', 'link-9');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-comment">#now read the data into the array</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-12', 'dim1', 'link-12');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt [...]
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-14', 'dim2', 'link-14');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt [...]
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'little'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-16', 'header', 'link-7');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'BYTE_ORDER'</tt><tt class="py-op">]</tt><tt  [...]
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-17', 'data', 'link-17');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">                    <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">binary</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">                    <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-18', 'dim2', 'link-14');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class=" [...]
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">'Size spec in ADSC-header does not match '</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                    <tt class="py-string">'size of image data field'</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-20', 'bytecode', 'link-20');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><t [...]
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt id="link-21" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-21', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"adscimage read in using low byte first (x386-order)"</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-22', 'data', 'link-17');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                    <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">binary</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                    <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-23', 'dim2', 'link-14');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class=" [...]
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">'Size spec in ADSC-header does not match '</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                    <tt class="py-string">'size of image data field'</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-25', 'bytecode', 'link-20');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt id="link-26" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-26', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'adscimage using high byte first (network order)'</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-27', 'resetvals', 'link-27');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
+<a name="adscimage._readheader"></a><div id="adscimage._readheader-def"><a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="adscimage._readheader-toggle" onclick="return toggle('adscimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.adscimage.adscimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">in [...]
+</div><div id="adscimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="adscimage._readheader-expanded"><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-docstring">""" read an adsc header """</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">bytesread</tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-28', 'len', 'link-28');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-string">'}'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">'='</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt id="link-29" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-29', 'key', 'link-29');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">val</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.< [...]
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Variable fabio.edfimage.edfimage.header_keys=fabio.edfimage.edfimage-class.html#header_keys"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-30', 'header_keys', 'link-30');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt clas [...]
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-32', 'header', 'link-7');">header</a></tt><tt class="py-op">[</tt><tt id="link-33" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-33', 'key', 'link-29');">key</a></tt> [...]
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-name">bytesread</tt> <tt class="py-op">=</tt> <tt class="py-name">bytesread</tt> <tt class="py-op">+</tt> <tt id="link-34" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-34', 'len', 'link-28');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
+<a name="adscimage.write"></a><div id="adscimage.write-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="adscimage.write-toggle" onclick="return toggle('adscimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.adscimage.adscimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">)</tt><tt  [...]
+</div><div id="adscimage.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="adscimage.write-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">        Write adsc format</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-string">'{\n'</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-35" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-35', 'key', 'link-29');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-36',  [...]
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">"%s = %s;\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-37" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-37', 'key', 'link-29');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name [...]
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME ??? - made padding match header bytes keyword            </tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-comment">#        the cbflib example image has exactly 512...</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-40', 'header', 'link-7');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">"HEADER_BYTES"</tt><tt class="py-op">)</tt><tt class="py [...]
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">pad</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-41', 'header', 'link-7');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"HEADER_BYTES"</tt><tt class="py- [...]
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-comment"># integer division</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-comment"># 1234567890123456789012</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-comment"># HEADER_BYTES = 1234;\n</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-name">hsize</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-43" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-43', 'len', 'link-28');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">23</tt><tt c [...]
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-string">"HEADER_BYTES=%d;\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">hsize</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">pad</tt> <tt class="py-op">=</tt> <tt class="py-name">hsize</tt> <tt class="py-op">-</tt> <tt id="link-44" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-44', 'len', 'link-28');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">2</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-name">pad</tt> <tt class="py-op">*</tt> <tt class="py-string">' '</tt> <tt class="py-op">+</tt> <tt class="py-string">"}\n"</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt id="link-45" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-45', 'len', 'link-28');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-number">512</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-op">,< [...]
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">outf</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-string">"wb"</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">outf</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method fabio.GEimage.GEimage.write()=fabio.GEimage.GEimage-class.html#write,Method fabio.OXDimage.OXDimage.write()=fabio.OXDimage.OXDimage-class.html#write,Method fabio.adscimage.adscimage.write()=fabio.adscimage.adscimage-class.html#write,Method fabio.binaryimage.binaryimage.write()=fabio.binaryimage.binaryimage-cla [...]
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-46', 'write', 'link-46');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-comment"># it says "unsigned_short" ? ... jpw example has:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-comment"># BYTE_ORDER=big_endian;</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-comment"># TYPE=unsigned_short;</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"little"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-47', 'header', 'link-7');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"BYTE_ORDER"</tt><tt class="py-op">]</tt><tt [...]
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-name">outf</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-48', 'write', 'link-46');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-49', 'data', 'link-17');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method fabio.cbfimage.CIF.tostring()=fabio.cbfimage.CIF-class.html#tostring,Method fabio.fabioutils.filename_objec [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-50', 'tostring', 'link-50');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-name">outf</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-51', 'write', 'link-46');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-52', 'data', 'link-17');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                    <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-53', 'tostring', 'link-50');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">outf</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
+<a name="test"></a><div id="test-def"><a name="L117"></a><tt class="py-lineno">117</tt> <a class="py-toggle" href="#" id="test-toggle" onclick="return toggle('test');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.adscimage-module.html#test">test</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="test-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test-expanded"><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">    <tt class="py-docstring">""" testcase """</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">    <tt class="py-name">img</tt> <tt class="py-op">=</tt> <tt id="link-54" class="py-name" targets="Module fabio.adscimage=fabio.adscimage-module.html,Class fabio.adscimage.adscimage=fabio.adscimage.adscimage-class.html"><a title="fabio.adscimage
+fabio.adscimage.adscimage" class="py-name" href="#" onclick="return doclink('link-54', 'adscimage', 'link-54');">adscimage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-name">begin</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">clock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-55', 'read', 'link-9');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-comment">#        rim = img.toPIL16()</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method fabio.fabioimage.fabioimage.rebin()=fabio.fabioimage.fabioimage-class.html#rebin"><a title="fabio.fabioimage.fabioimage.rebin" class="py-name" href="#" onclick="return doclink('link-56', 'rebin', 'link-56');">rebin</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="p [...]
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-57', 'write', 'link-46');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'jegErEnFil0000.img'</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">": max=%d, min=%d, mean=%.2e, stddev=%.2e"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt>\ </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">              <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method fabio.fabioimage.fabioimage.getmax()=fabio.fabioimage.fabioimage-class.html#getmax"><a title="fabio.fabioimage.fabioimage.getmax" class="py-name" href="#" onclick="return doclink('link-58', 'getmax', 'link-58');">getmax</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt c [...]
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">'integrated intensity (%d %d %d %d) =%.3f'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt>\ </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">              <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-number">40</tt><tt class="py-op">,</tt> <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name" targets="Method fabio.fabioimage.fabioimage.integrate_area()=fabio.fabioimage.fabioimage-class.html#integr [...]
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">clock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-name">end</tt> <tt class="py-op">-</tt> <tt class="py-name">begin</tt> </tt>
+</div><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt id="link-63" class="py-name" targets="Function fabio.adscimage.test()=fabio.adscimage-module.html#test,Function fabio.brukerimage.test()=fabio.brukerimage-module.html#test,Function fabio.fabioimage.test()=fabio.fabioimage-module.html#test"><a title="fabio.adscimage.test
+fabio.brukerimage.test
+fabio.fabioimage.test" class="py-name" href="#" onclick="return doclink('link-63', 'test', 'link-63');">test</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.adscimage.adscimage-class.html b/doc/html/fabio.adscimage.adscimage-class.html
new file mode 100644
index 0000000..5126ac2
--- /dev/null
+++ b/doc/html/fabio.adscimage.adscimage-class.html
@@ -0,0 +1,448 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.adscimage.adscimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.adscimage-module.html">Module adscimage</a> ::
+        Class adscimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.adscimage.adscimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class adscimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.adscimage-pysrc.html#adscimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">adscimage</strong>
+</pre>
+
+<hr />
+<p>Read an image in ADSC format (quite similar to edf?)</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.adscimage.adscimage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*args</span>,
+        <span class="summary-sig-arg">**kwargs</span>)</span><br />
+      Set up initial values</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.adscimage-pysrc.html#adscimage.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.adscimage.adscimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      read in the file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.adscimage-pysrc.html#adscimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.adscimage.adscimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      read an adsc header</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.adscimage-pysrc.html#adscimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.adscimage.adscimage-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      Write adsc format</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.adscimage-pysrc.html#adscimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">*args</span>,
+        <span class="sig-arg">**kwargs</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.adscimage-pysrc.html#adscimage.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Set up initial values</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.adscimage-pysrc.html#adscimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>read in the file</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.adscimage-pysrc.html#adscimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>read an adsc header</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.adscimage-pysrc.html#adscimage.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Write adsc format</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.binaryimage-module.html b/doc/html/fabio.binaryimage-module.html
new file mode 100644
index 0000000..4a4ff4b
--- /dev/null
+++ b/doc/html/fabio.binaryimage-module.html
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.binaryimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module binaryimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.binaryimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module binaryimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.binaryimage-pysrc.html">source code</a></span></p>
+<p>Authors: Gael Goret, Jerome Kieffer, ESRF, France Emails: 
+  gael.goret at esrf.fr, jerome.kieffer at esrf.fr</p>
+  <p>Binary files images are simple none-compressed 2D images only defined 
+  by their : data-type, dimensions, byte order and offset</p>
+  <p>This simple library has been made for manipulating exotic/unknown 
+  files format.</p>
+
+<hr />
+<div class="fields">      <p><strong>Version:</strong>
+        17 Apr 2012
+      </p>
+      <dl><dt>Authors:</dt>
+        <dd>
+          Ga\xc3\xabl Goret,
+          J\xc3\xa9r\xc3\xb4me Kieffer
+        </dd>
+      </dl>
+      <p><strong>Contact:</strong>
+        gael.goret at esrf.fr
+      </p>
+      <p><strong>Copyright:</strong>
+        European Synchrotron Radiation Facility, Grenoble, France
+      </p>
+      <p><strong>License:</strong>
+        GPLv3+
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.binaryimage.binaryimage-class.html" class="summary-name">binaryimage</a><br />
+      This simple library has been made for manipulating exotic/unknown 
+        files format.
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.binaryimage-module.html#__doc__" class="summary-name">__doc__</a> = <code title=""""
+Authors: Gael Goret, Jerome Kieffer, ESRF, France
+Emails: gael.goret at esrf.fr, jerome.kieffer at esrf.fr
+
+Binary files images are simple none-compressed 2D images only defined \
+by their : 
+data-type, dimensions, byte order and offset
+
+..."><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("binaryimage")">logging.getLogger("binaryimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__doc__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">__doc__</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+"""
+Authors: Gael Goret, Jerome Kieffer, ESRF, France
+Emails: gael.goret at esrf.fr, jerome.kieffer at esrf.fr
+
+Binary files images are simple none-compressed 2D images only defined <span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+by their : 
+data-type, dimensions, byte order and offset
+
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.binaryimage-pysrc.html b/doc/html/fabio.binaryimage-pysrc.html
new file mode 100644
index 0000000..03aed0e
--- /dev/null
+++ b/doc/html/fabio.binaryimage-pysrc.html
@@ -0,0 +1,374 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.binaryimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module binaryimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.binaryimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.binaryimage-module.html">Module fabio.binaryimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#coding: utf8 </tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">__future__</tt> <tt class="py-keyword">import</tt> <tt class="py-name">with_statement</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.OXDimage.__doc__=fabio.OXDimage-module.html#__doc__,Variable fabio.binaryimage.__doc__=fabio.binaryimage-module.html#__doc__,Variable fabio.mar345image.__doc__=fabio.mar345image-module.html#__doc__"><a title="fabio.OXDimage.__doc__
+fabio.binaryimage.__doc__
+fabio.mar345image.__doc__" class="py-name" href="#" onclick="return doclink('link-0', '__doc__', 'link-0');">__doc__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-string">Authors: Gael Goret, Jerome Kieffer, ESRF, France</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-string">Emails: gael.goret at esrf.fr, jerome.kieffer at esrf.fr</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-string">Binary files images are simple none-compressed 2D images only defined by their : </tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-string">data-type, dimensions, byte order and offset</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-string">This simple library has been made for manipulating exotic/unknown files format.  </tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-name">__authors__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"Gaël Goret"</tt><tt class="py-op">,</tt> <tt class="py-string">"Jérôme Kieffer"</tt><tt class="py-op">]</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-name">__contact__</tt> <tt class="py-op">=</tt> <tt class="py-string">"gael.goret at esrf.fr"</tt><tt class="py-comment">#, jerome.kieffer at esrf.eu"</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-name">__license__</tt> <tt class="py-op">=</tt> <tt class="py-string">"GPLv3+"</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-name">__copyright__</tt> <tt class="py-op">=</tt> <tt class="py-string">"European Synchrotron Radiation Facility, Grenoble, France"</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-string">"17 Apr 2012"</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-1');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-1');">fabioimage</a></tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bruk [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-3', 'logger', 'link-3');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"binaryimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="binaryimage"></a><div id="binaryimage-def"><a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt> <a class="py-toggle" href="#" id="binaryimage-toggle" onclick="return toggle('binaryimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.binaryimage.binaryimage-class.html">binaryimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="binaryimage-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="binaryimage-expanded"><a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-docstring">    This simple library has been made for manipulating exotic/unknown files format.</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">    Binary files images are simple none-compressed 2D images only defined by their : </tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-docstring">    data-type, dimensions, byte order and offset</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"> </tt>
+<a name="binaryimage.__init__"></a><div id="binaryimage.__init__-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="binaryimage.__init__-toggle" onclick="return toggle('binaryimage.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.binaryimage.binaryimage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt cl [...]
+</div><div id="binaryimage.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="binaryimage.__init__-expanded"><a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt id="link-4" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-4', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__init__()=fabio.TiffIO.TiffIO-class.html#__init__,Method fabio.adscimage.adscimage.__init__()=fabio.adscimage.adscimage-class.html#__init__,Method fabio.binaryimage.binaryimage.__ini [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="binaryimage.swap_needed"></a><div id="binaryimage.swap_needed-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="binaryimage.swap_needed-toggle" onclick="return toggle('binaryimage.swap_needed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.binaryimage.binaryimage-class.html#swap_needed">swap_needed</a><tt class="py-op">(</tt><tt class="py-param">endian</tt><tt class="py-op">)</tt><tt class=" [...]
+</div><div id="binaryimage.swap_needed-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="binaryimage.swap_needed-expanded"><a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">        Decide if we need to byteswap</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">endian</tt> <tt class="py-op">==</tt> <tt class="py-string">'<'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">little_endian</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">endian</tt> <tt class="py-op">==</tt> <tt cl [...]
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">endian</tt> <tt class="py-op">==</tt> <tt class="py-string">'>'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">little_endian</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">endian</tt> <tt class="py-op">==</tt> <tt cl [...]
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+</div><a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"> </tt>
+<a name="binaryimage.read"></a><div id="binaryimage.read-def"><a name="L45"></a><tt class="py-lineno">45</tt> <a class="py-toggle" href="#" id="binaryimage.read-toggle" onclick="return toggle('binaryimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.binaryimage.binaryimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt [...]
+</div><div id="binaryimage.read-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="binaryimage.read-expanded"><a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-docstring">""" </tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-docstring">        Read a binary image</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring">        Parameters : fname, dim1, dim2, offset, bytecode, endian</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">        fname : file name : str</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring">        dim1,dim2 : image dimensions : int</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring">        offset : size of the : int </tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring">        bytecode among : "int8","int16","int32","int64","uint8","uint16","uint32","uint64","float32","float64",...</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-docstring">        endian among short or long endian ("<" or ">")</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-6', 'dim1', 'link-6');">dim1</a></tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-na [...]
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-8', 'dim2', 'link-8');">dim2</a></tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-na [...]
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-10', 'bytecode', 'link-10');">bytecode</a></tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="fabio.edfimage.edf [...]
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">"rb"</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">        <tt id="link-12" class="py-name" targets="Variable fabio.edfimage.edfimage.dims=fabio.edfimage.edfimage-class.html#dims"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-12', 'dims', 'link-12');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-13" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="ret [...]
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">        <tt id="link-15" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-15', 'bpp', 'link-15');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-18', 'tostring', 'link-18');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-19', 'dims', 'link-12');">dims</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt id="link-20" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" hr [...]
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line"> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">        <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">        <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage.O [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-22', 'read', 'link-22');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt>  <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Static Method fabio.binaryimage.binaryimage.swap_needed()=fabio.binaryimage.binaryimage-class.html#swap_needed,Method fabio.edfimage.Frame.swap_needed()=fabio.edfimage.Frame-class.html#swap_needed,Method fabio.edfimage.edfimage.swap_needed()=fabio.edfimage.edfimage-class.html#swap_needed [...]
+fabio.edfimage.Frame.swap_needed
+fabio.edfimage.edfimage.swap_needed" class="py-name" href="#" onclick="return doclink('link-23', 'swap_needed', 'link-23');">swap_needed</a></tt><tt class="py-op">(</tt><tt class="py-name">endian</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">            <tt id="link-24" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-24', 'data', 'link-24');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">rawData</tt><tt class="py-op">,</tt> <tt id="link-25" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-25', 'bytecode', 'link-10');">bytecode</ [...]
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">            <tt id="link-27" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-27', 'data', 'link-24');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">rawData</tt><tt class="py-op">,</tt> <tt id="link-28" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-28', 'bytecode', 'link-10');">bytecode</ [...]
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-30', 'data', 'link-24');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-31', 'data', 'link-24');">data</a></tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line"> </tt>
+<a name="binaryimage.estimate_offset_value"></a><div id="binaryimage.estimate_offset_value-def"><a name="L73"></a><tt class="py-lineno">73</tt> <a class="py-toggle" href="#" id="binaryimage.estimate_offset_value-toggle" onclick="return toggle('binaryimage.estimate_offset_value');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.binaryimage.binaryimage-class.html#estimate_offset_value">estimate_offset_value</a><tt class="py-op">(</tt><tt cla [...]
+</div><div id="binaryimage.estimate_offset_value-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="binaryimage.estimate_offset_value-expanded"><a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line">        <tt class="py-docstring">"Estimates the size of a file"</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line">        <tt class="py-keyword">with</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-string">"rb"</tt><tt class="py-op">)</tt> <tt class="py-keyword">as</tt> <tt class="py-name">f</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line">            <tt id="link-32" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-32', 'bpp', 'link-15');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-33', 'len', 'link-16');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">numpy</ [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-35', 'tostring', 'link-18');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line">            <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-36', 'dim1', 'link-6');">dim1</a></tt> <tt class="py-op">*</tt> <tt id="link-37" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-37', 'dim2', 'link-8');">dim2</a></t [...]
+<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line">            <tt class="py-name">totsize</tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-39', 'len', 'link-16');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-40', 'read', 'link-22');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line">        <tt id="link-41" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-41', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'total size (bytes): %s'</tt><tt class="py-op">,</tt> <tt class="py-name">totsize</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line">        <tt id="link-42" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-42', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'expected data size given parameters (bytes): %s'</tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">81</tt>  <tt class="py-line">        <tt id="link-43" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-43', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">'estimation of the offset value (bytes): %s'</tt><tt class="py-op">,</tt> <tt class="py-name">totsize</tt> <tt class="py-op">-</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line"> </tt>
+<a name="binaryimage.write"></a><div id="binaryimage.write-def"><a name="L83"></a><tt class="py-lineno">83</tt> <a class="py-toggle" href="#" id="binaryimage.write-toggle" onclick="return toggle('binaryimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.binaryimage.binaryimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op" [...]
+</div><div id="binaryimage.write-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="binaryimage.write-expanded"><a name="L84"></a><tt class="py-lineno">84</tt>  <tt class="py-line">        <tt class="py-keyword">with</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-string">"wb"</tt><tt class="py-op">)</tt> <tt class="py-keyword">as</tt [...]
+<a name="L85"></a><tt class="py-lineno">85</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Method fabio.GEimage.GEimage.write()=fabio.GEimage.GEimage-class.html#write,Method fabio.OXDimage.OXDimage.write()=fabio.OXDimage.OXDimage-class.html#write,Method fabio.adscimage.adscimage.write()=fabio.adscimage.adscimage-class.html#write,Method fabio.binaryimage.binaryimage.write()=fabio.binaryimage.binaryimag [...]
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-44', 'write', 'link-44');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-45', 'data', 'link-24');">data</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-46', 'tostring', 'link-18');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L86"></a><tt class="py-lineno">86</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.binaryimage.binaryimage-class.html b/doc/html/fabio.binaryimage.binaryimage-class.html
new file mode 100644
index 0000000..53be631
--- /dev/null
+++ b/doc/html/fabio.binaryimage.binaryimage-class.html
@@ -0,0 +1,466 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.binaryimage.binaryimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.binaryimage-module.html">Module binaryimage</a> ::
+        Class binaryimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.binaryimage.binaryimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class binaryimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.binaryimage-pysrc.html#binaryimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">binaryimage</strong>
+</pre>
+
+<hr />
+<p>This simple library has been made for manipulating exotic/unknown 
+  files format.</p>
+  <p>Binary files images are simple none-compressed 2D images only defined 
+  by their : data-type, dimensions, byte order and offset</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.binaryimage.binaryimage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*args</span>,
+        <span class="summary-sig-arg">**kwargs</span>)</span><br />
+      Set up initial values</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.binaryimage-pysrc.html#binaryimage.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.binaryimage.binaryimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">dim1</span>,
+        <span class="summary-sig-arg">dim2</span>,
+        <span class="summary-sig-arg">offset</span>=<span class="summary-sig-default">0</span>,
+        <span class="summary-sig-arg">bytecode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">int32</code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">endian</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"><</code><code class="variable-quote">'</code></span>)</span><br />
+      Read a binary image Parameters : fname, dim1, dim2, offset, bytecode,
+      endian fname : file name : str dim1,dim2 : image dimensions : int 
+      offset : size of the : int bytecode among : 
+      "int8","int16","int32","int64","uint8","uint16","uint32","uint64","float32","float64",...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.binaryimage-pysrc.html#binaryimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="estimate_offset_value"></a><span class="summary-sig-name">estimate_offset_value</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">dim1</span>,
+        <span class="summary-sig-arg">dim2</span>,
+        <span class="summary-sig-arg">bytecode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">int32</code><code class="variable-quote">'</code></span>)</span><br />
+      Estimates the size of a file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.binaryimage-pysrc.html#binaryimage.estimate_offset_value">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.binaryimage.binaryimage-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      To be overwritten - write the file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.binaryimage-pysrc.html#binaryimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">_readheader</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="swap_needed"></a><span class="summary-sig-name">swap_needed</span>(<span class="summary-sig-arg">endian</span>)</span><br />
+      Decide if we need to byteswap</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.binaryimage-pysrc.html#binaryimage.swap_needed">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">*args</span>,
+        <span class="sig-arg">**kwargs</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.binaryimage-pysrc.html#binaryimage.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Set up initial values</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">dim1</span>,
+        <span class="sig-arg">dim2</span>,
+        <span class="sig-arg">offset</span>=<span class="sig-default">0</span>,
+        <span class="sig-arg">bytecode</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">int32</code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">endian</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"><</code><code class="variable-quote">'</code></span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.binaryimage-pysrc.html#binaryimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read a binary image Parameters : fname, dim1, dim2, offset, bytecode, 
+  endian fname : file name : str dim1,dim2 : image dimensions : int offset 
+  : size of the : int bytecode among : 
+  "int8","int16","int32","int64","uint8","uint16","uint32","uint64","float32","float64",...
+  endian among short or long endian ("<" or 
+  ">")</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.binaryimage-pysrc.html#binaryimage.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>To be overwritten - write the file</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.bruker100image-module.html b/doc/html/fabio.bruker100image-module.html
new file mode 100644
index 0000000..93f846b
--- /dev/null
+++ b/doc/html/fabio.bruker100image-module.html
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.bruker100image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module bruker100image
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.bruker100image-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module bruker100image</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.bruker100image-pysrc.html">source code</a></span></p>
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.bruker100image.bruker100image-class.html" class="summary-name">bruker100image</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("bruker100image")">logging.getLogger("bruker100image")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.bruker100image-pysrc.html b/doc/html/fabio.bruker100image-pysrc.html
new file mode 100644
index 0000000..2149e33
--- /dev/null
+++ b/doc/html/fabio.bruker100image-pysrc.html
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.bruker100image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module bruker100image
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.bruker100image-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.bruker100image-module.html">Module fabio.bruker100image</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">math</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bruke [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"bruker100image"</tt><tt class="py-op">)</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">Image</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line">    <tt id="link-1" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-1', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"PIL is not installed ... trying to do without"</tt><tt class="py-op">)</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line">    <tt class="py-name">Image</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Module fabio.brukerimage=fabio.brukerimage-module.html,Class fabio.brukerimage.brukerimage=fabio.brukerimage.brukerimage-class.html"><a title="fabio.brukerimage
+fabio.brukerimage.brukerimage" class="py-name" href="#" onclick="return doclink('link-2', 'brukerimage', 'link-2');">brukerimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name"><a title="fabio.brukerimage
+fabio.brukerimage.brukerimage" class="py-name" href="#" onclick="return doclink('link-3', 'brukerimage', 'link-2');">brukerimage</a></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Module fabio.readbytestream=fabio.readbytestream-module.html,Function fabio.readbytestream.readbytestream()=fabio.readbytestream-module.html#readbytestream"><a title="fabio.readbytestream
+fabio.readbytestream.readbytestream" class="py-name" href="#" onclick="return doclink('link-4', 'readbytestream', 'link-4');">readbytestream</a></tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"> </tt>
+<a name="bruker100image"></a><div id="bruker100image-def"><a name="L14"></a><tt class="py-lineno">14</tt> <a class="py-toggle" href="#" id="bruker100image-toggle" onclick="return toggle('bruker100image');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.bruker100image.bruker100image-class.html">bruker100image</a><tt class="py-op">(</tt><tt class="py-base-class">brukerimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="bruker100image-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="bruker100image-expanded"><a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"> </tt>
+<a name="bruker100image.toPIL16"></a><div id="bruker100image.toPIL16-def"><a name="L17"></a><tt class="py-lineno">17</tt> <a class="py-toggle" href="#" id="bruker100image.toPIL16-toggle" onclick="return toggle('bruker100image.toPIL16');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.bruker100image.bruker100image-class.html#toPIL16">toPIL16</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-para [...]
+</div><div id="bruker100image.toPIL16-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="bruker100image.toPIL16-expanded"><a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">Image</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-string">"PIL is not installed !!! "</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt><tt class="py-op">:</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage.OXDimage.read()=fabio.OXDimage.OXDimage-class.html#re [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-5', 'read', 'link-5');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-name">PILimage</tt> <tt class="py-op">=</tt> <tt class="py-name">Image</tt><tt class="py-op">.</tt><tt class="py-name">frombuffer</tt><tt class="py-op">(</tt><tt class="py-string">"F"</tt><tt class="py-op">,</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">                                        <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-6', 'dim1', 'link-6');">dim1</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> [...]
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">                                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-8', 'data', 'link-8');">data</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">                                        <tt class="py-string">"raw"</tt><tt class="py-op">,</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">                                        <tt class="py-string">"F;16"</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">PILimage</tt> </tt>
+</div><a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"> </tt>
+<a name="bruker100image.read"></a><div id="bruker100image.read-def"><a name="L30"></a><tt class="py-lineno">30</tt> <a class="py-toggle" href="#" id="bruker100image.read-toggle" onclick="return toggle('bruker100image.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.bruker100image.bruker100image-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt c [...]
+</div><div id="bruker100image.read-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="bruker100image.read-expanded"><a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-string">"rb"</tt><tt class="py-op">)</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._r [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-9', '_readheader', 'link-9');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">rows</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-10', 'header', 'link-10');">heade [...]
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt class="py-name">cols</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-11', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NCOLS'</tt><tt class="py-op">]</tt> [...]
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">npixelb</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-12', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NPIXELB'</tt><tt class="py-op">] [...]
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-comment"># you had to read the Bruker docs to know this!</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-comment"># We are now at the start of the image - assuming </tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-comment">#   readbrukerheader worked</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-comment"># size = rows * cols * npixelb</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-13', 'data', 'link-8');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="fabio.readbytestream
+fabio.readbytestream.readbytestream" class="py-name" href="#" onclick="return doclink('link-14', 'readbytestream', 'link-4');">readbytestream</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">rows</tt><tt class="py-op">,</tt> <tt class="py-name">cols</tt><tt class="py-op">,</tt> <tt cla [...]
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">                                    <tt class="py-name">datatype</tt><tt class="py-op">=</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-name">signed</tt><tt class="py-op">=</tt><tt class="py-string">'n'</tt><tt class="py-op">,</tt> <tt class="py-name">swap</tt><tt class="py-op">=</tt><tt class="py-string">'n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">        <tt class="py-name">noverfl</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-15', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NOVERFL'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">spl [...]
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">        <tt class="py-comment">#read the set of "underflow pixels" - these will be completely </tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-comment"># disregarded for now</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt id="link-16" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-16', 'data', 'link-8');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-17', 'data', 'link-8');">data</a></tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">k</tt> <tt class="py-op"><</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-comment">#for the time being things - are done in 16 bits</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">            <tt class="py-name">datatype</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'1'</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class="py-op">,</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">                        <tt class="py-string">'2'</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">,</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">                        <tt class="py-string">'4'</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt> <tt class="py-op">}</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">"%d"</tt> <tt class="py-op">%</tt> <tt class="py-number">2</tt> <tt class="py-op">**</tt> <tt class="py-name">k</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">            <tt class="py-name">ar</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-18', 'read', 'link-5');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">noverfl</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt> <tt class="py-op">**</tt> <tt class="py-name">k</tt><tt class="py-op">)</tt><tt clas [...]
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">                                        <tt class="py-name">datatype</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">            <tt class="py-comment">#insert the the overflow pixels in the image array:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">            <tt class="py-comment">#this is probably a memory intensive way of doing this - </tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">            <tt class="py-comment"># might be done in a more clever way</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">            <tt class="py-name">lim</tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> <tt class="py-op">**</tt> <tt class="py-op">(</tt><tt class="py-number">8</tt> <tt class="py-op">*</tt> <tt class="py-name">k</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">            <tt class="py-comment">#generate an array comprising of the indices into data.ravel() </tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">            <tt class="py-comment"># where its value equals lim.</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">            <tt class="py-name">M</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">compress</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">equal</tt><tt class="py-op">(</tt><tt id="link-19" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-19', 'data', 'link-8');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">ravel</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">lim</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">arange</tt><tt class="py-op">(</tt><tt class="py-name">rows</tt> <tt class="py-op">*</tt> < [...]
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">            <tt class="py-comment">#now put values from ar into those indices</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">            <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">put</tt><tt class="py-op">(</tt><tt id="link-20" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-20', 'data', 'link-8');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">ravel</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">M</tt><tt class="py-op">,</tt> <tt class="py-name">ar</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">            <tt class="py-name">padding</tt> <tt class="py-op">=</tt> <tt class="py-number">16</tt> <tt class="py-op">*</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">math</tt><tt class="py-op">.</tt><tt class="py-name">ceil</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">noverfl</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt cl [...]
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line">                         <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">noverfl</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt> <tt class="py-op">**</tt> <tt class="py-name">k</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line">            <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">padding</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-name">noverfl</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">" bytes read + %d bytes padding"</tt> <tt class="py-op">%</tt> <tt class="py-name">padding</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line">            <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-name">k</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line"> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line">        <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line"> </tt>
+<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-21', 'dim1', 'link-6');">dim1</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href= [...]
+<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-23', 'dim1', 'link-6');">dim1</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-n [...]
+<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-25', 'resetvals', 'link-25');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div></div><a name="L81"></a><tt class="py-lineno">81</tt>  <tt class="py-line"> </tt>
+<a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">83</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">84</tt>  <tt class="py-line">    <tt class="py-name">I</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name" targets="Module fabio.bruker100image=fabio.bruker100image-module.html,Class fabio.bruker100image.bruker100image=fabio.bruker100image.bruker100image-class.html"><a title="fabio.bruker100image
+fabio.bruker100image.bruker100image" class="py-name" href="#" onclick="return doclink('link-26', 'bruker100image', 'link-26');">bruker100image</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">85</tt>  <tt class="py-line">    <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">clock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">86</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">87</tt>  <tt class="py-line">        <tt class="py-name">I</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-27', 'read', 'link-5');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">88</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-name">I</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method fabio.bruker100image.bruker100image.toPIL16()=fabio.bruker100image.bruker100image-class.html#toPIL16,Method fabio.fabioimage.fabioimage.toPIL16()=fabio.fabioimage.fabioimage-class.html#toPIL16"><a title="fabio.bruker100image.bruker100image.toPIL16
+fabio.fabioimage.fabioimage.toPIL16" class="py-name" href="#" onclick="return doclink('link-28', 'toPIL16', 'link-28');">toPIL16</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">89</tt>  <tt class="py-line">        <tt class="py-name">I</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method fabio.fabioimage.fabioimage.rebin()=fabio.fabioimage.fabioimage-class.html#rebin"><a title="fabio.fabioimage.fabioimage.rebin" class="py-name" href="#" onclick="return doclink('link-29', 'rebin', 'link-29');">rebin</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-nu [...]
+<a name="L90"></a><tt class="py-lineno">90</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">": max=%d, min=%d, mean=%.2e, stddev=%.2e"</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">91</tt>  <tt class="py-line">            <tt class="py-name">I</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method fabio.fabioimage.fabioimage.getmax()=fabio.fabioimage.fabioimage-class.html#getmax"><a title="fabio.fabioimage.fabioimage.getmax" class="py-name" href="#" onclick="return doclink('link-30', 'getmax', 'link-30');">getmax</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class=" [...]
+<a name="L92"></a><tt class="py-lineno">92</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">'integrated intensity (%d %d %d %d) =%.3f'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">93</tt>  <tt class="py-line">            <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-number">40</tt><tt class="py-op">,</tt> <tt class="py-name">I</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method fabio.fabioimage.fabioimage.integrate_area()=fabio.fabioimage.fabioimage-class.html#integrate_ar [...]
+<a name="L94"></a><tt class="py-lineno">94</tt>  <tt class="py-line">        <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">95</tt>  <tt class="py-line">    <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">clock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno">96</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt> <tt class="py-op">-</tt> <tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno">97</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.bruker100image.bruker100image-class.html b/doc/html/fabio.bruker100image.bruker100image-class.html
new file mode 100644
index 0000000..222f7be
--- /dev/null
+++ b/doc/html/fabio.bruker100image.bruker100image-class.html
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.bruker100image.bruker100image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.bruker100image-module.html">Module bruker100image</a> ::
+        Class bruker100image
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.bruker100image.bruker100image-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class bruker100image</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.bruker100image-pysrc.html#bruker100image">source code</a></span></p>
+<pre class="base-tree">
+           object --+        
+                    |        
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+    
+                        |    
+  <a href="fabio.brukerimage.brukerimage-class.html">brukerimage.brukerimage</a> --+
+                            |
+                           <strong class="uidshort">bruker100image</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.bruker100image.bruker100image-class.html#toPIL16" class="summary-sig-name">toPIL16</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Convert to Python Imaging Library 16 bit greyscale image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.bruker100image-pysrc.html#bruker100image.toPIL16">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.bruker100image.bruker100image-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in and unpack the pixels (including overflow table</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.bruker100image-pysrc.html#bruker100image.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.brukerimage.brukerimage-class.html">brukerimage.brukerimage</a></code></b>:
+      <code><a href="fabio.brukerimage.brukerimage-class.html#write">write</a></code>,
+      <code><a href="fabio.brukerimage.brukerimage-class.html#write2">write2</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.brukerimage.brukerimage-class.html">brukerimage.brukerimage</a></code></b> (private):
+      <code><a href="fabio.brukerimage.brukerimage-class.html#_readheader" onclick="show_private();">_readheader</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.brukerimage.brukerimage-class.html">brukerimage.brukerimage</a></code></b>:
+      <code><a href="fabio.brukerimage.brukerimage-class.html#__headerstring__">__headerstring__</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="toPIL16"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">toPIL16</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">filename</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.bruker100image-pysrc.html#bruker100image.toPIL16">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Convert to Python Imaging Library 16 bit greyscale image</p>
+  <p>FIXME - this should be handled by the libraries now</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#toPIL16">fabioimage.fabioimage.toPIL16</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.bruker100image-pysrc.html#bruker100image.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read in and unpack the pixels (including overflow table</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.brukerimage-module.html b/doc/html/fabio.brukerimage-module.html
new file mode 100644
index 0000000..aff9062
--- /dev/null
+++ b/doc/html/fabio.brukerimage-module.html
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.brukerimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module brukerimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.brukerimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module brukerimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.brukerimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+
+Based on: openbruker,readbruker, readbrukerheader functions in the opendata
+         module of ImageD11 written by Jon Wright, ESRF, Grenoble, France
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.brukerimage.brukerimage-class.html" class="summary-name">brukerimage</a><br />
+      Read and eventually write ID11 bruker (eg smart6500) images
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="test"></a><span class="summary-sig-name">test</span>()</span><br />
+      a testcase</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.brukerimage-pysrc.html#test">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("brukerimage")">logging.getLogger("brukerimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.brukerimage-pysrc.html b/doc/html/fabio.brukerimage-pysrc.html
new file mode 100644
index 0000000..cedb721
--- /dev/null
+++ b/doc/html/fabio.brukerimage-pysrc.html
@@ -0,0 +1,558 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.brukerimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module brukerimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.brukerimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.brukerimage-module.html">Module fabio.brukerimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">         email:erik.knudsen at risoe.dk</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">Based on: openbruker,readbruker, readbrukerheader functions in the opendata</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">         module of ImageD11 written by Jon Wright, ESRF, Grenoble, France</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"brukerimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-1');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-1');">fabioimage</a></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module fabio.readbytestream=fabio.readbytestream-module.html,Function fabio.readbytestream.readbytestream()=fabio.readbytestream-module.html#readbytestream"><a title="fabio.readbytestream
+fabio.readbytestream.readbytestream" class="py-name" href="#" onclick="return doclink('link-3', 'readbytestream', 'link-3');">readbytestream</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name"><a title="fabio.readbytestream
+fabio.readbytestream.readbytestream" class="py-name" href="#" onclick="return doclink('link-4', 'readbytestream', 'link-3');">readbytestream</a></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
+<a name="brukerimage"></a><div id="brukerimage-def"><a name="L22"></a><tt class="py-lineno"> 22</tt> <a class="py-toggle" href="#" id="brukerimage-toggle" onclick="return toggle('brukerimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.brukerimage.brukerimage-class.html">brukerimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="brukerimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="brukerimage-expanded"><a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">    Read and eventually write ID11 bruker (eg smart6500) images</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">    <tt class="py-comment"># needed if you feel like writing - see ImageD11/scripts/edf2bruker.py</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt id="link-5" class="py-name" targets="Variable fabio.brukerimage.brukerimage.__headerstring__=fabio.brukerimage.brukerimage-class.html#__headerstring__"><a title="fabio.brukerimage.brukerimage.__headerstring__" class="py-name" href="#" onclick="return doclink('link-5', '__headerstring__', 'link-5');">__headerstring__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
+<a name="brukerimage._readheader"></a><div id="brukerimage._readheader-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="brukerimage._readheader-toggle" onclick="return toggle('brukerimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.brukerimage.brukerimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class=" [...]
+</div><div id="brukerimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="brukerimage._readheader-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">        the bruker format uses 80 char lines in key : value format</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">        In the fisrt 512*5 bytes of the header there should be a </tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">        HDRBLKS key, whose value denotes how many 512 byte blocks </tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">        are in the total header. The header is always n*5*512 bytes,</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">        otherwise it wont contain whole key: value pairs</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">lump</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-6', 'read', 'link-6');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">512</tt> <tt class="py-op">*</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="fabio.brukerimage.brukerimage.__headerstring__" class="py-name" href="#" onclick="return doclink('link-7', '__headerstring__', 'link-5');">__headerstring__</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">lump</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt id="link-8" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-8', 'i', 'link-8');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">80</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-9', 'header', 'link-9');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt id="link-10" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-10', 'i', 'link-8');">i</a></tt> <tt class="py-op"><</tt> <tt class="py-number">512</tt> <tt class="py-op">*</tt> <tt class="py-number">5</tt><tt class="py-op">:</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">lump</tt><tt class="py-op">[</tt><tt id="link-11" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-11', 'i', 'link-8');">i</a></tt> <tt class="py-op">-</tt> <tt class="py-number">80</tt><tt class="py-op">:</tt> <tt id="link-12" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick= [...]
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">                <tt id="link-13" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-13', 'key', 'link-13');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">lump</tt><tt class="py-op">[</tt><tt id="link-14" class="py-name"><a title="f [...]
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                <tt id="link-16" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-16', 'key', 'link-13');">key</a></tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-17', 'key', 'link-13');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="p [...]
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-18', 'header', 'link-9');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt id="link-19" class="py-name"><a title="fabio.fabioutils.key" class [...]
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">                    <tt class="py-comment"># append lines if key already there</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-20', 'header', 'link-9');">header</a></tt><tt class="py-op">[</tt><tt id="link-21" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-21', 'key', 'link-13');">key</a>< [...]
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-24', 'header', 'link-9');">header</a></tt><tt class="py-op">[</tt><tt id="link-25" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-25', 'key', 'link-13');">key</a>< [...]
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Variable fabio.edfimage.edfimage.header_keys=fabio.edfimage.edfimage-class.html#header_keys"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-26', 'header_keys', 'link-26');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt  [...]
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt id="link-28" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-28', 'i', 'link-8');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-29', 'i', 'link-8');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">80</tt>                  <tt class=" [...]
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-comment"># we must have read this in the first 512 bytes.</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">nhdrblks</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-30', 'header', 'link-9');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'HDRBLKS'</tt><tt class="py-op"> [...]
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-comment"># Now read in the rest of the header blocks, appending </tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">rest</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-31', 'read', 'link-6');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">512</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">nhdrblks</tt> <tt class="py-op">-</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="fabio.brukerimage.brukerimage.__headerstring__" class="py-name" href="#" onclick="return doclink('link-32', '__headerstring__', 'link-5');">__headerstring__</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">rest</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">lump</tt> <tt class="py-op">=</tt> <tt class="py-name">lump</tt><tt class="py-op">[</tt><tt id="link-33" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-33', 'i', 'link-8');">i</a></tt> <tt class="py-op">-</tt> <tt class="py-number">80</tt><tt class="py-op">:</tt> <tt class="py-number">512</tt><tt class="py-op">]</tt> <tt class="py-op">+</ [...]
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt id="link-34" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-34', 'i', 'link-8');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">80</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-number">512</tt> <tt class="py-op">*</tt> <tt class="py-name">nhdrblks</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt id="link-35" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-35', 'i', 'link-8');">i</a></tt> <tt class="py-op"><</tt> <tt class="py-name">j</tt> <tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">lump</tt><tt class="py-op">[</tt><tt id="link-36" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-36', 'i', 'link-8');">i</a></tt> <tt class="py-op">-</tt> <tt class="py-number">80</tt><tt class="py-op">:</tt> <tt id="link-37" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick= [...]
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                <tt id="link-38" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-38', 'key', 'link-13');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">lump</tt><tt class="py-op">[</tt><tt id="link-39" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link [...]
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                <tt id="link-41" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-41', 'key', 'link-13');">key</a></tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-42', 'key', 'link-13');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="p [...]
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-43', 'header', 'link-9');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt id="link-44" class="py-name"><a title="fabio.fabioutils.key" class [...]
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-45', 'header', 'link-9');">header</a></tt><tt class="py-op">[</tt><tt id="link-46" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-46', 'key', 'link-13');">key</a>< [...]
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-49', 'header', 'link-9');">header</a></tt><tt class="py-op">[</tt><tt id="link-50" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-50', 'key', 'link-13');">key</a>< [...]
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-51', 'header_keys', 'link-26');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-52" class="py-name"><a title="fabio.fabioutils.key" class="py-name" h [...]
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt id="link-53" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-53', 'i', 'link-8');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-54" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-54', 'i', 'link-8');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">80</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-comment"># make a (new) header item called "datastart"</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-55', 'header', 'link-9');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'datastart'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">te [...]
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-comment">#set the image dimensions</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-56', 'dim1', 'link-56');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt [...]
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-58', 'dim2', 'link-58');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt [...]
+</div><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="brukerimage.read"></a><div id="brukerimage.read-def"><a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="brukerimage.read-toggle" onclick="return toggle('brukerimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.brukerimage.brukerimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</t [...]
+</div><div id="brukerimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="brukerimage.read-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">        Read in and unpack the pixels (including overflow table</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-60', '_open', 'link-60');">_open</a></tt><tt class="py-op">(</tt><tt clas [...]
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage. [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-61', '_readheader', 'link-61');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">rows</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-62', 'dim1', 'link-56');">dim1</a></tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">cols</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-63', 'dim2', 'link-58');">dim2</a></tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-comment"># you had to read the Bruker docs to know this!</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-name">npixelb</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-64', 'header', 'link-9');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NPIXELB'</tt><tt class="py-o [...]
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">errmsg</tt> <tt class="py-op">=</tt> <tt class="py-string">"length "</tt> <tt class="py-op">+</tt> <tt id="link-65" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-65', 'str', 'link-65');">str</a></tt><tt class="py-op">(</tt><tt id="link-66" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-66', 'len', 'link-66');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py [...]
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">byt</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-68', 'header', 'link-9');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NPIXELB'</tt><tt class="py-op">]</tt><tt class [...]
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                <tt class="py-name">errmsg</tt> <tt class="py-op">+=</tt> <tt class="py-string">"char: "</tt> <tt class="py-op">+</tt> <tt id="link-69" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-69', 'str', 'link-65');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">byt</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt id="link-70" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-70', 'str', 'link-65');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">byt</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"\n"</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt id="link-71" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-71', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-name">errmsg</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-72', 'data', 'link-72');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-73" class="py-name"><a title="fabio.readbytestream
+fabio.readbytestream.readbytestream" class="py-name" href="#" onclick="return doclink('link-73', 'readbytestream', 'link-3');">readbytestream</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                                   <tt class="py-name">rows</tt><tt class="py-op">,</tt> <tt class="py-name">cols</tt><tt class="py-op">,</tt> <tt class="py-name">npixelb</tt><tt class="py-op">,</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                                   <tt class="py-name">datatype</tt><tt class="py-op">=</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                                   <tt class="py-name">signed</tt><tt class="py-op">=</tt><tt class="py-string">'n'</tt><tt class="py-op">,</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                                   <tt class="py-name">swap</tt><tt class="py-op">=</tt><tt class="py-string">'n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-comment">#handle overflows</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">nov</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-74', 'header', 'link-9');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'NOVERFL'</tt><tt class="py-op">]</t [...]
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">nov</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt>   <tt class="py-comment"># Read in the overflows</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt class="py-comment"># need at least int32 sized data I guess - can reach 2^21</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-75', 'data', 'link-72');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-76', 'data', 'link-72');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-comment"># 16 character overflows:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-comment">#      9 characters of intensity</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-comment">#      7 character position</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-77" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-77', 'i', 'link-8');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">nov</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt class="py-name">ovfl</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-78', 'read', 'link-6');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                <tt class="py-name">intensity</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">ovfl</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt> <tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                <tt class="py-name">position</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">ovfl</tt><tt class="py-op">[</tt><tt class="py-number">9</tt><tt class="py-op">:</tt> <tt class="py-number">16</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                <tt class="py-comment"># relies on python style modulo being always +</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                <tt class="py-name">row</tt> <tt class="py-op">=</tt> <tt class="py-name">position</tt> <tt class="py-op">%</tt> <tt class="py-name">rows</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt class="py-comment"># relies on truncation down</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                <tt class="py-name">col</tt> <tt class="py-op">=</tt> <tt class="py-name">position</tt> <tt class="py-op">/</tt> <tt class="py-name">rows</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">                <tt class="py-comment">#print "Overflow ", r, c, intensity, position,\</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                <tt class="py-comment">#    self.data[r,c],self.data[c,r]</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-79', 'data', 'link-72');">data</a></tt><tt class="py-op">[</tt><tt class="py-name">col</tt><tt class="py-op">,</tt> <tt class="py-name">row</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">intensity</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-80', 'resetvals', 'link-80');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="brukerimage.write"></a><div id="brukerimage.write-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="brukerimage.write-toggle" onclick="return toggle('brukerimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.brukerimage.brukerimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-o [...]
+</div><div id="brukerimage.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="brukerimage.write-expanded"><a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">        Writes the image as EDF</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">        FIXME - this should call edfimage.write if that is wanted?</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">        eg:     obj = edfimage(data = self.data, header = self.header)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">                obj.write(fname)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">                or maybe something like: edfimage.write(self, fname)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt id="link-81" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-81', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"***warning***: call to unifinished "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">                <tt class="py-string">"brukerimage.write. This will write the file"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">                            <tt class="py-name">fname</tt> <tt class="py-op">+</tt> <tt class="py-string">"as an edf-file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">outfile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-82', '_open', 'link-60');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-string">"wb"</tt><tt class="py-op"> [...]
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name" targets="Method fabio.GEimage.GEimage.write()=fabio.GEimage.GEimage-class.html#write,Method fabio.OXDimage.OXDimage.write()=fabio.OXDimage.OXDimage-class.html#write,Method fabio.adscimage.adscimage.write()=fabio.adscimage.adscimage-class.html#write,Method fabio.binaryimage.binaryimage.write()=fabio.binaryimage.binaryimage- [...]
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-83', 'write', 'link-83');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'{\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt id="link-84" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-84', 'i', 'link-8');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">4</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-85', 'header_keys', 'link-26');">header_keys</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">"%s = %s;\n"</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" [...]
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt id="link-87" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-87', 'i', 'link-8');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-88" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-88', 'i', 'link-8');">i</a></tt> <tt class="py-op">+</tt> <tt id="link-89" class="py-name"><a title="fabio.file_ser [...]
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-90', 'write', 'link-83');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">4096</tt> <tt class="py-op">-</tt> <tt id="link-91" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-91', 'i', 'link-8');">i</a></tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-string">' '</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-92', 'write', 'link-83');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-93', 'write', 'link-83');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">'}\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-comment"># Assumes a short-circuiting if / or ...</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-94', 'header', 'link-9');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">"ByteOrder"</tt><tt cla [...]
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">               <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-95', 'header', 'link-9');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"ByteOrder"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"LowByteFirst"</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-96', 'write', 'link-83');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-97', 'data', 'link-72');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name" targets="Method fabio.cbfimage.CIF.tostring()=fabio.cbfimage.CIF-class.html#tostring,Method fabio.fabioutils.filename_objec [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-98', 'tostring', 'link-98');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-99', 'write', 'link-83');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-100', 'data', 'link-72');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">                    <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-101', 'tostring', 'link-98');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"> </tt>
+<a name="brukerimage.write2"></a><div id="brukerimage.write2-def"><a name="L168"></a><tt class="py-lineno">168</tt> <a class="py-toggle" href="#" id="brukerimage.write2-toggle" onclick="return toggle('brukerimage.write2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.brukerimage.brukerimage-class.html#write2">write2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class [...]
+</div><div id="brukerimage.write2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="brukerimage.write2-expanded"><a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-docstring">""" FIXME: what is this? """</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+</div></div><a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"> </tt>
+<a name="test"></a><div id="test-def"><a name="L174"></a><tt class="py-lineno">174</tt> <a class="py-toggle" href="#" id="test-toggle" onclick="return toggle('test');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.brukerimage-module.html#test">test</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="test-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test-expanded"><a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">    <tt class="py-docstring">""" a testcase """</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-name">img</tt> <tt class="py-op">=</tt> <tt id="link-102" class="py-name" targets="Module fabio.brukerimage=fabio.brukerimage-module.html,Class fabio.brukerimage.brukerimage=fabio.brukerimage.brukerimage-class.html"><a title="fabio.brukerimage
+fabio.brukerimage.brukerimage" class="py-name" href="#" onclick="return doclink('link-102', 'brukerimage', 'link-102');">brukerimage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">clock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-103', 'read', 'link-6');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name" targets="Method fabio.bruker100image.bruker100image.toPIL16()=fabio.bruker100image.bruker100image-class.html#toPIL16,Method fabio.fabioimage.fabioimage.toPIL16()=fabio.fabioimage.fabioimage-class.html#toPIL16"><a title="fabio.bruker100image.bruker100image.toPIL16
+fabio.fabioimage.fabioimage.toPIL16" class="py-name" href="#" onclick="return doclink('link-104', 'toPIL16', 'link-104');">toPIL16</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name" targets="Method fabio.fabioimage.fabioimage.rebin()=fabio.fabioimage.fabioimage-class.html#rebin"><a title="fabio.fabioimage.fabioimage.rebin" class="py-name" href="#" onclick="return doclink('link-105', 'rebin', 'link-105');">rebin</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class [...]
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">filename</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">": max=%d, min=%d, mean=%.2e, stddev=%.2e"</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name" targets="Method fabio.fabioimage.fabioimage.getmax()=fabio.fabioimage.fabioimage-class.html#getmax"><a title="fabio.fabioimage.fabioimage.getmax" class="py-name" href="#" onclick="return doclink('link-106', 'getmax', 'link-106');">getmax</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt  [...]
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">'integrated intensity (%d %d %d %d) =%.3f'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-number">10</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-number">20</tt><tt class="py-op">,</tt> <tt class="py-number">40</tt><tt class="py-op">,</tt> <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name" targets="Method fabio.fabioimage.fabioimage.integrate_area()=fabio.fabioimage.fabioimage-class.html#integra [...]
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">    <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">clock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-name">end</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">    <tt id="link-111" class="py-name" targets="Function fabio.adscimage.test()=fabio.adscimage-module.html#test,Function fabio.brukerimage.test()=fabio.brukerimage-module.html#test,Function fabio.fabioimage.test()=fabio.fabioimage-module.html#test"><a title="fabio.adscimage.test
+fabio.brukerimage.test
+fabio.fabioimage.test" class="py-name" href="#" onclick="return doclink('link-111', 'test', 'link-111');">test</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.brukerimage.brukerimage-class.html b/doc/html/fabio.brukerimage.brukerimage-class.html
new file mode 100644
index 0000000..661da21
--- /dev/null
+++ b/doc/html/fabio.brukerimage.brukerimage-class.html
@@ -0,0 +1,449 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.brukerimage.brukerimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.brukerimage-module.html">Module brukerimage</a> ::
+        Class brukerimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.brukerimage.brukerimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class brukerimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.brukerimage-pysrc.html#brukerimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">brukerimage</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+      <ul class="subclass-list">
+<li><a href="fabio.bruker100image.bruker100image-class.html">bruker100image.bruker100image</a></li>  </ul>
+</dd></dl>
+
+<hr />
+<p>Read and eventually write ID11 bruker (eg smart6500) images</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.brukerimage.brukerimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      the bruker format uses 80 char lines in key : value format In the 
+      fisrt 512*5 bytes of the header there should be a HDRBLKS key, whose 
+      value denotes how many 512 byte blocks are in the total header.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.brukerimage-pysrc.html#brukerimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.brukerimage.brukerimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in and unpack the pixels (including overflow table</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.brukerimage-pysrc.html#brukerimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.brukerimage.brukerimage-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      Writes the image as EDF...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.brukerimage-pysrc.html#brukerimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="write2"></a><span class="summary-sig-name">write2</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      FIXME: what is this?</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.brukerimage-pysrc.html#brukerimage.write2">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__headerstring__"></a><span class="summary-name">__headerstring__</span> = <code title="''"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.brukerimage-pysrc.html#brukerimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>the bruker format uses 80 char lines in key : value format In the 
+  fisrt 512*5 bytes of the header there should be a HDRBLKS key, whose 
+  value denotes how many 512 byte blocks are in the total header. The 
+  header is always n*5*512 bytes, otherwise it wont contain whole key: 
+  value pairs</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.brukerimage-pysrc.html#brukerimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read in and unpack the pixels (including overflow table</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.brukerimage-pysrc.html#brukerimage.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Writes the image as EDF
+FIXME - this should call edfimage.write if that is wanted?
+eg:     obj = edfimage(data = self.data, header = self.header)
+        obj.write(fname)
+        or maybe something like: edfimage.write(self, fname)
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.byte_offset-module.html b/doc/html/fabio.byte_offset-module.html
new file mode 100644
index 0000000..972d32c
--- /dev/null
+++ b/doc/html/fabio.byte_offset-module.html
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.byte_offset</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module byte_offset
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.byte_offset-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module byte_offset</h1><p class="nomargin-top"></p>
+<p>Authors:      Jerome Kieffer, ESRF Email:        
+  jerome.kieffer at esrf.eu</p>
+  <p>Cif Binary Files images are 2D images written by the Pilatus detector 
+  and others. They use a modified (simplified) byte-offset algorithm.  This
+  file contains the decompression function from a string to an int64 numpy 
+  array.</p>
+  <p>This is Cython: convert it to pure C then compile it with gcc $ cython
+  byte_offset.pyx</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        J\xc3\xa9r\xc3\xb4me Kieffer
+      </p>
+      <p><strong>Contact:</strong>
+        jerome.kieffer at esrf.eu
+      </p>
+      <p><strong>Copyright:</strong>
+        2010, European Synchrotron Radiation Facility, Grenoble, France
+      </p>
+      <p><strong>License:</strong>
+        GPLv3+
+      </p>
+</div><!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__test__"></a><span class="summary-name">__test__</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.cbfimage-module.html b/doc/html/fabio.cbfimage-module.html
new file mode 100644
index 0000000..945a4b0
--- /dev/null
+++ b/doc/html/fabio.cbfimage-module.html
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.cbfimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module cbfimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.cbfimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module cbfimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.cbfimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Authors: Jérôme Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr
+
+Cif Binary Files images are 2D images written by the Pilatus detector and others.
+They use a modified (simplified) byte-offset algorithm.  
+
+CIF is a library for manipulating Crystallographic information files and tries 
+to conform to the specification of the IUCR  
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        J\xc3\xa9r\xc3\xb4me Kieffer
+      </p>
+      <p><strong>Contact:</strong>
+        jerome.kieffer at esrf.eu
+      </p>
+      <p><strong>Copyright:</strong>
+        European Synchrotron Radiation Facility, Grenoble, France
+      </p>
+      <p><strong>License:</strong>
+        GPLv3+
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.cbfimage.cbfimage-class.html" class="summary-name">cbfimage</a><br />
+      Read the Cif Binary File data format
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.cbfimage.CIF-class.html" class="summary-name">CIF</a><br />
+      This is the CIF class, it represents the CIF dictionary; and as a a
+        python dictionary thus inherits from the dict built in class.
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("cbfimage")">logging.getLogger("cbfimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.cbfimage-module.html#DATA_TYPES" class="summary-name">DATA_TYPES</a> = <code title="{'signed 16-bit integer': <type 'numpy.int16'>,
+ 'signed 32-bit integer': <type 'numpy.int32'>,
+ 'signed 64-bit integer': <type 'numpy.int64'>,
+ 'signed 8-bit integer': <type 'numpy.int8'>}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">signed 16-bit integer</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.int16'><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.cbfimage-module.html#MINIMUM_KEYS" class="summary-name">MINIMUM_KEYS</a> = <code title="['X-Binary-Size-Fastest-Dimension',
+ 'ByteOrder',
+ 'Data type',
+ 'X dimension',
+ 'Y dimension',
+ 'Number of readouts']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">X-Binary-Size-Fastest-Dimension</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">ByteOrder</code><code class="variable-quote">'</code><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="STARTER"></a><span class="summary-name">STARTER</span> = <code title="'\x0c\x1a\x04\xd5'"><code class="variable-quote">'</code><code class="variable-string">\x0c\x1a\x04\xd5</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="PADDING"></a><span class="summary-name">PADDING</span> = <code title="512">512</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="DATA_TYPES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">DATA_TYPES</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">signed 16-bit integer</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.int16'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">signed 32-bit integer</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.int32'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">signed 64-bit integer</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.int64'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">signed 8-bit integer</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.int8'><code class="variable-group">}</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="MINIMUM_KEYS"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">MINIMUM_KEYS</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">X-Binary-Size-Fastest-Dimension</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">ByteOrder</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Data type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">X dimension</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Y dimension</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Number of readouts</code><code class="variable-quote">'</code><code class="variable-group">]</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.cbfimage-pysrc.html b/doc/html/fabio.cbfimage-pysrc.html
new file mode 100644
index 0000000..6f507b0
--- /dev/null
+++ b/doc/html/fabio.cbfimage-pysrc.html
@@ -0,0 +1,1185 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.cbfimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module cbfimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.cbfimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.cbfimage-module.html">Module fabio.cbfimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"># coding: utf8</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Jérôme Kieffer, ESRF </tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">         email:jerome.kieffer at esrf.fr</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">Cif Binary Files images are 2D images written by the Pilatus detector and others.</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">They use a modified (simplified) byte-offset algorithm.  </tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">CIF is a library for manipulating Crystallographic information files and tries </tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">to conform to the specification of the IUCR  </tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">"Jérôme Kieffer"</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-name">__contact__</tt> <tt class="py-op">=</tt> <tt class="py-string">"jerome.kieffer at esrf.eu"</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-name">__license__</tt> <tt class="py-op">=</tt> <tt class="py-string">"GPLv3+"</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-name">__copyright__</tt> <tt class="py-op">=</tt> <tt class="py-string">"European Synchrotron Radiation Facility, Grenoble, France"</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"Generated by CIF.py: Jan 2005 - April 2012"</tt><tt class="py-op">,</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">              <tt class="py-string">"Written by Jerome Kieffer: Jerome.Kieffer at esrf.eu"</tt><tt class="py-op">,</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">              <tt class="py-string">"On-line data analysis / ISDD "</tt><tt class="py-op">,</tt> <tt class="py-string">"ESRF Grenoble (France)"</tt><tt class="py-op">]</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">struct</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"cbfimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-1');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-1');">fabioimage</a></tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module fabio.compression=fabio.compression-module.html"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-3', 'compression', 'link-3');">compression</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Function fabio.compression.decByteOffet_python()=fabio.compression-module.html#d [...]
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-comment">#import time</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt id="link-9" class="py-name" targets="Variable fabio.cbfimage.DATA_TYPES=fabio.cbfimage-module.html#DATA_TYPES,Variable fabio.dm3image.DATA_TYPES=fabio.dm3image-module.html#DATA_TYPES,Variable fabio.edfimage.DATA_TYPES=fabio.edfimage-module.html#DATA_TYPES,Variable fabio.kcdimage.DATA_TYPES=fabio.kcdimage-module.html#DATA_TYPES"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-9', 'DATA_TYPES', 'link-9');">DATA_TYPES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">"signed 8-bit integer"</tt>   <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int8</tt><tt class="py-op">,</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">               <tt class="py-string">"signed 16-bit integer"</tt>  <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int16</tt><tt class="py-op">,</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">               <tt class="py-string">"signed 32-bit integer"</tt>  <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">               <tt class="py-string">"signed 64-bit integer"</tt>  <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int64</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">                <tt class="py-op">}</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable fabio.cbfimage.MINIMUM_KEYS=fabio.cbfimage-module.html#MINIMUM_KEYS,Variable fabio.edfimage.MINIMUM_KEYS=fabio.edfimage-module.html#MINIMUM_KEYS,Variable fabio.kcdimage.MINIMUM_KEYS=fabio.kcdimage-module.html#MINIMUM_KEYS"><a title="fabio.cbfimage.MINIMUM_KEYS
+fabio.edfimage.MINIMUM_KEYS
+fabio.kcdimage.MINIMUM_KEYS" class="py-name" href="#" onclick="return doclink('link-10', 'MINIMUM_KEYS', 'link-10');">MINIMUM_KEYS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"X-Binary-Size-Fastest-Dimension"</tt><tt class="py-op">,</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                <tt class="py-string">'ByteOrder'</tt><tt class="py-op">,</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">                <tt class="py-string">'Data type'</tt><tt class="py-op">,</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">                <tt class="py-string">'X dimension'</tt><tt class="py-op">,</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">                <tt class="py-string">'Y dimension'</tt><tt class="py-op">,</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">                <tt class="py-string">'Number of readouts'</tt><tt class="py-op">]</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable fabio.cbfimage.STARTER=fabio.cbfimage-module.html#STARTER"><a title="fabio.cbfimage.STARTER" class="py-name" href="#" onclick="return doclink('link-11', 'STARTER', 'link-11');">STARTER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"\x0c\x1a\x04\xd5"</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable fabio.cbfimage.PADDING=fabio.cbfimage-module.html#PADDING"><a title="fabio.cbfimage.PADDING" class="py-name" href="#" onclick="return doclink('link-12', 'PADDING', 'link-12');">PADDING</a></tt> <tt class="py-op">=</tt> <tt class="py-number">512</tt> </tt>
+<a name="cbfimage"></a><div id="cbfimage-def"><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="cbfimage-toggle" onclick="return toggle('cbfimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.cbfimage.cbfimage-class.html">cbfimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="cbfimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="cbfimage-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-docstring">""" </tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">    Read the Cif Binary File data format </tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="cbfimage.__init__"></a><div id="cbfimage.__init__-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="cbfimage.__init__-toggle" onclick="return toggle('cbfimage.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.cbfimage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op" [...]
+</div><div id="cbfimage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="cbfimage.__init__-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">        Constructor of the class CIF Binary File reader.</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">        @param _strFilename: the name of the file to open</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">        @type  _strFilename: string</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt id="link-13" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-13', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__init__()=fabio.TiffIO.TiffIO-class.html#__init__,Method fabio.adscimage.adscimage.__init__()=fabio.adscimage.adscimage-class.html#__init__,Method fabio.binaryimage.binaryimage.__i [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-14', '__init__', 'link-14');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-15" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-15', 'data', 'link-15');">data</a></tt><tt class="py-op">,</tt> <tt id="link-16" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-16', 'header', 'link-16');">header</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cif</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name" targets="Class fabio.cbfimage.CIF=fabio.cbfimage.CIF-class.html"><a title="fabio.cbfimage.CIF" class="py-name" href="#" onclick="return doclink('link-17', 'CIF', 'link-17');">CIF</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">fname</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-comment">#load the file)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage.OXDimage.read()=fabio.OXDimage.OXDimage-class.html# [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-18', 'read', 'link-18');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="cbfimage.checkData"></a><div id="cbfimage.checkData-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="cbfimage.checkData-toggle" onclick="return toggle('cbfimage.checkData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.cbfimage-class.html#checkData">checkData</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py [...]
+</div><div id="cbfimage.checkData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="cbfimage.checkData-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-19" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-19', 'data', 'link-15');">data</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-20" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-20', 'data', 'link-15');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="cbfimage._readheader"></a><div id="cbfimage._readheader-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="cbfimage._readheader-toggle" onclick="return toggle('cbfimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.cbfimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">inStream [...]
+</div><div id="cbfimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="cbfimage._readheader-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">        Read in a header in some CBF format from a string representing binary stuff</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">        @param inStream: file containing the Cif Binary part.</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">        @type inStream: opened file.</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cif</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method fabio.cbfimage.CIF.loadCIF()=fabio.cbfimage.CIF-class.html#loadCIF"><a title="fabio.cbfimage.CIF.loadCIF" class="py-name" href="#" onclick="return doclink('link-21', 'loadCIF', 'link-21');">loadCIF</a></tt><tt class="py-op">(</tt><tt class="py-name">inStream</ [...]
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-comment">#        backport contents of the CIF data to the headers</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-22" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-22', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cif</tt><tt class="py-op">:</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-23" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-23', 'key', 'link-22');">key</a></tt> <tt class="py-op">!=</tt> <tt class="py-string">"_array_data.data"</tt><tt class="py-op">:</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Variable fabio.edfimage.edfimage.header_keys=fabio.edfimage.edfimage-class.html#header_keys"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-24', 'header_keys', 'link-24');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt clas [...]
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-26', 'header', 'link-16');">header</a></tt><tt class="py-op">[</tt><tt id="link-27" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-27', 'key', 'link-22');">key</a></tt [...]
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">"_array_data.data"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cif</tt><tt class="py-op">:</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"cbfimage: CBF file %s is corrupt, cannot find data block with '_array_data.data' key"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">inStream2</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cif</tt><tt class="py-op">[</tt><tt class="py-string">"_array_data.data"</tt><tt class="py-op">]</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">sep</tt> <tt class="py-op">=</tt> <tt class="py-string">"\r\n"</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">iSepPos</tt> <tt class="py-op">=</tt> <tt class="py-name">inStream2</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-name">sep</tt><tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">iSepPos</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt> <tt class="py-keyword">or</tt> <tt class="py-name">iSepPos</tt> <tt class="py-op">></tt> <tt class="py-number">80</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-name">sep</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt> <tt class="py-comment">#switch back to unix representation</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt id="link-29" class="py-name" targets="Variable fabio.fabioutils.lines=fabio.fabioutils-module.html#lines"><a title="fabio.fabioutils.lines" class="py-name" href="#" onclick="return doclink('link-29', 'lines', 'link-29');">lines</a></tt> <tt class="py-op">=</tt> <tt class="py-name">inStream2</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">sep</tt><tt clas [...]
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">oneLine</tt> <tt class="py-keyword">in</tt> <tt id="link-30" class="py-name"><a title="fabio.fabioutils.lines" class="py-name" href="#" onclick="return doclink('link-30', 'lines', 'link-29');">lines</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-31" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-31', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">oneLine</tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <t [...]
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                <tt id="link-32" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-32', 'key', 'link-22');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">oneLine</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt> <tt class="py-op">,</tt> <tt  [...]
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                <tt id="link-33" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-33', 'key', 'link-22');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">oneLine</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt> <tt class="py-op">,</tt> <tt [...]
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt id="link-34" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-34', 'key', 'link-22');">key</a></tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-35', 'key', 'link-22');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-o [...]
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-36', 'header_keys', 'link-24');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-37" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" [...]
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-38', 'header', 'link-16');">header</a></tt><tt class="py-op">[</tt><tt id="link-39" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-39', 'key', 'link-22');">key</a></tt><t [...]
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt id="link-40" class="py-name"><a title="fabio.cbfimage.MINIMUM_KEYS
+fabio.edfimage.MINIMUM_KEYS
+fabio.kcdimage.MINIMUM_KEYS" class="py-name" href="#" onclick="return doclink('link-40', 'MINIMUM_KEYS', 'link-10');">MINIMUM_KEYS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-41', 'header_keys', 'link-24');">header_keys</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-name">missing</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-42" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-42', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">missing</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt id="link-43" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-43', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"CBF file misses the keys "</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">missing</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
+<a name="cbfimage.read"></a><div id="cbfimage.read-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="cbfimage.read-toggle" onclick="return toggle('cbfimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.cbfimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py- [...]
+</div><div id="cbfimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="cbfimage.read-expanded"><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">        Read in header into self.header and</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">            the data   into self.data</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-44', 'header', 'link-16');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-45', 'resetvals', 'link-45');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-46', '_open', 'link-46');">_open</a></tt><tt class="py-op">(</tt><tt cla [...]
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._re [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-47', '_readheader', 'link-47');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-comment"># Compute image size</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-48', 'dim1', 'link-48');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">sel [...]
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-50', 'dim2', 'link-50');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">sel [...]
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">"CBF file %s is corrupt, no dimensions in it"</tt> <tt class="py-op">%</tt> <tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt id="link-52" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-52', 'bytecode', 'link-52');">bytecode</a></tt> <tt class="py-op">=</tt> <tt id="link-53" class="py-name"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-53', 'DATA_TYPES', 'link-9');">DATA_TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-54', 'header', 'link-16');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'X-Binary-Element-Type'</tt><tt class="py-op">]</tt><tt class="p [...]
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-55', 'bpp', 'link-55');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="fabio.file_series.file_series.len" cl [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-58', 'tostring', 'link-58');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt id="link-59" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-59', 'bytecode', 'link-52');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-60', 'bpp', 'link-55');">bpp</a></tt> <tt class="py-op">=</tt> <tt class="py-number">32</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt id="link-61" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-61', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Defaulting type to int32"</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-62', 'header', 'link-16');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"conversions"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"x-CBF_BYTE_OFFSET" [...]
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-63', 'data', 'link-15');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method fabio.cbfimage.cbfimage._readbinary_byte_offset()=fabio.cbfimage.cbfimage-class.html#_readbinary_byte_offset"><a title="fabio.cbfimage.cbfimage._readbinary_byte_offset" class="py-name" href="#" onclick="return doclink('link-64', '_readbinar [...]
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">"Compression scheme not yet supported, please contact FABIO development team"</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-68', 'bytecode', 'link-52');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-69', 'data', 'link-15');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-70', 'resetvals', 'link-45');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-comment">#        # ensure the PIL image is reset</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"> </tt>
+<a name="cbfimage._readbinary_byte_offset"></a><div id="cbfimage._readbinary_byte_offset-def"><a name="L150"></a><tt class="py-lineno">150</tt> <a class="py-toggle" href="#" id="cbfimage._readbinary_byte_offset-toggle" onclick="return toggle('cbfimage._readbinary_byte_offset');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.cbfimage-class.html#_readbinary_byte_offset">_readbinary_byte_offset</a><tt class="py-op">(</tt><tt class=" [...]
+</div><div id="cbfimage._readbinary_byte_offset-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="cbfimage._readbinary_byte_offset-expanded"><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">        Read in a binary part of an x-CBF_BYTE_OFFSET compressed image </tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">        @param inStream: the binary image (without any CIF decorators)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">        @type inStream: python string.</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">        @return: a linear numpy array without shape and dtype set</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: numpy array</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">startPos</tt> <tt class="py-op">=</tt> <tt class="py-name">inStream</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt id="link-71" class="py-name"><a title="fabio.cbfimage.STARTER" class="py-name" href="#" onclick="return doclink('link-71', 'STARTER', 'link-11');">STARTER</a></tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">4</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt id="link-72" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-72', 'data', 'link-15');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">inStream</tt><tt class="py-op">[</tt> <tt class="py-name">startPos</tt><tt class="py-op">:</tt> <tt class="py-name">startPos</tt> <tt class="py-op">+</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="fabio.edfimage.edfi [...]
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt class="py-keyword">import</tt> <tt id="link-74" class="py-name" targets="Module fabio.byte_offset=fabio.byte_offset-module.html"><a title="fabio.byte_offset" class="py-name" href="#" onclick="return doclink('link-74', 'byte_offset', 'link-74');">byte_offset</a></tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt id="link-75" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-75', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Error in byte_offset part: Falling back to Numpy implementation"</tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">myData</tt> <tt class="py-op">=</tt> <tt id="link-76" class="py-name"><a title="fabio.compression.decByteOffet_numpy" class="py-name" href="#" onclick="return doclink('link-76', 'decByteOffet_numpy', 'link-6');">decByteOffet_numpy</a></tt><tt class="py-op">(</tt><tt id="link-77" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-77', 'data', 'link-15');">data</a></tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-78', 'dim1', 'link-48');">dim1</a></tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-o [...]
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-name">myData</tt> <tt class="py-op">=</tt> <tt id="link-80" class="py-name"><a title="fabio.byte_offset" class="py-name" href="#" onclick="return doclink('link-80', 'byte_offset', 'link-74');">byte_offset</a></tt><tt class="py-op">.</tt><tt class="py-name">analyseCython</tt><tt class="py-op">(</tt><tt id="link-81" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-81', 'data', 'link-15');">data</a></tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-82', 'dim1', 'link-48');">dim1</a></tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-o [...]
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt id="link-84" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-84', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">myData</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="fabio. [...]
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">myData</tt> </tt>
+</div><a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"> </tt>
+<a name="cbfimage.write"></a><div id="cbfimage.write-def"><a name="L173"></a><tt class="py-lineno">173</tt> <a class="py-toggle" href="#" id="cbfimage.write-toggle" onclick="return toggle('cbfimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.cbfimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">)</tt><tt class [...]
+</div><div id="cbfimage.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="cbfimage.write-expanded"><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">        write the file in CBF format</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">        @param fname: name of the file</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">        @type: string</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-87', 'data', 'link-15');">data</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-88', 'dim2', 'link-50');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="retu [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-90', 'data', 'link-15');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-string">"CBF image contains no data"</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">binary_blob</tt> <tt class="py-op">=</tt> <tt id="link-91" class="py-name"><a title="fabio.compression.compByteOffet_numpy" class="py-name" href="#" onclick="return doclink('link-91', 'compByteOffet_numpy', 'link-8');">compByteOffet_numpy</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-92', 'data', 'link-15');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-comment">#        l = len(binary_blob)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-comment">#        if (l % PADDING) != 0:</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-comment">#            rem = PADDING - (l % PADDING)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-comment">#            binary_blob += "\x00" * rem</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-string">"Unknown"</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-93" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-93', 'key', 'link-22');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt id="link-94" class="py-name"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-94', 'DATA_TYPES', 'link-9');">DATA_TYPES</a></tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">value</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-95', 'data', 'link-15');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">:</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                <tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt id="link-96" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-96', 'key', 'link-22');">key</a></tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">binary_block</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                        <tt class="py-string">"--CIF-BINARY-FORMAT-SECTION--"</tt><tt class="py-op">,</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                        <tt class="py-string">"Content-Type: application/octet-stream;"</tt><tt class="py-op">,</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                        <tt class="py-string">'     conversions="x-CBF_BYTE_OFFSET"'</tt><tt class="py-op">,</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                        <tt class="py-string">'Content-Transfer-Encoding: BINARY'</tt><tt class="py-op">,</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">                        <tt class="py-string">"X-Binary-Size: %d"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-97" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-97', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">binary_blob</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                        <tt class="py-string">"X-Binary-ID: 1"</tt><tt class="py-op">,</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">                        <tt class="py-string">'X-Binary-Element-Type: "%s"'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">dtype</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                        <tt class="py-string">"X-Binary-Element-Byte-Order: LITTLE_ENDIAN"</tt> <tt class="py-op">,</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                        <tt class="py-string">"Content-MD5: %s"</tt> <tt class="py-op">%</tt> <tt id="link-98" class="py-name"><a title="fabio.compression.md5sum" class="py-name" href="#" onclick="return doclink('link-98', 'md5sum', 'link-7');">md5sum</a></tt><tt class="py-op">(</tt><tt class="py-name">binary_blob</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                        <tt class="py-string">"X-Binary-Number-of-Elements: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-99', 'dim1', 'link-48');">dim1</a></tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="p [...]
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">                        <tt class="py-string">"X-Binary-Size-Fastest-Dimension: %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-101', 'dim1', 'link-48');">dim1</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">                        <tt class="py-string">"X-Binary-Size-Second-Dimension: %d"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-102', 'dim2', 'link-50');">dim2</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                        <tt class="py-string">"X-Binary-Size-Padding: %d"</tt> <tt class="py-op">%</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">                        <tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">                        <tt id="link-103" class="py-name"><a title="fabio.cbfimage.STARTER" class="py-name" href="#" onclick="return doclink('link-103', 'STARTER', 'link-11');">STARTER</a></tt> <tt class="py-op">+</tt> <tt class="py-name">binary_blob</tt><tt class="py-op">,</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                        <tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                        <tt class="py-string">"--CIF-BINARY-FORMAT-SECTION----"</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                        <tt class="py-op">]</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"_array_data.header_contents"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-104', 'header', 'link-16');">header</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-name">nonCifHeaders</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt class="py-name">nonCifHeaders</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-105" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-105', 'i', 'link-105');">i</a></tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)< [...]
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-109" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-109', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-110',  [...]
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt id="link-111" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-111', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="fabio.edfimage.edfimage.header_key [...]
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-113', 'header_keys', 'link-24');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-114" class="py-name"><a title="fabio.fabioutils.key" class="py-name" h [...]
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-115" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-115', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-1 [...]
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-117" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-117', 'key', 'link-22');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"_"</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-118" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-118', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cif</tt> <tt class="py-keyword">or</tt> <tt class="py-name">self</tt><tt class [...]
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cif</tt><tt class="py-op">[</tt><tt id="link-122" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-122', 'key', 'link-22');">key</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"> [...]
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt id="link-125" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-125', 'key', 'link-22');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"X-Binary-"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt id="link-126" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-126', 'key', 'link-22');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"Content-"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt id="link-127" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-127', 'key', 'link-22');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"conversions"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt id="link-128" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-128', 'key', 'link-22');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"filename"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt id="link-129" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-129', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-1 [...]
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                <tt class="py-name">nonCifHeaders</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"%s %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-131" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-131', 'key', 'link-22');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name"> [...]
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-134" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-134', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">nonCifHeaders</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cif</tt><tt class="py-op">[</tt><tt class="py-string">"_array_data.header_contents"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"\r\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"# %s"</tt> <tt class="py-op">%</tt> <tt i [...]
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cif</tt><tt class="py-op">[</tt><tt class="py-string">"_array_data.data"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"\r\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">binary_block</tt><tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">cif</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name" targets="Method fabio.cbfimage.CIF.saveCIF()=fabio.cbfimage.CIF-class.html#saveCIF"><a title="fabio.cbfimage.CIF.saveCIF" class="py-name" href="#" onclick="return doclink('link-137', 'saveCIF', 'link-137');">saveCIF</a></tt><tt class="py-op">(</tt><tt class="py-name">fname< [...]
+</div></div><a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"> </tt>
+<a name="CIF"></a><div id="CIF-def"><a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-comment">################################################################################</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-comment"># CIF class </tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-comment">################################################################################</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt> <a class="py-toggle" href="#" id="CIF-toggle" onclick="return toggle('CIF');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html">CIF</a><tt class="py-op">(</tt><tt class="py-base-class">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CIF-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CIF-expanded"><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring">    This is the CIF class, it represents the CIF dictionary;</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring">    and as a a python dictionary thus inherits from the dict built in class.</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt id="link-138" class="py-name" targets="Variable fabio.cbfimage.CIF.EOL=fabio.cbfimage.CIF-class.html#EOL"><a title="fabio.cbfimage.CIF.EOL" class="py-name" href="#" onclick="return doclink('link-138', 'EOL', 'link-138');">EOL</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"\r"</tt><tt class="py-op">,</tt> <tt class="py-string">"\n"</tt><tt class="py-op">,</tt> <tt class="py-str [...]
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt id="link-139" class="py-name" targets="Variable fabio.cbfimage.CIF.BLANK=fabio.cbfimage.CIF-class.html#BLANK"><a title="fabio.cbfimage.CIF.BLANK" class="py-name" href="#" onclick="return doclink('link-139', 'BLANK', 'link-139');">BLANK</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">" "</tt><tt class="py-op">,</tt> <tt class="py-string">"\t"</tt><tt class="py-op">]</tt> <tt clas [...]
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">    <tt id="link-141" class="py-name" targets="Variable fabio.cbfimage.CIF.START_COMMENT=fabio.cbfimage.CIF-class.html#START_COMMENT"><a title="fabio.cbfimage.CIF.START_COMMENT" class="py-name" href="#" onclick="return doclink('link-141', 'START_COMMENT', 'link-141');">START_COMMENT</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"\""</tt><tt class="py-op">,</tt> <tt class="py-string">" [...]
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">    <tt id="link-142" class="py-name" targets="Variable fabio.cbfimage.CIF.BINARY_MARKER=fabio.cbfimage.CIF-class.html#BINARY_MARKER"><a title="fabio.cbfimage.CIF.BINARY_MARKER" class="py-name" href="#" onclick="return doclink('link-142', 'BINARY_MARKER', 'link-142');">BINARY_MARKER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"--CIF-BINARY-FORMAT-SECTION--"</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"> </tt>
+<a name="CIF.__init__"></a><div id="CIF.__init__-def"><a name="L253"></a><tt class="py-lineno">253</tt> <a class="py-toggle" href="#" id="CIF.__init__-toggle" onclick="return toggle('CIF.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_strFilename</tt><tt class="py-op">=</tt><tt class [...]
+</div><div id="CIF.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.__init__-expanded"><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-docstring">        Constructor of the class.</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-docstring">        @param _strFilename: the name of the file to open</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"><tt class="py-docstring">        @type  _strFilename: filename (str) or file object</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-name">dict</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="fabio.OXDimage.Section.__init__
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-143', '__init__', 'link-14');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ordered</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_strFilename</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-comment">#load the file)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="fabio.cbfimage.CIF.loadCIF" class="py-name" href="#" onclick="return doclink('link-144', 'loadCIF', 'link-21');">loadCIF</a></tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line"> </tt>
+<a name="CIF.__setitem__"></a><div id="CIF.__setitem__-def"><a name="L265"></a><tt class="py-lineno">265</tt> <a class="py-toggle" href="#" id="CIF.__setitem__-toggle" onclick="return toggle('CIF.__setitem__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#__setitem__">__setitem__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> [...]
+</div><div id="CIF.__setitem__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.__setitem__-expanded"><a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-145" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-145', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</ [...]
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ordered</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-146" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-146', 'key', 'link-22');">key</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">dict</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name" targets="Method fabio.cbfimage.CIF.__setitem__()=fabio.cbfimage.CIF-class.html#__setitem__"><a title="fabio.cbfimage.CIF.__setitem__" class="py-name" href="#" onclick="return doclink('link-147', '__setitem__', 'link-147');">__setitem__</a></tt><tt class="py-op">(</tt><tt class="py-name">sel [...]
+</div><a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
+<a name="CIF.pop"></a><div id="CIF.pop-def"><a name="L270"></a><tt class="py-lineno">270</tt> <a class="py-toggle" href="#" id="CIF.pop-toggle" onclick="return toggle('CIF.pop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#pop">pop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CIF.pop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.pop-expanded"><a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-149" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-149', 'key', 'link-22');">key</a></tt>  <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name"> [...]
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ordered</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt id="link-150" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-150', 'key', 'link-22');">key</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">dict</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name" targets="Method fabio.cbfimage.CIF.pop()=fabio.cbfimage.CIF-class.html#pop"><a title="fabio.cbfimage.CIF.pop" class="py-name" href="#" onclick="return doclink('link-151', 'pop', 'link-151');">pop</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="l [...]
+</div><a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"> </tt>
+<a name="CIF.popitem"></a><div id="CIF.popitem-def"><a name="L275"></a><tt class="py-lineno">275</tt> <a class="py-toggle" href="#" id="CIF.popitem-toggle" onclick="return toggle('CIF.popitem');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#popitem">popitem</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CIF.popitem-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.popitem-expanded"><a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-153" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-153', 'key', 'link-22');">key</a></tt>  <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="p [...]
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ordered</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt id="link-154" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-154', 'key', 'link-22');">key</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">dict</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name" targets="Method fabio.cbfimage.CIF.popitem()=fabio.cbfimage.CIF-class.html#popitem"><a title="fabio.cbfimage.CIF.popitem" class="py-name" href="#" onclick="return doclink('link-155', 'popitem', 'link-155');">popitem</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py- [...]
+</div><a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"> </tt>
+<a name="CIF.loadCIF"></a><div id="CIF.loadCIF-def"><a name="L281"></a><tt class="py-lineno">281</tt> <a class="py-toggle" href="#" id="CIF.loadCIF-toggle" onclick="return toggle('CIF.loadCIF');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#loadCIF">loadCIF</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_strFilename</tt><tt class="py-op">,</tt> <tt class="py- [...]
+</div><div id="CIF.loadCIF-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.loadCIF-expanded"><a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-docstring">"""Load the CIF file and populates the CIF dictionary into the object</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"><tt class="py-docstring">        @param _strFilename: the name of the file to open</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"><tt class="py-docstring">        @type  _strFilename: string</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"><tt class="py-docstring">        @param _strFilename: the name of the file to open</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"><tt class="py-docstring">        @type  _strFilename: string</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"><tt class="py-docstring">        @return: None</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-157" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-157', 'str', 'link-157');">str</a></tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isfile</tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">,</tt> <tt class="py-string">"rb"</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-string">"CIF.loadCIF: No such file to open: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">_strFilename</tt><tt class="py-op">)</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">        <tt class="py-comment">#elif isinstance(_strFilename, file, bz2.BZ2File, ):</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-string">"read"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dir</tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">            <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">_strFilename</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-string">"CIF.loadCIF: what is %s type %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">,</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt  [...]
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">_bKeepComment</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name" targets="Method fabio.cbfimage.CIF._parseCIF()=fabio.cbfimage.CIF-class.html#_parseCIF"><a title="fabio.cbfimage.CIF._parseCIF" class="py-name" href="#" onclick="return doclink('link-158', '_parseCIF', 'link-158');">_parseCIF</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="l [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-159', 'read', 'link-18');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-160" class="py-name"><a title="fabio.cbfimage.CIF._parseCIF" class="py-name" href="#" onclick="return doclink('link-160', '_parseCIF', 'link-158');">_parseCIF</a></tt><tt class="py-op">(</tt><tt id="link-161" class="py-name"><a title="fabio.cbfimage.CIF" class="py-name" href="#" onclick="return doclink('link-161', 'CIF', 'link-17');">CIF</a> [...]
+</div><a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">    <tt class="py-name">readCIF</tt> <tt class="py-op">=</tt> <tt id="link-163" class="py-name"><a title="fabio.cbfimage.CIF.loadCIF" class="py-name" href="#" onclick="return doclink('link-163', 'loadCIF', 'link-21');">loadCIF</a></tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="CIF.isAscii"></a><div id="CIF.isAscii-def"><a name="L307"></a><tt class="py-lineno">307</tt> <a class="py-toggle" href="#" id="CIF.isAscii-toggle" onclick="return toggle('CIF.isAscii');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#isAscii">isAscii</a><tt class="py-op">(</tt><tt class="py-param">_strIn</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CIF.isAscii-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.isAscii-expanded"><a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-docstring">        Check if all characters in a string are ascii,</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line"><tt class="py-docstring">        @param _strIn: input string</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line"><tt class="py-docstring">        @type _strIn: python string</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"><tt class="py-docstring">        @return: boolean</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: boolean</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">        <tt class="py-name">bIsAcii</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-164" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-164', 'i', 'link-105');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">_strIn</tt><tt class="py-op">:</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt id="link-165" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-165', 'i', 'link-105');">i</a></tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">127</tt><tt class="py-op">:</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">                <tt class="py-name">bIsAcii</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">bIsAcii</tt> </tt>
+</div><a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="CIF._readCIF"></a><div id="CIF._readCIF-def"><a name="L325"></a><tt class="py-lineno">325</tt> <a class="py-toggle" href="#" id="CIF._readCIF-toggle" onclick="return toggle('CIF._readCIF');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#_readCIF">_readCIF</a><tt class="py-op">(</tt><tt class="py-param">_instream</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CIF._readCIF-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF._readCIF-expanded"><a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-docstring">        - Check if the filename containing the CIF data exists</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-docstring">        - read the cif file</tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"><tt class="py-docstring">        - removes the comments</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line"><tt class="py-docstring">        @param _instream: the file containing the CIF data</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"><tt class="py-docstring">        @type _instream: open file in read mode</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-docstring">        @return: a string containing the raw data</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: string</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">"readlines"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dir</tt><tt class="py-op">(</tt><tt class="py-name">_instream</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-string">"CIF._readCIF(instream): I expected instream to be an opened file,\</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line"><tt class="py-string">             here I got %s type %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">_instream</tt><tt class="py-op">,</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">_instream</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-name">lLinesRead</tt> <tt class="py-op">=</tt> <tt class="py-name">_instream</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-name">sText</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">sLine</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lLinesRead</tt><tt class="py-op">:</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">            <tt class="py-name">iPos</tt> <tt class="py-op">=</tt> <tt class="py-name">sLine</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"#"</tt><tt class="py-op">)</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">iPos</tt> <tt class="py-op">>=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-166" class="py-name"><a title="fabio.cbfimage.CIF" class="py-name" href="#" onclick="return doclink('link-166', 'CIF', 'link-17');">CIF</a></tt><tt class="py-op">.</tt><tt id="link-167" class="py-name" targets="Static Method fabio.cbfimage.CIF.isAscii()=fabio.cbfimage.CIF-class.html#isAscii,Function fabio.fabioutils.isAscii()=fabio.fabioutils-module.html#isAs [...]
+fabio.fabioutils.isAscii" class="py-name" href="#" onclick="return doclink('link-167', 'isAscii', 'link-167');">isAscii</a></tt><tt class="py-op">(</tt><tt class="py-name">sLine</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">                    <tt class="py-name">sText</tt> <tt class="py-op">+=</tt> <tt class="py-name">sLine</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">iPos</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">linesep</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">iPos</tt> <tt class="py-op">></tt> <tt class="py-number">80</tt> <tt class="py-op">:</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">                    <tt id="link-168" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-168', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"This line is too long and could cause problems in PreQuest: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">sLine</tt><tt class="py-op">)</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">                <tt class="py-name">sText</tt> <tt class="py-op">+=</tt> <tt class="py-name">sLine</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-169" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-169', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">sLine</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">&gt [...]
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">                    <tt id="link-170" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-170', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"This line is too long and could cause problems in PreQues: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">sLine</tt><tt class="py-op">)</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">sText</tt> </tt>
+</div><a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line"> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line"> </tt>
+<a name="CIF._parseCIF"></a><div id="CIF._parseCIF-def"><a name="L356"></a><tt class="py-lineno">356</tt> <a class="py-toggle" href="#" id="CIF._parseCIF-toggle" onclick="return toggle('CIF._parseCIF');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#_parseCIF">_parseCIF</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sText</tt><tt class="py-op">)</tt><tt class= [...]
+</div><div id="CIF._parseCIF-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF._parseCIF-expanded"><a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-docstring">        - Parses the text of a CIF file</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt class="py-docstring">        - Cut it in fields</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-docstring">        - Find all the loops and process</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"><tt class="py-docstring">        - Find all the keys and values</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line"><tt class="py-docstring">        @param sText: the content of the CIF - file</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line"><tt class="py-docstring">        @type sText: string</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"><tt class="py-docstring">        @return: Nothing, the data are incorporated at the CIF object dictionary</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: None</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">        <tt class="py-name">loopidx</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">        <tt class="py-name">looplen</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">        <tt class="py-name">loop</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-comment">#first of all : separate the cif file in fields</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-name">lFields</tt> <tt class="py-op">=</tt> <tt id="link-171" class="py-name"><a title="fabio.cbfimage.CIF" class="py-name" href="#" onclick="return doclink('link-171', 'CIF', 'link-17');">CIF</a></tt><tt class="py-op">.</tt><tt id="link-172" class="py-name" targets="Static Method fabio.cbfimage.CIF._splitCIF()=fabio.cbfimage.CIF-class.html#_splitCIF"><a title="fabio.cbfimage.CIF._splitCIF" class [...]
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt class="py-comment">#Then : look for loops</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-173" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-173', 'i', 'link-105');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt id="link-174" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-174', ' [...]
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link-175" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-175', 'i', 'link-105');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-s [...]
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">                <tt class="py-name">loopidx</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-176" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-176', 'i', 'link-105');">i</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-177" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-177', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">loopidx</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-178" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-178', 'i', 'link-105');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">loopidx</tt><tt class="py-op">:</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">                <tt class="py-name">loopone</tt><tt class="py-op">,</tt> <tt class="py-name">length</tt><tt class="py-op">,</tt> <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt id="link-179" class="py-name"><a title="fabio.cbfimage.CIF" class="py-name" href="#" onclick="return doclink('link-179', 'CIF', 'link-17');">CIF</a></tt><tt class="py-op">.</tt><tt id="link-180" class="py-name" targets="Static Method [...]
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">                <tt class="py-name">loop</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">keys</tt><tt class="py-op">,</tt> <tt class="py-name">loopone</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">                <tt class="py-name">looplen</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line"> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-182" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-182', 'i', 'link-105');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt id="link-183" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-183 [...]
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">                <tt class="py-name">f1</tt> <tt class="py-op">=</tt> <tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">loopidx</tt><tt class="py-op">[</tt><tt id="link-184" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-184', 'i', 'link-105');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py [...]
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">                <tt class="py-name">lFields</tt> <tt class="py-op">=</tt> <tt class="py-name">f1</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">"loop_"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">loop</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line"> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-187" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-187', 'i', 'link-105');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt id="link-188" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-188', ' [...]
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">    <tt class="py-comment">#        print lFields[i], lFields[i+1]</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-189" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-189', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link-190" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-190', ' [...]
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link-192" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-192', 'i', 'link-105');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"_"</tt> <tt class= [...]
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link-194" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-194', 'i', 'link-105');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link [...]
+</div><a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="CIF._splitCIF"></a><div id="CIF._splitCIF-def"><a name="L397"></a><tt class="py-lineno">397</tt> <a class="py-toggle" href="#" id="CIF._splitCIF-toggle" onclick="return toggle('CIF._splitCIF');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#_splitCIF">_splitCIF</a><tt class="py-op">(</tt><tt class="py-param">sText</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CIF._splitCIF-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF._splitCIF-expanded"><a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line"><tt class="py-docstring">        Separate the text in fields as defined in the CIF</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line"><tt class="py-docstring">        @param sText: the content of the CIF - file</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line"><tt class="py-docstring">        @type sText: string</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line"><tt class="py-docstring">        @return: list of all the fields of the CIF</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: list</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">        <tt class="py-name">lFields</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-196" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-196', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">sText</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"'"</tt><tt class="py-op">:</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">                <tt class="py-name">idx</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">                <tt class="py-name">bFinished</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt>  <tt class="py-name">bFinished</tt><tt class="py-op">:</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">                    <tt class="py-name">idx</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> <tt class="py-op">+</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"'"</tt>< [...]
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">    <tt class="py-comment">##########debuging    in case we arrive at the end of the text             </tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">idx</tt> <tt class="py-op">>=</tt> <tt id="link-197" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-197', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">sText</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt clas [...]
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">    <tt class="py-comment">#                    print sText,idx,len(sText)</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">                        <tt class="py-name">lFields</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><t [...]
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">                        <tt class="py-name">sText</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">                        <tt class="py-name">bFinished</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line"> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt id="link-198" class="py-name"><a title="fabio.cbfimage.CIF" class="py-name" href="#" onclick="return doclink('link-198', 'CIF', 'link-17');">CIF</a></tt><tt class="py-op">.</ [...]
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">                        <tt class="py-name">lFields</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">                        <tt class="py-name">sText1</tt> <tt class="py-op">=</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">                        <tt class="py-name">sText</tt> <tt class="py-op">=</tt> <tt class="py-name">sText1</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">                        <tt class="py-name">bFinished</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line"> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'"'</tt><tt class="py-op">:</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">                <tt class="py-name">idx</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">                <tt class="py-name">bFinished</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt>  <tt class="py-name">bFinished</tt><tt class="py-op">:</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">                    <tt class="py-name">idx</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> <tt class="py-op">+</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">'"'</tt>< [...]
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">    <tt class="py-comment">##########debuging    in case we arrive at the end of the text             </tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">idx</tt> <tt class="py-op">>=</tt> <tt id="link-200" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-200', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">sText</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt clas [...]
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">    <tt class="py-comment">#                    print sText,idx,len(sText)</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">                        <tt class="py-name">lFields</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><t [...]
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line"><tt class="py-comment">#                        print lFields[-1]</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">                        <tt class="py-name">sText</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">                        <tt class="py-name">bFinished</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt id="link-201" class="py-name"><a title="fabio.cbfimage.CIF" class="py-name" href="#" onclick="return doclink('link-201', 'CIF', 'link-17');">CIF</a></tt><tt class="py-op">.</ [...]
+<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">                        <tt class="py-name">lFields</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"><tt class="py-comment">#                        print lFields[-1]</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">                        <tt class="py-name">sText1</tt> <tt class="py-op">=</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">                        <tt class="py-name">sText</tt> <tt class="py-op">=</tt> <tt class="py-name">sText1</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">                        <tt class="py-name">bFinished</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">';'</tt><tt class="py-op">:</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt id="link-203" class="py-name"><a title="fabio.cbfimage.CIF" c [...]
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">                    <tt class="py-name">idx</tt> <tt class="py-op">=</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-number">32</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt id="link-205" class="py-name"><a title="fabio.cbfimage.CIF" class="py-name" href="#" onclick="return doclink('link-205', 'CIF', 'link-1 [...]
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">idx</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">                        <tt class="py-name">idx</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">                        <tt class="py-name">idx</tt> <tt class="py-op">+=</tt> <tt class="py-number">32</tt> <tt class="py-op">+</tt> <tt id="link-207" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-207', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt id="link-208" class="py-name"><a title="fabio.cbfimage.CIF" class="py-name" href="#" on [...]
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">                    <tt class="py-name">idx</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">                <tt class="py-name">bFinished</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt>  <tt class="py-name">bFinished</tt><tt class="py-op">:</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">                    <tt class="py-name">idx</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> <tt class="py-op">+</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">';'</tt>< [...]
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt id="link-210" class="py-name"><a title="fabio.cbfimage.CIF" class="py-name" href="#" onclick="return doclink('link-210', 'CIF', 'link-17');">CIF</a></tt><tt class="py-op">.</ [...]
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">                        <tt class="py-name">lFields</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-name">idx</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(< [...]
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">                        <tt class="py-name">sText1</tt> <tt class="py-op">=</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">                        <tt class="py-name">sText</tt> <tt class="py-op">=</tt> <tt class="py-name">sText1</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">                        <tt class="py-name">bFinished</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">                <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">sText</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">                <tt class="py-name">lFields</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line"><tt class="py-comment">#                print lFields[-1]</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">                <tt class="py-name">sText1</tt> <tt class="py-op">=</tt> <tt class="py-name">sText</tt><tt class="py-op">[</tt><tt id="link-212" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-212', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> [...]
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">                <tt class="py-name">sText</tt> <tt class="py-op">=</tt> <tt class="py-name">sText1</tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">lFields</tt> </tt>
+</div><a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line"> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="CIF._analyseOneLoop"></a><div id="CIF._analyseOneLoop-def"><a name="L476"></a><tt class="py-lineno">476</tt> <a class="py-toggle" href="#" id="CIF._analyseOneLoop-toggle" onclick="return toggle('CIF._analyseOneLoop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#_analyseOneLoop">_analyseOneLoop</a><tt class="py-op">(</tt><tt class="py-param">lFields</tt><tt class="py-op">,</tt> <tt class="py-param">iStar [...]
+</div><div id="CIF._analyseOneLoop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF._analyseOneLoop-expanded"><a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">        <tt class="py-docstring">"""Processes one loop in the data extraction of the CIF file</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line"><tt class="py-docstring">        @param lFields: list of all the words contained in the cif file</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line"><tt class="py-docstring">        @type lFields: list</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line"><tt class="py-docstring">        @param iStart: the starting index corresponding to the "loop_" key</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line"><tt class="py-docstring">        @type iStart: integer</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line"><tt class="py-docstring">        @return: the list of loop dictionaries, the length of the data</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line"><tt class="py-docstring">            extracted from the lFields and the list of all the keys of the loop.</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: tuple</tt> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">    <tt class="py-comment">#    in earch loop we first search the length of the loop</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">    <tt class="py-comment">#    print lFields</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line"><tt class="py-comment">#        curloop = {}</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">        <tt class="py-name">loop</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">        <tt class="py-name">keys</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt id="link-213" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-213', 'i', 'link-105');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-name">iStart</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">        <tt class="py-name">bFinished</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bFinished</tt><tt class="py-op">:</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link-214" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-214', 'i', 'link-105');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"_"</tt><tt class=" [...]
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">                <tt class="py-name">keys</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link-215" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-215', 'i', 'link-105');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-comment">#.lower())</tt> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">                <tt id="link-216" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-216', 'i', 'link-105');">i</a></tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">                <tt class="py-name">bFinished</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">        <tt id="link-217" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-217', 'data', 'link-15');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-218" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-218', 'i', 'link-105');">i</a></tt> <tt class="py-op">>=</tt> <tt id="link-219" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-219', 'len', 'link-31');">len</a></tt><tt class="py-op">(</t [...]
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt id="link-220" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-220', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link-221" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-221', [...]
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link-222" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-222', 'i', 'link-105');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"_"</tt><tt class [...]
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link-223" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-223', 'i', 'link-105');">i</a></tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">"loop_"</tt><tt class="py-op">,</tt> <tt class="py-string">"stop [...]
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">                <tt id="link-224" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-224', 'data', 'link-15');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">lFields</tt><tt class="py-op">[</tt><tt id="link-225" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-225', 'i', 'link-105');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">                <tt id="link-226" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-226', 'i', 'link-105');">i</a></tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">        <tt class="py-comment">#print len(keys), len(data)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">        <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line"> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-227" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-227', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt id="link-228" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-228', 'data', 'link-15');">data</a></tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt id="link-229" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-229', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">keys</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">            <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">k</tt> <tt class="py-op"><</tt> <tt id="link-230" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-230', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt id="link-231" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-231', 'data', 'link-15');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">                    <tt class="py-name">element</tt><tt class="py-op">[</tt><tt class="py-name">j</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-232" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-232', 'data', 'link-15');">data</a></tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt> <tt class="py-op">:</tt> </tt>
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">                    <tt class="py-name">element</tt><tt class="py-op">[</tt><tt class="py-name">j</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"?"</tt> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">                <tt class="py-name">k</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">            <tt class="py-comment">#print element</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">            <tt class="py-name">loop</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">)</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line"> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">            <tt class="py-comment">#print data</tt> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">            <tt class="py-comment">#print keys </tt> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-233" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-233', 'i', 'link-105');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt id="link-234" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-234 [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-235', 'data', 'link-15');">data</a></tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt id="link-236" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-236', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">keys</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">                <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">                    <tt class="py-name">element</tt><tt class="py-op">[</tt><tt class="py-name">j</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-237" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-237', 'data', 'link-15');">data</a></tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">                    <tt class="py-name">k</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">    <tt class="py-comment">#            print element</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">                <tt class="py-name">loop</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">)</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">    <tt class="py-comment">#    print loop</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">loop</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt> <tt class="py-op">+</tt> <tt id="link-238" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-238', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">keys</tt><tt class="py-op">)</tt> <tt class="py-op">+< [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-240', 'data', 'link-15');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">keys</tt> </tt>
+</div><a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line"> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line"> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line"> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line"> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line"> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line"> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line"><tt class="py-comment">#############################################################################################</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line"><tt class="py-comment">########     everything needed to  write a cif file #########################################</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line"><tt class="py-comment">#############################################################################################</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line"> </tt>
+<a name="CIF.saveCIF"></a><div id="CIF.saveCIF-def"><a name="L548"></a><tt class="py-lineno">548</tt> <a class="py-toggle" href="#" id="CIF.saveCIF-toggle" onclick="return toggle('CIF.saveCIF');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#saveCIF">saveCIF</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_strFilename</tt><tt class="py-op">=</tt><tt class="py-s [...]
+</div><div id="CIF.saveCIF-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.saveCIF-expanded"><a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">        <tt class="py-docstring">"""Transforms the CIF object in string then write it into the given file</tt> </tt>
+<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line"><tt class="py-docstring">        @param _strFilename: the of the file to be written</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line"><tt class="py-docstring">        @param linesep: line separation used (to force compatibility with windows/unix)</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line"><tt class="py-docstring">        @param binary: Shall we write the data as binary (True only for imageCIF/CBF)</tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line"><tt class="py-docstring">        @type param: string</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">binary</tt><tt class="py-op">:</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line">            <tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-string">"wb"</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">            <tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-string">"w"</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">            <tt class="py-name">fFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Error during the opening of file for write: %s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">                                                            <tt class="py-name">_strFilename</tt><tt class="py-op">)</tt> </tt>
+<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">        <tt class="py-name">fFile</tt><tt class="py-op">.</tt><tt id="link-241" class="py-name" targets="Method fabio.GEimage.GEimage.write()=fabio.GEimage.GEimage-class.html#write,Method fabio.OXDimage.OXDimage.write()=fabio.OXDimage.OXDimage-class.html#write,Method fabio.adscimage.adscimage.write()=fabio.adscimage.adscimage-class.html#write,Method fabio.binaryimage.binaryimage.write()=fabio.binaryimage.binaryimage-c [...]
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-241', 'write', 'link-241');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-242', 'tostring', 'link-58');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">,</tt> <tt class="py-name">linesep</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line">            <tt class="py-name">fFile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
+<a name="L569"></a><tt class="py-lineno">569</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Error during the closing of file for write: %s"</tt> <tt class="py-op">%</tt> </tt>
+<a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">                                                             <tt class="py-name">_strFilename</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line"> </tt>
+<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line"> </tt>
+<a name="CIF.tostring"></a><div id="CIF.tostring-def"><a name="L573"></a><tt class="py-lineno">573</tt> <a class="py-toggle" href="#" id="CIF.tostring-toggle" onclick="return toggle('CIF.tostring');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#tostring">tostring</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_strFilename</tt><tt class="py-op">=</tt><tt class [...]
+</div><div id="CIF.tostring-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.tostring-expanded"><a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line">        <tt class="py-docstring">"""converts a cif dictionnary to a string according to the CIF syntax</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line"><tt class="py-docstring">        @param _strFilename: the name of the filename to be appended in the</tt> </tt>
+<a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line"><tt class="py-docstring">                                header of the CIF file</tt> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line"><tt class="py-docstring">        @type _strFilename: string</tt> </tt>
+<a name="L578"></a><tt class="py-lineno">578</tt>  <tt class="py-line"><tt class="py-docstring">        @return : a sting that corresponds to the content of the CIF - file.</tt> </tt>
+<a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: string</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line"><tt class="py-comment">#        sCifText = ""</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">        <tt class="py-name">lstStrCif</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"# "</tt> <tt class="py-op">+</tt> <tt id="link-243" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-243', 'i', 'link-105');">i</a></tt> <tt class="py-keyword">for</tt> <tt id="link-244" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href= [...]
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"_chemical_name_common"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">"_chemical_name_common"</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">_strFilename</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">splitext</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt>< [...]
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">            <tt class="py-name">t</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">        <tt class="py-name">lstStrCif</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"data_%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">t</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">        <tt class="py-comment">#first of all get all the keys :</tt> </tt>
+<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">        <tt class="py-name">lKeys</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">        <tt class="py-name">lKeys</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-245" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-245', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">lKeys</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-246" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-246', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ordered</tt><tt class="py-op">:</tt> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line">                <tt class="py-name">lKeys</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt id="link-247" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-247', 'key', 'link-22');">key</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L596"></a><tt class="py-lineno">596</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ordered</tt> <tt class="py-op">+=</tt> <tt class="py-name">lKeys</tt> </tt>
+<a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line"> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">sKey</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ordered</tt><tt class="py-op">:</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">sKey</tt> <tt class="py-op">==</tt> <tt class="py-string">"loop_"</tt><tt class="py-op">:</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">sKey</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ordered</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">sKey</tt><tt class="py-op">)</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">                <tt id="link-248" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-248', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Skipping key %s from ordered list as no more present in dict"</tt><tt class="py-op">)</tt> </tt>
+<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line">            <tt class="py-name">sValue</tt> <tt class="py-op">=</tt> <tt id="link-249" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-249', 'str', 'link-157');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">sKey</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">sValue</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> <tt class="py-comment">#should add value  between ;;</tt> </tt>
+<a name="L607"></a><tt class="py-lineno">607</tt>  <tt class="py-line">                <tt class="py-name">lLine</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">sKey</tt><tt class="py-op">,</tt> <tt class="py-string">";"</tt><tt class="py-op">,</tt> <tt class="py-name">sValue</tt><tt class="py-op">,</tt> <tt class="py-string">";"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">]</tt> </tt>
+<a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt id="link-250" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-250', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">sValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">> [...]
+<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">                <tt class="py-name">sLine</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s        '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">sKey</tt><tt class="py-op">,</tt> <tt class="py-name">sValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-251" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-251', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">sLine</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">80</tt><tt class="py-op">:</tt> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">                    <tt class="py-name">lLine</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-252" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-252', 'str', 'link-157');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">sKey</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">sValue</tt><tt class="py-op">]</tt> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">                    <tt class="py-name">lLine</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">sLine</tt><tt class="py-op">]</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">                <tt class="py-name">sLine</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s        %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">sKey</tt><tt class="py-op">,</tt> <tt class="py-name">sValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-253" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-253', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">sLine</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">80</tt><tt class="py-op">:</tt> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line">                    <tt class="py-name">lLine</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-254" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-254', 'str', 'link-157');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">sKey</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">sValue</tt><tt class="py-op">]</tt> </tt>
+<a name="L618"></a><tt class="py-lineno">618</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">                    <tt class="py-name">lLine</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">sLine</tt><tt class="py-op">]</tt> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line">            <tt class="py-name">lstStrCif</tt> <tt class="py-op">+=</tt> <tt class="py-name">lLine</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">"loop_"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">loop</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">"loop_"</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line">                <tt class="py-name">lstStrCif</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"loop_ "</tt><tt class="py-op">)</tt> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line">                <tt class="py-name">lKeys</tt> <tt class="py-op">=</tt> <tt class="py-name">loop</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line">                <tt class="py-name">llData</tt> <tt class="py-op">=</tt> <tt class="py-name">loop</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line">                <tt class="py-name">lstStrCif</tt> <tt class="py-op">+=</tt> <tt class="py-op">[</tt><tt class="py-string">" %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">sKey</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">sKey</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lKeys</tt><tt class="py-op">]</tt> </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">lData</tt> <tt class="py-keyword">in</tt> <tt class="py-name">llData</tt><tt class="py-op">:</tt> </tt>
+<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line">                    <tt class="py-name">sLine</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-255" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-255', 'key', 'link-22');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">lKeys</tt><tt class="py-op">:</tt> </tt>
+<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">                        <tt class="py-name">sRawValue</tt> <tt class="py-op">=</tt> <tt class="py-name">lData</tt><tt class="py-op">[</tt><tt id="link-256" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-256', 'key', 'link-22');">key</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-name">sRawValue</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> <tt class="py-comment">#should add value  between ;;</tt> </tt>
+<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line">                            <tt class="py-name">lstStrCif</tt> <tt class="py-op">+=</tt> <tt class="py-op">[</tt><tt class="py-name">sLine</tt><tt class="py-op">,</tt> <tt class="py-string">";"</tt><tt class="py-op">,</tt> <tt id="link-257" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-257', 'str', 'link-157');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">sRawValue</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">";"</tt><tt class="py-op">]</tt> </tt>
+<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">                            <tt class="py-name">sLine</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> </tt>
+<a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt id="link-258" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-258', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">sRawValue</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt c [...]
+<a name="L636"></a><tt class="py-lineno">636</tt>  <tt class="py-line">                                <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-string">"'%s'"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">sRawValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">                            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line">                                <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt id="link-259" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-259', 'str', 'link-157');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">sRawValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt id="link-260" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-260', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">sLine</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-261" class="py-name"><a title="fabio.file_series.file_series.len" class=" [...]
+<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line">                                <tt class="py-name">lstStrCif</tt> <tt class="py-op">+=</tt> <tt class="py-op">[</tt><tt class="py-name">sLine</tt><tt class="py-op">]</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line">                                <tt class="py-name">sLine</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">value</tt> </tt>
+<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line">                            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line">                                <tt class="py-name">sLine</tt> <tt class="py-op">+=</tt> <tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">value</tt> </tt>
+<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">                    <tt class="py-name">lstStrCif</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">sLine</tt><tt class="py-op">)</tt> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">                <tt class="py-name">lstStrCif</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">linesep</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">lstStrCif</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line"> </tt>
+<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line"> </tt>
+<a name="CIF.exists"></a><div id="CIF.exists-def"><a name="L649"></a><tt class="py-lineno">649</tt> <a class="py-toggle" href="#" id="CIF.exists-toggle" onclick="return toggle('CIF.exists');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#exists">exists</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sKey</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="CIF.exists-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.exists-expanded"><a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line"><tt class="py-docstring">        Check if the key exists in the CIF and is non empty.</tt> </tt>
+<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line"><tt class="py-docstring">        @param sKey: CIF key</tt> </tt>
+<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line"><tt class="py-docstring">        @type sKey: string</tt> </tt>
+<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line"><tt class="py-docstring">        @param cif: CIF dictionary</tt> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line"><tt class="py-docstring">        @return: True if the key exists in the CIF dictionary and is non empty</tt> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: boolean</tt> </tt>
+<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">        <tt class="py-name">bExists</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">sKey</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-262" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-262', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">sKey</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">>=</tt> <tt class="py-number"> [...]
+<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">sKey</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">"?"</tt><tt class="py-op">,</tt> <tt class="py-string">"."</tt><tt class="py-op">] [...]
+<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line">                    <tt class="py-name">bExists</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">bExists</tt> </tt>
+</div><a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line"> </tt>
+<a name="L665"></a><tt class="py-lineno">665</tt>  <tt class="py-line"> </tt>
+<a name="CIF.existsInLoop"></a><div id="CIF.existsInLoop-def"><a name="L666"></a><tt class="py-lineno">666</tt> <a class="py-toggle" href="#" id="CIF.existsInLoop-toggle" onclick="return toggle('CIF.existsInLoop');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#existsInLoop">existsInLoop</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sKey</tt><tt class="py-op" [...]
+</div><div id="CIF.existsInLoop-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.existsInLoop-expanded"><a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line"><tt class="py-docstring">        Check if the key exists in the CIF dictionary.</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line"><tt class="py-docstring">        @param sKey: CIF key</tt> </tt>
+<a name="L670"></a><tt class="py-lineno">670</tt>  <tt class="py-line"><tt class="py-docstring">        @type sKey: string</tt> </tt>
+<a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line"><tt class="py-docstring">        @param cif: CIF dictionary</tt> </tt>
+<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line"><tt class="py-docstring">        @return: True if the key exists in the CIF dictionary and is non empty</tt> </tt>
+<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: boolean</tt> </tt>
+<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name" targets="Method fabio.cbfimage.CIF.exists()=fabio.cbfimage.CIF-class.html#exists"><a title="fabio.cbfimage.CIF.exists" class="py-name" href="#" onclick="return doclink('link-263', 'exists', 'link-263');">exists</a></tt><tt class="py-op">(</tt><tt class="py-string [...]
+<a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line">        <tt class="py-name">bExists</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bExists</tt><tt class="py-op">:</tt> </tt>
+<a name="L679"></a><tt class="py-lineno">679</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-264" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-264', 'i', 'link-105');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">"loop_"</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt id="link-265" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-265', 'i', 'link-105');">i</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">j</tt> <tt class="py-op">==</tt> <tt class="py-name">sKey</tt><tt class="py-op">:</tt> </tt>
+<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line">                        <tt class="py-name">bExists</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">bExists</tt> </tt>
+</div><a name="L684"></a><tt class="py-lineno">684</tt>  <tt class="py-line"> </tt>
+<a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line"> </tt>
+<a name="CIF.loadCHIPLOT"></a><div id="CIF.loadCHIPLOT-def"><a name="L686"></a><tt class="py-lineno">686</tt> <a class="py-toggle" href="#" id="CIF.loadCHIPLOT-toggle" onclick="return toggle('CIF.loadCHIPLOT');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#loadCHIPLOT">loadCHIPLOT</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_strFilename</tt><tt class="py-o [...]
+</div><div id="CIF.loadCHIPLOT-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.loadCHIPLOT-expanded"><a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line"><tt class="py-docstring">        Load the powder diffraction CHIPLOT file and returns the</tt> </tt>
+<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line"><tt class="py-docstring">        pd_CIF dictionary in the object</tt> </tt>
+<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line"><tt class="py-docstring">        @param _strFilename: the name of the file to open</tt> </tt>
+<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line"><tt class="py-docstring">        @type  _strFilename: string</tt> </tt>
+<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line"><tt class="py-docstring">        @return: the CIF object corresponding to the powder diffraction</tt> </tt>
+<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: dictionary</tt> </tt>
+<a name="L695"></a><tt class="py-lineno">695</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isfile</tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"I cannot find the file %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">_strFilename</tt> </tt>
+<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> </tt>
+<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">        <tt class="py-name">lInFile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">_strFilename</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">"_audit_creation_method"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'From 2-D detector using FIT2D and CIFfile'</tt> </tt>
+<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">"_pd_meas_scan_method"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"fixed"</tt> </tt>
+<a name="L702"></a><tt class="py-lineno">702</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">"_pd_spec_description"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lInFile</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line">            <tt class="py-name">iLenData</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">lInFile</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">            <tt class="py-name">iLenData</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L707"></a><tt class="py-lineno">707</tt>  <tt class="py-line">        <tt class="py-name">lOneLoop</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line">            <tt class="py-name">f2ThetaMin</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">lInFile</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt clas [...]
+<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line">            <tt id="link-266" class="py-name" targets="Method fabio.file_series.file_series.last()=fabio.file_series.file_series-class.html#last"><a title="fabio.file_series.file_series.last" class="py-name" href="#" onclick="return doclink('link-266', 'last', 'link-266');">last</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L711"></a><tt class="py-lineno">711</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">sLine</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lInFile</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">20</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">sLine</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">""</tt><tt class="py-op">:</tt> </tt>
+<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">                    <tt id="link-267" class="py-name"><a title="fabio.file_series.file_series.last" class="py-name" href="#" onclick="return doclink('link-267', 'last', 'link-266');">last</a></tt> <tt class="py-op">=</tt> <tt class="py-name">sLine</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line">            <tt class="py-name">f2ThetaMax</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt id="link-268" class="py-name"><a title="fabio.file_series.file_series.last" class="py-name" href="#" onclick="return doclink('link-268', 'last', 'link-266');">last</a></tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op [...]
+<a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line">            <tt class="py-name">limitsOK</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line"> </tt>
+<a name="L717"></a><tt class="py-lineno">717</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">IndexError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line">            <tt class="py-name">limitsOK</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line">            <tt class="py-name">f2ThetaMin</tt> <tt class="py-op">=</tt> <tt class="py-number">180.0</tt> </tt>
+<a name="L720"></a><tt class="py-lineno">720</tt>  <tt class="py-line">            <tt class="py-name">f2ThetaMax</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line"><tt class="py-comment">#        print "limitsOK:", limitsOK</tt> </tt>
+<a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">sLine</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lInFile</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line">            <tt class="py-name">sCleaned</tt> <tt class="py-op">=</tt> <tt class="py-name">sLine</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"#"</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">            <tt id="link-269" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-269', 'data', 'link-15');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">sCleaned</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-270" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-270', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt id="link-271" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-271', 'data', 'link-15');">data</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt> <tt class="py-op">:</tt> </tt>
+<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">limitsOK</tt><tt class="py-op">:</tt> </tt>
+<a name="L727"></a><tt class="py-lineno">727</tt>  <tt class="py-line">                    <tt class="py-name">f2Theta</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt id="link-272" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-272', 'data', 'link-15');">data</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">f2Theta</tt> <tt class="py-op"><</tt> <tt class="py-name">f2ThetaMin</tt> <tt class="py-op">:</tt> </tt>
+<a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line">                        <tt class="py-name">f2ThetaMin</tt> <tt class="py-op">=</tt> <tt class="py-name">f2Theta</tt> </tt>
+<a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">f2Theta</tt> <tt class="py-op">></tt> <tt class="py-name">f2ThetaMax</tt> <tt class="py-op">:</tt> </tt>
+<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line">                        <tt class="py-name">f2ThetaMax</tt> <tt class="py-op">=</tt> <tt class="py-name">f2Theta</tt> </tt>
+<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line">                <tt class="py-name">lOneLoop</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> <tt class="py-string">"_pd_meas_intensity_total"</tt><tt class="py-op">:</tt> <tt id="link-273" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-273', 'data', 'link-15');">data</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">iLenData</tt><tt class="py-op">:</tt> </tt>
+<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">            <tt class="py-name">iLenData</tt> <tt class="py-op">=</tt> <tt id="link-274" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-274', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">lOneLoop</tt><tt class="py-op">)</tt> </tt>
+<a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-op">(</tt><tt class="py-name">iLenData</tt> <tt class="py-op">==</tt> <tt id="link-275" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-275', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">lOneLoop</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">[</tt> <tt class="py-string">"_pd_meas_2theta_range_inc"</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"%.4f"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">f2ThetaMax</tt> <tt class="py-op">-</tt> <tt class="py-name">f2ThetaMin</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> < [...]
+<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt> <tt class="py-string">"_pd_meas_2theta_range_inc"</tt> <tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">[</tt> <tt class="py-string">"_pd_meas_2theta_range_inc"</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">abs</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">[</tt> <tt class="py-string">"_pd_meas_2theta_range_inc"</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line">            <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-name">f2ThetaMax</tt> </tt>
+<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line">            <tt class="py-name">f2ThetaMax</tt> <tt class="py-op">=</tt> <tt class="py-name">f2ThetaMin</tt> </tt>
+<a name="L741"></a><tt class="py-lineno">741</tt>  <tt class="py-line">            <tt class="py-name">f2ThetaMin</tt> <tt class="py-op">=</tt> <tt class="py-name">tmp</tt> </tt>
+<a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">[</tt> <tt class="py-string">"_pd_meas_2theta_range_max"</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"%.4f"</tt> <tt class="py-op">%</tt> <tt class="py-name">f2ThetaMax</tt> </tt>
+<a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">[</tt> <tt class="py-string">"_pd_meas_2theta_range_min"</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"%.4f"</tt> <tt class="py-op">%</tt> <tt class="py-name">f2ThetaMin</tt> </tt>
+<a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">[</tt> <tt class="py-string">"_pd_meas_number_of_points"</tt> <tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-276" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-276', 'str', 'link-157');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">iLenData</tt><tt class="py-op">)</tt> </tt>
+<a name="L745"></a><tt class="py-lineno">745</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-string">"loop_"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-op">[</tt> <tt class="py-op">[</tt><tt class="py-string">"_pd_meas_intensity_total"</tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">lOneLoop</tt> <tt class="py-op">]</tt> <tt class="py-op">]</tt> </tt>
+</div><a name="L746"></a><tt class="py-lineno">746</tt>  <tt class="py-line"> </tt>
+<a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line"> </tt>
+<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="CIF.LoopHasKey"></a><div id="CIF.LoopHasKey-def"><a name="L749"></a><tt class="py-lineno">749</tt> <a class="py-toggle" href="#" id="CIF.LoopHasKey-toggle" onclick="return toggle('CIF.LoopHasKey');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.cbfimage.CIF-class.html#LoopHasKey">LoopHasKey</a><tt class="py-op">(</tt><tt class="py-param">loop</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">)</tt><tt cl [...]
+</div><div id="CIF.LoopHasKey-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="CIF.LoopHasKey-expanded"><a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line">        <tt class="py-docstring">"Returns True if the key (string) exist in the array called loop"</tt><tt class="py-string">""</tt> </tt>
+<a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line">            <tt class="py-name">loop</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt id="link-277" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-277', 'key', 'link-22');">key</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L754"></a><tt class="py-lineno">754</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div></div><a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.cbfimage.CIF-class.html b/doc/html/fabio.cbfimage.CIF-class.html
new file mode 100644
index 0000000..b66a023
--- /dev/null
+++ b/doc/html/fabio.cbfimage.CIF-class.html
@@ -0,0 +1,1068 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.cbfimage.CIF</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.cbfimage-module.html">Module cbfimage</a> ::
+        Class CIF
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.cbfimage.CIF-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class CIF</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF">source code</a></span></p>
+<pre class="base-tree">
+object --+    
+         |    
+      dict --+
+             |
+            <strong class="uidshort">CIF</strong>
+</pre>
+
+<hr />
+<p>This is the CIF class, it represents the CIF dictionary; and as a a 
+  python dictionary thus inherits from the dict built in class.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"><pre class="literalblock">
+new empty dictionary
+
+</pre></span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_strFilename</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Constructor of the class.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#__setitem__" class="summary-sig-name">__setitem__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">key</span>,
+        <span class="summary-sig-arg">value</span>)</span><br />
+      x[i]=y</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.__setitem__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">v, remove specified key and return the corresponding value</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#pop" class="summary-sig-name">pop</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">key</span>)</span><br />
+      If key is not found, d is returned if given, otherwise KeyError is 
+      raised</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.pop">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">(k, v), remove and return some (key, value) pair as a</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#popitem" class="summary-sig-name">popitem</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">key</span>)</span><br />
+      2-tuple; but raise KeyError if D is empty.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.popitem">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#loadCIF" class="summary-sig-name">loadCIF</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_strFilename</span>,
+        <span class="summary-sig-arg">_bKeepComment</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Load the CIF file and populates the CIF dictionary into the object</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.loadCIF">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#readCIF" class="summary-sig-name">readCIF</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_strFilename</span>,
+        <span class="summary-sig-arg">_bKeepComment</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Load the CIF file and populates the CIF dictionary into the object</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.loadCIF">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">None</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#_parseCIF" class="summary-sig-name" onclick="show_private();">_parseCIF</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sText</span>)</span><br />
+      Parses the text of a CIF file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF._parseCIF">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#saveCIF" class="summary-sig-name">saveCIF</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_strFilename</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">test.cif</code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">linesep</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">\n</code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">binary</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Transforms the CIF object in string then write it into the given file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.saveCIF">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#tostring" class="summary-sig-name">tostring</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_strFilename</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">linesep</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">\n</code><code class="variable-quote">'</code></span>)</span><br />
+      converts a cif dictionnary to a string according to the CIF syntax</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.tostring">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">boolean</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#exists" class="summary-sig-name">exists</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sKey</span>)</span><br />
+      Check if the key exists in the CIF and is non empty.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.exists">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">boolean</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#existsInLoop" class="summary-sig-name">existsInLoop</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">sKey</span>)</span><br />
+      Check if the key exists in the CIF dictionary.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.existsInLoop">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#loadCHIPLOT" class="summary-sig-name">loadCHIPLOT</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_strFilename</span>)</span><br />
+      Load the powder diffraction CHIPLOT file and returns the pd_CIF 
+      dictionary in the object</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.loadCHIPLOT">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>dict</code></b>:
+      <code>__cmp__</code>,
+      <code>__contains__</code>,
+      <code>__delitem__</code>,
+      <code>__eq__</code>,
+      <code>__ge__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__gt__</code>,
+      <code>__iter__</code>,
+      <code>__le__</code>,
+      <code>__len__</code>,
+      <code>__lt__</code>,
+      <code>__ne__</code>,
+      <code>__new__</code>,
+      <code>__repr__</code>,
+      <code>__sizeof__</code>,
+      <code>clear</code>,
+      <code>copy</code>,
+      <code>fromkeys</code>,
+      <code>get</code>,
+      <code>has_key</code>,
+      <code>items</code>,
+      <code>iteritems</code>,
+      <code>iterkeys</code>,
+      <code>itervalues</code>,
+      <code>keys</code>,
+      <code>setdefault</code>,
+      <code>update</code>,
+      <code>values</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__setattr__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">boolean</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#isAscii" class="summary-sig-name">isAscii</a>(<span class="summary-sig-arg">_strIn</span>)</span><br />
+      Check if all characters in a string are ascii,</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.isAscii">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#_readCIF" class="summary-sig-name" onclick="show_private();">_readCIF</a>(<span class="summary-sig-arg">_instream</span>)</span><br />
+      Check if the filename containing the CIF data exists</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF._readCIF">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">list</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#_splitCIF" class="summary-sig-name" onclick="show_private();">_splitCIF</a>(<span class="summary-sig-arg">sText</span>)</span><br />
+      Separate the text in fields as defined in the CIF</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF._splitCIF">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">tuple</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.CIF-class.html#_analyseOneLoop" class="summary-sig-name" onclick="show_private();">_analyseOneLoop</a>(<span class="summary-sig-arg">lFields</span>,
+        <span class="summary-sig-arg">iStart</span>)</span><br />
+      Processes one loop in the data extraction of the CIF file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF._analyseOneLoop">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="LoopHasKey"></a><span class="summary-sig-name">LoopHasKey</span>(<span class="summary-sig-arg">loop</span>,
+        <span class="summary-sig-arg">key</span>)</span><br />
+      Returns True if the key (string) exist in the array called loop</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.LoopHasKey">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="EOL"></a><span class="summary-name">EOL</span> = <code title="['\r', '\n', '\r\n', '\n\r']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">\r</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">\n</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class=" [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="BLANK"></a><span class="summary-name">BLANK</span> = <code title="[' ', '\t', '\r', '\n', '\r\n', '\n\r']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string"> </code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">\t</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="START_COMMENT"></a><span class="summary-name">START_COMMENT</span> = <code title="['"', '\'']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">"</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">\'</code><code class="variable-quote">'</code><code class="variable-group">]</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="BINARY_MARKER"></a><span class="summary-name">BINARY_MARKER</span> = <code title="'--CIF-BINARY-FORMAT-SECTION--'"><code class="variable-quote">'</code><code class="variable-string">--CIF-BINARY-FORMAT-SECTION--</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>dict</code></b>:
+      <code>__hash__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">_strFilename</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Constructor of the class.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_strFilename</code></strong> (filename (str) or file object) - the name of the file to open</li>
+    </ul></dd>
+    <dt>Returns: <pre class="literalblock">
+new empty dictionary
+
+</pre></dt>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__setitem__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__setitem__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">key</span>,
+        <span class="sig-arg">value</span>)</span>
+    <br /><em class="fname">(Index assignment operator)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.__setitem__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>x[i]=y</p>
+  <dl class="fields">
+    <dt>Overrides:
+        dict.__setitem__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="pop"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">pop</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">key</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.pop">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>If key is not found, d is returned if given, otherwise KeyError is 
+  raised</p>
+  <dl class="fields">
+    <dt>Returns: v, remove specified key and return the corresponding value</dt>
+    <dt>Overrides:
+        dict.pop
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="popitem"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">popitem</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">key</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.popitem">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>2-tuple; but raise KeyError if D is empty.</p>
+  <dl class="fields">
+    <dt>Returns: (k, v), remove and return some (key, value) pair as a</dt>
+    <dt>Overrides:
+        dict.popitem
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="loadCIF"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">loadCIF</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">_strFilename</span>,
+        <span class="sig-arg">_bKeepComment</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.loadCIF">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Load the CIF file and populates the CIF dictionary into the object</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_strFilename</code></strong> (string) - the name of the file to open</li>
+        <li><strong class="pname"><code>_strFilename</code></strong> (string) - the name of the file to open</li>
+    </ul></dd>
+    <dt>Returns:</dt>
+        <dd>None</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="readCIF"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">readCIF</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">_strFilename</span>,
+        <span class="sig-arg">_bKeepComment</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.loadCIF">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Load the CIF file and populates the CIF dictionary into the object</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_strFilename</code></strong> (string) - the name of the file to open</li>
+        <li><strong class="pname"><code>_strFilename</code></strong> (string) - the name of the file to open</li>
+    </ul></dd>
+    <dt>Returns:</dt>
+        <dd>None</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="isAscii"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">isAscii</span>(<span class="sig-arg">_strIn</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.isAscii">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Check if all characters in a string are ascii,</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_strIn</code></strong> (python string) - input string</li>
+    </ul></dd>
+    <dt>Returns: boolean</dt>
+        <dd>boolean</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readCIF"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readCIF</span>(<span class="sig-arg">_instream</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF._readCIF">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <ul>
+    <li>
+      Check if the filename containing the CIF data exists
+    </li>
+    <li>
+      read the cif file
+    </li>
+    <li>
+      removes the comments
+    </li>
+  </ul>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_instream</code></strong> (open file in read mode) - the file containing the CIF data</li>
+    </ul></dd>
+    <dt>Returns: string</dt>
+        <dd>a string containing the raw data</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_parseCIF"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_parseCIF</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">sText</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF._parseCIF">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <ul>
+    <li>
+      Parses the text of a CIF file
+    </li>
+    <li>
+      Cut it in fields
+    </li>
+    <li>
+      Find all the loops and process
+    </li>
+    <li>
+      Find all the keys and values
+    </li>
+  </ul>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>sText</code></strong> (string) - the content of the CIF - file</li>
+    </ul></dd>
+    <dt>Returns: None</dt>
+        <dd>Nothing, the data are incorporated at the CIF object dictionary</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_splitCIF"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_splitCIF</span>(<span class="sig-arg">sText</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF._splitCIF">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Separate the text in fields as defined in the CIF</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>sText</code></strong> (string) - the content of the CIF - file</li>
+    </ul></dd>
+    <dt>Returns: list</dt>
+        <dd>list of all the fields of the CIF</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_analyseOneLoop"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_analyseOneLoop</span>(<span class="sig-arg">lFields</span>,
+        <span class="sig-arg">iStart</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF._analyseOneLoop">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Processes one loop in the data extraction of the CIF file</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>lFields</code></strong> (list) - list of all the words contained in the cif file</li>
+        <li><strong class="pname"><code>iStart</code></strong> (integer) - the starting index corresponding to the "loop_" key</li>
+    </ul></dd>
+    <dt>Returns: tuple</dt>
+        <dd>the list of loop dictionaries, the length of the data extracted 
+          from the lFields and the list of all the keys of the loop.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="saveCIF"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">saveCIF</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">_strFilename</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">test.cif</code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">linesep</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">\n</code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">binary</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.saveCIF">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Transforms the CIF object in string then write it into the given 
+  file</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_strFilename</code></strong> - the of the file to be written</li>
+        <li><strong class="pname"><code>linesep</code></strong> - line separation used (to force compatibility with windows/unix)</li>
+        <li><strong class="pname"><code>binary</code></strong> - Shall we write the data as binary (True only for imageCIF/CBF)</li>
+        <li><strong class="pname"><code>param</code></strong> (string)</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="tostring"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">tostring</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">_strFilename</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">linesep</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">\n</code><code class="variable-quote">'</code></span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.tostring">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>converts a cif dictionnary to a string according to the CIF syntax</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_strFilename</code></strong> (string @return : a sting that corresponds to the content of the 
+          CIF - file.) - the name of the filename to be appended in the header of the CIF 
+          file</li>
+    </ul></dd>
+    <dt>Returns: string</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="exists"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">exists</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">sKey</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.exists">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Check if the key exists in the CIF and is non empty.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>sKey</code></strong> (string) - CIF key</li>
+        <li><strong class="pname"><code>cif</code></strong> - CIF dictionary</li>
+    </ul></dd>
+    <dt>Returns: boolean</dt>
+        <dd>True if the key exists in the CIF dictionary and is non empty</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="existsInLoop"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">existsInLoop</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">sKey</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.existsInLoop">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Check if the key exists in the CIF dictionary.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>sKey</code></strong> (string) - CIF key</li>
+        <li><strong class="pname"><code>cif</code></strong> - CIF dictionary</li>
+    </ul></dd>
+    <dt>Returns: boolean</dt>
+        <dd>True if the key exists in the CIF dictionary and is non empty</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="loadCHIPLOT"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">loadCHIPLOT</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">_strFilename</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#CIF.loadCHIPLOT">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Load the powder diffraction CHIPLOT file and returns the pd_CIF 
+  dictionary in the object</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_strFilename</code></strong> (string) - the name of the file to open</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>the CIF object corresponding to the powder diffraction</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.cbfimage.cbfimage-class.html b/doc/html/fabio.cbfimage.cbfimage-class.html
new file mode 100644
index 0000000..38713ca
--- /dev/null
+++ b/doc/html/fabio.cbfimage.cbfimage-class.html
@@ -0,0 +1,554 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.cbfimage.cbfimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.cbfimage-module.html">Module cbfimage</a> ::
+        Class cbfimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.cbfimage.cbfimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class cbfimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">cbfimage</strong>
+</pre>
+
+<hr />
+<p>Read the Cif Binary File data format</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.cbfimage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">header</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">fname</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Constructor of the class CIF Binary File reader.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.cbfimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">inStream</span>)</span><br />
+      Read in a header in some CBF format from a string representing binary
+      stuff</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.cbfimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in header into self.header and...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">numpy array</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.cbfimage-class.html#_readbinary_byte_offset" class="summary-sig-name" onclick="show_private();">_readbinary_byte_offset</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">inStream</span>)</span><br />
+      Read in a binary part of an x-CBF_BYTE_OFFSET compressed image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage._readbinary_byte_offset">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.cbfimage-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      write the file in CBF format</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cbfimage.cbfimage-class.html#checkData" class="summary-sig-name">checkData</a>(<span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Empty for fabioimage but may be populated by others classes, 
+      especially for format accepting only integers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage.checkData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">data</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">header</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">fname</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Constructor of the class CIF Binary File reader.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_strFilename</code></strong> (string) - the name of the file to open</li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkData"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkData</span>(<span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage.checkData">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Empty for fabioimage but may be populated by others classes, 
+  especially for format accepting only integers</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#checkData">fabioimage.fabioimage.checkData</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">inStream</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read in a header in some CBF format from a string representing binary 
+  stuff</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>inStream</code></strong> (opened file.) - file containing the Cif Binary part.</li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Read in header into self.header and
+    the data   into self.data
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readbinary_byte_offset"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readbinary_byte_offset</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">inStream</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage._readbinary_byte_offset">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read in a binary part of an x-CBF_BYTE_OFFSET compressed image</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>inStream</code></strong> (python string.) - the binary image (without any CIF decorators)</li>
+    </ul></dd>
+    <dt>Returns: numpy array</dt>
+        <dd>a linear numpy array without shape and dtype set</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.cbfimage-pysrc.html#cbfimage.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>write the file in CBF format</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>fname</code></strong> - name of the file</li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.cf_io-module.html b/doc/html/fabio.cf_io-module.html
new file mode 100644
index 0000000..267c750
--- /dev/null
+++ b/doc/html/fabio.cf_io-module.html
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.cf_io</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module cf_io
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.cf_io-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module cf_io</h1><p class="nomargin-top"></p>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.cf_io-module.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">...</span>)</span><br />
+      call the c-columnfile reading interface.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>call the c-columnfile reading interface. The mode keyword argument is 
+  either: "a" for ascii (the default) "b" for 
+  binary</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.compression-module.html b/doc/html/fabio.compression-module.html
new file mode 100644
index 0000000..3927cb7
--- /dev/null
+++ b/doc/html/fabio.compression-module.html
@@ -0,0 +1,739 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.compression</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module compression
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.compression-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module compression</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.compression-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Authors: Jérôme Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr
+
+FabIO library containing compression and decompression algorithm for various  
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        J\xc3\xa9r\xc3\xb4me Kieffer
+      </p>
+      <p><strong>Contact:</strong>
+        jerome.kieffer at esrf.eu
+      </p>
+      <p><strong>Copyright:</strong>
+        European Synchrotron Radiation Facility, Grenoble, France
+      </p>
+      <p><strong>License:</strong>
+        GPLv3+
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="str-class.html" class="summary-name">str</a><br />
+      str(object) -> string
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="md5sum"></a><span class="summary-sig-name">md5sum</span>(<span class="summary-sig-arg">blob</span>)</span><br />
+      returns the md5sum of an object...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#md5sum">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="endianness"></a><span class="summary-sig-name">endianness</span>()</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#endianness">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="decGzip"></a><span class="summary-sig-name">decGzip</span>(<span class="summary-sig-arg">stream</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#decGzip">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="decBzip2"></a><span class="summary-sig-name">decBzip2</span>(<span class="summary-sig-arg">stream</span>)</span><br />
+      decompress a chunk of data using the bzip2 algorithm</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#decBzip2">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="decZlib"></a><span class="summary-sig-name">decZlib</span>(<span class="summary-sig-arg">stream</span>)</span><br />
+      decompress a chunk of data using the zlib algorithm</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#decZlib">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.compression-module.html#decByteOffet_python" class="summary-sig-name">decByteOffet_python</a>(<span class="summary-sig-arg">stream</span>,
+        <span class="summary-sig-arg">size</span>)</span><br />
+      Analyze a stream of char with any length of exception (2,4, or 8 
+      bytes integers)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#decByteOffet_python">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.compression-module.html#decByteOffet_weave" class="summary-sig-name">decByteOffet_weave</a>(<span class="summary-sig-arg">stream</span>,
+        <span class="summary-sig-arg">size</span>)</span><br />
+      Analyze a stream of char with any length of exception (2,4, or 8 
+      bytes integers)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#decByteOffet_weave">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.compression-module.html#decByteOffet_numpy" class="summary-sig-name">decByteOffet_numpy</a>(<span class="summary-sig-arg">stream</span>,
+        <span class="summary-sig-arg">size</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Analyze a stream of char with any length of exception: 
+            2, 4, or 8 bytes integers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#decByteOffet_numpy">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.compression-module.html#decByteOffet_cython" class="summary-sig-name">decByteOffet_cython</a>(<span class="summary-sig-arg">stream</span>,
+        <span class="summary-sig-arg">size</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Analyze a stream of char with any length of exception: 
+            2, 4, or 8 bytes integers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#decByteOffet_cython">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.compression-module.html#compByteOffet_numpy" class="summary-sig-name">compByteOffet_numpy</a>(<span class="summary-sig-arg">data</span>)</span><br />
+      Compress a dataset into a string using the byte_offet algorithm</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#compByteOffet_numpy">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.compression-module.html#decTY1" class="summary-sig-name">decTY1</a>(<span class="summary-sig-arg">raw_8</span>,
+        <span class="summary-sig-arg">raw_16</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">raw_32</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Modified byte offset decompressor used in Oxford Diffraction images</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#decTY1">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.compression-module.html#decKM4CCD" class="summary-sig-name">decKM4CCD</a>(<span class="summary-sig-arg">raw_8</span>,
+        <span class="summary-sig-arg">raw_16</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">raw_32</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Modified byte offset decompressor used in Oxford Diffraction images</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#decTY1">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.compression-module.html#compTY1" class="summary-sig-name">compTY1</a>(<span class="summary-sig-arg">data</span>)</span><br />
+      Modified byte offset compressor used in Oxford Diffraction images</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#compTY1">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.compression-module.html#decPCK" class="summary-sig-name">decPCK</a>(<span class="summary-sig-arg">stream</span>,
+        <span class="summary-sig-arg">dim1</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">dim2</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">overflowPix</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Modified CCP4  pck decompressor used in MAR345 images</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#decPCK">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.compression-module.html#compPCK" class="summary-sig-name">compPCK</a>(<span class="summary-sig-arg">data</span>)</span><br />
+      Modified CCP4  pck compressor used in MAR345 images</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.compression-pysrc.html#compPCK">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("compression")">logging.getLogger("compression")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="decByteOffet_python"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">decByteOffet_python</span>(<span class="sig-arg">stream</span>,
+        <span class="sig-arg">size</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.compression-pysrc.html#decByteOffet_python">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Analyze a stream of char with any length of exception (2,4, or 8 bytes
+  integers)</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>stream</code></strong> - string representing the compressed data</li>
+        <li><strong class="pname"><code>size</code></strong> - the size of the output array (of longInts) @return :NParrays</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="decByteOffet_weave"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">decByteOffet_weave</span>(<span class="sig-arg">stream</span>,
+        <span class="sig-arg">size</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.compression-pysrc.html#decByteOffet_weave">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Analyze a stream of char with any length of exception (2,4, or 8 bytes
+  integers)</p>
+  <p>@return list of NParrays</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="decByteOffet_numpy"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">decByteOffet_numpy</span>(<span class="sig-arg">stream</span>,
+        <span class="sig-arg">size</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.compression-pysrc.html#decByteOffet_numpy">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Analyze a stream of char with any length of exception: 
+            2, 4, or 8 bytes integers
+
+ at return list of NParrays
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="decByteOffet_cython"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">decByteOffet_cython</span>(<span class="sig-arg">stream</span>,
+        <span class="sig-arg">size</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.compression-pysrc.html#decByteOffet_cython">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Analyze a stream of char with any length of exception: 
+            2, 4, or 8 bytes integers
+
+ at return list of NParrays
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="compByteOffet_numpy"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">compByteOffet_numpy</span>(<span class="sig-arg">data</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.compression-pysrc.html#compByteOffet_numpy">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Compress a dataset into a string using the byte_offet algorithm</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>data</code></strong> - ndarray</li>
+    </ul></dd>
+    <dt>Returns:</dt>
+        <dd>string/bytes with compressed data
+          <p>test = 
+          numpy.array([0,1,2,127,0,1,2,128,0,1,2,32767,0,1,2,32768,0,1,2,2147483647,0,1,2,2147483648,0,1,2,128,129,130,32767,32768,128,129,130,32768,2147483647,2147483648])</p></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="decTY1"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">decTY1</span>(<span class="sig-arg">raw_8</span>,
+        <span class="sig-arg">raw_16</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">raw_32</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.compression-pysrc.html#decTY1">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Modified byte offset decompressor used in Oxford Diffraction 
+  images</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>raw_8</code></strong>, <strong class="pname"><code>raw_16</code></strong>, <strong class="pname"><code>raw_32</code></strong> - strings containing raw data with integer of the given size 
+          @return numpy.ndarray</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="decKM4CCD"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">decKM4CCD</span>(<span class="sig-arg">raw_8</span>,
+        <span class="sig-arg">raw_16</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">raw_32</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.compression-pysrc.html#decTY1">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Modified byte offset decompressor used in Oxford Diffraction 
+  images</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>raw_8</code></strong>, <strong class="pname"><code>raw_16</code></strong>, <strong class="pname"><code>raw_32</code></strong> - strings containing raw data with integer of the given size 
+          @return numpy.ndarray</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="compTY1"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">compTY1</span>(<span class="sig-arg">data</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.compression-pysrc.html#compTY1">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Modified byte offset compressor used in Oxford Diffraction images</p>
+  <p>@param data numpy.ndarray</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="decPCK"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">decPCK</span>(<span class="sig-arg">stream</span>,
+        <span class="sig-arg">dim1</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">dim2</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">overflowPix</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.compression-pysrc.html#decPCK">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Modified CCP4  pck decompressor used in MAR345 images</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>stream</code></strong> - string or file @return numpy.ndarray (square array)</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="compPCK"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">compPCK</span>(<span class="sig-arg">data</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.compression-pysrc.html#compPCK">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Modified CCP4  pck compressor used in MAR345 images</p>
+  <p>@param data numpy.ndarray (square array) @return  compressed 
+  stream</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.compression-pysrc.html b/doc/html/fabio.compression-pysrc.html
new file mode 100644
index 0000000..3e8db3d
--- /dev/null
+++ b/doc/html/fabio.compression-pysrc.html
@@ -0,0 +1,927 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.compression</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module compression
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.compression-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.compression-module.html">Module fabio.compression</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"># coding: utf8</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Jérôme Kieffer, ESRF </tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">         email:jerome.kieffer at esrf.fr</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">FabIO library containing compression and decompression algorithm for various  </tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">"Jérôme Kieffer"</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-name">__contact__</tt> <tt class="py-op">=</tt> <tt class="py-string">"jerome.kieffer at esrf.eu"</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-name">__license__</tt> <tt class="py-op">=</tt> <tt class="py-string">"GPLv3+"</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-name">__copyright__</tt> <tt class="py-op">=</tt> <tt class="py-string">"European Synchrotron Radiation Facility, Grenoble, France"</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">hashlib</tt><tt class="py-op">,</tt> <tt class="py-name">base64</tt><tt class="py-op">,</tt> <tt class="py-name">StringIO</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">version_info</tt> <tt class="py-op">>=</tt> <tt class="py-op">(</tt><tt class="py-number">3</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">    <tt id="link-0" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-0', 'str', 'link-0');">str</a></tt> <tt class="py-op">=</tt> <tt class="py-name">bytes</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-1', 'logger', 'link-1');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"compression"</tt><tt class="py-op">)</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">gzip</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt id="link-2" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-2', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to import gzip module: disabling gzip compression"</tt><tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">    <tt class="py-name">gzip</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">bz2</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt id="link-3" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-3', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to import bz2 module: disabling bz2 compression"</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-name">bz2</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">zlib</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">    <tt id="link-4" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-4', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to import zlib module: disabling zlib compression"</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-name">zlib</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="md5sum"></a><div id="md5sum-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="md5sum-toggle" onclick="return toggle('md5sum');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#md5sum">md5sum</a><tt class="py-op">(</tt><tt class="py-param">blob</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="md5sum-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="md5sum-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">    returns the md5sum of an object... </tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64encode</tt><tt class="py-op">(</tt><tt class="py-name">hashlib</tt><tt class="py-op">.</tt><tt class="py-name">md5</tt><tt class="py-op">(</tt><tt class="py-name">blob</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt cl [...]
+</div><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="endianness"></a><div id="endianness-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="endianness-toggle" onclick="return toggle('endianness');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#endianness">endianness</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="endianness-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="endianness-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">little_endian</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">"LITTLE_ENDIAN"</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">"BIG_ENDIAN"</tt> </tt>
+</div><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
+<a name="decGzip"></a><div id="decGzip-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="decGzip-toggle" onclick="return toggle('decGzip');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#decGzip">decGzip</a><tt class="py-op">(</tt><tt class="py-param">stream</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="decGzip-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="decGzip-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">gzip</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">ImportError</tt><tt class="py-op">(</tt><tt class="py-string">"gzip module is not available"</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-name">fileobj</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">=</tt><tt class="py-name">fileobj</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html# [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-5', 'read', 'link-5');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt id="link-6" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-6', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Encounter the python-gzip bug with trailing garbage, trying subprocess gzip"</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-comment">#This is as an ugly hack against a bug in Python gzip</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-name">sub</tt> <tt class="py-op">=</tt> <tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">Popen</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"gzip"</tt><tt class="py-op">,</tt> <tt class="py-string">"-d"</tt><tt class="py-op">,</tt> <tt class="py-string">"-f"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">stdou [...]
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-name">rawData</tt><tt class="py-op">,</tt> <tt class="py-name">err</tt> <tt class="py-op">=</tt> <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt class="py-name">communicate</tt><tt class="py-op">(</tt><tt class="py-name">input</tt><tt class="py-op">=</tt><tt class="py-name">stream</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt id="link-7" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-7', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Gzip subprocess ended with %s err= %s; I got %s bytes back"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt  [...]
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> <tt class="py-comment">#IGNORE:W0703</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt id="link-9" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-9', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to use the subprocess gzip (%s). Is gzip available? "</tt> <tt class="py-op">%</tt> <tt class="py-name">error</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-10" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-10', 'i', 'link-10');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-numbe [...]
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">                    <tt class="py-name">fileobj</tt> <tt class="py-op">=</tt> <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt id="link-11" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-11', 'i', [...]
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                    <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">=</tt><tt class="py-name">fileobj</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-12', 'read', 'link-5');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                    <tt id="link-13" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-13', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"trying with %s bytes less, doesn't work"</tt> <tt class="py-op">%</tt> <tt id="link-14" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-14', 'i', 'link-10');">i</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                <tt id="link-15" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-15', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"I am totally unable to read this gzipped compressed data block, giving up"</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">rawData</tt> </tt>
+</div><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"> </tt>
+<a name="decBzip2"></a><div id="decBzip2-def"><a name="L82"></a><tt class="py-lineno"> 82</tt> <a class="py-toggle" href="#" id="decBzip2-toggle" onclick="return toggle('decBzip2');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#decBzip2">decBzip2</a><tt class="py-op">(</tt><tt class="py-param">stream</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="decBzip2-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="decBzip2-expanded"><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    decompress a chunk of data using the bzip2 algorithm</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">bz2</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">ImportError</tt><tt class="py-op">(</tt><tt class="py-string">"bz2 module is not available"</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">bz2</tt><tt class="py-op">.</tt><tt class="py-name">decompress</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="decZlib"></a><div id="decZlib-def"><a name="L91"></a><tt class="py-lineno"> 91</tt> <a class="py-toggle" href="#" id="decZlib-toggle" onclick="return toggle('decZlib');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#decZlib">decZlib</a><tt class="py-op">(</tt><tt class="py-param">stream</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="decZlib-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="decZlib-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-docstring">    decompress a chunk of data using the zlib algorithm</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">zlib</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">ImportError</tt><tt class="py-op">(</tt><tt class="py-string">"zlib module is not available"</tt><tt class="py-op">)</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">zlib</tt><tt class="py-op">.</tt><tt class="py-name">decompress</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
+<a name="decByteOffet_python"></a><div id="decByteOffet_python-def"><a name="L100"></a><tt class="py-lineno">100</tt> <a class="py-toggle" href="#" id="decByteOffet_python-toggle" onclick="return toggle('decByteOffet_python');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#decByteOffet_python">decByteOffet_python</a><tt class="py-op">(</tt><tt class="py-param">stream</tt><tt class="py-op">,</tt> <tt class="py-param">si [...]
+</div><div id="decByteOffet_python-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="decByteOffet_python-expanded"><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">    Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">    @param stream: string representing the compressed data</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">    @param size: the size of the output array (of longInts)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">    @return :NParrays </tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">    <tt id="link-16" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-16', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"CBF decompression using Python with Cython loops"</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">    <tt class="py-name">dataOut</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int64</tt><tt class=" [...]
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt id="link-17" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-17', 'i', 'link-10');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">    <tt id="link-18" class="py-name" targets="Method fabio.file_series.file_series.last()=fabio.file_series.file_series-class.html#last"><a title="fabio.file_series.file_series.last" class="py-name" href="#" onclick="return doclink('link-18', 'last', 'link-18');">last</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt id="link-19" class="py-name" targets="Method fabio.file_series.file_series.current()=fabio.file_series.file_series-class.html#current,Method fabio.file_series.filename_series.current()=fabio.file_series.filename_series-class.html#current"><a title="fabio.file_series.file_series.current
+fabio.file_series.filename_series.current" class="py-name" href="#" onclick="return doclink('link-19', 'current', 'link-19');">current</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt id="link-20" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-20', 'i', 'link-10');">i</a></tt> <tt class="py-op"><</tt> <tt id="link-21" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-21', 'len', 'link-8'); [...]
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">[</tt><tt id="link-22" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-22', 'i', 'link-10');">i</a></tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'\x80'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">[</tt><tt id="link-23" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-23', 'i', 'link-10');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt><tt id="link-24" class="py-name"><a title="fabio.fabioutils.i" class=" [...]
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">[</tt><tt id="link-25" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-25', 'i', 'link-10');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt><tt id="link-26" class="py-name"><a title="fabio.fabioutils.i" cla [...]
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">                    <tt id="link-27" class="py-name"><a title="fabio.file_series.file_series.current
+fabio.file_series.filename_series.current" class="py-name" href="#" onclick="return doclink('link-27', 'current', 'link-19');">current</a></tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method fabio.edfimage.edfimage.unpack()=fabio.edfimage.edfimage-class.html#unpack,Method fabio.tifimage.Image_File_Directory.unpack()=fabio.tifimage.Image_File_Directory-class.html#unpack,Method fabio.tifimage.Image_File_Direc [...]
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-28', 'unpack', 'link-28');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-string">"<q"</tt><tt class="py-op">,</tt> <tt class="py-name">stream</tt><tt class="py-op">[</tt><tt id="link-29" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-29', 'i', 'link-10');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">7</tt>< [...]
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">                    <tt id="link-31" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-31', 'i', 'link-10');">i</a></tt> <tt class="py-op">+=</tt> <tt class="py-number">15</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                    <tt id="link-32" class="py-name"><a title="fabio.file_series.file_series.current
+fabio.file_series.filename_series.current" class="py-name" href="#" onclick="return doclink('link-32', 'current', 'link-19');">current</a></tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-33', 'unpack', 'link-28');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-string">"<i"</tt><tt class="py-op">,</tt> <tt class="py-name">stream</tt><tt class="py-op">[</tt><tt id="link-34" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-34', 'i', 'link-10');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">3</tt>< [...]
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                    <tt id="link-36" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-36', 'i', 'link-10');">i</a></tt> <tt class="py-op">+=</tt> <tt class="py-number">7</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                <tt id="link-37" class="py-name"><a title="fabio.file_series.file_series.current
+fabio.file_series.filename_series.current" class="py-name" href="#" onclick="return doclink('link-37', 'current', 'link-19');">current</a></tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-38', 'unpack', 'link-28');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-string">"<h"</tt><tt class="py-op">,</tt> <tt class="py-name">stream</tt><tt class="py-op">[</tt><tt id="link-39" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-39', 'i', 'link-10');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt>< [...]
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt id="link-41" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-41', 'i', 'link-10');">i</a></tt> <tt class="py-op">+=</tt> <tt class="py-number">3</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt id="link-42" class="py-name"><a title="fabio.file_series.file_series.current
+fabio.file_series.filename_series.current" class="py-name" href="#" onclick="return doclink('link-42', 'current', 'link-19');">current</a></tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-43', 'unpack', 'link-28');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-string">"<b"</tt><tt class="py-op">,</tt> <tt class="py-name">stream</tt><tt class="py-op">[</tt><tt id="link-44" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-44', 'i', 'link-10');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt cla [...]
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt id="link-45" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-45', 'i', 'link-10');">i</a></tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt id="link-46" class="py-name"><a title="fabio.file_series.file_series.last" class="py-name" href="#" onclick="return doclink('link-46', 'last', 'link-18');">last</a></tt> <tt class="py-op">+=</tt> <tt id="link-47" class="py-name"><a title="fabio.file_series.file_series.current
+fabio.file_series.filename_series.current" class="py-name" href="#" onclick="return doclink('link-47', 'current', 'link-19');">current</a></tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">dataOut</tt><tt class="py-op">[</tt><tt class="py-name">j</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="fabio.file_series.file_series.last" class="py-name" href="#" onclick="return doclink('link-48', 'last', 'link-18');">last</a></tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">j</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">dataOut</tt> </tt>
+</div><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt>
+<a name="decByteOffet_weave"></a><div id="decByteOffet_weave-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="decByteOffet_weave-toggle" onclick="return toggle('decByteOffet_weave');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#decByteOffet_weave">decByteOffet_weave</a><tt class="py-op">(</tt><tt class="py-param">stream</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt [...]
+</div><div id="decByteOffet_weave-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="decByteOffet_weave-expanded"><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">    Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">    @return list of NParrays</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt id="link-49" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-49', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"CBF decompression using Weave"</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt class="py-name">scipy</tt> <tt class="py-keyword">import</tt> <tt class="py-name">weave</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt class="py-name">scipy</tt><tt class="py-op">.</tt><tt class="py-name">weave</tt> <tt class="py-keyword">import</tt> <tt id="link-50" class="py-name" targets="Module fabio.converters=fabio.converters-module.html"><a title="fabio.converters" class="py-name" href="#" onclick="return doclink('link-50', 'converters', 'link-50');">converters</a></tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">    <tt class="py-name">dataIn</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"uint8"</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">dataIn</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-name">dataOut</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"int64"</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt class="py-name">codeC</tt> <tt class="py-op">=</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-string">unsigned char key = 0x80;</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-string">long   j = 0;</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-string">long   last=0;</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-string">long   current=0;</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-string">for (int i=0; i< n; i++){</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-string">   if (j>=size){</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-string">   //printf("i= %i<%i, j=%i < size= %i %i\\n",i,n,j,size,dataIn(i));</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-string">       break;</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-string">  }</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-string">  if (dataIn(i) == key){</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-string">      if ( (dataIn(i+1)==0) and (dataIn(i+2)==key) ){</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-string">          if ( (dataIn(i+3)==0) and (dataIn(i+4)==0) and (dataIn(i+5)==0) and (dataIn(i+6)==key) )  {</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-string">               // 64 bits mode</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-string">               char tmp = dataIn(i+14) ;</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-string">               current = (long(tmp)<<56) | (long(dataIn(i+13))<<48) | (long(dataIn(i+12))<<40) | (long(dataIn(i+11))<<32) | (long(dataIn(i+10))<<24) | (long(dataIn(i+9))<<16) | (long(dataIn(i+8))<<8) | (long(dataIn(i+7)));</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-string">//                printf("64 bit int at pos %i, %i, value=%ld \\n",i,j,current);</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-string">               i+=14;</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-string">           }else{</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-string">               // 32 bits mode</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-string">               char tmp = dataIn(i+6) ;</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-string">               current = (long(tmp)<<24) | (long(dataIn(i+5))<<16) | (long(dataIn(i+4))<<8) | (long(dataIn(i+3)));</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-string">//                printf("32 bit int at pos %i, %i, value=%ld was %i %i %i %i %i %i %i\\n",i,j,current,dataIn(i),dataIn(i+1),dataIn(i+2),dataIn(i+3),dataIn(i+4),dataIn(i+5),dataIn(i+6));</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-string">//                printf("%ld %ld %ld %ld\\n",(long(tmp)<<24) , (long(dataIn(i+5))<<16) , (long(dataIn(i+4))<<8) ,long(dataIn(i+3)));</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-string">               i+=6;</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-string">           }</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-string">      }else{</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-string">           // 16 bit mode</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-string">           char tmp = dataIn(i+2);</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-string">           current = (long(tmp)<<8) | (long (dataIn(i+1)));</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-string">//           printf("16 bit int at pos %i, %i, value=%ld was %i %i %i\\n",i,j,current,dataIn(i),dataIn(i+1),dataIn(i+2));</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-string">           i+=2;</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-string">      }</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-string">  }else{</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-string">      // 8 bit mode</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-string">      char tmp = dataIn(i) ;</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-string">      current= long(tmp) ;</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-string">  }</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-string">  last+=current;</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-string">  dataOut(j)=last;</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-string">  j++ ;</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-string">}</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-string">return_val=0;</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-string">     """</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">    <tt class="py-name">rc</tt> <tt class="py-op">=</tt> <tt class="py-name">weave</tt><tt class="py-op">.</tt><tt class="py-name">inline</tt><tt class="py-op">(</tt><tt class="py-name">codeC</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"dataIn"</tt><tt class="py-op">,</tt> <tt class="py-string">"dataOut"</tt><tt class="py-op">,</tt> <tt class="py-string">"n"</tt><tt class="py-op">,</tt>  [...]
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">rc</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt id="link-52" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-52', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"weave binary module return error code %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">rc</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">dataOut</tt> </tt>
+</div><a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"> </tt>
+<a name="decByteOffet_numpy"></a><div id="decByteOffet_numpy-def"><a name="L196"></a><tt class="py-lineno">196</tt> <a class="py-toggle" href="#" id="decByteOffet_numpy-toggle" onclick="return toggle('decByteOffet_numpy');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#decByteOffet_numpy">decByteOffet_numpy</a><tt class="py-op">(</tt><tt class="py-param">stream</tt><tt class="py-op">,</tt> <tt class="py-param">size</tt [...]
+</div><div id="decByteOffet_numpy-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="decByteOffet_numpy-expanded"><a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-docstring">    Analyze a stream of char with any length of exception: </tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"><tt class="py-docstring">                2, 4, or 8 bytes integers</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"><tt class="py-docstring">    @return list of NParrays</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">    <tt id="link-53" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-53', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"CBF decompression using Numpy"</tt><tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-name">listnpa</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">    <tt class="py-name">key16</tt> <tt class="py-op">=</tt> <tt class="py-string">"\x80"</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt class="py-name">key32</tt> <tt class="py-op">=</tt> <tt class="py-string">"\x00\x80"</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    <tt class="py-name">key64</tt> <tt class="py-op">=</tt> <tt class="py-string">"\x00\x00\x00\x80"</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">    <tt class="py-name">shift</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">idx</tt> <tt class="py-op">=</tt> <tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-name">key16</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">idx</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">            <tt class="py-name">listnpa</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"int8"</tt><tt class="py-op">)</tt><tt class="py-op"> [...]
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-keyword">break</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-name">listnpa</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt [...]
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">stream</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">key32</tt><tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">stream</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">7</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">key64</tt><tt class="py-op">:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-comment">#                        long int 64 bits</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">                <tt class="py-name">listnpa</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt><tt class="py-name"> [...]
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">                                             <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"int64"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">                <tt class="py-name">shift</tt> <tt class="py-op">=</tt> <tt class="py-number">15</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> <tt class="py-comment">#32 bit int</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">                <tt class="py-name">listnpa</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-name"> [...]
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">                                             <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"int32"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">                <tt class="py-name">shift</tt> <tt class="py-op">=</tt> <tt class="py-number">7</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> <tt class="py-comment">#int16 </tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">            <tt class="py-name">listnpa</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-name">idx< [...]
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">                                         <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"int16"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-name">shift</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-name">stream</tt> <tt class="py-op">=</tt> <tt class="py-name">stream</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt> <tt class="py-op">+</tt> <tt class="py-name">shift</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt>  <tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">hstack</tt><tt class="py-op">(</tt><tt class="py-name">listnpa</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"int64"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt cla [...]
+</div><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
+<a name="decByteOffet_cython"></a><div id="decByteOffet_cython-def"><a name="L234"></a><tt class="py-lineno">234</tt> <a class="py-toggle" href="#" id="decByteOffet_cython-toggle" onclick="return toggle('decByteOffet_cython');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#decByteOffet_cython">decByteOffet_cython</a><tt class="py-op">(</tt><tt class="py-param">stream</tt><tt class="py-op">,</tt> <tt class="py-param">si [...]
+</div><div id="decByteOffet_cython-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="decByteOffet_cython-expanded"><a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">    Analyze a stream of char with any length of exception: </tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">                2, 4, or 8 bytes integers</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring">    @return list of NParrays</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">    <tt id="link-54" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-54', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"CBF decompression using cython"</tt><tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt id="link-55" class="py-name" targets="Package fabio=fabio-module.html"><a title="fabio" class="py-name" href="#" onclick="return doclink('link-55', 'fabio', 'link-55');">fabio</a></tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Module fabio.byte_offset=fabio.byte_offset-module.html"><a title="fabio.byte_offset" class="py-name" href="#" onclick="return  [...]
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt id="link-57" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-57', 'logger', 'link-1');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Failed to import byte_offset cython module, falling back on numpy method"</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-58" class="py-name" targets="Function fabio.compression.decByteOffet_numpy()=fabio.compression-module.html#decByteOffet_numpy"><a title="fabio.compression.decByteOffet_numpy" class="py-name" href="#" onclick="return doclink('link-58', 'decByteOffet_numpy', 'link-58');">decByteOffet_numpy</a></tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py [...]
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">analyseCython</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">,</tt> <tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"> </tt>
+<a name="compByteOffet_numpy"></a><div id="compByteOffet_numpy-def"><a name="L250"></a><tt class="py-lineno">250</tt> <a class="py-toggle" href="#" id="compByteOffet_numpy-toggle" onclick="return toggle('compByteOffet_numpy');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#compByteOffet_numpy">compByteOffet_numpy</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="compByteOffet_numpy-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="compByteOffet_numpy-expanded"><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-docstring">    Compress a dataset into a string using the byte_offet algorithm</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"><tt class="py-docstring">    @param data: ndarray</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"><tt class="py-docstring">    @return: string/bytes with compressed data</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-docstring">    test = numpy.array([0,1,2,127,0,1,2,128,0,1,2,32767,0,1,2,32768,0,1,2,2147483647,0,1,2,2147483648,0,1,2,128,129,130,32767,32768,128,129,130,32768,2147483647,2147483648])</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-name">flat</tt> <tt class="py-op">=</tt> <tt id="link-59" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-59', 'data', 'link-59');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"int64"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">ravel</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-name">delta</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros_like</tt><tt class="py-op">(</tt><tt class="py-name">flat</tt><tt class="py-op">)</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">flat</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">flat</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">-</tt> <tt class="py-name">flat</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt c [...]
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-name">mask</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">delta</tt> <tt class="py-op">></tt> <tt class="py-number">127</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-name">delta</tt> <tt class="py-op"><</tt> <tt class="py-op">-</tt><tt class="py-number">127</tt><tt class="py-op">)</tt><tt class="py- [...]
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-name">exceptions</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">nonzero</tt><tt class="py-op">(</tt><tt class="py-name">mask</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">little_endian</tt><tt class="py-op">:</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-name">byteswap</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-name">byteswap</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">    <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">    <tt class="py-name">binary_blob</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">stop</tt> <tt class="py-keyword">in</tt> <tt class="py-name">exceptions</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">stop</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">            <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-name">start</tt><tt class="py-op">:</tt><tt class="py-name">stop</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"int8"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-60" class="p [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-60', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">        <tt class="py-name">exc</tt> <tt class="py-op">=</tt> <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-name">stop</tt><tt class="py-op">]</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">exc</tt> <tt class="py-op">></tt> <tt class="py-number">2147483647</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">exc</tt> <tt class="py-op"><</tt> <tt class="py-op">-</tt><tt class="py-number">2147483647</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-com [...]
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">            <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-string">"\x80\x00\x80\x00\x00\x00\x80"</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">byteswap</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-name">stop</tt><tt class="py-op">:</tt><tt class="py-name">stop</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-61', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">                <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-name">stop</tt><tt class="py-op">:</tt><tt class="py-name">stop</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-62', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">exc</tt> <tt class="py-op">></tt> <tt class="py-number">32767</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">exc</tt> <tt class="py-op"><</tt> <tt class="py-op">-</tt><tt class="py-number">32767</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-comment">#2 [...]
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">            <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-string">"\x80\x00\x80"</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">byteswap</tt><tt class="py-op">:</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-name">stop</tt><tt class="py-op">:</tt><tt class="py-name">stop</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"int32"</tt><tt class="py-o [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-63', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">                <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-name">stop</tt><tt class="py-op">:</tt><tt class="py-name">stop</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"int32"</tt><tt class="py-o [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-64', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> <tt class="py-comment">#>127</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">            <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-string">"\x80"</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">byteswap</tt><tt class="py-op">:</tt> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">                <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-name">stop</tt><tt class="py-op">:</tt><tt class="py-name">stop</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"int16"</tt><tt class="py-o [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-65', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-name">stop</tt><tt class="py-op">:</tt><tt class="py-name">stop</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"int16"</tt><tt class="py-o [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-66', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">stop</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">start</tt> <tt class="py-op"><</tt> <tt class="py-name">delta</tt><tt class="py-op">.</tt><tt class="py-name">size</tt><tt class="py-op">:</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt class="py-name">binary_blob</tt> <tt class="py-op">+=</tt> <tt class="py-name">delta</tt><tt class="py-op">[</tt><tt class="py-name">start</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"int8"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="fabio.cbfimage. [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-67', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">binary_blob</tt> </tt>
+</div><a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line"> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"> </tt>
+<a name="decTY1"></a><div id="decTY1-def"><a name="L300"></a><tt class="py-lineno">300</tt> <a class="py-toggle" href="#" id="decTY1-toggle" onclick="return toggle('decTY1');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#decTY1">decTY1</a><tt class="py-op">(</tt><tt class="py-param">raw_8</tt><tt class="py-op">,</tt> <tt class="py-param">raw_16</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op" [...]
+</div><div id="decTY1-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="decTY1-expanded"><a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"><tt class="py-docstring">    Modified byte offset decompressor used in Oxford Diffraction images</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"><tt class="py-docstring">    @param raw_8,raw_16,raw_32: strings containing raw data with integer of the given size</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"><tt class="py-docstring">    @return numpy.ndarray </tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">    <tt id="link-68" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-68', 'data', 'link-59');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">raw_8</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"uint8"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt cla [...]
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">    <tt id="link-69" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-69', 'data', 'link-59');">data</a></tt> <tt class="py-op">-=</tt> <tt class="py-number">127</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">raw_32</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-name">int32</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">raw_32</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"int32"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</ [...]
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">        <tt class="py-name">exception32</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">nonzero</tt><tt class="py-op">(</tt><tt id="link-70" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-70', 'data', 'link-59');">data</a></tt> <tt class="py-op">==</tt> <tt class="py-number">128</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">raw_16</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-name">int16</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">raw_16</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"int16"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</ [...]
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">        <tt class="py-name">exception16</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">nonzero</tt><tt class="py-op">(</tt><tt id="link-71" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-71', 'data', 'link-59');">data</a></tt> <tt class="py-op">==</tt> <tt class="py-number">127</tt><tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">        <tt id="link-72" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-72', 'data', 'link-59');">data</a></tt><tt class="py-op">[</tt><tt class="py-name">exception16</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int16</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">raw_32</tt><tt class="py-op">:</tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">        <tt id="link-73" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-73', 'data', 'link-59');">data</a></tt><tt class="py-op">[</tt><tt class="py-name">exception32</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int32</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">    <tt class="py-name">summed</tt> <tt class="py-op">=</tt> <tt id="link-74" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-74', 'data', 'link-59');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">cumsum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">    <tt class="py-name">smax</tt> <tt class="py-op">=</tt> <tt class="py-name">summed</tt><tt class="py-op">.</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">smax</tt> <tt class="py-op">></tt> <tt class="py-op">(</tt><tt class="py-number">2</tt> <tt class="py-op">**</tt> <tt class="py-number">31</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">        <tt id="link-75" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-75', 'bytecode', 'link-75');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"int64"</tt> </tt>
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">smax</tt> <tt class="py-op">></tt> <tt class="py-op">(</tt><tt class="py-number">2</tt> <tt class="py-op">**</tt> <tt class="py-number">15</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">        <tt id="link-76" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-76', 'bytecode', 'link-75');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"int32"</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">    <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">smax</tt> <tt class="py-op">></tt> <tt class="py-op">(</tt><tt class="py-number">2</tt> <tt class="py-op">**</tt> <tt class="py-number">7</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">        <tt id="link-77" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-77', 'bytecode', 'link-75');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"int16"</tt> </tt>
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">        <tt id="link-78" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-78', 'bytecode', 'link-75');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"int8"</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">summed</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt id="link-79" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-79', 'bytecode', 'link-75');">bytecode</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line"><tt class="py-name">decKM4CCD</tt> <tt class="py-op">=</tt> <tt id="link-80" class="py-name" targets="Function fabio.compression.decTY1()=fabio.compression-module.html#decTY1"><a title="fabio.compression.decTY1" class="py-name" href="#" onclick="return doclink('link-80', 'decTY1', 'link-80');">decTY1</a></tt> </tt>
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"> </tt>
+<a name="compTY1"></a><div id="compTY1-def"><a name="L330"></a><tt class="py-lineno">330</tt> <a class="py-toggle" href="#" id="compTY1-toggle" onclick="return toggle('compTY1');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#compTY1">compTY1</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="compTY1-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="compTY1-expanded"><a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"><tt class="py-docstring">    Modified byte offset compressor used in Oxford Diffraction images</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line"><tt class="py-docstring">    @param data numpy.ndarray</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line"><tt class="py-docstring">    @return  raw_8,raw_16,raw_32: strings containing raw data with integer of the given size </tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">    <tt class="py-name">fdata</tt> <tt class="py-op">=</tt> <tt id="link-81" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-81', 'data', 'link-59');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">    <tt class="py-name">diff</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros_like</tt><tt class="py-op">(</tt><tt class="py-name">fdata</tt><tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">    <tt class="py-name">diff</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">fdata</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">    <tt class="py-name">diff</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">fdata</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">-</tt> <tt class="py-name">fdata</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt  [...]
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">    <tt class="py-name">adiff</tt> <tt class="py-op">=</tt> <tt class="py-name">abs</tt><tt class="py-op">(</tt><tt class="py-name">diff</tt><tt class="py-op">)</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">    <tt class="py-name">exception32</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">adiff</tt> <tt class="py-op">></tt> <tt class="py-number">32767</tt><tt class="py-op">)</tt><tt class="py-comment">#2**15-1</tt> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">    <tt class="py-name">exception16</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">adiff</tt> <tt class="py-op">>=</tt> <tt class="py-number">127</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">exception32</tt> <tt class="py-comment">#2**7-1)</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">    <tt class="py-name">we16</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">where</tt><tt class="py-op">(</tt><tt class="py-name">exception16</tt><tt class="py-op">)</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">    <tt class="py-name">we32</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">where</tt><tt class="py-op">(</tt><tt class="py-name">exception32</tt><tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">    <tt class="py-name">raw_16</tt> <tt class="py-op">=</tt> <tt class="py-name">diff</tt><tt class="py-op">[</tt><tt class="py-name">we16</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"int16"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-82', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">    <tt class="py-name">raw_32</tt> <tt class="py-op">=</tt> <tt class="py-name">diff</tt><tt class="py-op">[</tt><tt class="py-name">we32</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"int32"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-83', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">    <tt class="py-name">diff</tt><tt class="py-op">[</tt><tt class="py-name">we16</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">127</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">    <tt class="py-name">diff</tt><tt class="py-op">[</tt><tt class="py-name">we32</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">128</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">    <tt class="py-name">diff</tt> <tt class="py-op">+=</tt> <tt class="py-number">127</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">    <tt class="py-name">raw_8</tt> <tt class="py-op">=</tt> <tt class="py-name">diff</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"uint8"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-84', 'tostring', 'link-60');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt>  <tt class="py-name">raw_8</tt><tt class="py-op">,</tt> <tt class="py-name">raw_16</tt><tt class="py-op">,</tt> <tt class="py-name">raw_32</tt> </tt>
+</div><a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line"> </tt>
+<a name="decPCK"></a><div id="decPCK-def"><a name="L354"></a><tt class="py-lineno">354</tt> <a class="py-toggle" href="#" id="decPCK-toggle" onclick="return toggle('decPCK');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#decPCK">decPCK</a><tt class="py-op">(</tt><tt class="py-param">stream</tt><tt class="py-op">,</tt> <tt class="py-param">dim1</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op"> [...]
+</div><div id="decPCK-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="decPCK-expanded"><a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line"><tt class="py-docstring">    Modified CCP4  pck decompressor used in MAR345 images</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-docstring">    @param stream: string or file </tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line"><tt class="py-docstring">    @return numpy.ndarray (square array) </tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt id="link-85" class="py-name" targets="Module fabio.mar345_IO=fabio.mar345_IO-module.html"><a title="fabio.mar345_IO" class="py-name" href="#" onclick="return doclink('link-85', 'mar345_IO', 'link-85');">mar345_IO</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">uncompress_pck</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to import mar345_IO to read compressed dataset"</tt><tt class="py-op">)</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">"seek"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dir</tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">        <tt class="py-name">stream</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">        <tt class="py-name">raw</tt> <tt class="py-op">=</tt> <tt class="py-name">stream</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-86', 'read', 'link-5');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">        <tt class="py-name">raw</tt> <tt class="py-op">=</tt> <tt id="link-87" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-87', 'str', 'link-0');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">stream</tt><tt class="py-op">)</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line"> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">uncompress_pck</tt><tt class="py-op">(</tt><tt class="py-name">raw</tt><tt class="py-op">,</tt> <tt id="link-88" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-88', 'dim1', 'link-88');">dim1</a></tt><tt class=" [...]
+</div><a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line"> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line"> </tt>
+<a name="compPCK"></a><div id="compPCK-def"><a name="L375"></a><tt class="py-lineno">375</tt> <a class="py-toggle" href="#" id="compPCK-toggle" onclick="return toggle('compPCK');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.compression-module.html#compPCK">compPCK</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="compPCK-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="compPCK-expanded"><a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"><tt class="py-docstring">    Modified CCP4  pck compressor used in MAR345 images</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line"><tt class="py-docstring">    @param data numpy.ndarray (square array)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line"><tt class="py-docstring">    @return  compressed stream </tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt id="link-90" class="py-name"><a title="fabio.mar345_IO" class="py-name" href="#" onclick="return doclink('link-90', 'mar345_IO', 'link-85');">mar345_IO</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">compress_pck</tt> </tt>
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to import mar345_IO to write compressed dataset"</tt><tt class="py-op">)</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">compress_pck</tt><tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-91', 'data', 'link-59');">data</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.converters-module.html b/doc/html/fabio.converters-module.html
new file mode 100644
index 0000000..94481b3
--- /dev/null
+++ b/doc/html/fabio.converters-module.html
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.converters</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module converters
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.converters-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module converters</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.converters-pysrc.html">source code</a></span></p>
+<p>Converter module. This is for the moment empty (populated only with 
+  almost pass through anonymous functions) but aims to be populated with 
+  more sofisticated translators ...</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        J\xc3\xa9r\xc3\xb4me Kieffer
+      </p>
+      <p><strong>Contact:</strong>
+        jerome.kieffer at esrf.eu
+      </p>
+      <p><strong>Copyright:</strong>
+        European Synchrotron Radiation Facility, Grenoble, France
+      </p>
+      <p><strong>License:</strong>
+        GPLv3+
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="convert_data_integer"></a><span class="summary-sig-name">convert_data_integer</span>(<span class="summary-sig-arg">data</span>)</span><br />
+      convert data to integer</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.converters-pysrc.html#convert_data_integer">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.converters-module.html#convert_data" class="summary-sig-name">convert_data</a>(<span class="summary-sig-arg">inp</span>,
+        <span class="summary-sig-arg">outp</span>,
+        <span class="summary-sig-arg">data</span>)</span><br />
+      Return data converted to the output format ...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.converters-pysrc.html#convert_data">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.converters-module.html#convert_header" class="summary-sig-name">convert_header</a>(<span class="summary-sig-arg">inp</span>,
+        <span class="summary-sig-arg">outp</span>,
+        <span class="summary-sig-arg">header</span>)</span><br />
+      return header converted to the output format</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.converters-pysrc.html#convert_header">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("converter")">logging.getLogger("converter")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.converters-module.html#CONVERSION_HEADER" class="summary-name">CONVERSION_HEADER</a> = <code title="{('edfimage', 'edfimage'): <function <lambda> at 0x1af80c8>}"><code class="variable-group">{</code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">edfimage</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string"> [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.converters-module.html#CONVERSION_DATA" class="summary-name">CONVERSION_DATA</a> = <code title="{("edfimage", "edfimage"): lambda data: data, ("edfimage", "cbfimage")\
+: convert_data_integer, ("edfimage", "mar345image"): convert_data_inte\
+ger, ("edfimage", "fit2dmaskimage"): convert_data_integer, ("edfimage"\
+, "kcdimage"): convert_data_integer, ("edfimage", "OXDimage"): convert\
+_data_integer, ("edfimage", "pnmimage"): convert_data_integer,}"><code class="variable-group">{</code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">edfimage</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">OXDimage</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-o [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="convert_data"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">convert_data</span>(<span class="sig-arg">inp</span>,
+        <span class="sig-arg">outp</span>,
+        <span class="sig-arg">data</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.converters-pysrc.html#convert_data">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Return data converted to the output format ... over-simplistic 
+  implementation for the moment ...</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>inp</code></strong>, <strong class="pname"><code>outp</code></strong> - input/output format like "cbfimage"</li>
+        <li><strong class="pname"><code>data(ndarray)</code></strong> - the actual dataset to be transformed</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="convert_header"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">convert_header</span>(<span class="sig-arg">inp</span>,
+        <span class="sig-arg">outp</span>,
+        <span class="sig-arg">header</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.converters-pysrc.html#convert_header">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>return header converted to the output format</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>inp</code></strong>, <strong class="pname"><code>outp</code></strong> - input/output format like "cbfimage"</li>
+        <li><strong class="pname"><code>header(dict)</code></strong> - the actual set of headers to be transformed</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CONVERSION_HEADER"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">CONVERSION_HEADER</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">edfimage</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">edfimage</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">: </code><function <lambda> at 0x1af80c8><code class="variable-group"> [...]
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="CONVERSION_DATA"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">CONVERSION_DATA</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+{("edfimage", "edfimage"): lambda data: data, ("edfimage", "cbfimage")<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+: convert_data_integer, ("edfimage", "mar345image"): convert_data_inte<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+ger, ("edfimage", "fit2dmaskimage"): convert_data_integer, ("edfimage"<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+, "kcdimage"): convert_data_integer, ("edfimage", "OXDimage"): convert<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+_data_integer, ("edfimage", "pnmimage"): convert_data_integer,}
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.converters-pysrc.html b/doc/html/fabio.converters-pysrc.html
new file mode 100644
index 0000000..6fc9510
--- /dev/null
+++ b/doc/html/fabio.converters-pysrc.html
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.converters</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module converters
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.converters-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.converters-module.html">Module fabio.converters</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python </tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#coding: utf8</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring">Converter module. </tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">This is for the moment empty (populated only with almost pass through anonymous functions)</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">but aims to be populated with more sofisticated translators ...  </tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">"Jérôme Kieffer"</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-name">__contact__</tt> <tt class="py-op">=</tt> <tt class="py-string">"jerome.kieffer at esrf.eu"</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-name">__license__</tt> <tt class="py-op">=</tt> <tt class="py-string">"GPLv3+"</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-name">__copyright__</tt> <tt class="py-op">=</tt> <tt class="py-string">"European Synchrotron Radiation Facility, Grenoble, France"</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bruk [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"converter"</tt><tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"> </tt>
+<a name="convert_data_integer"></a><div id="convert_data_integer-def"><a name="L17"></a><tt class="py-lineno">17</tt> <a class="py-toggle" href="#" id="convert_data_integer-toggle" onclick="return toggle('convert_data_integer');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.converters-module.html#convert_data_integer">convert_data_integer</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="convert_data_integer-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="convert_data_integer-expanded"><a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    convert data to integer</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-1" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-1', 'data', 'link-1');">data</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-2" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-2', 'data', 'link-1');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-3" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-3', 'data', 'link-1');">data</a></tt> </tt>
+</div><a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable fabio.converters.CONVERSION_HEADER=fabio.converters-module.html#CONVERSION_HEADER"><a title="fabio.converters.CONVERSION_HEADER" class="py-name" href="#" onclick="return doclink('link-4', 'CONVERSION_HEADER', 'link-4');">CONVERSION_HEADER</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">                     <tt class="py-op">(</tt><tt class="py-string">"edfimage"</tt><tt class="py-op">,</tt> <tt class="py-string">"edfimage"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">lambda</tt> <tt id="link-5" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" oncl [...]
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">                     <tt class="py-op">}</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable fabio.converters.CONVERSION_DATA=fabio.converters-module.html#CONVERSION_DATA"><a title="fabio.converters.CONVERSION_DATA" class="py-name" href="#" onclick="return doclink('link-7', 'CONVERSION_DATA', 'link-7');">CONVERSION_DATA</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">                   <tt class="py-op">(</tt><tt class="py-string">"edfimage"</tt><tt class="py-op">,</tt> <tt class="py-string">"edfimage"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">lambda</tt> <tt id="link-8" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-8', 'data', 'link-1');">data</a></tt><tt class="py-op">:</tt><tt id="link-9" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-9', 'data', 'link-1');">data</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">                   <tt class="py-op">(</tt><tt class="py-string">"edfimage"</tt><tt class="py-op">,</tt> <tt class="py-string">"cbfimage"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt id="link-10" class="py-name" targets="Function fabio.converters.convert_data_integer()=fabio.converters-module.html#convert_data_integer"><a title="fabio.converters.convert_data_integer" class="py-name" href="#" onclick="return  [...]
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">                   <tt class="py-op">(</tt><tt class="py-string">"edfimage"</tt><tt class="py-op">,</tt> <tt class="py-string">"mar345image"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt id="link-11" class="py-name"><a title="fabio.converters.convert_data_integer" class="py-name" href="#" onclick="return doclink('link-11', 'convert_data_integer', 'link-10');">convert_data_integer</a></tt><tt class="py-op">,</ [...]
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">                   <tt class="py-op">(</tt><tt class="py-string">"edfimage"</tt><tt class="py-op">,</tt> <tt class="py-string">"fit2dmaskimage"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt id="link-12" class="py-name"><a title="fabio.converters.convert_data_integer" class="py-name" href="#" onclick="return doclink('link-12', 'convert_data_integer', 'link-10');">convert_data_integer</a></tt><tt class="py-op"> [...]
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">                   <tt class="py-op">(</tt><tt class="py-string">"edfimage"</tt><tt class="py-op">,</tt> <tt class="py-string">"kcdimage"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt id="link-13" class="py-name"><a title="fabio.converters.convert_data_integer" class="py-name" href="#" onclick="return doclink('link-13', 'convert_data_integer', 'link-10');">convert_data_integer</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">                   <tt class="py-op">(</tt><tt class="py-string">"edfimage"</tt><tt class="py-op">,</tt> <tt class="py-string">"OXDimage"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt id="link-14" class="py-name"><a title="fabio.converters.convert_data_integer" class="py-name" href="#" onclick="return doclink('link-14', 'convert_data_integer', 'link-10');">convert_data_integer</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">                   <tt class="py-op">(</tt><tt class="py-string">"edfimage"</tt><tt class="py-op">,</tt> <tt class="py-string">"pnmimage"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt id="link-15" class="py-name"><a title="fabio.converters.convert_data_integer" class="py-name" href="#" onclick="return doclink('link-15', 'convert_data_integer', 'link-10');">convert_data_integer</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">                   <tt class="py-op">}</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"> </tt>
+<a name="convert_data"></a><div id="convert_data-def"><a name="L40"></a><tt class="py-lineno">40</tt> <a class="py-toggle" href="#" id="convert_data-toggle" onclick="return toggle('convert_data');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.converters-module.html#convert_data">convert_data</a><tt class="py-op">(</tt><tt class="py-param">inp</tt><tt class="py-op">,</tt> <tt class="py-param">outp</tt><tt class="py-op">,</tt> <tt class="py-pa [...]
+</div><div id="convert_data-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="convert_data-expanded"><a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"><tt class="py-docstring">    Return data converted to the output format ... over-simplistic implementation for the moment ...</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"><tt class="py-docstring">    @param inp,outp: input/output format like "cbfimage"</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"><tt class="py-docstring">    @param data(ndarray): the actual dataset to be transformed</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-16" class="py-name"><a title="fabio.converters.CONVERSION_DATA" class="py-name" href="#" onclick="return doclink('link-16', 'CONVERSION_DATA', 'link-7');">CONVERSION_DATA</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">inp</tt><tt class="py-op">,</tt> <tt class="py-name">outp</tt><tt class= [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-17', 'data', 'link-1');">data</a></tt><tt class="py-op">:</tt><tt id="link-18" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-18', 'data', 'link-1');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">(</tt><tt id="link-19" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-19', 'data', 'link-1');">data</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"> </tt>
+<a name="convert_header"></a><div id="convert_header-def"><a name="L48"></a><tt class="py-lineno">48</tt> <a class="py-toggle" href="#" id="convert_header-toggle" onclick="return toggle('convert_header');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.converters-module.html#convert_header">convert_header</a><tt class="py-op">(</tt><tt class="py-param">inp</tt><tt class="py-op">,</tt> <tt class="py-param">outp</tt><tt class="py-op">,</tt> <tt  [...]
+</div><div id="convert_header-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="convert_header-expanded"><a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring">    return header converted to the output format</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring">    @param inp,outp: input/output format like "cbfimage"</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring">    @param header(dict):the actual set of headers to be transformed </tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-20" class="py-name"><a title="fabio.converters.CONVERSION_HEADER" class="py-name" href="#" onclick="return doclink('link-20', 'CONVERSION_HEADER', 'link-4');">CONVERSION_HEADER</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">inp</tt><tt class="py-op">,</tt> <tt class="py-name">outp</tt><tt  [...]
+</div><a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.datIO-module.html b/doc/html/fabio.datIO-module.html
new file mode 100644
index 0000000..92e5f5d
--- /dev/null
+++ b/doc/html/fabio.datIO-module.html
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.datIO</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module datIO
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.datIO-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module datIO</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.datIO-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+         
+         and Jon Wright, ESRF
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.datIO.fabiodata-class.html" class="summary-name">fabiodata</a><br />
+      A common class for dataIO in fable Contains a 2d numpy array for 
+        keeping data, and two lists (clabels and rlabels) containing labels
+        for columns and rows respectively
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.datIO.columnfile-class.html" class="summary-name">columnfile</a><br />
+      Concrete fabiodata class
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code><br />
+      hash(x)
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.datIO-pysrc.html b/doc/html/fabio.datIO-pysrc.html
new file mode 100644
index 0000000..adcc520
--- /dev/null
+++ b/doc/html/fabio.datIO-pysrc.html
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.datIO</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module datIO
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.datIO-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.datIO-module.html">Module fabio.datIO</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#coding: utf8</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">         email:erik.knudsen at risoe.dk</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">         </tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">         and Jon Wright, ESRF</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"> </tt>
+<a name="fabiodata"></a><div id="fabiodata-def"><a name="L14"></a><tt class="py-lineno">14</tt> <a class="py-toggle" href="#" id="fabiodata-toggle" onclick="return toggle('fabiodata');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.datIO.fabiodata-class.html">fabiodata</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabiodata-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="fabiodata-expanded"><a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    A common class for dataIO in fable</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    Contains a 2d numpy array for keeping data, and two lists (clabels and rlabels)</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    containing labels for columns and rows respectively</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"> </tt>
+<a name="fabiodata.__init__"></a><div id="fabiodata.__init__-def"><a name="L21"></a><tt class="py-lineno">21</tt> <a class="py-toggle" href="#" id="fabiodata.__init__-toggle" onclick="return toggle('fabiodata.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.datIO.fabiodata-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op [...]
+</div><div id="fabiodata.__init__-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="fabiodata.__init__-expanded"><a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">        set up initial values</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt id="link-0" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-0', 'data', 'link-0');">data</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-string">"string"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"fabioimage.__init__ bad argument - "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">                                <tt class="py-string">"data should be numpy array"</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-1', 'data', 'link-0');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-2', 'data', 'link-0');">data</a></tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-3', 'data', 'link-0');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Variable fabio.edfimage.edfimage.dims=fabio.edfimage.edfimage-class.html#dims"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-4', 'dims', 'link-4');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-n [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-5', 'data', 'link-0');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clabels</tt> <tt class="py-op">=</tt> <tt class="py-name">clabels</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rlabels</tt> <tt class="py-op">=</tt> <tt class="py-name">rlabels</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage.OXDimage.read()=fabio.OXDimage.OXDimage-class.html#re [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-6', 'read', 'link-6');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"> </tt>
+<a name="fabiodata.read"></a><div id="fabiodata.read-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="fabiodata.read-toggle" onclick="return toggle('fabiodata.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.datIO.fabiodata-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">=</tt><tt class="py-n [...]
+</div><div id="fabiodata.read-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="fabiodata.read-expanded"><a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">        To be overridden by format specific subclasses</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Class has not implemented read method yet"</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"><tt class="py-comment">#import stuff from Jon's columnfile things</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"> </tt>
+<a name="columnfile"></a><div id="columnfile-def"><a name="L45"></a><tt class="py-lineno">45</tt> <a class="py-toggle" href="#" id="columnfile-toggle" onclick="return toggle('columnfile');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.datIO.columnfile-class.html">columnfile</a><tt class="py-op">(</tt><tt class="py-base-class">fabiodata</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="columnfile-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="columnfile-expanded"><a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">    <tt class="py-docstring">"Concrete fabiodata class"</tt> </tt>
+<a name="columnfile.read"></a><div id="columnfile.read-def"><a name="L47"></a><tt class="py-lineno">47</tt> <a class="py-toggle" href="#" id="columnfile.read-toggle" onclick="return toggle('columnfile.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.datIO.columnfile-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class [...]
+</div><div id="columnfile.read-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="columnfile.read-expanded"><a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Module fabio.cf_io=fabio.cf_io-module.html"><a title="fabio.cf_io" class="py-name" href="#" onclick="return doclink('link-7', 'cf_io', 'link-7');">cf_io</a></tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">            <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"columnfile: file"</tt> <tt class="py-op">+</tt> <tt id="link-8" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-8', 'str', 'link-8');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"not found."</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">            <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-9', 'data', 'link-0');">data</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">clabels</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name"><a title="fabio.cf_io" class="py-name" href="#" onclick="return doclink('link-10', 'cf_io', 'link-7');">cf_io</a></tt><tt class="py-op">.</tt><tt id="link-11" class="py-name"><a [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-11', 'read', 'link-6');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"columnfile: read error, file "</tt> <tt class="py-op">+</tt> <tt id="link-12" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-12', 'str', 'link-8');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">" possibly corrupt"</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-13', 'dims', 'link-4');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-14', 'data', 'link-0');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.datIO.columnfile-class.html b/doc/html/fabio.datIO.columnfile-class.html
new file mode 100644
index 0000000..f3a508b
--- /dev/null
+++ b/doc/html/fabio.datIO.columnfile-class.html
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.datIO.columnfile</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.datIO-module.html">Module datIO</a> ::
+        Class columnfile
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.datIO.columnfile-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class columnfile</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.datIO-pysrc.html#columnfile">source code</a></span></p>
+<pre class="base-tree">
+object --+    
+         |    
+ <a href="fabio.datIO.fabiodata-class.html">fabiodata</a> --+
+             |
+            <strong class="uidshort">columnfile</strong>
+</pre>
+
+<hr />
+<p>Concrete fabiodata class</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.datIO.columnfile-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      To be overridden by format specific subclasses</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.datIO-pysrc.html#columnfile.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.datIO.fabiodata-class.html">fabiodata</a></code></b>:
+      <code><a href="fabio.datIO.fabiodata-class.html#__init__">__init__</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.datIO-pysrc.html#columnfile.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>To be overridden by format specific subclasses</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.datIO.fabiodata-class.html#read">fabiodata.read</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.datIO.fabiodata-class.html b/doc/html/fabio.datIO.fabiodata-class.html
new file mode 100644
index 0000000..b86bc04
--- /dev/null
+++ b/doc/html/fabio.datIO.fabiodata-class.html
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.datIO.fabiodata</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.datIO-module.html">Module datIO</a> ::
+        Class fabiodata
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.datIO.fabiodata-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class fabiodata</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.datIO-pysrc.html#fabiodata">source code</a></span></p>
+<pre class="base-tree">
+object --+
+         |
+        <strong class="uidshort">fabiodata</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+      <ul class="subclass-list">
+<li><a href="fabio.datIO.columnfile-class.html">columnfile</a></li>  </ul>
+</dd></dl>
+
+<hr />
+<p>A common class for dataIO in fable Contains a 2d numpy array for 
+  keeping data, and two lists (clabels and rlabels) containing labels for 
+  columns and rows respectively</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.datIO.fabiodata-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">clabels</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">rlabels</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">fname</span>=<span class="summary-sig-default">None</span>)</span><br />
+      set up initial values</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.datIO-pysrc.html#fabiodata.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="read"></a><span class="summary-sig-name">read</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      To be overridden by format specific subclasses</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.datIO-pysrc.html#fabiodata.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">data</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">clabels</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">rlabels</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">fname</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.datIO-pysrc.html#fabiodata.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>set up initial values</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.dm3image-module.html b/doc/html/fabio.dm3image-module.html
new file mode 100644
index 0000000..885dc9f
--- /dev/null
+++ b/doc/html/fabio.dm3image-module.html
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.dm3image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module dm3image
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.dm3image-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module dm3image</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.dm3image-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+
+        + Jon Wright, ESRF
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.dm3image.dm3image-class.html" class="summary-name">dm3image</a><br />
+      Read and try to write the dm3 data format
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("dm3image")">logging.getLogger("dm3image")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.dm3image-module.html#DATA_TYPES" class="summary-name">DATA_TYPES</a> = <code title="{2: <type 'numpy.int16'>,
+ 3: <type 'numpy.int32'>,
+ 4: <type 'numpy.uint16'>,
+ 5: <type 'numpy.uint32'>,
+ 6: <type 'numpy.float32'>,
+ 7: <type 'float'>,
+ 8: <type 'numpy.int8'>,
+ 9: None,
+..."><code class="variable-group">{</code>2<code class="variable-op">: </code><type 'numpy.int16'><code class="variable-op">, </code>3<code class="variable-op">: </code><type 'numpy.int32'><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.dm3image-module.html#DATA_BYTES" class="summary-name">DATA_BYTES</a> = <code title="{2: 2,
+ 3: 4,
+ 4: 2,
+ 5: 4,
+ 6: 4,
+ 7: 8,
+ 8: 1,
+ 9: None,
+..."><code class="variable-group">{</code>2<code class="variable-op">: </code>2<code class="variable-op">, </code>3<code class="variable-op">: </code>4<code class="variable-op">, </code>4<code class="variable-op">: </code>2<code class="variable-op">, </code>5<code class="variable-op">: </code>4<code class="variable-op">, </code>6<code class="variable-op">: </code>4<code class="variable-op">, </code>7<code class="variable-op">: </code>8<code class="variable-op">, </code>8<code class="vari [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="DATA_TYPES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">DATA_TYPES</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>2<code class="variable-op">: </code><type 'numpy.int16'><code class="variable-op">,</code>
+ 3<code class="variable-op">: </code><type 'numpy.int32'><code class="variable-op">,</code>
+ 4<code class="variable-op">: </code><type 'numpy.uint16'><code class="variable-op">,</code>
+ 5<code class="variable-op">: </code><type 'numpy.uint32'><code class="variable-op">,</code>
+ 6<code class="variable-op">: </code><type 'numpy.float32'><code class="variable-op">,</code>
+ 7<code class="variable-op">: </code><type 'float'><code class="variable-op">,</code>
+ 8<code class="variable-op">: </code><type 'numpy.int8'><code class="variable-op">,</code>
+ 9<code class="variable-op">: </code>None<code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="DATA_BYTES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">DATA_BYTES</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>2<code class="variable-op">: </code>2<code class="variable-op">,</code>
+ 3<code class="variable-op">: </code>4<code class="variable-op">,</code>
+ 4<code class="variable-op">: </code>2<code class="variable-op">,</code>
+ 5<code class="variable-op">: </code>4<code class="variable-op">,</code>
+ 6<code class="variable-op">: </code>4<code class="variable-op">,</code>
+ 7<code class="variable-op">: </code>8<code class="variable-op">,</code>
+ 8<code class="variable-op">: </code>1<code class="variable-op">,</code>
+ 9<code class="variable-op">: </code>None<code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.dm3image-pysrc.html b/doc/html/fabio.dm3image-pysrc.html
new file mode 100644
index 0000000..61ff22e
--- /dev/null
+++ b/doc/html/fabio.dm3image-pysrc.html
@@ -0,0 +1,827 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.dm3image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module dm3image
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.dm3image-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.dm3image-module.html">Module fabio.dm3image</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">         email:erik.knudsen at risoe.dk</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">        + Jon Wright, ESRF</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-0', 'fabioimage', 'link-0');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-0');">fabioimage</a></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-2', 'logger', 'link-2');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"dm3image"</tt><tt class="py-op">)</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable fabio.cbfimage.DATA_TYPES=fabio.cbfimage-module.html#DATA_TYPES,Variable fabio.dm3image.DATA_TYPES=fabio.dm3image-module.html#DATA_TYPES,Variable fabio.edfimage.DATA_TYPES=fabio.edfimage-module.html#DATA_TYPES,Variable fabio.kcdimage.DATA_TYPES=fabio.kcdimage-module.html#DATA_TYPES"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-3', 'DATA_TYPES', 'link-3');">DATA_TYPES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt>  <tt class="py-number">2</tt>     <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int16</tt><tt class="py-op">,</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">                <tt class="py-number">4</tt>     <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">,</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">                <tt class="py-number">3</tt>     <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">                <tt class="py-number">5</tt>     <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt><tt class="py-op">,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">                <tt class="py-number">6</tt>     <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">,</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">                <tt class="py-number">7</tt>     <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float</tt><tt class="py-op">,</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">                <tt class="py-number">8</tt>     <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int8</tt><tt class="py-op">,</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">                <tt class="py-number">9</tt>     <tt class="py-op">:</tt>  <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">                <tt class="py-number">10</tt>    <tt class="py-op">:</tt>  <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">                <tt class="py-number">15</tt>    <tt class="py-op">:</tt>  <tt class="py-string">'Struct'</tt><tt class="py-op">,</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">                <tt class="py-number">18</tt>    <tt class="py-op">:</tt>  <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">                <tt class="py-number">20</tt>    <tt class="py-op">:</tt>  <tt class="py-name">None</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">                <tt class="py-op">}</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable fabio.dm3image.DATA_BYTES=fabio.dm3image-module.html#DATA_BYTES"><a title="fabio.dm3image.DATA_BYTES" class="py-name" href="#" onclick="return doclink('link-4', 'DATA_BYTES', 'link-4');">DATA_BYTES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt>  <tt class="py-number">2</tt>     <tt class="py-op">:</tt>  <tt class="py-number">2</tt><tt class="py-op">,</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">                <tt class="py-number">4</tt>     <tt class="py-op">:</tt>  <tt class="py-number">2</tt><tt class="py-op">,</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">                <tt class="py-number">3</tt>     <tt class="py-op">:</tt>  <tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">                <tt class="py-number">5</tt>     <tt class="py-op">:</tt>  <tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">                <tt class="py-number">6</tt>     <tt class="py-op">:</tt>  <tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                <tt class="py-number">7</tt>     <tt class="py-op">:</tt>  <tt class="py-number">8</tt><tt class="py-op">,</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                <tt class="py-number">8</tt>     <tt class="py-op">:</tt>  <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">                <tt class="py-number">9</tt>     <tt class="py-op">:</tt>  <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">                <tt class="py-number">10</tt>    <tt class="py-op">:</tt>  <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">                <tt class="py-number">15</tt>    <tt class="py-op">:</tt>  <tt class="py-string">'Struct'</tt><tt class="py-op">,</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">                <tt class="py-number">18</tt>    <tt class="py-op">:</tt>  <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">                <tt class="py-number">20</tt>    <tt class="py-op">:</tt>  <tt class="py-name">None</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">                <tt class="py-op">}</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="dm3image"></a><div id="dm3image-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="dm3image-toggle" onclick="return toggle('dm3image');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.dm3image.dm3image-class.html">dm3image</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="dm3image-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="dm3image-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-docstring">""" Read and try to write the dm3 data format """</tt> </tt>
+<a name="dm3image.__init__"></a><div id="dm3image.__init__-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="dm3image.__init__-toggle" onclick="return toggle('dm3image.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.dm3image.dm3image-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">ar [...]
+</div><div id="dm3image.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="dm3image.__init__-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt id="link-5" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-5', 'fabioimage', 'link-0');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__init__()=fabio.TiffIO.TiffIO-class.html#__init__,Method fabio.adscimage.adscimage.__init__()=fabio.adscimage.adscimage-class.html#__init__,Method fabio.binaryimage.binaryimage.__ini [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-6', '__init__', 'link-6');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">encoded_datatype</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">no_data_elements</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grouptag_is_sorted</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grouptag_is_open</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_data_type</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_is_data</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grouptag_no_tags</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bytes_in_file</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_label_length</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">go_on</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="dm3image._readheader"></a><div id="dm3image._readheader-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="dm3image._readheader-toggle" onclick="return toggle('dm3image._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.dm3image.dm3image-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="dm3image._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="dm3image._readheader-expanded"><a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-name">file_format</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method fabio.dm3image.dm3image.readbytes()=fabio.dm3image.dm3image-class.html#readbytes"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-7', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</t [...]
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">file_format</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-string">'Wrong file type '</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bytes_in_file</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-8', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py [...]
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">byte_order</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-9', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op [...]
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">'read dm3 file - file format '</tt><tt class="py-op">,</tt> <tt class="py-name">file_format</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">'Bytes in file : '</tt> <tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bytes_in_file</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">'Byte order :'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">byte_order</tt><tt class="py-op">,</tt> <tt class="py-string">'  - 0 = bigEndian , 1 = littleEndian'</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">byte_order</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">swap</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">byte_order</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">swap</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt> </tt>
+</div><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
+<a name="dm3image.read"></a><div id="dm3image.read-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="dm3image.read-toggle" onclick="return toggle('dm3image.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.dm3image.dm3image-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py-p [...]
+</div><div id="dm3image.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="dm3image.read-expanded"><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-10', 'head [...]
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-11', 'resetvals', 'link-11');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-12', '_open', 'link- [...]
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._rea [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-13', '_readheader', 'link-13');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">go_on</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">go_on</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">go_on</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method fabio.dm3image.dm3image.read_tag_group()=fabio.dm3image.dm3image-class.html#read_tag_group"><a title="fabio.dm3image.dm3image.read_tag_group" class="py-name" href="#" onclick="return doclink('link-14', 'read_tag_group', 'link-14');">read_tag_group</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method fabio.dm3image.dm3image.read_tag_entry()=fabio.dm3image.dm3image-class.html#read_tag_entry"><a title="fabio.dm3image.dm3image.read_tag_entry" class="py-name" href="#" onclick="return doclink('link-15', 'read_tag_entry', 'link-15');">read_tag_entry</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bytes_in_file</tt><tt class="py-op">:</tt> <tt class="py-keyword">break</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_is_data</tt> <tt class="py-op">==</tt> <tt class="py-number">21</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="fabio.dm3image.dm3image.read_tag_entry" class="py-name" href="#" onclick="return doclink('link-16', 'read_tag_entry', 'link-15');">read_tag_entry</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">bytes_in_file</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">go_on</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">dim1_raw</tt><tt class="py-op">,</tt> <tt class="py-name">dim2_raw</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-17', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt [...]
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">dim1_raw</tt><tt class="py-op">,</tt> <tt class="py-name">dim2_raw</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">dim1_raw</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">dim2_raw</tt><tt  [...]
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">dim1_binning</tt><tt class="py-op">,</tt> <tt class="py-name">dim2_binning</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-18', 'header', 'link-10');">header</a></tt><tt class="py-o [...]
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">dim1_binning</tt><tt class="py-op">,</tt> <tt class="py-name">dim2_binning</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">dim1_binning</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">dim2_ [...]
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-19', 'dim1', 'link-19');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">dim1_raw</tt> <tt class="py-op">/</tt> <tt class="py-name"> [...]
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-20', 'dim2', 'link-20');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">dim2_raw</tt> <tt class="py-op">/</tt> <tt class="py-name"> [...]
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-comment">#print dim1,dim2</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-21', 'header', 'link-10');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-string">'Data'</tt><tt class="py-op">)</tt><tt class="py-op">: [...]
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-22', 'data', 'link-22');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-23', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Data'</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class=" [...]
+</div><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
+<a name="dm3image.readbytes"></a><div id="dm3image.readbytes-def"><a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="dm3image.readbytes-toggle" onclick="return toggle('dm3image.readbytes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.dm3image.dm3image-class.html#readbytes">readbytes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">bytes_to_read</tt>< [...]
+</div><div id="dm3image.readbytes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="dm3image.readbytes-expanded"><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">raw</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#r [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-26', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">bytes_to_read</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">format</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt id="link-27" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-27', 'data', 'link-22');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">raw</tt><tt class="py-op">,</tt> <tt class="py-name">format</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt id="link-28" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-28', 'data', 'link-22');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">raw</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">swap</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">            <tt id="link-29" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-29', 'data', 'link-22');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-30', 'data', 'link-22');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-31" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-31', 'data', 'link-22');">data</a></tt> </tt>
+</div><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
+<a name="dm3image.read_tag_group"></a><div id="dm3image.read_tag_group-def"><a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="dm3image.read_tag_group-toggle" onclick="return toggle('dm3image.read_tag_group');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.dm3image.dm3image-class.html#read_tag_group">read_tag_group</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class=" [...]
+</div><div id="dm3image.read_tag_group-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="dm3image.read_tag_group-expanded"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grouptag_is_sorted</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-32', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt c [...]
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grouptag_is_open</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-33', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt cla [...]
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grouptag_no_tags</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-34', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt cla [...]
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt id="link-35" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-35', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'TagGroup is sorted? %s'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grouptag_is_sorted</tt><tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt id="link-36" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-36', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'TagGroup is open? %s'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grouptag_is_open</tt><tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt id="link-37" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-37', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'no of tags in TagGroup %s'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">grouptag_no_tags</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
+<a name="dm3image.read_tag_entry"></a><div id="dm3image.read_tag_entry-def"><a name="L127"></a><tt class="py-lineno">127</tt> <a class="py-toggle" href="#" id="dm3image.read_tag_entry-toggle" onclick="return toggle('dm3image.read_tag_entry');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.dm3image.dm3image-class.html#read_tag_entry">read_tag_entry</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class=" [...]
+</div><div id="dm3image.read_tag_entry-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="dm3image.read_tag_entry-expanded"><a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_is_data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-38', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="p [...]
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_label_length</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-39', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt cla [...]
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt id="link-40" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-40', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'does Tag have data ? %s  -  20 = Tag group , 21 = data '</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_is_data</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt id="link-41" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-41', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'length of tag_label '</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_label_length</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_label_length</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">tag_label</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-42', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_label_length</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-name">tag_label</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_is_data</tt> <tt class="py-op">==</tt> <tt class="py-number">21</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-comment"># This is data</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-43', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_label</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class [...]
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt id="link-45" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-45', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"%s: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">tag_label</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclin [...]
+</div><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"> </tt>
+<a name="dm3image.read_tag_type"></a><div id="dm3image.read_tag_type-def"><a name="L144"></a><tt class="py-lineno">144</tt> <a class="py-toggle" href="#" id="dm3image.read_tag_type-toggle" onclick="return toggle('dm3image.read_tag_type');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.dm3image.dm3image-class.html#read_tag_type">read_tag_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op" [...]
+</div><div id="dm3image.read_tag_type-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="dm3image.read_tag_type-expanded"><a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-47', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'%%%%'</tt><tt class="py-op">:</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_data_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-48', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class= [...]
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt id="link-49" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-49', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'data is of type : %s  - 1 = simple, 2= string, 3 = array, >3 structs'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_data_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-50', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt cla [...]
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt id="link-51" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-51', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'encode type: %s %s'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt><tt class="py-op">,</tt> <tt id="link-52" class="py-name"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-52', 'DATA_TYPES', 'link-3');">DATA_TYPES</a></tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_data_type</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-comment"># simple type</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-53', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt id="link-54" class="py-name"><a title="fabio.dm3image.DATA_BYTES" class="py-name" href="#" onclick="return docli [...]
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">                                  <tt id="link-55" class="py-name"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-55', 'DATA_TYPES', 'link-3');">DATA_TYPES</a></tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">                                  <tt class="py-name">swap</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">swap</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-comment"># are the data stored in a simple array?</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt> <tt class="py-op">==</tt> <tt class="py-number">20</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_data_type</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt> <tt class="py-op">:</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-56', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class= [...]
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">no_data_elements</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-57', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt [...]
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt> <tt class="py-op">==</tt> <tt class="py-number">10</tt><tt class="py-op">:</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">                <tt id="link-58" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-58', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'skip bytes %s'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">no_data_elements</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                <tt class="py-name">dump</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-59', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">no_data_elements</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt id="link-60" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-60', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'Data are stored as a simple a array -'</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt id="link-61" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-61', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'%s data elemets stored as %s'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">no_data_elements</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt cl [...]
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-name">read_no_bytes</tt> <tt class="py-op">=</tt> <tt id="link-62" class="py-name"><a title="fabio.dm3image.DATA_BYTES" class="py-name" href="#" onclick="return doclink('link-62', 'DATA_BYTES', 'link-4');">DATA_BYTES</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class [...]
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-name">format</tt> <tt class="py-op">=</tt> <tt id="link-63" class="py-name"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-63', 'DATA_TYPES', 'link-3');">DATA_TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data_type</tt><tt class="py-op">]</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-64', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-name">read_no_bytes</tt><tt class="py-op">,</tt> <tt class="py-name">format</tt><tt class="py-op">,</t [...]
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-comment"># are the data stored in a complex array ?</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-comment"># print 'tag_type + data_type', self.tag_encoded_type,self.tag_data_type</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-comment">#print self.tag_encoded_type , self.tag_data_type </tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt> <tt class="py-op">==</tt> <tt class="py-number">20</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_data_type</tt> <tt class="py-op">></tt> <tt class="py-number">3</tt> <tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-65', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt [...]
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt id="link-66" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-66', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'found array - new tag_encoded_type %s'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt> <tt class="py-op">==</tt> <tt class="py-number">15</tt><tt class="py-op">:</tt>            <tt class="py-comment"># struct type</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                 <tt class="py-comment">###type = self.readbytes(4,numpy.int32)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">                <tt class="py-name">struct_name_length</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-67', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">numpy [...]
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">                <tt class="py-name">struct_number_fields</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-68', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">num [...]
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                <tt class="py-comment">#print 'struct - name_length, number_field',  struct_name_length,struct_number_fields</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                <tt class="py-comment">#print self.infile.read(struct_name_length)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                <tt class="py-name">field_info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-69" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-69', 'i', 'link-69');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">struct_number_fields</tt><tt class="py-op">)</t [...]
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                    <tt class="py-name">field_info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-70', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt c [...]
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">                <tt class="py-comment">#print field_info</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">no_data_elements</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-72', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt [...]
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                <tt class="py-comment">#print '%i data elemets stored as ' %self.no_data_elements</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">                <tt class="py-name">bytes_in_struct</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-73" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-73', 'i', 'link-69');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">struct_number_fields</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">                    <tt class="py-name">bytes_in_struct</tt> <tt class="py-op">+=</tt> <tt id="link-74" class="py-name"><a title="fabio.dm3image.DATA_BYTES" class="py-name" href="#" onclick="return doclink('link-74', 'DATA_BYTES', 'link-4');">DATA_BYTES</a></tt><tt class="py-op">[</tt><tt class="py-name">field_info</tt><tt class="py-op">[</tt><tt id="link-75" class="py-name"><a title="fabio.fabioutils.i" class="py-nam [...]
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                <tt id="link-76" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-76', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">'skip bytes %s'</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">no_data_elements</tt> <tt class="py-op">*</tt> <tt class="py-name">bytes_in_struct</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                <tt class="py-name">dump</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-77', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">no_data_elements</tt> <tt class="py-op">*</tt> <tt class="py-name">bytes_in_struct</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_encoded_type</tt> <tt class="py-op">==</tt> <tt class="py-number">15</tt><tt class="py-op">:</tt>            <tt class="py-comment"># struct type</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-comment">###type = self.readbytes(4,numpy.int32)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">struct_name_length</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-78', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt [...]
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-name">struct_number_fields</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-79', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</ [...]
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-comment">#print 'struct - name_length, number_field',  struct_name_length,struct_number_fields</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-comment">#print self.infile.read(struct_name_length)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">field_info</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-80" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-80', 'i', 'link-69');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">struct_number_fields</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">                <tt class="py-name">field_info</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-81', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class [...]
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-comment">#print field_info</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-name">field_data</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-83" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-83', 'i', 'link-69');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">struct_number_fields</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                <tt class="py-comment">#print type(i)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                <tt class="py-name">field_data</tt> <tt class="py-op">=</tt> <tt class="py-name">field_data</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-84', 'readbytes', 'link-7');">readbytes</a></tt><tt class="py-op">(</tt><tt class="py-name">field [...]
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                <tt class="py-name">field_data</tt> <tt class="py-op">=</tt> <tt class="py-name">field_data</tt> <tt class="py-op">+</tt> <tt class="py-string">'%i  '</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="fabio.dm3image.dm3image.readbytes" class="py-name" href="#" onclick="return doclink('link-86', 'readbytes', 'link-7');">readbyte [...]
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                                                                 <tt id="link-89" class="py-name"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-89', 'DATA_TYPES', 'link-3');">DATA_TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">field_info</tt><tt class="py-op">[</tt><tt id="link-90" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-90', 'i', 'link-69');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><t [...]
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                                                                 <tt class="py-name">swap</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">swap</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">field_data</tt> </tt>
+</div><a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"> </tt>
+<a name="dm3image.read_data"></a><div id="dm3image.read_data-def"><a name="L217"></a><tt class="py-lineno">217</tt> <a class="py-toggle" href="#" id="dm3image.read_data-toggle" onclick="return toggle('dm3image.read_data');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.dm3image.dm3image-class.html#read_data">read_data</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="dm3image.read_data-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="dm3image.read_data-expanded"><a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">encoded_datatype</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="p [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-91', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.dm3image.dm3image-class.html b/doc/html/fabio.dm3image.dm3image-class.html
new file mode 100644
index 0000000..149d9a2
--- /dev/null
+++ b/doc/html/fabio.dm3image.dm3image-class.html
@@ -0,0 +1,491 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.dm3image.dm3image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.dm3image-module.html">Module dm3image</a> ::
+        Class dm3image
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.dm3image.dm3image-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class dm3image</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">dm3image</strong>
+</pre>
+
+<hr />
+<p>Read and try to write the dm3 data format</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.dm3image.dm3image-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*args</span>,
+        <span class="summary-sig-arg">**kwargs</span>)</span><br />
+      Set up initial values</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.dm3image.dm3image-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Must be overridden in classes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.dm3image.dm3image-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      To be overridden - fill in self.header and self.data</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="readbytes"></a><span class="summary-sig-name">readbytes</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">bytes_to_read</span>,
+        <span class="summary-sig-arg">format</span>,
+        <span class="summary-sig-arg">swap</span>=<span class="summary-sig-default">True</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image.readbytes">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="read_tag_group"></a><span class="summary-sig-name">read_tag_group</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image.read_tag_group">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="read_tag_entry"></a><span class="summary-sig-name">read_tag_entry</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image.read_tag_entry">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="read_tag_type"></a><span class="summary-sig-name">read_tag_type</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image.read_tag_type">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="read_data"></a><span class="summary-sig-name">read_data</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image.read_data">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#write">write</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">*args</span>,
+        <span class="sig-arg">**kwargs</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Set up initial values</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Must be overridden in classes</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.dm3image-pysrc.html#dm3image.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>To be overridden - fill in self.header and self.data</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.edfimage-module.html b/doc/html/fabio.edfimage-module.html
new file mode 100644
index 0000000..be88cc6
--- /dev/null
+++ b/doc/html/fabio.edfimage-module.html
@@ -0,0 +1,342 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.edfimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module edfimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.edfimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module edfimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.edfimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+
+License: GPLv2+
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+
+        + Jon Wright, ESRF
+        
+2011-02-11: Mostly rewritten by Jérôme Kieffer (Jerome.Kieffer at esrf.eu) 
+            European Synchrotron Radiation Facility
+            Grenoble (France)
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.Frame-class.html" class="summary-name">Frame</a><br />
+      A class representing a single frame in an EDF file
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html" class="summary-name">edfimage</a><br />
+      Read and try to write the ESRF edf data format
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("edfimage")">logging.getLogger("edfimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="BLOCKSIZE"></a><span class="summary-name">BLOCKSIZE</span> = <code title="512">512</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage-module.html#DATA_TYPES" class="summary-name">DATA_TYPES</a> = <code title="{'Double': <type 'numpy.float64'>,
+ 'DoubleIEEE64': <type 'numpy.float64'>,
+ 'DoubleValue': <type 'numpy.float64'>,
+ 'FLOAT': <type 'numpy.float32'>,
+ 'FLOATVALUE': <type 'numpy.float32'>,
+ 'Float': <type 'numpy.float32'>,
+ 'Float32': <type 'numpy.float32'>,
+ 'FloatIEEE32': <type 'numpy.float32'>,
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">Double</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float64'><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">DoubleIEEE64</code><code class="variable-quote">'</code><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage-module.html#NUMPY_EDF_DTYPE" class="summary-name">NUMPY_EDF_DTYPE</a> = <code title="{'float32': 'FloatValue',
+ 'float64': 'DoubleValue',
+ 'int16': 'SignedShort',
+ 'int32': 'SignedInteger',
+ 'int64': 'Signed64',
+ 'int8': 'SignedByte',
+ 'uint16': 'UnsignedShort',
+ 'uint32': 'UnsignedInteger',
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">float32</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">FloatValue</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">float64</code><code class="variable-quote">'</code><code class="variable-o [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage-module.html#MINIMUM_KEYS" class="summary-name">MINIMUM_KEYS</a> = <code title="['HEADERID',
+ 'IMAGE',
+ 'BYTEORDER',
+ 'DATATYPE',
+ 'DIM_1',
+ 'DIM_2',
+ 'SIZE']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">HEADERID</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">IMAGE</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">BYTEORDER</code><code class="variable-quote">'</code><code class="variabl [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="DEFAULT_VALUES"></a><span class="summary-name">DEFAULT_VALUES</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="DATA_TYPES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">DATA_TYPES</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">Double</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float64'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">DoubleIEEE64</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float64'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">DoubleValue</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float64'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">FLOAT</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float32'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">FLOATVALUE</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float32'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Float</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float32'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Float32</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float32'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">FloatIEEE32</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float32'><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="NUMPY_EDF_DTYPE"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">NUMPY_EDF_DTYPE</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">float32</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">FloatValue</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">float64</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">DoubleValue</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">int16</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">SignedShort</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">int32</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">SignedInteger</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">int64</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Signed64</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">int8</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">SignedByte</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">uint16</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">UnsignedShort</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">uint32</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">UnsignedInteger</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="MINIMUM_KEYS"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">MINIMUM_KEYS</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">HEADERID</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">IMAGE</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">BYTEORDER</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">DATATYPE</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">DIM_1</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">DIM_2</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">SIZE</code><code class="variable-quote">'</code><code class="variable-group">]</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.edfimage-pysrc.html b/doc/html/fabio.edfimage-pysrc.html
new file mode 100644
index 0000000..41092ff
--- /dev/null
+++ b/doc/html/fabio.edfimage-pysrc.html
@@ -0,0 +1,1966 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.edfimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module edfimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.edfimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.edfimage-module.html">Module fabio.edfimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"># -*- coding: utf8 -*-</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">License: GPLv2+</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">         email:erik.knudsen at risoe.dk</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">        + Jon Wright, ESRF</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">2011-02-11: Mostly rewritten by Jérôme Kieffer (Jerome.Kieffer at esrf.eu) </tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">            European Synchrotron Radiation Facility</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">            Grenoble (France)</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"edfimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-1');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-1');">fabioimage</a></tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module fabio.fabioutils=fabio.fabioutils-module.html"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-3', 'fabioutils', 'link-3');">fabioutils</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4" class="py-name" targets="Static Method fabio.cbfimage.CIF.isAscii()=fabio.cbfimage.CIF-class.html#isAscii,Func [...]
+fabio.fabioutils.isAscii" class="py-name" href="#" onclick="return doclink('link-4', 'isAscii', 'link-4');">isAscii</a></tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name" targets="Function fabio.fabioutils.toAscii()=fabio.fabioutils-module.html#toAscii"><a title="fabio.fabioutils.toAscii" class="py-name" href="#" onclick="return doclink('link-5', 'toAscii', 'link-5');">toAscii</a></tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name" targets="Module fabio.compression=fabio.compression-module.html"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-6', 'compression', 'link-6');">compression</a></tt> <tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Function fabio.compression.decBzip2()=fabio.compression-module.html#decBzip2"><a [...]
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable fabio.edfimage.BLOCKSIZE=fabio.edfimage-module.html#BLOCKSIZE"><a title="fabio.edfimage.BLOCKSIZE" class="py-name" href="#" onclick="return doclink('link-10', 'BLOCKSIZE', 'link-10');">BLOCKSIZE</a></tt> <tt class="py-op">=</tt> <tt class="py-number">512</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable fabio.cbfimage.DATA_TYPES=fabio.cbfimage-module.html#DATA_TYPES,Variable fabio.dm3image.DATA_TYPES=fabio.dm3image-module.html#DATA_TYPES,Variable fabio.edfimage.DATA_TYPES=fabio.edfimage-module.html#DATA_TYPES,Variable fabio.kcdimage.DATA_TYPES=fabio.kcdimage-module.html#DATA_TYPES"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-11', 'DATA_TYPES', 'link-11');">DATA_TYPES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt>  <tt class="py-string">"SignedByte"</tt>    <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int8</tt><tt class="py-op">,</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">                <tt class="py-string">"Signed8"</tt>       <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int8</tt><tt class="py-op">,</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">                <tt class="py-string">"UnsignedByte"</tt>  <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class="py-op">,</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">                <tt class="py-string">"Unsigned8"</tt>     <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class="py-op">,</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">                <tt class="py-string">"SignedShort"</tt>   <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int16</tt><tt class="py-op">,</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                <tt class="py-string">"Signed16"</tt>      <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int16</tt><tt class="py-op">,</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                <tt class="py-string">"UnsignedShort"</tt> <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">,</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">                <tt class="py-string">"Unsigned16"</tt>    <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">,</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">                <tt class="py-string">"UnsignedShortInteger"</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">,</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">                <tt class="py-string">"SignedInteger"</tt> <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">                <tt class="py-string">"Signed32"</tt>      <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">                <tt class="py-string">"UnsignedInteger"</tt><tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt><tt class="py-op">,</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">                <tt class="py-string">"Unsigned32"</tt>    <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt><tt class="py-op">,</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">                <tt class="py-string">"SignedLong"</tt>    <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">                <tt class="py-string">"UnsignedLong"</tt>  <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt><tt class="py-op">,</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">                <tt class="py-string">"Signed64"</tt>      <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int64</tt><tt class="py-op">,</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">                <tt class="py-string">"Unsigned64"</tt>    <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint64</tt><tt class="py-op">,</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                <tt class="py-string">"FloatValue"</tt>    <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                <tt class="py-string">"FLOATVALUE"</tt>    <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">,</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">                <tt class="py-string">"FLOAT"</tt>         <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">,</tt> <tt class="py-comment"># fit2d</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">                <tt class="py-string">"Float"</tt>         <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">,</tt> <tt class="py-comment"># fit2d</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">                <tt class="py-string">"FloatIEEE32"</tt>   <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">,</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">                <tt class="py-string">"Float32"</tt>       <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">,</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">                <tt class="py-string">"Double"</tt>        <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">,</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-string">"DoubleValue"</tt>   <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">,</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">                <tt class="py-string">"FloatIEEE64"</tt>   <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt><tt class="py-op">,</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">                <tt class="py-string">"DoubleIEEE64"</tt>  <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                <tt class="py-op">}</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable fabio.edfimage.NUMPY_EDF_DTYPE=fabio.edfimage-module.html#NUMPY_EDF_DTYPE"><a title="fabio.edfimage.NUMPY_EDF_DTYPE" class="py-name" href="#" onclick="return doclink('link-12', 'NUMPY_EDF_DTYPE', 'link-12');">NUMPY_EDF_DTYPE</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">"int8"</tt>       <tt class="py-op">:</tt><tt class="py-string">"S [...]
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                   <tt class="py-string">"int16"</tt>      <tt class="py-op">:</tt><tt class="py-string">"SignedShort"</tt><tt class="py-op">,</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                   <tt class="py-string">"int32"</tt>      <tt class="py-op">:</tt><tt class="py-string">"SignedInteger"</tt><tt class="py-op">,</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                   <tt class="py-string">"int64"</tt>      <tt class="py-op">:</tt><tt class="py-string">"Signed64"</tt><tt class="py-op">,</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                   <tt class="py-string">"uint8"</tt>      <tt class="py-op">:</tt><tt class="py-string">"UnsignedByte"</tt><tt class="py-op">,</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                   <tt class="py-string">"uint16"</tt>     <tt class="py-op">:</tt><tt class="py-string">"UnsignedShort"</tt><tt class="py-op">,</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                   <tt class="py-string">"uint32"</tt>     <tt class="py-op">:</tt><tt class="py-string">"UnsignedInteger"</tt><tt class="py-op">,</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                   <tt class="py-string">"uint64"</tt>     <tt class="py-op">:</tt><tt class="py-string">"Unsigned64"</tt><tt class="py-op">,</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                   <tt class="py-string">"float32"</tt>    <tt class="py-op">:</tt><tt class="py-string">"FloatValue"</tt><tt class="py-op">,</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                   <tt class="py-string">"float64"</tt>    <tt class="py-op">:</tt><tt class="py-string">"DoubleValue"</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">             <tt class="py-op">}</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt id="link-13" class="py-name" targets="Variable fabio.cbfimage.MINIMUM_KEYS=fabio.cbfimage-module.html#MINIMUM_KEYS,Variable fabio.edfimage.MINIMUM_KEYS=fabio.edfimage-module.html#MINIMUM_KEYS,Variable fabio.kcdimage.MINIMUM_KEYS=fabio.kcdimage-module.html#MINIMUM_KEYS"><a title="fabio.cbfimage.MINIMUM_KEYS
+fabio.edfimage.MINIMUM_KEYS
+fabio.kcdimage.MINIMUM_KEYS" class="py-name" href="#" onclick="return doclink('link-13', 'MINIMUM_KEYS', 'link-13');">MINIMUM_KEYS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'HEADERID'</tt><tt class="py-op">,</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">                <tt class="py-string">'IMAGE'</tt><tt class="py-op">,</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">                <tt class="py-string">'BYTEORDER'</tt><tt class="py-op">,</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">                <tt class="py-string">'DATATYPE'</tt><tt class="py-op">,</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                <tt class="py-string">'DIM_1'</tt><tt class="py-op">,</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                <tt class="py-string">'DIM_2'</tt><tt class="py-op">,</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                <tt class="py-string">'SIZE'</tt><tt class="py-op">]</tt> <tt class="py-comment"># Size is thought to be essential for writing at least</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt id="link-14" class="py-name" targets="Variable fabio.edfimage.DEFAULT_VALUES=fabio.edfimage-module.html#DEFAULT_VALUES,Variable fabio.kcdimage.DEFAULT_VALUES=fabio.kcdimage-module.html#DEFAULT_VALUES"><a title="fabio.edfimage.DEFAULT_VALUES
+fabio.kcdimage.DEFAULT_VALUES" class="py-name" href="#" onclick="return doclink('link-14', 'DEFAULT_VALUES', 'link-14');">DEFAULT_VALUES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">                  <tt class="py-comment"># I do not define default values as they will be calculated at write time</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">                  <tt class="py-comment"># JK20110415</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                  <tt class="py-op">}</tt> </tt>
+<a name="Frame"></a><div id="Frame-def"><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="Frame-toggle" onclick="return toggle('Frame');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.edfimage.Frame-class.html">Frame</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Frame-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Frame-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">    A class representing a single frame in an EDF file</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="Frame.__init__"></a><div id="Frame.__init__-def"><a name="L88"></a><tt class="py-lineno"> 88</tt> <a class="py-toggle" href="#" id="Frame.__init__-toggle" onclick="return toggle('Frame.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.Frame-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">=</tt><tt clas [...]
+</div><div id="Frame.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Frame.__init__-expanded"><a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-15" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-15', 'header', 'link-15');">he [...]
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-16', 'header', 'link-15');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-17', 'header', 'link-15');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt id="link-18" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" oncli [...]
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-19" class="py-name" targets="Variable fabio.edfimage.edfimage.header_keys=fabio.edfimage.edfimage-class.html#header_keys"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-19', 'header_keys', 'link-19');">header_keys</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-20', 'header_keys', 'link-19');">header_keys</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" [...]
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-22', 'header_keys', 'link-19');">header_keys</a></tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-23', 'he [...]
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-24" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-24', 'key', 'link-24');">key</a></tt> <tt class="py-keyword">in</tt> <tt id="link-25" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="re [...]
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt id="link-26" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-26', 'key', 'link-24');">key</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" o [...]
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                    <tt id="link-28" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-28', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Header key %s, in header_keys is not in header dictionary, poping !!!"</tt> <tt class="py-op">%</tt> <tt id="link-29" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-29', 'key', 'link-24');">key</a></tt><tt class=" [...]
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-30', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="fabio.fabioutils.key" class="py-name"  [...]
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Variable fabio.edfimage.edfimage.capsHeader=fabio.edfimage.edfimage-class.html#capsHeader"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-32', 'capsHeader', 'link-32');">capsHeader</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-33" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-33', 'key', 'link-24');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-34', [...]
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-35', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">[</tt><tt id="link-36" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-36', 'key', 'link-24'); [...]
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt id="link-38" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-38', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Header key %s is not a string"</tt> <tt class="py-op">%</tt> <tt id="link-39" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-39', 'key', 'link-24');">key</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt> <tt class="py-op">=</tt> <tt id="link-40" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-40', 'data', 'link-40');">data</a></tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Variable fabio.edfimage.edfimage.dims=fabio.edfimage.edfimage-class.html#dims"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-41', 'dims', 'link-41');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-42', 'dim1', 'link-42');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-43', 'dim2', 'link-43');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-44', 'bpp', 'link-44');">bpp</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-45', 'bytecode', 'link-45');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">number</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">number</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">)</tt><tt class= [...]
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iFrame</tt> <tt class="py-op">=</tt> <tt class="py-name">number</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iFrame</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
+<a name="Frame.parseheader"></a><div id="Frame.parseheader-def"><a name="L123"></a><tt class="py-lineno">123</tt> <a class="py-toggle" href="#" id="Frame.parseheader-toggle" onclick="return toggle('Frame.parseheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.Frame-class.html#parseheader">parseheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">block</tt><tt class="p [...]
+</div><div id="Frame.parseheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Frame.parseheader-expanded"><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">        Parse the header in some EDF format from an already open file</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">        @param block: string representing the header block</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">        @type block: string, should be full ascii</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">        @return: size of the binary blob</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-comment">#reset values ...</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-46', 'header', 'link-15');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-47', 'capsHeader', 'link-32');">capsHeader</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-48', 'header_keys', 'link-19');">header_keys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">calcsize</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-49', 'dims', 'link-41');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">block</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">';'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">'='</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                <tt id="link-50" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-50', 'key', 'link-24');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt> <tt class="py-op">,</tt> <tt cl [...]
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                <tt id="link-51" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-51', 'key', 'link-24');">key</a></tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-52', 'key', 'link-24');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class=" [...]
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-53', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt id="link-54" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-54', 'key', 'link-24');">key</a></t [...]
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-55', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">[</tt><tt id="link-56" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-56', 'key', 'link-24'); [...]
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-58', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-59" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href [...]
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-comment"># Compute image size</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"SIZE"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-60', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-61', 'header', 'link-15');">header</a></tt><tt class="py-op">[ [...]
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                <tt id="link-63" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-63', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to convert to integer : %s %s "</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doc [...]
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"DIM_1"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-67', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">                <tt id="link-68" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-68', 'dim1', 'link-42');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick [...]
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">                <tt id="link-71" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-71', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to convert to integer Dim_1: %s %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return d [...]
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">                <tt class="py-name">calcsize</tt> <tt class="py-op">*=</tt> <tt id="link-75" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-75', 'dim1', 'link-42');">dim1</a></tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-76', 'dims', 'link-41');">dims</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-77" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick= [...]
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">            <tt id="link-78" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-78', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"No Dim_1 in headers !!!"</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"DIM_2"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-79', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">                <tt id="link-80" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-80', 'dim2', 'link-43');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick [...]
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">                <tt id="link-83" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-83', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to convert to integer Dim_3: %s %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return d [...]
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">                <tt class="py-name">calcsize</tt> <tt class="py-op">*=</tt> <tt id="link-87" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-87', 'dim2', 'link-43');">dim2</a></tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-88', 'dims', 'link-41');">dims</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-89" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick= [...]
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt id="link-90" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-90', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"No Dim_2 in headers !!!"</tt><tt class="py-op">)</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">iDim</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">iDim</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt class="py-name">strDim</tt> <tt class="py-op">=</tt> <tt class="py-string">"DIM_%i"</tt> <tt class="py-op">%</tt> <tt class="py-name">iDim</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">strDim</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-91', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                    <tt class="py-name">dim3</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-92', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-o [...]
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">                    <tt id="link-94" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-94', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to convert to integer %s: %s %s"</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">                                  <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">strDim</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-95', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">[</tt><tt class="py-name"> [...]
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                    <tt class="py-name">dim3</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                    <tt class="py-name">iDim</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                    <tt class="py-name">calcsize</tt> <tt class="py-op">*=</tt> <tt class="py-name">dim3</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-98', 'dims', 'link-41');">dims</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">dim3</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">                    <tt class="py-name">iDim</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                <tt id="link-99" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-99', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"No Dim_3 -> it is a 2D image"</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">                <tt class="py-name">iDim</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-100', 'bytecode', 'link-45');">bytecode</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"DATATYPE"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-101', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-102', 'bytecode', 'link-45');">bytecode</a></tt> <tt class="py-op">=</tt> <tt id="link-103" class="py-name"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-103', 'DATA_TYPES', 'link-11');">DATA_TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-104', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-n [...]
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-106', 'bytecode', 'link-45');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                <tt id="link-107" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-107', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Defaulting type to uint16"</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-108', 'bpp', 'link-44');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-109" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_ser [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-111', 'tostring', 'link-111');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-name">calcsize</tt> <tt class="py-op">*=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-112', 'bpp', 'link-44');">bpp</a></tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">calcsize</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">!=</tt> <tt class="py-name">calcsize</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">"COMPRESSION"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-113', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">)</tt> <tt class="py-key [...]
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">                <tt id="link-116" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-116', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Mismatch between the expected size %s and the calculated one %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt><tt class="py-op">,</tt> <tt class="py-name">calcsize</tt><tt class="p [...]
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">calcsize</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-117" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-117', 'i', 'link-117');">i</a></tt><tt class="py-op">,</tt> <tt class="py-name">n</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-nam [...]
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-string">"dim%i"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-119" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-119', 'i', 'link-117');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt cla [...]
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> </tt>
+</div><a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
+<a name="Frame.swap_needed"></a><div id="Frame.swap_needed-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="Frame.swap_needed-toggle" onclick="return toggle('Frame.swap_needed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.Frame-class.html#swap_needed">swap_needed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Frame.swap_needed-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Frame.swap_needed-expanded"><a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">        Decide if we need to byteswap</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'Low'</tt>  <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-120', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="p [...]
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">           <tt class="py-op">(</tt><tt class="py-string">'High'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-122', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123 [...]
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'High'</tt>  <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-124', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class=" [...]
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">           <tt class="py-op">(</tt><tt class="py-string">'Low'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-126', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" [...]
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-128', 'bpp', 'link-44');">bpp</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</t [...]
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"> </tt>
+<a name="Frame.getData"></a><div id="Frame.getData-def"><a name="L227"></a><tt class="py-lineno">227</tt> <a class="py-toggle" href="#" id="Frame.getData-toggle" onclick="return toggle('Frame.getData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.Frame-class.html#getData">getData</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Frame.getData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Frame.getData-expanded"><a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">        Unpack a binary blob according to the specification given in the header</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">        @return: dataset as numpy.ndarray</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt id="link-129" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-129', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt id="link-130" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-130', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt id="link-131" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-131', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-132', 'bytecode', 'link-45');">bytecode</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">"DATATYPE"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-133', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-134', 'bytecode', 'link-45');">bytecode</a></tt> <tt class="py-op">=</tt> <tt id="link-135" class="py-name"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-135', 'DATA_TYPES', 'link-11');">DATA_TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-136', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-n [...]
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-138', 'bytecode', 'link-45');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">            <tt id="link-139" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-139', 'dims', 'link-41');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-140', 'dims', 'link-41');">dims< [...]
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt id="link-141" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-141', 'dims', 'link-41');">dims</a></tt><tt class="py-op">.</tt><tt class="py-name">reverse</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">"COMPRESSION"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-142', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">)</tt><tt class="py-op"> [...]
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                <tt id="link-143" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-143', 'compression', 'link-6');">compression</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-144', 'header', 'link-15 [...]
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                <tt class="py-name">uncompressed_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-146', 'bpp', 'link-44');">bpp</a></tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt id="link-147" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-147', 'i', 'link-117');">i</a></tt> <tt class="py-keyword">in</tt> <tt id="link-148" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-148', 'dims', 'link-41');">dims</a></tt><tt class="py-op"> [...]
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                    <tt class="py-name">uncompressed_size</tt> <tt class="py-op">*=</tt> <tt id="link-149" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-149', 'i', 'link-117');">i</a></tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-string">"OFFSET"</tt> <tt class="py-keyword">in</tt> <tt id="link-150" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-150', 'compression', 'link-6');">compression</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                        <tt class="py-keyword">import</tt> <tt id="link-151" class="py-name" targets="Module fabio.byte_offset=fabio.byte_offset-module.html"><a title="fabio.byte_offset" class="py-name" href="#" onclick="return doclink('link-151', 'byte_offset', 'link-151');">byte_offset</a></tt><tt class="py-comment">#IGNORE:F0401</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                        <tt id="link-152" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-152', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Unimplemented compression scheme:  %s (%s)"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-153" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-153', 'compression', 'link-6');">compression</a></tt>< [...]
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">                        <tt class="py-name">myData</tt> <tt class="py-op">=</tt> <tt id="link-154" class="py-name"><a title="fabio.byte_offset" class="py-name" href="#" onclick="return doclink('link-154', 'byte_offset', 'link-151');">byte_offset</a></tt><tt class="py-op">.</tt><tt class="py-name">analyseCython</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData< [...]
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                        <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">myData</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-155', 'bytecode', 'link-45');">bytecode</a> [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-156', 'tostring', 'link-111');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">uncompressed_size</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt id="link-157" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-157', 'compression', 'link-6');">compression</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"NONE"</tt><tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">                    <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-string">"GZIP"</tt> <tt class="py-keyword">in</tt> <tt id="link-158" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-158', 'compression', 'link-6');">compression</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">                    <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt id="link-159" class="py-name"><a title="fabio.compression.decGzip" class="py-name" href="#" onclick="return doclink('link-159', 'decGzip', 'link-8');">decGzip</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">uncompressed_size</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-string">"BZ"</tt> <tt class="py-keyword">in</tt> <tt id="link-160" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-160', 'compression', 'link-6');">compression</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">                    <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt id="link-161" class="py-name"><a title="fabio.compression.decBzip2" class="py-name" href="#" onclick="return doclink('link-161', 'decBzip2', 'link-7');">decBzip2</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">uncompressed_size</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-string">"Z"</tt> <tt class="py-keyword">in</tt> <tt id="link-162" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-162', 'compression', 'link-6');">compression</a></tt> <tt class="py-op">:</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">                    <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt id="link-163" class="py-name"><a title="fabio.compression.decZlib" class="py-name" href="#" onclick="return doclink('link-163', 'decZlib', 'link-9');">decZlib</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt><tt class="py-op">)</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">uncompressed_size</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">                    <tt id="link-164" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-164', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Unknown compression scheme %s"</tt> <tt class="py-op">%</tt> <tt id="link-165" class="py-name"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-165', 'compression', 'link-6');">compression</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                    <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">            <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            <tt class="py-name">obtained</tt> <tt class="py-op">=</tt> <tt id="link-166" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-166', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">rawData</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">expected</tt> <tt class="py-op">></tt> <tt class="py-name">obtained</tt><tt class="py-op">:</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">                <tt id="link-167" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-167', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Data stream is incomplete: %s < expected %s bytes"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">obtained</tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">                <tt class="py-name">rawData</tt> <tt class="py-op">+=</tt> <tt class="py-string">"\x00"</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">expected</tt> <tt class="py-op">-</tt> <tt class="py-name">obtained</tt><tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">expected</tt> <tt class="py-op"><</tt> <tt id="link-168" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-168', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">rawData</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">                <tt id="link-169" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-169', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Data stream contains trailing junk : %s > expected %s bytes"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">obtained</tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">                <tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">rawData</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">expected</tt><tt class="py-op">]</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name" targets="Static Method fabio.binaryimage.binaryimage.swap_needed()=fabio.binaryimage.binaryimage-class.html#swap_needed,Method fabio.edfimage.Frame.swap_needed()=fabio.edfimage.Frame-class.html#swap_needed,Method fabio.edfimage.edfimage.swap_needed()=fabio.edfimage.edfimage-class.html#swap_ [...]
+fabio.edfimage.Frame.swap_needed
+fabio.edfimage.edfimage.swap_needed" class="py-name" href="#" onclick="return doclink('link-170', 'swap_needed', 'link-170');">swap_needed</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">                <tt id="link-171" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-171', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">rawData</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return [...]
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">                <tt id="link-174" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-174', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">rawData</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return [...]
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt> <tt class="py-op">=</tt> <tt id="link-177" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-177', 'data', 'link-40');">data</a></tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> <tt class="py-comment">#no need to keep garbage in memory</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-178', 'bytecode', 'link-45');">bytecode</a></tt> <tt class="py-op">=</tt> <tt id="link-179" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-179', 'data', 'link-40');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-180" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-180', 'data', 'link-40');">data</a></tt> </tt>
+</div><a name="Frame.setData"></a><div id="Frame.setData-def"><a name="L295"></a><tt class="py-lineno">295</tt> <a class="py-toggle" href="#" id="Frame.setData-toggle" onclick="return toggle('Frame.setData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.Frame-class.html#setData">setData</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">npa</tt><tt class="py-op">=</tt><tt clas [...]
+</div><div id="Frame.setData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Frame.setData-expanded"><a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt class="py-docstring">"""Setter for data in edf frame"""</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_data</tt> <tt class="py-op">=</tt> <tt class="py-name">npa</tt> </tt>
+</div><a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">    <tt id="link-181" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-181', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-182" class="py-name" targets="Method fabio.TiffIO.TiffIO.getData()=fabio.TiffIO.TiffIO-class.html#getData,Method fabio.edfimage.Frame.getData()=fabio.edfimage.Frame-class.html#getData,Method fabio.edfimage.edfimage.getData()=fabio.edfimage.edfimage-class.html#getData"><a [...]
+fabio.edfimage.Frame.getData
+fabio.edfimage.edfimage.getData" class="py-name" href="#" onclick="return doclink('link-182', 'getData', 'link-182');">getData</a></tt><tt class="py-op">,</tt> <tt id="link-183" class="py-name" targets="Method fabio.OXDimage.Section.setData()=fabio.OXDimage.Section-class.html#setData,Method fabio.edfimage.Frame.setData()=fabio.edfimage.Frame-class.html#setData,Method fabio.edfimage.edfimage.setData()=fabio.edfimage.edfimage-class.html#setData"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-183', 'setData', 'link-183');">setData</a></tt><tt class="py-op">,</tt> <tt class="py-string">"property: (edf)frame.data, uncompress the datablock when needed"</tt><tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line"> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"> </tt>
+<a name="Frame.getEdfBlock"></a><div id="Frame.getEdfBlock-def"><a name="L301"></a><tt class="py-lineno">301</tt> <a class="py-toggle" href="#" id="Frame.getEdfBlock-toggle" onclick="return toggle('Frame.getEdfBlock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.Frame-class.html#getEdfBlock">getEdfBlock</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">force_type</tt><tt cla [...]
+</div><div id="Frame.getEdfBlock-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Frame.getEdfBlock-expanded"><a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line"><tt class="py-docstring">        @param force_type: type of the dataset to be enforced like "float64" or "uint16"</tt> </tt>
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"><tt class="py-docstring">        @type force_type: string or numpy.dtype</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"><tt class="py-docstring">        @param fit2dMode: enforce compatibility with fit2d and starts countimg number of images at 1 </tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-docstring">        @type fit2dMode: boolean</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-docstring">        @return: ascii header block </tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: python string with the concatenation of the ascii header and the binary data block</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">force_type</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">            <tt id="link-184" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-184', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-185', 'data', 'link-40');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">force_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">            <tt id="link-186" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-186', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-187', 'data', 'link-40');">data</a></tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">        <tt class="py-name">fit2dMode</tt> <tt class="py-op">=</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">fit2dMode</tt><tt class="py-op">)</tt> </tt>
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-188" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-188', 'key', 'link-24');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-189',  [...]
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">            <tt class="py-name">KEY</tt> <tt class="py-op">=</tt> <tt id="link-190" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-190', 'key', 'link-24');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">KEY</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-191', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-192', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">[</tt><tt class="py-name">KEY</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-193" class="py-name"><a title="fabio.fabioutils.ke [...]
+<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-194" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-194', 'key', 'link-24');">key</a></tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href= [...]
+<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-196', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-197" class="py-name"><a title="fabio.fabioutils.key" class="py-name" h [...]
+<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line"> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">        <tt id="link-198" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-198', 'header', 'link-15');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-199', 'header', 'link-15');" [...]
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">        <tt id="link-200" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-200', 'header_keys', 'link-19');">header_keys</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-201', 'h [...]
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">        <tt id="link-202" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-202', 'capsHeader', 'link-32');">capsHeader</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-203', 'capsH [...]
+<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
+<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">        <tt class="py-name">listHeader</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"{\n"</tt><tt class="py-op">]</tt> </tt>
+<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line"><tt class="py-comment">#        First of all clean up the headers:</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-204" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-204', 'i', 'link-117');">i</a></tt> <tt class="py-keyword">in</tt> <tt id="link-205" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-205', 'capsHeader', 'link-32');">capsHeader</a></tt><tt clas [...]
+<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"DIM_"</tt> <tt class="py-keyword">in</tt> <tt id="link-206" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-206', 'i', 'link-117');">i</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">                <tt id="link-207" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-207', 'header', 'link-15');">header</a></tt><tt class="py-op">.</tt><tt id="link-208" class="py-name" targets="Method fabio.cbfimage.CIF.pop()=fabio.cbfimage.CIF-class.html#pop"><a title="fabio.cbfimage.CIF.pop" class="py-name" href="#" onclick="return doclink('link-208', ' [...]
+<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">                <tt id="link-211" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-211', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt id="link-212" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-2 [...]
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">KEY</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">"SIZE"</tt><tt class="py-op">,</tt> <tt class="py-string">"EDF_BINARYSIZE"</tt><tt class="py-op">,</tt> <tt class="py-string">"EDF_HEADERSIZE"</tt><tt class="py-op">,</tt> <tt class="py-string">"BYTEORDER"</tt><tt class="py-op">,</tt> <tt class="py-string">"DATATYPE"</tt><tt [...]
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">KEY</tt> <tt class="py-keyword">in</tt> <tt id="link-214" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-214', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">                <tt id="link-215" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-215', 'header', 'link-15');">header</a></tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="fabio.cbfimage.CIF.pop" class="py-name" href="#" onclick="return doclink('link-216', 'pop', 'link-208');">pop</a></tt><tt class="py-op">(</tt><tt id="link-217" cl [...]
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">                <tt id="link-218" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-218', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt id="link-219" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-2 [...]
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">"EDF_DATABLOCKID"</tt> <tt class="py-keyword">in</tt> <tt id="link-220" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-220', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">            <tt id="link-221" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-221', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt id="link-222" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-222', [...]
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">            <tt class="py-comment">#but do not remove the value from dict, instead reset the key ...</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-223" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-223', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">[</tt><tt class="py-string">"EDF_DATABLOCKID"</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-string">"EDF_DataBlockID"</tt><tt class="py-op">:</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">                <tt id="link-224" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-224', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"EDF_DataBlockID"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-225" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="re [...]
+<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">                <tt id="link-228" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-228', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">[</tt><tt class="py-string">"EDF_DATABLOCKID"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"EDF_DataBlockID"</tt> </tt>
+<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line"> </tt>
+<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line"><tt class="py-comment">#            Then update static headers freshly deleted</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt id="link-229" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-229', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"Size"</tt><tt class="py-op">)</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">        <tt id="link-230" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-230', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"Size"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-231" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('li [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-232', 'data', 'link-40');">data</a></tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-233', 'tostring', 'link-111');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">        <tt id="link-234" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-234', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"HeaderID"</tt><tt class="py-op">)</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">        <tt id="link-235" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-235', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"HeaderID"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"EH:%06d:000000:000000"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</t [...]
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <tt id="link-236" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-236', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"Image"</tt><tt class="py-op">)</tt> </tt>
+<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt id="link-237" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-237', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"Image"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-238" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.ht [...]
+str" class="py-name" href="#" onclick="return doclink('link-238', 'str', 'link-238');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iFrame</tt> <tt class="py-op">+</tt> <tt class="py-name">fit2dMode</tt><tt class="py-op">)</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">        <tt id="link-239" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-239', 'dims', 'link-41');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt id="link-240" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-240', 'data', 'link-40');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">)</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">        <tt class="py-name">nbdim</tt> <tt class="py-op">=</tt> <tt id="link-241" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-241', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt id="link-242" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-242', 'dims', 'link-41');">dims [...]
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-243" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-243', 'i', 'link-117');">i</a></tt> <tt class="py-keyword">in</tt> <tt id="link-244" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-244', 'dims', 'link-41');">dims</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">            <tt id="link-245" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-245', 'key', 'link-24');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"Dim_%i"</tt> <tt class="py-op">%</tt> <tt class="py-name">nbdim</tt> </tt>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">            <tt id="link-246" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-246', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt id="link-247" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-247', 'key', 'link-24');">key</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> < [...]
+<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">            <tt id="link-249" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-249', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt id="link-250" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href= [...]
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">            <tt class="py-name">nbdim</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">        <tt id="link-251" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-251', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"DataType"</tt><tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt id="link-252" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-252', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"DataType"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-253" class="py-name"><a title="fabio.edfimage.NUMPY_EDF_DTYPE" class="py-name" href="#" onclick="return doclink('l [...]
+str" class="py-name" href="#" onclick="return doclink('link-254', 'str', 'link-238');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">(</tt><tt id="link-255" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-255', 'data', 'link-40');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">        <tt id="link-256" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-256', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"ByteOrder"</tt><tt class="py-op">)</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">little_endian</tt><tt class="py-op">:</tt> </tt>
+<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">            <tt id="link-257" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-257', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"ByteOrder"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"LowByteFirst"</tt> </tt>
+<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">            <tt id="link-258" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-258', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"ByteOrder"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"HighByteFirst"</tt> </tt>
+<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">        <tt class="py-name">approxHeaderSize</tt> <tt class="py-op">=</tt> <tt class="py-number">100</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-259" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-259', 'key', 'link-24');">key</a></tt> <tt class="py-keyword">in</tt> <tt id="link-260" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-260', 'header', 'link-15');">header</a></tt><tt class="py-o [...]
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">            <tt class="py-name">approxHeaderSize</tt> <tt class="py-op">+=</tt> <tt class="py-number">7</tt> <tt class="py-op">+</tt> <tt id="link-261" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-261', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt id="link-262" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" [...]
+str" class="py-name" href="#" onclick="return doclink('link-264', 'str', 'link-238');">str</a></tt><tt class="py-op">(</tt><tt id="link-265" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-265', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt id="link-266" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-266', 'key', 'link-24');">key</a></tt><tt class=" [...]
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">        <tt class="py-name">approxHeaderSize</tt> <tt class="py-op">=</tt> <tt id="link-267" class="py-name"><a title="fabio.edfimage.BLOCKSIZE" class="py-name" href="#" onclick="return doclink('link-267', 'BLOCKSIZE', 'link-10');">BLOCKSIZE</a></tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">approxHeaderSize</tt> <tt class="py-op">//</tt> <tt id="link-268" class="py-name"><a title="fabio.edf [...]
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">        <tt id="link-269" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-269', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"EDF_HeaderSize"</tt><tt class="py-op">)</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">        <tt id="link-270" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-270', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"EDF_HeaderSize"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-271" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-271', 'str', 'link-238');">str</a></tt><tt class="py-op">(</tt><tt id="link-272" class="py-name"><a title="fabio.edfimage.BLOCKSIZE" class="py-name" href="#" onclick="return doclink('link-272', 'BLOCKSIZE', 'link-10');">BLOCKSIZE</a></tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">approxHeaderSize</tt> <tt class="py-op">//</tt> <tt id="link-273" class="py-name"><a title="fabio.edfimage.BLOCKSIZE" class= [...]
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt id="link-274" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-274', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"EDF_BinarySize"</tt><tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt id="link-275" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-275', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"EDF_BinarySize"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-276" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return d [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-277', 'data', 'link-40');">data</a></tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-278', 'tostring', 'link-111');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt id="link-279" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-279', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"EDF_DataBlockID"</tt><tt class="py-op">)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">"EDF_DataBlockID"</tt> <tt class="py-keyword">in</tt> <tt id="link-280" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-280', 'header', 'link-15');">header</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">            <tt id="link-281" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-281', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"EDF_DataBlockID"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"%i.Image.Psd"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self< [...]
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">        <tt class="py-name">preciseSize</tt> <tt class="py-op">=</tt> <tt class="py-number">4</tt> <tt class="py-comment">#2 before {\n 2 after }\n</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-282" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-282', 'key', 'link-24');">key</a></tt> <tt class="py-keyword">in</tt> <tt id="link-283" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-283', 'header_keys', 'link-19');">header_keys</a></tt> [...]
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">            <tt class="py-comment">#Escape keys or values that are no ascii</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">            <tt class="py-name">strKey</tt> <tt class="py-op">=</tt> <tt id="link-284" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-284', 'str', 'link-238');">str</a></tt><tt class="py-op">(</tt><tt id="link-285" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-285', 'key', 'link-24');">key</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-286" class="py-name"><a title="fabio.cbfimage.CIF.isAscii
+fabio.fabioutils.isAscii" class="py-name" href="#" onclick="return doclink('link-286', 'isAscii', 'link-4');">isAscii</a></tt><tt class="py-op">(</tt><tt class="py-name">strKey</tt><tt class="py-op">,</tt> <tt class="py-name">listExcluded</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">"}"</tt><tt class="py-op">,</tt> <tt class="py-string">"{"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">                <tt id="link-287" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-287', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Non ascii key %s, skipping"</tt> <tt class="py-op">%</tt> <tt class="py-name">strKey</tt><tt class="py-op">)</tt> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">            <tt class="py-name">strValue</tt> <tt class="py-op">=</tt> <tt id="link-288" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-288', 'str', 'link-238');">str</a></tt><tt class="py-op">(</tt><tt id="link-289" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-289', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt id="link-290" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-290', 'key', 'link-24');">key</a></tt><tt class=" [...]
+<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-291" class="py-name"><a title="fabio.cbfimage.CIF.isAscii
+fabio.fabioutils.isAscii" class="py-name" href="#" onclick="return doclink('link-291', 'isAscii', 'link-4');">isAscii</a></tt><tt class="py-op">(</tt><tt class="py-name">strValue</tt><tt class="py-op">,</tt> <tt class="py-name">listExcluded</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">"}"</tt><tt class="py-op">,</tt> <tt class="py-string">"{"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">                <tt id="link-292" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-292', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Non ascii value %s, skipping"</tt> <tt class="py-op">%</tt> <tt class="py-name">strValue</tt><tt class="py-op">)</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">strKey</tt> <tt class="py-op">+</tt> <tt class="py-string">" = "</tt> <tt class="py-op">+</tt> <tt class="py-name">strValue</tt> <tt class="py-op">+</tt> <tt class="py-string">" ;\n"</tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">            <tt class="py-name">preciseSize</tt> <tt class="py-op">+=</tt> <tt id="link-293" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-293', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">            <tt class="py-name">listHeader</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line"><tt class="py-comment">#            print type(line), line</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">preciseSize</tt> <tt class="py-op">></tt> <tt class="py-name">approxHeaderSize</tt><tt class="py-op">:</tt> </tt>
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">            <tt id="link-294" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-294', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"I expected the header block only at %s in fact it is %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">approxHeaderSize</tt><tt class="py-op">,</tt> <tt class="py-name">preciseSize</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt>  <tt class="py-name">idx</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">listHeader</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"EDF_HeaderSize"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">                    <tt class="py-name">headerSize</tt> <tt class="py-op">=</tt> <tt id="link-295" class="py-name"><a title="fabio.edfimage.BLOCKSIZE" class="py-name" href="#" onclick="return doclink('link-295', 'BLOCKSIZE', 'link-10');">BLOCKSIZE</a></tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-name">preciseSize</tt> <tt class="py-op">//</tt> <tt id="link-296" class="py-name"><a title="fabio.ed [...]
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">                    <tt class="py-name">newline</tt> <tt class="py-op">=</tt> <tt class="py-string">"EDF_HeaderSize = %s ;\n"</tt> <tt class="py-op">%</tt> <tt class="py-name">headerSize</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">                    <tt class="py-name">delta</tt> <tt class="py-op">=</tt> <tt id="link-297" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-297', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">newline</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt id="link-298" class="py-name"><a title="fabio.file_series.file [...]
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">preciseSize</tt> <tt class="py-op">//</tt> <tt id="link-299" class="py-name"><a title="fabio.edfimage.BLOCKSIZE" class="py-name" href="#" onclick="return doclink('link-299', 'BLOCKSIZE', 'link-10');">BLOCKSIZE</a></tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class [...]
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">                        <tt class="py-name">headerSize</tt> <tt class="py-op">=</tt> <tt id="link-301" class="py-name"><a title="fabio.edfimage.BLOCKSIZE" class="py-name" href="#" onclick="return doclink('link-301', 'BLOCKSIZE', 'link-10');">BLOCKSIZE</a></tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">preciseSize</tt> <tt class="py-op">+</tt> <tt class="py-name">delta [...]
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">                        <tt class="py-name">newline</tt> <tt class="py-op">=</tt> <tt class="py-string">"EDF_HeaderSize = %s ;\n"</tt> <tt class="py-op">%</tt> <tt class="py-name">headerSize</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">                    <tt class="py-name">preciseSize</tt> <tt class="py-op">=</tt> <tt class="py-name">preciseSize</tt> <tt class="py-op">+</tt> <tt class="py-name">delta</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">                    <tt class="py-name">listHeader</tt><tt class="py-op">[</tt><tt class="py-name">idx</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">newline</tt> </tt>
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">            <tt class="py-name">headerSize</tt> <tt class="py-op">=</tt> <tt class="py-name">approxHeaderSize</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">        <tt class="py-name">listHeader</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">*</tt><tt class="py-op">(</tt><tt class="py-name">headerSize</tt> <tt class="py-op">-</tt> <tt class="py-name">preciseSize</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"}\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">listHeader</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-303" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-303', 'data', 'link-40');">data</a></tt><tt class="py-op">.</tt><tt id="link-304" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-304', 'tostring', 'link-111');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line"> </tt>
+<a name="edfimage"></a><div id="edfimage-def"><a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line"> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line"> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt> <a class="py-toggle" href="#" id="edfimage-toggle" onclick="return toggle('edfimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html">edfimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="edfimage-expanded"><a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">    <tt class="py-docstring">""" Read and try to write the ESRF edf data format """</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.__init__"></a><div id="edfimage.__init__-def"><a name="L414"></a><tt class="py-lineno">414</tt> <a class="py-toggle" href="#" id="edfimage.__init__-toggle" onclick="return toggle('edfimage.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op [...]
+</div><div id="edfimage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.__init__-expanded"><a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">            <tt class="py-name">dim</tt> <tt class="py-op">=</tt> <tt id="link-305" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-305', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt id="link-306" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-306', 'data', 'link-40');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">)</tt> </tt>
+<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> <tt class="py-comment">#IGNORE:W0703</tt> </tt>
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">            <tt id="link-307" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-307', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Data don't look like a numpy array (%s), resetting all!!"</tt> <tt class="py-op">%</tt> <tt class="py-name">error</tt><tt class="py-op">)</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">            <tt id="link-308" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-308', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">            <tt class="py-name">dim</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">            <tt id="link-309" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-309', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-310" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__init__()=fabio.TiffIO.TiffIO-class.html#__init__,Method fabio.adscimage.adscimage.__init__()=fabio.adscimage.adscimage-class.html#__init__,Method fabio.binaryimage.binaryimage._ [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-310', '__init__', 'link-310');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-311" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-311', 'data', 'link-40');">data</a></tt><tt class="py-op">,</tt> <tt id="link-312" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-312', 'header', 'link-15');">header</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">dim</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">            <tt id="link-313" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-313', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-314" class="py-name"><a title="fabio.OXDimage.Section.__init__
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-314', '__init__', 'link-310');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-315" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-315', 'data', 'link-40');">data</a></tt><tt class="py-op">,</tt> <tt id="link-316" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-316', 'header', 'link-15');">header</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">dim</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-op">:</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">            <tt id="link-317" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-317', 'data', 'link-40');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt id="link-318" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-318', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt id="link- [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-319', 'data', 'link-40');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">            <tt id="link-320" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-320', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-321" class="py-name"><a title="fabio.OXDimage.Section.__init__
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-321', '__init__', 'link-310');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-322" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-322', 'data', 'link-40');">data</a></tt><tt class="py-op">,</tt> <tt id="link-323" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-323', 'header', 'link-15');">header</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">dim</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt> <tt class="py-op">:</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">            <tt id="link-324" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-324', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="fabio.OXDimage.Section.__init__
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-325', '__init__', 'link-310');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-326" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-326', 'data', 'link-40');">data</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-327" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-327', 'header', 'link-15');">header</ [...]
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">dim</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt> <tt class="py-op">:</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">            <tt id="link-328" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-328', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-329" class="py-name"><a title="fabio.OXDimage.Section.__init__
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-329', '__init__', 'link-310');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-330" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-330', 'data', 'link-40');">data</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-331" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="retur [...]
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">dim</tt> <tt class="py-op">==</tt> <tt class="py-number">5</tt> <tt class="py-op">:</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">            <tt id="link-332" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-332', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-333" class="py-name"><a title="fabio.OXDimage.Section.__init__
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-333', '__init__', 'link-310');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-334" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-334', 'data', 'link-40');">data</a></tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-335" class="py-name"><a title="fabio.edfimage.edf [...]
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line"> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">frames</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">            <tt class="py-name">frame</tt> <tt class="py-op">=</tt> <tt id="link-336" class="py-name" targets="Class fabio.edfimage.Frame=fabio.edfimage.Frame-class.html"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-336', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt id="link-337" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-337', 'data', 'link-40');">data</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-338" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-338', 'data', 'link-40');">data</a></tt><tt class="py-op">,</tt> <tt id="link-339" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-339', 'header', 'link-15');">header</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name [...]
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">                          <tt id="link-341" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-341', 'header_keys', 'link-19');">header_keys</a></tt><tt class="py-op">=</tt><tt id="link-342" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-342', 'header_keys', 'link-19');">header_keys [...]
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">                          <tt class="py-name">number</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">)</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">frame</tt><tt class="py-op">]</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-name">frames</tt> </tt>
+</div><a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"> </tt>
+<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="edfimage.checkHeader"></a><div id="edfimage.checkHeader-def"><a name="L444"></a><tt class="py-lineno">444</tt> <a class="py-toggle" href="#" id="edfimage.checkHeader-toggle" onclick="return toggle('edfimage.checkHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#checkHeader">checkHeader</a><tt class="py-op">(</tt><tt class="py-param">header</tt><tt class="py-op">=</tt><tt class="py-name">None</t [...]
+</div><div id="edfimage.checkHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.checkHeader-expanded"><a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"><tt class="py-docstring">        Empty for fabioimage but may be populated by others classes</tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt id="link-343" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-343', 'header', 'link-15');">header</a></tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">DictionaryType</tt><tt class= [...]
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">        <tt class="py-name">new</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-344" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-344', 'key', 'link-24');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt id="link-345" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-345' [...]
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">            <tt class="py-name">new</tt><tt class="py-op">[</tt><tt id="link-346" class="py-name"><a title="fabio.fabioutils.toAscii" class="py-name" href="#" onclick="return doclink('link-346', 'toAscii', 'link-5');">toAscii</a></tt><tt class="py-op">(</tt><tt id="link-347" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-347', 'key', 'link-24');">key</a></tt><tt  [...]
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">new</tt> </tt>
+</div><a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line"> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="edfimage._readHeaderBlock"></a><div id="edfimage._readHeaderBlock-def"><a name="L456"></a><tt class="py-lineno">456</tt> <a class="py-toggle" href="#" id="edfimage._readHeaderBlock-toggle" onclick="return toggle('edfimage._readHeaderBlock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#_readHeaderBlock">_readHeaderBlock</a><tt class="py-op">(</tt><tt class="py-param">infile</tt><tt class="py-op">)</ [...]
+</div><div id="edfimage._readHeaderBlock-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage._readHeaderBlock-expanded"><a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line"><tt class="py-docstring">        Read in a header in some EDF format from an already open file</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line"><tt class="py-docstring">        @param infile: file object open in read mode</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line"><tt class="py-docstring">        @return: string (or None if no header was found. </tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line"> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-349" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDi [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-349', 'read', 'link-349');">read</a></tt><tt class="py-op">(</tt><tt id="link-350" class="py-name"><a title="fabio.edfimage.BLOCKSIZE" class="py-name" href="#" onclick="return doclink('link-350', 'BLOCKSIZE', 'link-10');">BLOCKSIZE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-351" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-351', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt id="link-352" class="py-name"><a title="fabio.edfimage.BLOCKSIZE" class="py-name" href="#" onclick [...]
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">            <tt id="link-353" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-353', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Under-short header: only %i bytes in %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-354" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-354', 'len', 'link-109');">len</a></tt><t [...]
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"{"</tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">            <tt class="py-comment"># This does not look like an edf file</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">            <tt id="link-355" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-355', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"no opening {. Corrupt header of EDF file %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-string">'}'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">block</tt><tt class="py-op">:</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">            <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt> <tt class="py-op">+</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-356" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-356', 'read', 'link-349');">read</a></tt><tt class="py-op">(</tt><tt id="link-357" class="py-name"><a title="fabio.edfimage.BLOCKSIZE" class="py-name" href="#" onclick="return doclink('link-357', 'BLOCKSIZE', 'link-10');">BLOCKSIZE</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-358" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-358', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt id="link-359" class="py-name"><a title="fabio.edfimage.BLOCKSIZE" class="py-name" href="#" onc [...]
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">                <tt id="link-360" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-360', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Runaway header in EDF file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">        <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"{"</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">block</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"}"</tt><tt class="py-op">)</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line"> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">        <tt class="py-comment"># Now it is essential to go to the start of the binary part</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">block</tt><tt class="py-op">[</tt><tt class="py-name">end</tt><tt class="py-op">:</tt> <tt class="py-name">end</tt> <tt class="py-op">+</tt> <tt class="py-number">3</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"}\r\n"</tt><tt class="py-op">:</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">            <tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">end</tt> <tt class="py-op">+</tt> <tt class="py-number">3</tt> <tt class="py-op">-</tt> <tt id="link-361" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-361', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op" [...]
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">block</tt><tt class="py-op">[</tt><tt class="py-name">end</tt><tt class="py-op">:</tt> <tt class="py-name">end</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"}\n"</tt><tt class="py-op">:</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">            <tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">end</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt> <tt class="py-op">-</tt> <tt id="link-362" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-362', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op" [...]
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">            <tt id="link-363" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-363', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to locate start of the binary section"</tt><tt class="py-op">)</tt> </tt>
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">            <tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">offset</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">                <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">SEEK_CUR</tt><tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> <tt class="py-comment">#JK20110407 bugfix specific to MacOSX</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">                <tt class="py-name">pos</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">tell</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">                <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">pos</tt> <tt class="py-op">+</tt> <tt class="py-name">offset</tt><tt class="py-op">)</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">block</tt><tt class="py-op">[</tt><tt class="py-name">start</tt><tt class="py-op">:</tt><tt class="py-name">end</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line"> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line"> </tt>
+<a name="edfimage._readheader"></a><div id="edfimage._readheader-def"><a name="L497"></a><tt class="py-lineno">497</tt> <a class="py-toggle" href="#" id="edfimage._readheader-toggle" onclick="return toggle('edfimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">infile< [...]
+</div><div id="edfimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage._readheader-expanded"><a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line"><tt class="py-docstring">        Read all headers in a file and populate self.header</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line"><tt class="py-docstring">        data is not yet populated</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line"><tt class="py-docstring">        @type infile: file object open in read mode</tt> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line"> </tt>
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">        <tt class="py-name">bContinue</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">bContinue</tt><tt class="py-op">:</tt> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">            <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-364" class="py-name" targets="Static Method fabio.edfimage.edfimage._readHeaderBlock()=fabio.edfimage.edfimage-class.html#_readHeaderBlock"><a title="fabio.edfimage.edfimage._readHeaderBlock" class="py-name" href="#" onclick="return doclink('link-364', '_readHeaderBlock', 'link-364');"> [...]
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">block</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">                <tt class="py-name">bContinue</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line">            <tt class="py-name">frame</tt> <tt class="py-op">=</tt> <tt id="link-365" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-365', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-name">number</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-366" class="py-name" targets="Variable fabio [...]
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">frame</tt><tt class="py-op">)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line">            <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">frame</tt><tt class="py-op">.</tt><tt id="link-367" class="py-name" targets="Method fabio.edfimage.Frame.parseheader()=fabio.edfimage.Frame-class.html#parseheader"><a title="fabio.edfimage.Frame.parseheader" class="py-name" href="#" onclick="return doclink('link-367', 'parseheader', 'link-367');">parseheader</a></tt><tt class="py-op [...]
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">            <tt class="py-name">frame</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-368" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-368', 'read', 'link-349');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-369" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-369', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">frame</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">size</tt><tt class="py-o [...]
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">                <tt id="link-370" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-370', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Non complete datablock: got %s, expected %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt id="link-371" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-371', 'len', 'link-109');">len</a>< [...]
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line">                <tt class="py-name">bContinue</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line"> </tt>
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-372" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-372', 'i', 'link-117');">i</a></tt><tt class="py-op">,</tt> <tt class="py-name">frame</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames< [...]
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">            <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt id="link-373" class="py-name"><a title="fabio.cbfimage.MINIMUM_KEYS
+fabio.edfimage.MINIMUM_KEYS
+fabio.kcdimage.MINIMUM_KEYS" class="py-name" href="#" onclick="return doclink('link-373', 'MINIMUM_KEYS', 'link-13');">MINIMUM_KEYS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">frame</tt><tt class="py-op">.</tt><tt id="link-374" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-374', 'capsHeader', 'link-32');">capsHeader</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">                    <tt class="py-name">missing</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-375" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-375', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">missing</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">                <tt id="link-376" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-376', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"EDF file %s frame %i misses mandatory keys: %s "</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt id="link-377" class="py-name"><a title="fabio.fabiout [...]
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line"> </tt>
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line"> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.read"></a><div id="edfimage.read-def"><a name="L531"></a><tt class="py-lineno">531</tt> <a class="py-toggle" href="#" id="edfimage.read-toggle" onclick="return toggle('edfimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py- [...]
+</div><div id="edfimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.read-expanded"><a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line"><tt class="py-docstring">        Read in header into self.header and</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line"><tt class="py-docstring">            the data   into self.data</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-378" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-378', 'resetvals', 'link-378');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line"> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-379" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-379', '_open', 'link-379');">_open</a></tt><tt class="py-op">(</tt><tt  [...]
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-380" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._r [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-380', '_readheader', 'link-380');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">frame</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-381" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-381', 'data', 'link-40');">data</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-382" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-382', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name" targets="Method fabio.edfimage.edfimage.unpack()=fabio.edfimage.edfimage-class.html#unpack,Method fabio.tifimage.Image_File_Directory.unpack()=fabio.tifimage.Image_File_Directory-class.html#unpack,Method fabio.tifimage.Image_File_Directory_entry.unpack() [...]
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-383', 'unpack', 'link-383');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">    <tt class="py-comment">#            self.bytecode = self.data.dtype.type</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">frame</tt> <tt class="py-op"><</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-384" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-384', 'nframes', 'link-366');">nframes</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line">            <tt class="py-name">self</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-385" class="py-name" targets="Method fabio.GEimage.GEimage.getframe()=fabio.GEimage.GEimage-class.html#getframe,Method fabio.edfimage.edfimage.getframe()=fabio.edfimage.edfimage-class.html#getframe,Method fabio.fabioimage.fabioimage.getframe()=fabio.fabioimage.fabioimage-class.html#getfr [...]
+fabio.edfimage.edfimage.getframe
+fabio.fabioimage.fabioimage.getframe" class="py-name" href="#" onclick="return doclink('link-385', 'getframe', 'link-385');">getframe</a></tt><tt class="py-op">(</tt><tt class="py-name">frame</tt><tt class="py-op">)</tt> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">            <tt id="link-386" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-386', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Reading file %s You requested frame %s but only %s frames are available"</tt><tt class="py-op">,</tt> <tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">frame</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt i [...]
+<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-388" class="py-name"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-388', 'resetvals', 'link-378');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">        <tt class="py-comment"># ensure the PIL image is reset</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.swap_needed"></a><div id="edfimage.swap_needed-def"><a name="L554"></a><tt class="py-lineno">554</tt> <a class="py-toggle" href="#" id="edfimage.swap_needed-toggle" onclick="return toggle('edfimage.swap_needed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#swap_needed">swap_needed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.swap_needed-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.swap_needed-expanded"><a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line"><tt class="py-docstring">        Decide if we need to byteswap</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'Low'</tt>  <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-389', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="p [...]
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">           <tt class="py-op">(</tt><tt class="py-string">'High'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-391" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-391', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-392 [...]
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-string">'High'</tt>  <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-393', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class=" [...]
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line">           <tt class="py-op">(</tt><tt class="py-string">'Low'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-395" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-395', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-396" [...]
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-397" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-397', 'bpp', 'link-44');">bpp</a></tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">,</t [...]
+<a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
+</div><a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line"> </tt>
+<a name="L568"></a><tt class="py-lineno">568</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.unpack"></a><div id="edfimage.unpack-def"><a name="L569"></a><tt class="py-lineno">569</tt> <a class="py-toggle" href="#" id="edfimage.unpack-toggle" onclick="return toggle('edfimage.unpack');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#unpack">unpack</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.unpack-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.unpack-expanded"><a name="L570"></a><tt class="py-lineno">570</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L571"></a><tt class="py-lineno">571</tt>  <tt class="py-line"><tt class="py-docstring">        Unpack a binary blob according to the specification given in the header and return the dataset</tt> </tt>
+<a name="L572"></a><tt class="py-lineno">572</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L573"></a><tt class="py-lineno">573</tt>  <tt class="py-line"><tt class="py-docstring">        @return: dataset as numpy.ndarray</tt> </tt>
+<a name="L574"></a><tt class="py-lineno">574</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L575"></a><tt class="py-lineno">575</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="fabio.TiffIO.TiffIO.getData
+fabio.edfimage.Frame.getData
+fabio.edfimage.edfimage.getData" class="py-name" href="#" onclick="return doclink('link-398', 'getData', 'link-182');">getData</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L576"></a><tt class="py-lineno">576</tt>  <tt class="py-line"> </tt>
+<a name="L577"></a><tt class="py-lineno">577</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.getframe"></a><div id="edfimage.getframe-def"><a name="L578"></a><tt class="py-lineno">578</tt> <a class="py-toggle" href="#" id="edfimage.getframe-toggle" onclick="return toggle('edfimage.getframe');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getframe">getframe</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">num</tt><tt class="py-op" [...]
+</div><div id="edfimage.getframe-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getframe-expanded"><a name="L579"></a><tt class="py-lineno">579</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the file numbered 'num' in the series as a fabioimage """</tt> </tt>
+<a name="L580"></a><tt class="py-lineno">580</tt>  <tt class="py-line">        <tt class="py-name">newImage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L581"></a><tt class="py-lineno">581</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-399" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-399', 'nframes', 'link-366');">nframes</a></tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L582"></a><tt class="py-lineno">582</tt>  <tt class="py-line">            <tt id="link-400" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-400', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Single frame EDF; having fabioimage default behavour: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L583"></a><tt class="py-lineno">583</tt>  <tt class="py-line">            <tt class="py-name">newImage</tt> <tt class="py-op">=</tt> <tt id="link-401" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-401', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-402" class="py-name"><a title="fabio.GEimage.GEimage.getframe
+fabio.edfimage.edfimage.getframe
+fabio.fabioimage.fabioimage.getframe" class="py-name" href="#" onclick="return doclink('link-402', 'getframe', 'link-385');">getframe</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno">584</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">num</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-403" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-403', 'nframes', 'link-366');">nframes</a></tt><tt class="py-op">)</tt><tt class [...]
+<a name="L585"></a><tt class="py-lineno">585</tt>  <tt class="py-line">            <tt id="link-404" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-404', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Multi frame EDF; having edfimage specific behavour: %s/%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-405" class="py-name"><a title="fabio.e [...]
+<a name="L586"></a><tt class="py-lineno">586</tt>  <tt class="py-line">            <tt class="py-name">newImage</tt> <tt class="py-op">=</tt> <tt id="link-406" class="py-name" targets="Module fabio.edfimage=fabio.edfimage-module.html,Class fabio.edfimage.edfimage=fabio.edfimage.edfimage-class.html"><a title="fabio.edfimage
+fabio.edfimage.edfimage" class="py-name" href="#" onclick="return doclink('link-406', 'edfimage', 'link-406');">edfimage</a></tt><tt class="py-op">(</tt><tt class="py-name">frames</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">)</tt> </tt>
+<a name="L587"></a><tt class="py-lineno">587</tt>  <tt class="py-line">            <tt class="py-name">newImage</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op">=</tt> <tt class="py-name">num</tt> </tt>
+<a name="L588"></a><tt class="py-lineno">588</tt>  <tt class="py-line">            <tt class="py-name">newImage</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> </tt>
+<a name="L589"></a><tt class="py-lineno">589</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L590"></a><tt class="py-lineno">590</tt>  <tt class="py-line">            <tt class="py-name">txt</tt> <tt class="py-op">=</tt> <tt class="py-string">"Cannot access frame: %s/%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-407" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-407', 'nfram [...]
+<a name="L591"></a><tt class="py-lineno">591</tt>  <tt class="py-line">            <tt id="link-408" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-408', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-name">txt</tt><tt class="py-op">)</tt> </tt>
+<a name="L592"></a><tt class="py-lineno">592</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"edfimage.getframe:"</tt> <tt class="py-op">+</tt> <tt class="py-name">txt</tt><tt class="py-op">)</tt> </tt>
+<a name="L593"></a><tt class="py-lineno">593</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">newImage</tt> </tt>
+</div><a name="L594"></a><tt class="py-lineno">594</tt>  <tt class="py-line"> </tt>
+<a name="L595"></a><tt class="py-lineno">595</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.previous"></a><div id="edfimage.previous-def"><a name="L596"></a><tt class="py-lineno">596</tt> <a class="py-toggle" href="#" id="edfimage.previous-toggle" onclick="return toggle('edfimage.previous');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#previous">previous</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.previous-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.previous-expanded"><a name="L597"></a><tt class="py-lineno">597</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the previous file in the series as a fabioimage """</tt> </tt>
+<a name="L598"></a><tt class="py-lineno">598</tt>  <tt class="py-line">        <tt class="py-name">newImage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L599"></a><tt class="py-lineno">599</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-409', 'nframes', 'link-366');">nframes</a></tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L600"></a><tt class="py-lineno">600</tt>  <tt class="py-line">            <tt class="py-name">newImage</tt> <tt class="py-op">=</tt> <tt id="link-410" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-410', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-411" class="py-name" targets="Method fabio.GEimage.GEimage.previous()=fabio.GEimage.GEimage-class.html#previous,Method fabio.edfimage.edfimage.previous()=fabio.edfimage.edfimage-class.html#previous,Method fabio.fabioimage.fabioimage.previous()=fabio.fabioimage.fabioimage-class.html#previous,Method fabio.file_series.fil [...]
+fabio.edfimage.edfimage.previous
+fabio.fabioimage.fabioimage.previous
+fabio.file_series.file_series.previous
+fabio.file_series.filename_series.previous" class="py-name" href="#" onclick="return doclink('link-411', 'previous', 'link-411');">previous</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L601"></a><tt class="py-lineno">601</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L602"></a><tt class="py-lineno">602</tt>  <tt class="py-line">            <tt class="py-name">newFrameId</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L603"></a><tt class="py-lineno">603</tt>  <tt class="py-line">            <tt class="py-name">newImage</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="fabio.GEimage.GEimage.getframe
+fabio.edfimage.edfimage.getframe
+fabio.fabioimage.fabioimage.getframe" class="py-name" href="#" onclick="return doclink('link-412', 'getframe', 'link-385');">getframe</a></tt><tt class="py-op">(</tt><tt class="py-name">newFrameId</tt><tt class="py-op">)</tt> </tt>
+<a name="L604"></a><tt class="py-lineno">604</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">newImage</tt> </tt>
+</div><a name="L605"></a><tt class="py-lineno">605</tt>  <tt class="py-line"> </tt>
+<a name="L606"></a><tt class="py-lineno">606</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.next"></a><div id="edfimage.next-def"><a name="L607"></a><tt class="py-lineno">607</tt> <a class="py-toggle" href="#" id="edfimage.next-toggle" onclick="return toggle('edfimage.next');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#next">next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.next-expanded"><a name="L608"></a><tt class="py-lineno">608</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the next file in the series as a fabioimage """</tt> </tt>
+<a name="L609"></a><tt class="py-lineno">609</tt>  <tt class="py-line">        <tt class="py-name">newImage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L610"></a><tt class="py-lineno">610</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-413" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-413', 'nframes', 'link-366');">nframes</a></tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L611"></a><tt class="py-lineno">611</tt>  <tt class="py-line">            <tt class="py-name">newImage</tt> <tt class="py-op">=</tt> <tt id="link-414" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-414', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-415" class="py-name" targets="Method fabio.GEimage.GEimage.next()=fabio.GEimage.GEimage-class.html#next,Method fabio.edfimage.edfimage.next()=fabio.edfimage.edfimage-class.html#next,Method fabio.fabioimage.fabioimage.next()=fabio.fabioimage.fabioimage-class.html#next,Method fabio.file_series.file_series.next()=fabio.fi [...]
+fabio.edfimage.edfimage.next
+fabio.fabioimage.fabioimage.next
+fabio.file_series.file_series.next
+fabio.file_series.filename_series.next" class="py-name" href="#" onclick="return doclink('link-415', 'next', 'link-415');">next</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L612"></a><tt class="py-lineno">612</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L613"></a><tt class="py-lineno">613</tt>  <tt class="py-line">            <tt class="py-name">newFrameId</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L614"></a><tt class="py-lineno">614</tt>  <tt class="py-line">            <tt class="py-name">newImage</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-416" class="py-name"><a title="fabio.GEimage.GEimage.getframe
+fabio.edfimage.edfimage.getframe
+fabio.fabioimage.fabioimage.getframe" class="py-name" href="#" onclick="return doclink('link-416', 'getframe', 'link-385');">getframe</a></tt><tt class="py-op">(</tt><tt class="py-name">newFrameId</tt><tt class="py-op">)</tt> </tt>
+<a name="L615"></a><tt class="py-lineno">615</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">newImage</tt> </tt>
+</div><a name="L616"></a><tt class="py-lineno">616</tt>  <tt class="py-line"> </tt>
+<a name="L617"></a><tt class="py-lineno">617</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.write"></a><div id="edfimage.write-def"><a name="L618"></a><tt class="py-lineno">618</tt> <a class="py-toggle" href="#" id="edfimage.write-toggle" onclick="return toggle('edfimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt clas [...]
+</div><div id="edfimage.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.write-expanded"><a name="L619"></a><tt class="py-lineno">619</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L620"></a><tt class="py-lineno">620</tt>  <tt class="py-line"><tt class="py-docstring">        Try to write a file</tt> </tt>
+<a name="L621"></a><tt class="py-lineno">621</tt>  <tt class="py-line"><tt class="py-docstring">        check we can write zipped also</tt> </tt>
+<a name="L622"></a><tt class="py-lineno">622</tt>  <tt class="py-line"><tt class="py-docstring">        mimics that fabian was writing uint16 (we sometimes want floats)</tt> </tt>
+<a name="L623"></a><tt class="py-lineno">623</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
+<a name="L624"></a><tt class="py-lineno">624</tt>  <tt class="py-line"><tt class="py-docstring">        @param force_type: can be numpy.uint16 or simply "float"</tt> </tt>
+<a name="L625"></a><tt class="py-lineno">625</tt>  <tt class="py-line"><tt class="py-docstring">        @return: None</tt> </tt>
+<a name="L626"></a><tt class="py-lineno">626</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
+<a name="L627"></a><tt class="py-lineno">627</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L628"></a><tt class="py-lineno">628</tt>  <tt class="py-line"> </tt>
+<a name="L629"></a><tt class="py-lineno">629</tt>  <tt class="py-line">        <tt class="py-name">outfile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-417" class="py-name"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-417', '_open', 'link-379');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op" [...]
+<a name="L630"></a><tt class="py-lineno">630</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-418" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-418', 'i', 'link-117');">i</a></tt><tt class="py-op">,</tt> <tt class="py-name">frame</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames< [...]
+<a name="L631"></a><tt class="py-lineno">631</tt>  <tt class="py-line">            <tt class="py-name">frame</tt><tt class="py-op">.</tt><tt class="py-name">iFrame</tt> <tt class="py-op">=</tt> <tt id="link-419" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-419', 'i', 'link-117');">i</a></tt> </tt>
+<a name="L632"></a><tt class="py-lineno">632</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-420" class="py-name" targets="Method fabio.GEimage.GEimage.write()=fabio.GEimage.GEimage-class.html#write,Method fabio.OXDimage.OXDimage.write()=fabio.OXDimage.OXDimage-class.html#write,Method fabio.adscimage.adscimage.write()=fabio.adscimage.adscimage-class.html#write,Method fabio.binaryimage.binaryimage.write()=fabio.binaryimage.binaryi [...]
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-420', 'write', 'link-420');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">frame</tt><tt class="py-op">.</tt><tt id="link-421" class="py-name" targets="Method fabio.edfimage.Frame.getEdfBlock()=fabio.edfimage.Frame-class.html#getEdfBlock"><a title="fabio.edfimage.Frame.getEdfBlock" class="py-name" href="#" onclick="return doclink('link-421', 'getEdfBlock', 'link-421');">getEdfBlock</a></tt>< [...]
+<a name="L633"></a><tt class="py-lineno">633</tt>  <tt class="py-line">        <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L634"></a><tt class="py-lineno">634</tt>  <tt class="py-line"> </tt>
+<a name="L635"></a><tt class="py-lineno">635</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.appendFrame"></a><div id="edfimage.appendFrame-def"><a name="L636"></a><tt class="py-lineno">636</tt> <a class="py-toggle" href="#" id="edfimage.appendFrame-toggle" onclick="return toggle('edfimage.appendFrame');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#appendFrame">appendFrame</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frame</ [...]
+</div><div id="edfimage.appendFrame-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.appendFrame-expanded"><a name="L637"></a><tt class="py-lineno">637</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L638"></a><tt class="py-lineno">638</tt>  <tt class="py-line"><tt class="py-docstring">        Method used add a frame to an EDF file</tt> </tt>
+<a name="L639"></a><tt class="py-lineno">639</tt>  <tt class="py-line"><tt class="py-docstring">        @param frame: frame to append to edf image </tt> </tt>
+<a name="L640"></a><tt class="py-lineno">640</tt>  <tt class="py-line"><tt class="py-docstring">        @type frame: instance of Frame</tt> </tt>
+<a name="L641"></a><tt class="py-lineno">641</tt>  <tt class="py-line"><tt class="py-docstring">        @return: None</tt> </tt>
+<a name="L642"></a><tt class="py-lineno">642</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L643"></a><tt class="py-lineno">643</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">frame</tt><tt class="py-op">,</tt> <tt id="link-422" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-422', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L644"></a><tt class="py-lineno">644</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">frame</tt><tt class="py-op">)</tt> </tt>
+<a name="L645"></a><tt class="py-lineno">645</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L646"></a><tt class="py-lineno">646</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-423" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-423', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt id="link-424" class="py-name"><a title="fabio.edfima [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-424', 'data', 'link-40');">data</a></tt><tt class="py-op">,</tt> <tt id="link-425" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-425', 'header', 'link-15');">header</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L647"></a><tt class="py-lineno">647</tt>  <tt class="py-line"> </tt>
+<a name="L648"></a><tt class="py-lineno">648</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.deleteFrame"></a><div id="edfimage.deleteFrame-def"><a name="L649"></a><tt class="py-lineno">649</tt> <a class="py-toggle" href="#" id="edfimage.deleteFrame-toggle" onclick="return toggle('edfimage.deleteFrame');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#deleteFrame">deleteFrame</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">frameNb [...]
+</div><div id="edfimage.deleteFrame-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.deleteFrame-expanded"><a name="L650"></a><tt class="py-lineno">650</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L651"></a><tt class="py-lineno">651</tt>  <tt class="py-line"><tt class="py-docstring">        Method used to remove a frame from an EDF image. by default the last one is removed.</tt> </tt>
+<a name="L652"></a><tt class="py-lineno">652</tt>  <tt class="py-line"><tt class="py-docstring">        @param frameNb: frame number to remove, by  default the last.</tt> </tt>
+<a name="L653"></a><tt class="py-lineno">653</tt>  <tt class="py-line"><tt class="py-docstring">        @type frameNb: integer</tt> </tt>
+<a name="L654"></a><tt class="py-lineno">654</tt>  <tt class="py-line"><tt class="py-docstring">        @return: None</tt> </tt>
+<a name="L655"></a><tt class="py-lineno">655</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L656"></a><tt class="py-lineno">656</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">frameNb</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L657"></a><tt class="py-lineno">657</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt id="link-426" class="py-name"><a title="fabio.cbfimage.CIF.pop" class="py-name" href="#" onclick="return doclink('link-426', 'pop', 'link-208');">pop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L658"></a><tt class="py-lineno">658</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L659"></a><tt class="py-lineno">659</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt id="link-427" class="py-name"><a title="fabio.cbfimage.CIF.pop" class="py-name" href="#" onclick="return doclink('link-427', 'pop', 'link-208');">pop</a></tt><tt class="py-op">(</tt><tt class="py-name">frameNb</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L660"></a><tt class="py-lineno">660</tt>  <tt class="py-line"> </tt>
+<a name="L661"></a><tt class="py-lineno">661</tt>  <tt class="py-line"> </tt>
+<a name="L662"></a><tt class="py-lineno">662</tt>  <tt class="py-line"><tt class="py-comment">################################################################################</tt> </tt>
+<a name="L663"></a><tt class="py-lineno">663</tt>  <tt class="py-line"><tt class="py-comment"># Properties definition for header, data, header_keys and capsHeader </tt> </tt>
+<a name="L664"></a><tt class="py-lineno">664</tt>  <tt class="py-line"><tt class="py-comment">################################################################################</tt> </tt>
+<a name="edfimage.getNbFrames"></a><div id="edfimage.getNbFrames-def"><a name="L665"></a><tt class="py-lineno">665</tt> <a class="py-toggle" href="#" id="edfimage.getNbFrames-toggle" onclick="return toggle('edfimage.getNbFrames');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getNbFrames">getNbFrames</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.getNbFrames-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getNbFrames-expanded"><a name="L666"></a><tt class="py-lineno">666</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L667"></a><tt class="py-lineno">667</tt>  <tt class="py-line"><tt class="py-docstring">        Getter for number of frames</tt> </tt>
+<a name="L668"></a><tt class="py-lineno">668</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L669"></a><tt class="py-lineno">669</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-428" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-428', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">)</tt> </tt>
+</div><a name="edfimage.setNbFrames"></a><div id="edfimage.setNbFrames-def"><a name="L670"></a><tt class="py-lineno">670</tt> <a class="py-toggle" href="#" id="edfimage.setNbFrames-toggle" onclick="return toggle('edfimage.setNbFrames');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#setNbFrames">setNbFrames</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">v [...]
+</div><div id="edfimage.setNbFrames-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.setNbFrames-expanded"><a name="L671"></a><tt class="py-lineno">671</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L672"></a><tt class="py-lineno">672</tt>  <tt class="py-line"><tt class="py-docstring">        Setter for number of frames ... should do nothing. Here just to avoid bugs  </tt> </tt>
+<a name="L673"></a><tt class="py-lineno">673</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L674"></a><tt class="py-lineno">674</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">val</tt> <tt class="py-op">!=</tt> <tt id="link-429" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-429', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">)</tt><tt class="py-op">:< [...]
+<a name="L675"></a><tt class="py-lineno">675</tt>  <tt class="py-line">            <tt id="link-430" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-430', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"trying to set the number of frames "</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L676"></a><tt class="py-lineno">676</tt>  <tt class="py-line">    <tt id="link-431" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-431', 'nframes', 'link-366');">nframes</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-432" class="py-name" targets="Method fabio.edfimage.edfimage.getNbFrames()=fabio.edfimage.edfimage-class.html#getNbFrames"><a title="fab [...]
+<a name="L677"></a><tt class="py-lineno">677</tt>  <tt class="py-line"> </tt>
+<a name="L678"></a><tt class="py-lineno">678</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.getHeader"></a><div id="edfimage.getHeader-def"><a name="L679"></a><tt class="py-lineno">679</tt> <a class="py-toggle" href="#" id="edfimage.getHeader-toggle" onclick="return toggle('edfimage.getHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getHeader">getHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.getHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getHeader-expanded"><a name="L680"></a><tt class="py-lineno">680</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L681"></a><tt class="py-lineno">681</tt>  <tt class="py-line"><tt class="py-docstring">        Getter for the headers. used by the property header,</tt> </tt>
+<a name="L682"></a><tt class="py-lineno">682</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L683"></a><tt class="py-lineno">683</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-434" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link [...]
+</div><a name="edfimage.setHeader"></a><div id="edfimage.setHeader-def"><a name="L684"></a><tt class="py-lineno">684</tt> <a class="py-toggle" href="#" id="edfimage.setHeader-toggle" onclick="return toggle('edfimage.setHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#setHeader">setHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_dictHeader</ [...]
+</div><div id="edfimage.setHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.setHeader-expanded"><a name="L685"></a><tt class="py-lineno">685</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L686"></a><tt class="py-lineno">686</tt>  <tt class="py-line"><tt class="py-docstring">        Enforces the propagation of the header to the list of frames</tt> </tt>
+<a name="L687"></a><tt class="py-lineno">687</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L688"></a><tt class="py-lineno">688</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L689"></a><tt class="py-lineno">689</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-435', 'header', 'link-15');">h [...]
+<a name="L690"></a><tt class="py-lineno">690</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L691"></a><tt class="py-lineno">691</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-436" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-436', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt id="link-437" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py [...]
+<a name="L692"></a><tt class="py-lineno">692</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L693"></a><tt class="py-lineno">693</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op"><</tt> <tt id="link-438" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-438', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class [...]
+<a name="L694"></a><tt class="py-lineno">694</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-439" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-439', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt id="link-440" class="py-name"><a title="fabio.ed [...]
+</div><a name="edfimage.delHeader"></a><div id="edfimage.delHeader-def"><a name="L695"></a><tt class="py-lineno">695</tt> <a class="py-toggle" href="#" id="edfimage.delHeader-toggle" onclick="return toggle('edfimage.delHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#delHeader">delHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.delHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.delHeader-expanded"><a name="L696"></a><tt class="py-lineno">696</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L697"></a><tt class="py-lineno">697</tt>  <tt class="py-line"><tt class="py-docstring">        Deleter for edf header</tt> </tt>
+<a name="L698"></a><tt class="py-lineno">698</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L699"></a><tt class="py-lineno">699</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-441" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-441', 'header', 'link-15');">heade [...]
+</div><a name="L700"></a><tt class="py-lineno">700</tt>  <tt class="py-line">    <tt id="link-442" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-442', 'header', 'link-15');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-443" class="py-name" targets="Method fabio.edfimage.edfimage.getHeader()=fabio.edfimage.edfimage-class.html#getHeader"><a title="fabio.edfim [...]
+<a name="L701"></a><tt class="py-lineno">701</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.getHeaderKeys"></a><div id="edfimage.getHeaderKeys-def"><a name="L702"></a><tt class="py-lineno">702</tt> <a class="py-toggle" href="#" id="edfimage.getHeaderKeys-toggle" onclick="return toggle('edfimage.getHeaderKeys');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getHeaderKeys">getHeaderKeys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op" [...]
+</div><div id="edfimage.getHeaderKeys-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getHeaderKeys-expanded"><a name="L703"></a><tt class="py-lineno">703</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L704"></a><tt class="py-lineno">704</tt>  <tt class="py-line"><tt class="py-docstring">        Getter for edf header_keys</tt> </tt>
+<a name="L705"></a><tt class="py-lineno">705</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L706"></a><tt class="py-lineno">706</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-446" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink( [...]
+</div><a name="edfimage.setHeaderKeys"></a><div id="edfimage.setHeaderKeys-def"><a name="L707"></a><tt class="py-lineno">707</tt> <a class="py-toggle" href="#" id="edfimage.setHeaderKeys-toggle" onclick="return toggle('edfimage.setHeaderKeys');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#setHeaderKeys">setHeaderKeys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class= [...]
+</div><div id="edfimage.setHeaderKeys-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.setHeaderKeys-expanded"><a name="L708"></a><tt class="py-lineno">708</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L709"></a><tt class="py-lineno">709</tt>  <tt class="py-line"><tt class="py-docstring">        Enforces the propagation of the header_keys to the list of frames</tt> </tt>
+<a name="L710"></a><tt class="py-lineno">710</tt>  <tt class="py-line"><tt class="py-docstring">        @param _listtHeader: list of the (ordered) keys in the header</tt> </tt>
+<a name="L711"></a><tt class="py-lineno">711</tt>  <tt class="py-line"><tt class="py-docstring">        @type _listtHeader: python list</tt> </tt>
+<a name="L712"></a><tt class="py-lineno">712</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L713"></a><tt class="py-lineno">713</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L714"></a><tt class="py-lineno">714</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-447" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-447', 'header_keys', 'lin [...]
+<a name="L715"></a><tt class="py-lineno">715</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L716"></a><tt class="py-lineno">716</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-448" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-448', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt id="link-449" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" clas [...]
+<a name="L717"></a><tt class="py-lineno">717</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L718"></a><tt class="py-lineno">718</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op"><</tt> <tt id="link-450" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-450', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class [...]
+<a name="L719"></a><tt class="py-lineno">719</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-451" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-451', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt id="link-452" class="py-name"><a title="fabio.ed [...]
+</div><a name="edfimage.delHeaderKeys"></a><div id="edfimage.delHeaderKeys-def"><a name="L720"></a><tt class="py-lineno">720</tt> <a class="py-toggle" href="#" id="edfimage.delHeaderKeys-toggle" onclick="return toggle('edfimage.delHeaderKeys');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#delHeaderKeys">delHeaderKeys</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class=" [...]
+</div><div id="edfimage.delHeaderKeys-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.delHeaderKeys-expanded"><a name="L721"></a><tt class="py-lineno">721</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L722"></a><tt class="py-lineno">722</tt>  <tt class="py-line"><tt class="py-docstring">        Deleter for edf header_keys</tt> </tt>
+<a name="L723"></a><tt class="py-lineno">723</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L724"></a><tt class="py-lineno">724</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-453" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-453', 'header_keys', 'link-19 [...]
+</div><a name="L725"></a><tt class="py-lineno">725</tt>  <tt class="py-line">    <tt id="link-454" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-454', 'header_keys', 'link-19');">header_keys</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-455" class="py-name" targets="Method fabio.edfimage.edfimage.getHeaderKeys()=fabio.edfimage.edfimage-class.html#getHeaderKeys [...]
+<a name="L726"></a><tt class="py-lineno">726</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.getData"></a><div id="edfimage.getData-def"><a name="L727"></a><tt class="py-lineno">727</tt> <a class="py-toggle" href="#" id="edfimage.getData-toggle" onclick="return toggle('edfimage.getData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getData">getData</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.getData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getData-expanded"><a name="L728"></a><tt class="py-lineno">728</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L729"></a><tt class="py-lineno">729</tt>  <tt class="py-line"><tt class="py-docstring">        getter for edf Data</tt> </tt>
+<a name="L730"></a><tt class="py-lineno">730</tt>  <tt class="py-line"><tt class="py-docstring">        @return: data for current frame  </tt> </tt>
+<a name="L731"></a><tt class="py-lineno">731</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: numpy.ndarray</tt> </tt>
+<a name="L732"></a><tt class="py-lineno">732</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L733"></a><tt class="py-lineno">733</tt>  <tt class="py-line">        <tt class="py-name">npaData</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L734"></a><tt class="py-lineno">734</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L735"></a><tt class="py-lineno">735</tt>  <tt class="py-line">            <tt class="py-name">npaData</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-458" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-458', 'data', 'link-40');">data</a></tt> </tt>
+<a name="L736"></a><tt class="py-lineno">736</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L737"></a><tt class="py-lineno">737</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-459" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-459', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L738"></a><tt class="py-lineno">738</tt>  <tt class="py-line">            <tt class="py-name">npaData</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-460" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-460', 'data', 'link-40');">data</a></tt> </tt>
+<a name="L739"></a><tt class="py-lineno">739</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L740"></a><tt class="py-lineno">740</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op"><</tt> <tt id="link-461" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-461', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class [...]
+<a name="L741"></a><tt class="py-lineno">741</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-462" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-462', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L742"></a><tt class="py-lineno">742</tt>  <tt class="py-line">                <tt class="py-name">npaData</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-463', 'data', 'link-40');">data</a></tt> </tt>
+<a name="L743"></a><tt class="py-lineno">743</tt>  <tt class="py-line"><tt class="py-comment">#        logger.warning("Data of %s, currentframe=%s  is type %s" % (id(self), self.currentframe, type(npaData)))</tt> </tt>
+<a name="L744"></a><tt class="py-lineno">744</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">npaData</tt> </tt>
+</div><a name="L745"></a><tt class="py-lineno">745</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.setData"></a><div id="edfimage.setData-def"><a name="L746"></a><tt class="py-lineno">746</tt> <a class="py-toggle" href="#" id="edfimage.setData-toggle" onclick="return toggle('edfimage.setData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#setData">setData</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_data</tt><tt class="py-op">)</ [...]
+</div><div id="edfimage.setData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.setData-expanded"><a name="L747"></a><tt class="py-lineno">747</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L748"></a><tt class="py-lineno">748</tt>  <tt class="py-line"><tt class="py-docstring">        Enforces the propagation of the data to the list of frames</tt> </tt>
+<a name="L749"></a><tt class="py-lineno">749</tt>  <tt class="py-line"><tt class="py-docstring">        @param _data: numpy array representing data </tt> </tt>
+<a name="L750"></a><tt class="py-lineno">750</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L751"></a><tt class="py-lineno">751</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L752"></a><tt class="py-lineno">752</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-464" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-464', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">_data</tt> </tt>
+<a name="L753"></a><tt class="py-lineno">753</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L754"></a><tt class="py-lineno">754</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-465" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-465', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt id="link-466" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-466', 'data', 'link-40');">data</a></tt><tt class="py-op">=</tt><tt class="py-name">_data</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L755"></a><tt class="py-lineno">755</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L756"></a><tt class="py-lineno">756</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op"><</tt> <tt id="link-467" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-467', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class [...]
+<a name="L757"></a><tt class="py-lineno">757</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-468" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-468', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt id="link-469" class="py-name"><a title="fabio.ed [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-469', 'data', 'link-40');">data</a></tt><tt class="py-op">=</tt><tt class="py-name">_data</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="edfimage.delData"></a><div id="edfimage.delData-def"><a name="L758"></a><tt class="py-lineno">758</tt> <a class="py-toggle" href="#" id="edfimage.delData-toggle" onclick="return toggle('edfimage.delData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#delData">delData</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.delData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.delData-expanded"><a name="L759"></a><tt class="py-lineno">759</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L760"></a><tt class="py-lineno">760</tt>  <tt class="py-line"><tt class="py-docstring">        deleter for edf Data</tt> </tt>
+<a name="L761"></a><tt class="py-lineno">761</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L762"></a><tt class="py-lineno">762</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-470" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-470', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L763"></a><tt class="py-lineno">763</tt>  <tt class="py-line">    <tt id="link-471" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-471', 'data', 'link-40');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-472" class="py-name"><a title="fabio.TiffIO.TiffIO.getData
+fabio.edfimage.Frame.getData
+fabio.edfimage.edfimage.getData" class="py-name" href="#" onclick="return doclink('link-472', 'getData', 'link-182');">getData</a></tt><tt class="py-op">,</tt> <tt id="link-473" class="py-name"><a title="fabio.OXDimage.Section.setData
+fabio.edfimage.Frame.setData
+fabio.edfimage.edfimage.setData" class="py-name" href="#" onclick="return doclink('link-473', 'setData', 'link-183');">setData</a></tt><tt class="py-op">,</tt> <tt id="link-474" class="py-name" targets="Method fabio.edfimage.edfimage.delData()=fabio.edfimage.edfimage-class.html#delData"><a title="fabio.edfimage.edfimage.delData" class="py-name" href="#" onclick="return doclink('link-474', 'delData', 'link-474');">delData</a></tt><tt class="py-op">,</tt> <tt class="py-string">"property: d [...]
+<a name="L764"></a><tt class="py-lineno">764</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.getCapsHeader"></a><div id="edfimage.getCapsHeader-def"><a name="L765"></a><tt class="py-lineno">765</tt> <a class="py-toggle" href="#" id="edfimage.getCapsHeader-toggle" onclick="return toggle('edfimage.getCapsHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getCapsHeader">getCapsHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op" [...]
+</div><div id="edfimage.getCapsHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getCapsHeader-expanded"><a name="L766"></a><tt class="py-lineno">766</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L767"></a><tt class="py-lineno">767</tt>  <tt class="py-line"><tt class="py-docstring">        getter for edf headers keys in upper case </tt> </tt>
+<a name="L768"></a><tt class="py-lineno">768</tt>  <tt class="py-line"><tt class="py-docstring">        @return: data for current frame  </tt> </tt>
+<a name="L769"></a><tt class="py-lineno">769</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype: dict</tt> </tt>
+<a name="L770"></a><tt class="py-lineno">770</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L771"></a><tt class="py-lineno">771</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-475" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink(' [...]
+</div><a name="edfimage.setCapsHeader"></a><div id="edfimage.setCapsHeader-def"><a name="L772"></a><tt class="py-lineno">772</tt> <a class="py-toggle" href="#" id="edfimage.setCapsHeader-toggle" onclick="return toggle('edfimage.setCapsHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#setCapsHeader">setCapsHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class= [...]
+</div><div id="edfimage.setCapsHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.setCapsHeader-expanded"><a name="L773"></a><tt class="py-lineno">773</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L774"></a><tt class="py-lineno">774</tt>  <tt class="py-line"><tt class="py-docstring">        Enforces the propagation of the header_keys to the list of frames</tt> </tt>
+<a name="L775"></a><tt class="py-lineno">775</tt>  <tt class="py-line"><tt class="py-docstring">        @param _data: numpy array representing data </tt> </tt>
+<a name="L776"></a><tt class="py-lineno">776</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L777"></a><tt class="py-lineno">777</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-476" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-476', 'capsHeader', 'link-32') [...]
+</div><a name="edfimage.delCapsHeader"></a><div id="edfimage.delCapsHeader-def"><a name="L778"></a><tt class="py-lineno">778</tt> <a class="py-toggle" href="#" id="edfimage.delCapsHeader-toggle" onclick="return toggle('edfimage.delCapsHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#delCapsHeader">delCapsHeader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class=" [...]
+</div><div id="edfimage.delCapsHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.delCapsHeader-expanded"><a name="L779"></a><tt class="py-lineno">779</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L780"></a><tt class="py-lineno">780</tt>  <tt class="py-line"><tt class="py-docstring">        deleter for edf capsHeader</tt> </tt>
+<a name="L781"></a><tt class="py-lineno">781</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L782"></a><tt class="py-lineno">782</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-477" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-477', 'capsHeader', 'link-32') [...]
+</div><a name="L783"></a><tt class="py-lineno">783</tt>  <tt class="py-line">    <tt id="link-478" class="py-name"><a title="fabio.edfimage.edfimage.capsHeader" class="py-name" href="#" onclick="return doclink('link-478', 'capsHeader', 'link-32');">capsHeader</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-479" class="py-name" targets="Method fabio.edfimage.edfimage.getCapsHeader()=fabio.edfimage.edfimage-class.html#getCapsHeader">< [...]
+<a name="L784"></a><tt class="py-lineno">784</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.getDim1"></a><div id="edfimage.getDim1-def"><a name="L785"></a><tt class="py-lineno">785</tt> <a class="py-toggle" href="#" id="edfimage.getDim1-toggle" onclick="return toggle('edfimage.getDim1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getDim1">getDim1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.getDim1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getDim1-expanded"><a name="L786"></a><tt class="py-lineno">786</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">. [...]
+</div><a name="edfimage.setDim1"></a><div id="edfimage.setDim1-def"><a name="L787"></a><tt class="py-lineno">787</tt> <a class="py-toggle" href="#" id="edfimage.setDim1-toggle" onclick="return toggle('edfimage.setDim1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#setDim1">setDim1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_iVal</tt><tt class="py-o [...]
+</div><div id="edfimage.setDim1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.setDim1-expanded"><a name="L788"></a><tt class="py-lineno">788</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L789"></a><tt class="py-lineno">789</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-483" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-483', 'dim1', 'link-42');">dim1< [...]
+<a name="L790"></a><tt class="py-lineno">790</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L791"></a><tt class="py-lineno">791</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-484" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-484', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L792"></a><tt class="py-lineno">792</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L793"></a><tt class="py-lineno">793</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op"><</tt> <tt id="link-485" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-485', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class [...]
+<a name="L794"></a><tt class="py-lineno">794</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-486" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-486', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L795"></a><tt class="py-lineno">795</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-487" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-487', 'dim1', 'link-42');">d [...]
+</div><a name="L796"></a><tt class="py-lineno">796</tt>  <tt class="py-line">    <tt id="link-488" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-488', 'dim1', 'link-42');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-489" class="py-name" targets="Method fabio.edfimage.edfimage.getDim1()=fabio.edfimage.edfimage-class.html#getDim1"><a title="fabio.edfimage.edfima [...]
+<a name="edfimage.getDim2"></a><div id="edfimage.getDim2-def"><a name="L797"></a><tt class="py-lineno">797</tt> <a class="py-toggle" href="#" id="edfimage.getDim2-toggle" onclick="return toggle('edfimage.getDim2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getDim2">getDim2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.getDim2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getDim2-expanded"><a name="L798"></a><tt class="py-lineno">798</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">. [...]
+</div><a name="edfimage.setDim2"></a><div id="edfimage.setDim2-def"><a name="L799"></a><tt class="py-lineno">799</tt> <a class="py-toggle" href="#" id="edfimage.setDim2-toggle" onclick="return toggle('edfimage.setDim2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#setDim2">setDim2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_iVal</tt><tt class="py-o [...]
+</div><div id="edfimage.setDim2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.setDim2-expanded"><a name="L800"></a><tt class="py-lineno">800</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L801"></a><tt class="py-lineno">801</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-492" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-492', 'dim2', 'link-43');">dim2< [...]
+<a name="L802"></a><tt class="py-lineno">802</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L803"></a><tt class="py-lineno">803</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-493" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-493', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L804"></a><tt class="py-lineno">804</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L805"></a><tt class="py-lineno">805</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op"><</tt> <tt id="link-494" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-494', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class [...]
+<a name="L806"></a><tt class="py-lineno">806</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-495" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-495', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L807"></a><tt class="py-lineno">807</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-496" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-496', 'dim2', 'link-43');">d [...]
+</div><a name="L808"></a><tt class="py-lineno">808</tt>  <tt class="py-line">    <tt id="link-497" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-497', 'dim2', 'link-43');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-498" class="py-name" targets="Method fabio.edfimage.edfimage.getDim2()=fabio.edfimage.edfimage-class.html#getDim2"><a title="fabio.edfimage.edfima [...]
+<a name="L809"></a><tt class="py-lineno">809</tt>  <tt class="py-line"> </tt>
+<a name="edfimage.getDims"></a><div id="edfimage.getDims-def"><a name="L810"></a><tt class="py-lineno">810</tt> <a class="py-toggle" href="#" id="edfimage.getDims-toggle" onclick="return toggle('edfimage.getDims');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getDims">getDims</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.getDims-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getDims-expanded"><a name="L811"></a><tt class="py-lineno">811</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">. [...]
+</div><a name="L812"></a><tt class="py-lineno">812</tt>  <tt class="py-line">    <tt id="link-501" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-501', 'dims', 'link-41');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-502" class="py-name" targets="Method fabio.edfimage.edfimage.getDims()=fabio.edfimage.edfimage-class.html#getDims"><a title="fabio.edfimage.edfima [...]
+<a name="edfimage.getByteCode"></a><div id="edfimage.getByteCode-def"><a name="L813"></a><tt class="py-lineno">813</tt> <a class="py-toggle" href="#" id="edfimage.getByteCode-toggle" onclick="return toggle('edfimage.getByteCode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getByteCode">getByteCode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.getByteCode-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getByteCode-expanded"><a name="L814"></a><tt class="py-lineno">814</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class=" [...]
+</div><a name="edfimage.setByteCode"></a><div id="edfimage.setByteCode-def"><a name="L815"></a><tt class="py-lineno">815</tt> <a class="py-toggle" href="#" id="edfimage.setByteCode-toggle" onclick="return toggle('edfimage.setByteCode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#setByteCode">setByteCode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_ [...]
+</div><div id="edfimage.setByteCode-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.setByteCode-expanded"><a name="L816"></a><tt class="py-lineno">816</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L817"></a><tt class="py-lineno">817</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-504" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-504', 'bytecode', 'link-45') [...]
+<a name="L818"></a><tt class="py-lineno">818</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L819"></a><tt class="py-lineno">819</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-505" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-505', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L820"></a><tt class="py-lineno">820</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L821"></a><tt class="py-lineno">821</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op"><</tt> <tt id="link-506" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-506', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class [...]
+<a name="L822"></a><tt class="py-lineno">822</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-507" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-507', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L823"></a><tt class="py-lineno">823</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-508" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-508', 'bytecode', 'link- [...]
+</div><a name="L824"></a><tt class="py-lineno">824</tt>  <tt class="py-line"> </tt>
+<a name="L825"></a><tt class="py-lineno">825</tt>  <tt class="py-line">    <tt id="link-509" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-509', 'bytecode', 'link-45');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-510" class="py-name" targets="Method fabio.edfimage.edfimage.getByteCode()=fabio.edfimage.edfimage-class.html#getByteCode"><a title="fabio.e [...]
+<a name="edfimage.getBpp"></a><div id="edfimage.getBpp-def"><a name="L826"></a><tt class="py-lineno">826</tt> <a class="py-toggle" href="#" id="edfimage.getBpp-toggle" onclick="return toggle('edfimage.getBpp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#getBpp">getBpp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="edfimage.getBpp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.getBpp-expanded"><a name="L827"></a><tt class="py-lineno">827</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</ [...]
+</div><a name="edfimage.setBpp"></a><div id="edfimage.setBpp-def"><a name="L828"></a><tt class="py-lineno">828</tt> <a class="py-toggle" href="#" id="edfimage.setBpp-toggle" onclick="return toggle('edfimage.setBpp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.edfimage.edfimage-class.html#setBpp">setBpp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">_iVal</tt><tt class="py-op">)</ [...]
+</div><div id="edfimage.setBpp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="edfimage.setBpp-expanded"><a name="L829"></a><tt class="py-lineno">829</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L830"></a><tt class="py-lineno">830</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-513" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-513', 'bpp', 'link-44');">bpp</a> [...]
+<a name="L831"></a><tt class="py-lineno">831</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L832"></a><tt class="py-lineno">832</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-514" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-514', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L833"></a><tt class="py-lineno">833</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L834"></a><tt class="py-lineno">834</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op"><</tt> <tt id="link-515" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-515', 'len', 'link-109');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class [...]
+<a name="L835"></a><tt class="py-lineno">835</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-516" class="py-name"><a title="fabio.edfimage.Frame" class="py-name" href="#" onclick="return doclink('link-516', 'Frame', 'link-336');">Frame</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L836"></a><tt class="py-lineno">836</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__frames</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-517" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-517', 'bpp', 'link-44');">bpp [...]
+</div><a name="L837"></a><tt class="py-lineno">837</tt>  <tt class="py-line">    <tt id="link-518" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-518', 'bpp', 'link-44');">bpp</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-519" class="py-name" targets="Method fabio.edfimage.edfimage.getBpp()=fabio.edfimage.edfimage-class.html#getBpp"><a title="fabio.edfimage.edfimage.ge [...]
+</div><a name="L838"></a><tt class="py-lineno">838</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:29 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.edfimage.Frame-class.html b/doc/html/fabio.edfimage.Frame-class.html
new file mode 100644
index 0000000..43e9d13
--- /dev/null
+++ b/doc/html/fabio.edfimage.Frame-class.html
@@ -0,0 +1,471 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.edfimage.Frame</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.edfimage-module.html">Module edfimage</a> ::
+        Class Frame
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.edfimage.Frame-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Frame</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame">source code</a></span></p>
+<pre class="base-tree">
+object --+
+         |
+        <strong class="uidshort">Frame</strong>
+</pre>
+
+<hr />
+<p>A class representing a single frame in an EDF file</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.Frame-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">header</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">header_keys</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">number</span>=<span class="summary-sig-default">None</span>)</span><br />
+      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.Frame-class.html#parseheader" class="summary-sig-name">parseheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">block</span>)</span><br />
+      Parse the header in some EDF format from an already open file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame.parseheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="swap_needed"></a><span class="summary-sig-name">swap_needed</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Decide if we need to byteswap</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame.swap_needed">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.Frame-class.html#getData" class="summary-sig-name">getData</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Unpack a binary blob according to the specification given in the 
+      header</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame.getData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setData"></a><span class="summary-sig-name">setData</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">npa</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Setter for data in edf frame</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame.setData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">python string with the concatenation of the ascii header and the 
+      binary data block</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.Frame-class.html#getEdfBlock" class="summary-sig-name">getEdfBlock</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">force_type</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">fit2dMode</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Returns:
+      ascii header block</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame.getEdfBlock">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.Frame-class.html#data" class="summary-name">data</a><br />
+      Unpack a binary blob according to the specification given in the 
+      header
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">data</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">header</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">header_keys</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">number</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
+  signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="parseheader"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">parseheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">block</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame.parseheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Parse the header in some EDF format from an already open file</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>block</code></strong> (string, should be full ascii) - string representing the header block</li>
+    </ul></dd>
+    <dt>Returns:</dt>
+        <dd>size of the binary blob</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getData"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getData</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame.getData">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Unpack a binary blob according to the specification given in the 
+  header</p>
+  <dl class="fields">
+    <dt>Returns:</dt>
+        <dd>dataset as numpy.ndarray</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getEdfBlock"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getEdfBlock</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">force_type</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">fit2dMode</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#Frame.getEdfBlock">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>force_type</code></strong> (string or numpy.dtype) - type of the dataset to be enforced like "float64" or 
+          "uint16"</li>
+        <li><strong class="pname"><code>fit2dMode</code></strong> (boolean) - enforce compatibility with fit2d and starts countimg number of 
+          images at 1</li>
+    </ul></dd>
+    <dt>Returns: python string with the concatenation of the ascii header and the 
+      binary data block</dt>
+        <dd>ascii header block</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== PROPERTY DETAILS ==================== -->
+<a name="section-PropertyDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Property Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-PropertyDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="data"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">data</h3>
+  <p>Unpack a binary blob according to the specification given in the 
+  header</p>
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.Frame-class.html#getData" class="summary-sig-name">getData</a>(<span class="summary-sig-arg">self</span>)</span>
+        - Unpack a binary blob according to the specification given in the 
+      header
+    </dd>
+    <dt>Set Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.Frame-class.html#setData" class="summary-sig-name">setData</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">npa</span>=<span class="summary-sig-default">None</span>)</span>
+        - Setter for data in edf frame
+    </dd>
+    <dt>Delete Method:</dt>
+    <dd class="value"><table><tr><td><pre class="variable">
+<code class="variable-quote">'</code><code class="variable-string">property: (edf)frame.data, uncompress the datablock when needed</code><code class="variable-quote">'</code>
+</pre></td></tr></table>
+
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.edfimage.edfimage-class.html b/doc/html/fabio.edfimage.edfimage-class.html
new file mode 100644
index 0000000..9fa0dbd
--- /dev/null
+++ b/doc/html/fabio.edfimage.edfimage-class.html
@@ -0,0 +1,1671 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.edfimage.edfimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.edfimage-module.html">Module edfimage</a> ::
+        Class edfimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.edfimage.edfimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class edfimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">edfimage</strong>
+</pre>
+
+<hr />
+<p>Read and try to write the ESRF edf data format</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">header</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">header_keys</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">frames</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Set up initial values</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Read all headers in a file and populate self.header data is not yet 
+      populated</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in header into self.header and...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="swap_needed"></a><span class="summary-sig-name">swap_needed</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Decide if we need to byteswap</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.swap_needed">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#unpack" class="summary-sig-name">unpack</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Unpack a binary blob according to the specification given in the 
+      header and return the dataset</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.unpack">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getframe" class="summary-sig-name">getframe</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      returns the file numbered 'num' in the series as a fabioimage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getframe">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#previous" class="summary-sig-name">previous</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns the previous file in the series as a fabioimage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.previous">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#next" class="summary-sig-name">next</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns the next file in the series as a fabioimage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.next">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">force_type</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">fit2dMode</span>=<span class="summary-sig-default">False</span>)</span><br />
+      Try to write a file check we can write zipped also mimics that fabian
+      was writing uint16 (we sometimes want floats)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#appendFrame" class="summary-sig-name">appendFrame</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">header</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Method used add a frame to an EDF file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.appendFrame">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#deleteFrame" class="summary-sig-name">deleteFrame</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">frameNb</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Method used to remove a frame from an EDF image.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.deleteFrame">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getNbFrames"></a><span class="summary-sig-name">getNbFrames</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Getter for number of frames</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getNbFrames">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setNbFrames" class="summary-sig-name">setNbFrames</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">val</span>)</span><br />
+      Setter for number of frames ...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setNbFrames">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getHeader" class="summary-sig-name">getHeader</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Getter for the headers.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getHeader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setHeader"></a><span class="summary-sig-name">setHeader</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_dictHeader</span>)</span><br />
+      Enforces the propagation of the header to the list of frames</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setHeader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="delHeader"></a><span class="summary-sig-name">delHeader</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Deleter for edf header</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.delHeader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getHeaderKeys"></a><span class="summary-sig-name">getHeaderKeys</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Getter for edf header_keys</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getHeaderKeys">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setHeaderKeys" class="summary-sig-name">setHeaderKeys</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_listtHeader</span>)</span><br />
+      Enforces the propagation of the header_keys to the list of frames</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setHeaderKeys">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="delHeaderKeys"></a><span class="summary-sig-name">delHeaderKeys</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Deleter for edf header_keys</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.delHeaderKeys">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">numpy.ndarray</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getData" class="summary-sig-name">getData</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      getter for edf Data</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setData" class="summary-sig-name">setData</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_data</span>)</span><br />
+      Enforces the propagation of the data to the list of frames</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="delData"></a><span class="summary-sig-name">delData</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      deleter for edf Data</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.delData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dict</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getCapsHeader" class="summary-sig-name">getCapsHeader</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      getter for edf headers keys in upper case</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getCapsHeader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setCapsHeader" class="summary-sig-name">setCapsHeader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_data</span>)</span><br />
+      Enforces the propagation of the header_keys to the list of frames</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setCapsHeader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="delCapsHeader"></a><span class="summary-sig-name">delCapsHeader</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      deleter for edf capsHeader</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.delCapsHeader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getDim1"></a><span class="summary-sig-name">getDim1</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getDim1">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setDim1"></a><span class="summary-sig-name">setDim1</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_iVal</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setDim1">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getDim2"></a><span class="summary-sig-name">getDim2</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getDim2">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setDim2"></a><span class="summary-sig-name">setDim2</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_iVal</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setDim2">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getDims"></a><span class="summary-sig-name">getDims</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getDims">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getByteCode"></a><span class="summary-sig-name">getByteCode</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getByteCode">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setByteCode"></a><span class="summary-sig-name">setByteCode</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_iVal</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setByteCode">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getBpp"></a><span class="summary-sig-name">getBpp</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getBpp">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="setBpp"></a><span class="summary-sig-name">setBpp</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_iVal</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setBpp">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#checkHeader" class="summary-sig-name">checkHeader</a>(<span class="summary-sig-arg">header</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Empty for fabioimage but may be populated by others classes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.checkHeader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#_readHeaderBlock" class="summary-sig-name" onclick="show_private();">_readHeaderBlock</a>(<span class="summary-sig-arg">infile</span>)</span><br />
+      Read in a header in some EDF format from an already open file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage._readHeaderBlock">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html#nframes" class="summary-name">nframes</a><br />
+      Getter for number of frames
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html#header" class="summary-name">header</a><br />
+      property: header of EDF file
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html#header_keys" class="summary-name">header_keys</a><br />
+      property: header_keys of EDF file
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html#data" class="summary-name">data</a><br />
+      property: data of EDF file
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html#capsHeader" class="summary-name">capsHeader</a><br />
+      property: capsHeader of EDF file, i.e.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html#dim1" class="summary-name">dim1</a>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html#dim2" class="summary-name">dim2</a>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html#dims" class="summary-name">dims</a>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html#bytecode" class="summary-name">bytecode</a>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.edfimage.edfimage-class.html#bpp" class="summary-name">bpp</a>
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">data</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">header</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">header_keys</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">frames</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Set up initial values</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkHeader"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkHeader</span>(<span class="sig-arg">header</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.checkHeader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Empty for fabioimage but may be populated by others classes</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#checkHeader">fabioimage.fabioimage.checkHeader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readHeaderBlock"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readHeaderBlock</span>(<span class="sig-arg">infile</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage._readHeaderBlock">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read in a header in some EDF format from an already open file</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>infile</code></strong> - file object open in read mode</li>
+    </ul></dd>
+    <dt>Returns:</dt>
+        <dd>string (or None if no header was found.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read all headers in a file and populate self.header data is not yet 
+  populated</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>infile</code></strong> (file object open in read mode)</li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Read in header into self.header and
+    the data   into self.data
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="unpack"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">unpack</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.unpack">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Unpack a binary blob according to the specification given in the 
+  header and return the dataset</p>
+  <dl class="fields">
+    <dt>Returns:</dt>
+        <dd>dataset as numpy.ndarray</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getframe"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getframe</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">num</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getframe">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>returns the file numbered 'num' in the series as a fabioimage</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#getframe">fabioimage.fabioimage.getframe</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="previous"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">previous</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.previous">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>returns the previous file in the series as a fabioimage</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#previous">fabioimage.fabioimage.previous</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="next"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">next</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.next">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>returns the next file in the series as a fabioimage</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#next">fabioimage.fabioimage.next</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">force_type</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">fit2dMode</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Try to write a file check we can write zipped also mimics that fabian 
+  was writing uint16 (we sometimes want floats)</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>force_type</code></strong> - can be numpy.uint16 or simply "float"</li>
+    </ul></dd>
+    <dt>Returns:</dt>
+        <dd>None</dd>
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="appendFrame"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">appendFrame</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">data</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">header</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.appendFrame">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Method used add a frame to an EDF file</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>frame</code></strong> (instance of Frame) - frame to append to edf image</li>
+    </ul></dd>
+    <dt>Returns:</dt>
+        <dd>None</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="deleteFrame"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">deleteFrame</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">frameNb</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.deleteFrame">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Method used to remove a frame from an EDF image. by default the last 
+  one is removed.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>frameNb</code></strong> (integer) - frame number to remove, by  default the last.</li>
+    </ul></dd>
+    <dt>Returns:</dt>
+        <dd>None</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="setNbFrames"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setNbFrames</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">val</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setNbFrames">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Setter for number of frames ... should do nothing. Here just to avoid 
+  bugs</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="getHeader"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getHeader</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getHeader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Getter for the headers. used by the property header,</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="setHeaderKeys"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setHeaderKeys</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">_listtHeader</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setHeaderKeys">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Enforces the propagation of the header_keys to the list of frames</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_listtHeader</code></strong> (python list) - list of the (ordered) keys in the header</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getData"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getData</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getData">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>getter for edf Data</p>
+  <dl class="fields">
+    <dt>Returns: numpy.ndarray</dt>
+        <dd>data for current frame</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="setData"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setData</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">_data</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setData">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Enforces the propagation of the data to the list of frames</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_data</code></strong> - numpy array representing data</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getCapsHeader"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getCapsHeader</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.getCapsHeader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>getter for edf headers keys in upper case</p>
+  <dl class="fields">
+    <dt>Returns: dict</dt>
+        <dd>data for current frame</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="setCapsHeader"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setCapsHeader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">_data</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.edfimage-pysrc.html#edfimage.setCapsHeader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Enforces the propagation of the header_keys to the list of frames</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_data</code></strong> - numpy array representing data</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== PROPERTY DETAILS ==================== -->
+<a name="section-PropertyDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Property Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-PropertyDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="nframes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">nframes</h3>
+  <p>Getter for number of frames</p>
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getNbFrames" class="summary-sig-name">getNbFrames</a>(<span class="summary-sig-arg">self</span>)</span>
+        - Getter for number of frames
+    </dd>
+    <dt>Set Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setNbFrames" class="summary-sig-name">setNbFrames</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">val</span>)</span>
+        - Setter for number of frames ...
+    </dd>
+    <dt>Delete Method:</dt>
+    <dd class="value"><table><tr><td><pre class="variable">
+<code class="variable-quote">'</code><code class="variable-string">property: number of frames in EDF file</code><code class="variable-quote">'</code>
+</pre></td></tr></table>
+
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="header"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">header</h3>
+  <p>property: header of EDF file</p>
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getHeader" class="summary-sig-name">getHeader</a>(<span class="summary-sig-arg">self</span>)</span>
+        - Getter for the headers.
+    </dd>
+    <dt>Set Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setHeader" class="summary-sig-name">setHeader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_dictHeader</span>)</span>
+        - Enforces the propagation of the header to the list of frames
+    </dd>
+    <dt>Delete Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#delHeader" class="summary-sig-name">delHeader</a>(<span class="summary-sig-arg">self</span>)</span>
+        - Deleter for edf header
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="header_keys"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">header_keys</h3>
+  <p>property: header_keys of EDF file</p>
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getHeaderKeys" class="summary-sig-name">getHeaderKeys</a>(<span class="summary-sig-arg">self</span>)</span>
+        - Getter for edf header_keys
+    </dd>
+    <dt>Set Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setHeaderKeys" class="summary-sig-name">setHeaderKeys</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_listtHeader</span>)</span>
+        - Enforces the propagation of the header_keys to the list of frames
+    </dd>
+    <dt>Delete Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#delHeaderKeys" class="summary-sig-name">delHeaderKeys</a>(<span class="summary-sig-arg">self</span>)</span>
+        - Deleter for edf header_keys
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="data"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">data</h3>
+  <p>property: data of EDF file</p>
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getData" class="summary-sig-name">getData</a>(<span class="summary-sig-arg">self</span>)</span>
+        - getter for edf Data
+    </dd>
+    <dt>Set Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setData" class="summary-sig-name">setData</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_data</span>)</span>
+        - Enforces the propagation of the data to the list of frames
+    </dd>
+    <dt>Delete Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#delData" class="summary-sig-name">delData</a>(<span class="summary-sig-arg">self</span>)</span>
+        - deleter for edf Data
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="capsHeader"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">capsHeader</h3>
+  <p>property: capsHeader of EDF file, i.e. the keys of the header in UPPER
+  case.</p>
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getCapsHeader" class="summary-sig-name">getCapsHeader</a>(<span class="summary-sig-arg">self</span>)</span>
+        - getter for edf headers keys in upper case
+    </dd>
+    <dt>Set Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setCapsHeader" class="summary-sig-name">setCapsHeader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_data</span>)</span>
+        - Enforces the propagation of the header_keys to the list of frames
+    </dd>
+    <dt>Delete Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#delCapsHeader" class="summary-sig-name">delCapsHeader</a>(<span class="summary-sig-arg">self</span>)</span>
+        - deleter for edf capsHeader
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="dim1"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">dim1</h3>
+  
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getDim1" class="summary-sig-name">getDim1</a>(<span class="summary-sig-arg">self</span>)</span>
+    </dd>
+    <dt>Set Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setDim1" class="summary-sig-name">setDim1</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_iVal</span>)</span>
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="dim2"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">dim2</h3>
+  
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getDim2" class="summary-sig-name">getDim2</a>(<span class="summary-sig-arg">self</span>)</span>
+    </dd>
+    <dt>Set Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setDim2" class="summary-sig-name">setDim2</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_iVal</span>)</span>
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="dims"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">dims</h3>
+  
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getDims" class="summary-sig-name">getDims</a>(<span class="summary-sig-arg">self</span>)</span>
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="bytecode"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">bytecode</h3>
+  
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getByteCode" class="summary-sig-name">getByteCode</a>(<span class="summary-sig-arg">self</span>)</span>
+    </dd>
+    <dt>Set Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setByteCode" class="summary-sig-name">setByteCode</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_iVal</span>)</span>
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="bpp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">bpp</h3>
+  
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#getBpp" class="summary-sig-name">getBpp</a>(<span class="summary-sig-arg">self</span>)</span>
+    </dd>
+    <dt>Set Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.edfimage.edfimage-class.html#setBpp" class="summary-sig-name">setBpp</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">_iVal</span>)</span>
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fabioimage-module.html b/doc/html/fabio.fabioimage-module.html
new file mode 100644
index 0000000..c3d937f
--- /dev/null
+++ b/doc/html/fabio.fabioimage-module.html
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fabioimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module fabioimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fabioimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module fabioimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.fabioimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+         
+         and Jon Wright, Jerome Kieffer: ESRF
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.fabioimage.fabioStream-class.html" class="summary-name">fabioStream</a><br />
+      just an interface providing the name and mode property to a 
+        StringIO
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.fabioimage.fabioimage-class.html" class="summary-name">fabioimage</a><br />
+      A common object for images in fable Contains a numpy array (.data) 
+        and dict of meta data (.header)
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="test"></a><span class="summary-sig-name">test</span>()</span><br />
+      check some basic fabioimage functionality</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#test">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("fabioimage")">logging.getLogger("fabioimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fabioimage-pysrc.html b/doc/html/fabio.fabioimage-pysrc.html
new file mode 100644
index 0000000..86add7b
--- /dev/null
+++ b/doc/html/fabio.fabioimage-pysrc.html
@@ -0,0 +1,1214 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fabioimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module fabioimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fabioimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.fabioimage-module.html">Module fabio.fabioimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python </tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">         email:erik.knudsen at risoe.dk</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">         </tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">         and Jon Wright, Jerome Kieffer: ESRF</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">gzip</tt><tt class="py-op">,</tt> <tt class="py-name">bz2</tt><tt class="py-op">,</tt> <tt class="py-name">StringIO</tt><tt class="py-op">,</tt> <tt class="py-name">types</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"fabioimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">Image</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">    <tt id="link-1" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-1', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"PIL is not installed ... trying to do without"</tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt class="py-name">Image</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Module fabio.fabioutils=fabio.fabioutils-module.html"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-2', 'fabioutils', 'link-2');">fabioutils</a></tt><tt class="py-op">,</tt> <tt id="link-3" class="py-name" targets="Module fabio.converters=fabio.converters-module.html"><a title="fabio.converters" class="py-na [...]
+<a name="fabioStream"></a><div id="fabioStream-def"><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="fabioStream-toggle" onclick="return toggle('fabioStream');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.fabioimage.fabioStream-class.html">fabioStream</a><tt class="py-op">(</tt><tt class="py-base-class">StringIO</tt><tt class="py-op">.</tt><tt class="py-base-class">StringIO</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioStream-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="fabioStream-expanded"><a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">    <tt class="py-docstring">""" </tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">    just an interface providing the name and mode property to a StringIO</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">    BugFix for MacOSX</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="fabioStream.__init__"></a><div id="fabioStream.__init__-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="fabioStream.__init__-toggle" onclick="return toggle('fabioStream.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioStream-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt> [...]
+</div><div id="fabioStream.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioStream.__init__-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt class="py-name">StringIO</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__ini [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-4', '__init__', 'link-4');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-5', 'data', 'link-5');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">fname</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-string">"fabioStream"</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mode</tt> <tt class="py-op">=</tt> <tt class="py-name">mode</tt> </tt>
+</div></div><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage"></a><div id="fabioimage-def"><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="fabioimage-toggle" onclick="return toggle('fabioimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html">fabioimage</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="fabioimage-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring">    A common object for images in fable</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">    Contains a numpy array (.data) and dict of meta data (.header)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt id="link-6" class="py-name" targets="Variable fabio.GEimage.GEimage._need_a_seek_to_read=fabio.GEimage.GEimage-class.html#_need_a_seek_to_read,Variable fabio.fabioimage.fabioimage._need_a_seek_to_read=fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read,Variable fabio.tifimage.tifimage._need_a_seek_to_read=fabio.tifimage.tifimage-class.html#_need_a_seek_to_read"><a title="fabio.GEimage.GEimage._need_a_se [...]
+fabio.fabioimage.fabioimage._need_a_seek_to_read
+fabio.tifimage.tifimage._need_a_seek_to_read" class="py-name" href="#" onclick="return doclink('link-6', '_need_a_seek_to_read', 'link-6');">_need_a_seek_to_read</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt id="link-7" class="py-name" targets="Variable fabio.fabioimage.fabioimage._need_a_real_file=fabio.fabioimage.fabioimage-class.html#_need_a_real_file,Variable fabio.mar345image.mar345image._need_a_real_file=fabio.mar345image.mar345image-class.html#_need_a_real_file"><a title="fabio.fabioimage.fabioimage._need_a_real_file
+fabio.mar345image.mar345image._need_a_real_file" class="py-name" href="#" onclick="return doclink('link-7', '_need_a_real_file', 'link-7');">_need_a_real_file</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.__init__"></a><div id="fabioimage.__init__-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="fabioimage.__init__-toggle" onclick="return toggle('fabioimage.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt c [...]
+</div><div id="fabioimage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.__init__-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">        Set up initial values</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_classname</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt id="link-8" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-8', 'data', 'link-5');">data</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringTypes</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"fabioimage.__init__ bad argument - "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                            <tt class="py-string">"data should be numpy array"</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-9', 'data', 'link-5');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Static Method fabio.OXDimage.OXDimage.checkData()=fabio.OXDimage.OXDimage-class.html#checkData,Static Method fabio.cbfimage.cbfimage.checkData()=fabio.cbfimage.cbfimage-class.html#checkData,Static Method fabio.fabioimage.fabioimage.checkData()=fabio [...]
+fabio.cbfimage.cbfimage.checkData
+fabio.fabioimage.fabioimage.checkData
+fabio.fit2dmaskimage.fit2dmaskimage.checkData
+fabio.kcdimage.kcdimage.checkData
+fabio.mar345image.mar345image.checkData
+fabio.pnmimage.pnmimage.checkData" class="py-name" href="#" onclick="return doclink('link-10', 'checkData', 'link-10');">checkData</a></tt><tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-11', 'data', 'link-5');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-12" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-12', 'header', 'link-12');">header</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-13', 'header', 'link-12');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-14', 'header', 'link-12');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Static Method fabio.edfimage.edfimage.checkHeader()=fabio.edfim [...]
+fabio.fabioimage.fabioimage.checkHeader" class="py-name" href="#" onclick="return doclink('link-15', 'checkHeader', 'link-15');">checkHeader</a></tt><tt class="py-op">(</tt><tt id="link-16" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-16', 'header', 'link-12');">header</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Variable fabio.edfimage.edfimage.header_keys=fabio.edfimage.edfimage-class.html#header_keys"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-17', 'header_keys', 'link-17');">header_keys</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op [...]
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-19', 'data', 'link-5');">data</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-20', 'dim1', 'link-20');">dim1</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class=" [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-22', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-23', 'dim1', 'link-20');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="retu [...]
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-25', 'bytecode', 'link-25');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt>     <tt class="py-comment"># n [...]
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-26', 'bpp', 'link-26');">bpp</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt>             <tt class="py-comment"># bytes per pixel</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-comment"># cache for image statistics</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxval</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stddev</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">minval</tt> < [...]
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-comment"># Cache roi</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">roi</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">area_sum</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">slice</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-comment"># New for multiframe files</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Variable fabio.edfimage.edfimage.nframes=fabio.edfimage.edfimage-class.html#nframes"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-27', 'nframes', 'link-27');">nframes</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">currentframe</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="fabioimage.checkHeader"></a><div id="fabioimage.checkHeader-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="fabioimage.checkHeader-toggle" onclick="return toggle('fabioimage.checkHeader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a><tt class="py-op">(</tt><tt class="py-param">header</tt><tt class="py-op">=</tt><tt class="py-na [...]
+</div><div id="fabioimage.checkHeader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.checkHeader-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">        Empty for fabioimage but may be populated by others classes</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-28" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-28', 'header', 'link-12');">header</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-29" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-29', 'header', 'link-12');">header</a></tt> </tt>
+</div><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="fabioimage.checkData"></a><div id="fabioimage.checkData-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="fabioimage.checkData-toggle" onclick="return toggle('fabioimage.checkData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt>< [...]
+</div><div id="fabioimage.checkData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.checkData-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">        Empty for fabioimage but may be populated by others classes, especially for format accepting only integers</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-30" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-30', 'data', 'link-5');">data</a></tt> </tt>
+</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.getclassname"></a><div id="fabioimage.getclassname-def"><a name="L101"></a><tt class="py-lineno">101</tt> <a class="py-toggle" href="#" id="fabioimage.getclassname-toggle" onclick="return toggle('fabioimage.getclassname');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class=" [...]
+</div><div id="fabioimage.getclassname-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.getclassname-expanded"><a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">        Retrieves the name of the class</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">        @return: the name of the class </tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_classname</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_classname</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-31', 'str', 'link-31');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"<class '"</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt cl [...]
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_classname</tt> </tt>
+</div><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt id="link-32" class="py-name" targets="Variable fabio.fabioimage.fabioimage.classname=fabio.fabioimage.fabioimage-class.html#classname"><a title="fabio.fabioimage.fabioimage.classname" class="py-name" href="#" onclick="return doclink('link-32', 'classname', 'link-32');">classname</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-33" class="py-name" tar [...]
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.getframe"></a><div id="fabioimage.getframe-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="fabioimage.getframe-toggle" onclick="return toggle('fabioimage.getframe');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">num</tt><tt c [...]
+</div><div id="fabioimage.getframe-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.getframe-expanded"><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the file numbered 'num' in the series as a fabioimage """</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="fabio.edfimage.edfimage.nframes" class="py-name" href="#" onclick="return doclink('link-34', 'nframes', 'link-27');">nframes</a></tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-comment"># single image per file</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-keyword">import</tt> <tt id="link-35" class="py-name" targets="Module fabio.openimage=fabio.openimage-module.html,Function fabio.openimage.openimage()=fabio.openimage-module.html#openimage"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-35', 'openimage', 'link-35');">openimage</a></tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-36" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-36', 'openimage', 'link-35');">openimage</a></tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-37', 'openimage', 'link-35');">openimage</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">                <tt id="link-38" class="py-name"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-38', 'fabioutils', 'link-2');">fabioutils</a></tt><tt class="py-op">.</tt><tt id="link-39" class="py-name" targets="Function fabio.fabioutils.jump_filename()=fabio.fabioutils-module.html#jump_filename"><a title="fabio.fabioutils.jump_filename" class="py-name" href="#" onclick="return docl [...]
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"getframe out of range"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.previous"></a><div id="fabioimage.previous-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="fabioimage.previous-toggle" onclick="return toggle('fabioimage.previous');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#previous">previous</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioimage.previous-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.previous-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the previous file in the series as a fabioimage """</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt id="link-40" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-40', 'openimage', 'link-35');">openimage</a></tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-41" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-41', 'openimage', 'link-35');">openimage</a></tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-42', 'openimage', 'link-35');">openimage</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt id="link-43" class="py-name"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-43', 'fabioutils', 'link-2');">fabioutils</a></tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Function fabio.fabioutils.previous_filename()=fabio.fabioutils-module.html#previous_filename"><a title="fabio.fabioutils.previous_filename" class="py-name" href="#" onclick="ret [...]
+</div><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.next"></a><div id="fabioimage.next-def"><a name="L126"></a><tt class="py-lineno">126</tt> <a class="py-toggle" href="#" id="fabioimage.next-toggle" onclick="return toggle('fabioimage.next');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#next">next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioimage.next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.next-expanded"><a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the next file in the series as a fabioimage """</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">import</tt> <tt id="link-45" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-45', 'openimage', 'link-35');">openimage</a></tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-46" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-46', 'openimage', 'link-35');">openimage</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-47', 'openimage', 'link-35');">openimage</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">            <tt id="link-48" class="py-name"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-48', 'fabioutils', 'link-2');">fabioutils</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name" targets="Function fabio.fabioutils.next_filename()=fabio.fabioutils-module.html#next_filename"><a title="fabio.fabioutils.next_filename" class="py-name" href="#" onclick="return doclink( [...]
+</div><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.toPIL16"></a><div id="fabioimage.toPIL16-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="fabioimage.toPIL16-toggle" onclick="return toggle('fabioimage.toPIL16');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt cl [...]
+</div><div id="fabioimage.toPIL16-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.toPIL16-expanded"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">        Convert to Python Imaging Library 16 bit greyscale image</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">        FIXME - this should be handled by the libraries now</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">Image</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-string">"PIL is not installed !!! "</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">filename</tt><tt class="py-op">:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage.OXDimage.read()=fabio.OXDimage.OXDimage-class.html [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-50', 'read', 'link-50');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-comment"># mode map</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-51', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-name">typmap</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-string">'float32'</tt> <tt class="py-op">:</tt> <tt class="py-string">"F"</tt>     <tt class="py-op">,</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-string">'int32'</tt>   <tt class="py-op">:</tt> <tt class="py-string">"F;32S"</tt> <tt class="py-op">,</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-string">'uint32'</tt>  <tt class="py-op">:</tt> <tt class="py-string">"F;32"</tt>  <tt class="py-op">,</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-string">'int16'</tt>   <tt class="py-op">:</tt> <tt class="py-string">"F;16S"</tt> <tt class="py-op">,</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-string">'uint16'</tt>  <tt class="py-op">:</tt> <tt class="py-string">"F;16"</tt>  <tt class="py-op">,</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-string">'int8'</tt>    <tt class="py-op">:</tt> <tt class="py-string">"F;8S"</tt>  <tt class="py-op">,</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-string">'uint8'</tt>   <tt class="py-op">:</tt> <tt class="py-string">"F;8"</tt>  <tt class="py-op">}</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">typmap</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-52', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-name">mode2</tt> <tt class="py-op">=</tt> <tt class="py-name">typmap</tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-53', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">]</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-name">mode1</tt> <tt class="py-op">=</tt> <tt class="py-name">mode2</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Unknown numpy type "</tt> <tt class="py-op">+</tt> <tt id="link-54" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-54', 'str', 'link-31');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-55', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">type</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-comment"># </tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-comment"># hack for byteswapping for PIL in MacOS</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">testval</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class [...]
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt>  <tt class="py-name">testval</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">            <tt class="py-name">dats</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-56', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method fabio.cbfimage.CIF.tostring()=fabio.cbfimage.CIF-class.html#tostring,Method fabio.fabioutils.filename_object.tostring()=fabio.fabioutils.filename_object-class.html#tostring"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-57', 'tostring', 'link-57');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">testval</tt> <tt class="py-op">==</tt> <tt class="py-number">256</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">dats</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-58', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-59', 'tostring', 'link-57');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Endian unknown in fabioimage.toPIL16"</tt><tt class="py-op">)</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">Image</tt><tt class="py-op">.</tt><tt class="py-name">frombuffer</tt><tt class="py-op">(</tt><tt class="py-name">mode1</tt><tt class="py-op">,</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                                         <tt class="py-name">size</tt><tt class="py-op">,</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                                         <tt class="py-name">dats</tt><tt class="py-op">,</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                                         <tt class="py-string">"raw"</tt><tt class="py-op">,</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                                         <tt class="py-name">mode2</tt><tt class="py-op">,</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">                                         <tt class="py-number">0</tt><tt class="py-op">,</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">                                         <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> </tt>
+</div><a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.getheader"></a><div id="fabioimage.getheader-def"><a name="L179"></a><tt class="py-lineno">179</tt> <a class="py-toggle" href="#" id="fabioimage.getheader-toggle" onclick="return toggle('fabioimage.getheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioimage.getheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.getheader-expanded"><a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns self.header """</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-60', 'header', 'link-12');">header</a></tt> </tt>
+</div><a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.getmax"></a><div id="fabioimage.getmax-def"><a name="L183"></a><tt class="py-lineno">183</tt> <a class="py-toggle" href="#" id="fabioimage.getmax-toggle" onclick="return toggle('fabioimage.getmax');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioimage.getmax-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.getmax-expanded"><a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-docstring">""" Find max value in self.data, caching for the future """</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxval</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxval</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-61', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxval</tt> </tt>
+</div><a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.getmin"></a><div id="fabioimage.getmin-def"><a name="L189"></a><tt class="py-lineno">189</tt> <a class="py-toggle" href="#" id="fabioimage.getmin-toggle" onclick="return toggle('fabioimage.getmin');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioimage.getmin-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.getmin-expanded"><a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">        <tt class="py-docstring">""" Find min value in self.data, caching for the future """</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">minval</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">minval</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-62', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">minval</tt> </tt>
+</div><a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.make_slice"></a><div id="fabioimage.make_slice-def"><a name="L195"></a><tt class="py-lineno">195</tt> <a class="py-toggle" href="#" id="fabioimage.make_slice-toggle" onclick="return toggle('fabioimage.make_slice');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">c [...]
+</div><div id="fabioimage.make_slice-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.make_slice-expanded"><a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-docstring">        Convert a len(4) set of coords into a len(2) </tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-docstring">        tuple (pair) of slice objects</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"><tt class="py-docstring">        the latter are immutable, meaning the roi can be cached</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt id="link-63" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-63', 'len', 'link-63');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">coords</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt  [...]
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-64" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-64', 'len', 'link-63');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">coords</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">            <tt class="py-comment"># fabian edfimage preference</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                <tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">3</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="p [...]
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">                <tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="p [...]
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-comment">#in fabian: normally coordinates are given as (x,y) whereas </tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">            <tt class="py-comment"># a matrix is given as row,col </tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-comment"># also the (for whichever reason) the image is flipped upside </tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">            <tt class="py-comment"># down wrt to the matrix hence these tranformations</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">            <tt class="py-name">fixme</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-65', 'dim2', 'link-21');">dim2</a></tt> <tt class="py-op">-</tt> <tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">3</tt> [...]
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                     <tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">,</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                     <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-66', 'dim2', 'link-21');">dim2</a></tt> <tt class="py-op">-</tt> <tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">-</tt> <tt class="py-number" [...]
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">                     <tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">slice</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">fixme</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">fixme</tt><tt class=" [...]
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                 <tt class="py-name">slice</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">fixme</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">fixme</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class [...]
+</div><a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.integrate_area"></a><div id="fabioimage.integrate_area-def"><a name="L220"></a><tt class="py-lineno">220</tt> <a class="py-toggle" href="#" id="fabioimage.integrate_area-toggle" onclick="return toggle('fabioimage.integrate_area');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt [...]
+</div><div id="fabioimage.integrate_area-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.integrate_area-expanded"><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-docstring">""" </tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring">        Sums up a region of interest </tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">        if len(coords) == 4 -> convert coords to slices</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">        if len(coords) == 2 -> use as slices</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">        floor -> ? removed as unused in the function.</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-67', 'data', 'link-5');">data</a></tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">            <tt class="py-comment"># This should return NAN, not zero ?</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-number">0</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-68" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-68', 'len', 'link-63');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">coords</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">            <tt class="py-name">sli</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name" targets="Method fabio.fabioimage.fabioimage.make_slice()=fabio.fabioimage.fabioimage-class.html#make_slice"><a title="fabio.fabioimage.fabioimage.make_slice" class="py-name" href="#" onclick="return doclink('link-69', 'make_slice', 'link-69');">make_slice</a></tt><tt c [...]
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-70" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-70', 'len', 'link-63');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">coords</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt clas [...]
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                                  <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">slice</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">            <tt class="py-name">sli</tt> <tt class="py-op">=</tt> <tt class="py-name">coords</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">sli</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">slice</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">area_sum</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">sli</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">slice</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">roi</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">area_sum</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">roi</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float</tt><t [...]
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">slice</tt> <tt class="py-op">=</tt> <tt class="py-name">sli</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">roi</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-71', 'data', 'link-5');">data</a></tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">slice</tt> <tt class="py-op">]</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">area_sum</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">roi</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float</tt><t [...]
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">area_sum</tt> </tt>
+</div><a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.getmean"></a><div id="fabioimage.getmean-def"><a name="L246"></a><tt class="py-lineno">246</tt> <a class="py-toggle" href="#" id="fabioimage.getmean-toggle" onclick="return toggle('fabioimage.getmean');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioimage.getmean-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.getmean-expanded"><a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-docstring">""" return the mean """</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-72', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">mean</tt><tt class="py-op">(</tt><tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">double</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt> </tt>
+</div><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.getstddev"></a><div id="fabioimage.getstddev-def"><a name="L252"></a><tt class="py-lineno">252</tt> <a class="py-toggle" href="#" id="fabioimage.getstddev-toggle" onclick="return toggle('fabioimage.getstddev');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioimage.getstddev-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.getstddev-expanded"><a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-docstring">""" return the standard deviation """</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stddev</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stddev</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-73', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">std</tt><tt class="py-op">(</tt><tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">double</tt><tt class="py-op">)</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stddev</tt> </tt>
+</div><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.add"></a><div id="fabioimage.add-def"><a name="L258"></a><tt class="py-lineno">258</tt> <a class="py-toggle" href="#" id="fabioimage.add-toggle" onclick="return toggle('fabioimage.add');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#add">add</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">other</tt><tt class="py-op">)</tt><tt class [...]
+</div><div id="fabioimage.add-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.add-expanded"><a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">        Add another Image - warning, does not clip to 16 bit images by default</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">other</tt><tt class="py-op">,</tt> <tt class="py-string">'data'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt id="link-74" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-74', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">'edfimage.add() called with something that '</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">                <tt class="py-string">'does not have a data field'</tt><tt class="py-op">)</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-75', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">==</tt> <tt class="py-name">other</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-76', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">,</tt> \ </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">                  <tt class="py-string">'incompatible images - Do they have the same size?'</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-77', 'data', 'link-5');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-78', 'data', 'link-5');">data</a></tt> <tt class="py-op">+</tt> <tt class="py-name">other</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-79', 'data', 'link-5');">data</a></tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-80', 'resetvals', 'link-80');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.resetvals"></a><div id="fabioimage.resetvals-def"><a name="L271"></a><tt class="py-lineno">271</tt> <a class="py-toggle" href="#" id="fabioimage.resetvals-toggle" onclick="return toggle('fabioimage.resetvals');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioimage.resetvals-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.resetvals-expanded"><a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-docstring">""" Reset cache - call on changing data """</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mean</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stddev</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxval</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">minval</tt>  [...]
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">roi</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">slice</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">area_sum</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.rebin"></a><div id="fabioimage.rebin-def"><a name="L276"></a><tt class="py-lineno">276</tt> <a class="py-toggle" href="#" id="fabioimage.rebin-toggle" onclick="return toggle('fabioimage.rebin');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">x_rebin_fact</tt><tt class="py- [...]
+</div><div id="fabioimage.rebin-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.rebin-expanded"><a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-docstring">""" </tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"><tt class="py-docstring">        Rebin the data and adjust dims </tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line"><tt class="py-docstring">        @param x_rebin_fact: x binning factor</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"><tt class="py-docstring">        @param y_rebin_fact: y binning factor</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line"><tt class="py-docstring">        @param keep_I: shall the signal increase ?</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line"><tt class="py-docstring">        @type x_rebin_fact: int</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"><tt class="py-docstring">        @type y_rebin_fact: int</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"><tt class="py-docstring">        @type keep_I: boolean</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"><tt class="py-docstring">        </tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-81', 'data', 'link-5');">data</a></tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">'Please read in the file you wish to rebin first'</tt><tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-82', 'dim1', 'link-20');">dim1</a></tt> <tt class="py-op">%</tt> <tt class="py-name">x_rebin_fact</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">)< [...]
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-string">'image size is not divisible by rebin factor - '</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                  <tt class="py-string">'skipping rebin'</tt><tt class="py-op">)</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">            <tt class="py-name">dataIn</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-84', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"float64"</tt><tt class="py-op">)</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">            <tt class="py-name">shapeIn</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-85', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">            <tt class="py-name">shapeOut</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">shapeIn</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">/</tt> <tt class="py-name">y_rebin_fact</tt><tt class="py-op">,</tt> <tt class="py-name">shapeIn</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">/</ [...]
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-name">binsize</tt> <tt class="py-op">=</tt> <tt class="py-name">y_rebin_fact</tt> <tt class="py-op">*</tt> <tt class="py-name">x_rebin_fact</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">binsize</tt> <tt class="py-op"><</tt> <tt class="py-number">50</tt><tt class="py-op">:</tt> <tt class="py-comment">#method faster for small binning (4x4)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">                <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-name">shapeOut</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"float64"</tt><tt class="py-op">)</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">x_rebin_fact</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt id="link-86" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-86', 'i', 'link-86');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">y_rebin_fact</tt><tt class="py-op">)</tt><t [...]
+<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">                        <tt class="py-name">out</tt> <tt class="py-op">+=</tt> <tt class="py-name">dataIn</tt><tt class="py-op">[</tt><tt id="link-87" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-87', 'i', 'link-86');">i</a></tt><tt class="py-op">:</tt><tt class="py-op">:</tt><tt class="py-name">y_rebin_fact</tt><tt class="py-op">,</tt> <tt class="py-name">j</tt> [...]
+<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> <tt class="py-comment">#method faster for large binning (8x8)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">                <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-88', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-string">"float64"</tt><tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">                <tt class="py-name">temp</tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">shapeOut</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">y_rebin_fact</tt><tt class="py-op">,</tt> <tt class="py-name">shapeOut</tt><tt class="py-op">[</tt><tt class="py-numbe [...]
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">                <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-name">temp</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-name">axis</tt><tt class="py-op">=</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-name">axis</tt><tt class="py-op">=</tt><tt class="p [...]
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-89', 'resetvals', 'link-80');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">keep_I</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-90', 'data', 'link-5');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">out</tt> <tt class="py-op">/</tt> <tt class="py-op">(</tt><tt class="py-name">y_rebin_fact</tt> <tt class="py-op">*</tt> <tt class="py-name">x_rebin_fact</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py- [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-91', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-92', 'data', 'link-5');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">out</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-93', 'data', 'link-5');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">)</tt> </tt>
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line"> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-94', 'dim1', 'link-20');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return  [...]
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-96', 'dim2', 'link-21');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return  [...]
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line"> </tt>
+<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">        <tt class="py-comment">#update header</tt> </tt>
+<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name" targets="Method fabio.fabioimage.fabioimage.update_header()=fabio.fabioimage.fabioimage-class.html#update_header"><a title="fabio.fabioimage.fabioimage.update_header" class="py-name" href="#" onclick="return doclink('link-98', 'update_header', 'link-98');">update_header</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.write"></a><div id="fabioimage.write-def"><a name="L320"></a><tt class="py-lineno">320</tt> <a class="py-toggle" href="#" id="fabioimage.write-toggle" onclick="return toggle('fabioimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">)</ [...]
+</div><div id="fabioimage.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.write-expanded"><a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line"><tt class="py-docstring">        To be overwritten - write the file</tt> </tt>
+<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Class has not implemented readheader method yet"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.save"></a><div id="fabioimage.save-def"><a name="L326"></a><tt class="py-lineno">326</tt> <a class="py-toggle" href="#" id="fabioimage.save-toggle" onclick="return toggle('fabioimage.save');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#save">save</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">)</tt><tt [...]
+</div><div id="fabioimage.save-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.save-expanded"><a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">        <tt class="py-docstring">'wrapper for write'</tt> </tt>
+<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name" targets="Method fabio.GEimage.GEimage.write()=fabio.GEimage.GEimage-class.html#write,Method fabio.OXDimage.OXDimage.write()=fabio.OXDimage.OXDimage-class.html#write,Method fabio.adscimage.adscimage.write()=fabio.adscimage.adscimage-class.html#write,Method fabio.binaryimage.binaryimage.write()=fabio.binaryimage.binaryimage-cla [...]
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-99', 'write', 'link-99');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.readheader"></a><div id="fabioimage.readheader-def"><a name="L330"></a><tt class="py-lineno">330</tt> <a class="py-toggle" href="#" id="fabioimage.readheader-toggle" onclick="return toggle('fabioimage.readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">f [...]
+</div><div id="fabioimage.readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.readheader-expanded"><a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line"><tt class="py-docstring">        Call the _readheader function...</tt> </tt>
+<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">        <tt class="py-comment"># Override the needs asserting that all headers can be read via python modules</tt> </tt>
+<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">        <tt class="py-name">save_state</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="fabio.fabioimage.fabioimage._need_a_real_file
+fabio.mar345image.mar345image._need_a_real_file" class="py-name" href="#" onclick="return doclink('link-100', '_need_a_real_file', 'link-7');">_need_a_real_file</a></tt> <tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="fabio.GEimage.GEimage._need_a_seek_to_read
+fabio.fabioimage.fabioimage._need_a_seek_to_read
+fabio.tifimage.tifimage._need_a_seek_to_read" class="py-name" href="#" onclick="return doclink('link-101', '_need_a_seek_to_read', 'link-6');">_need_a_seek_to_read</a></tt> </tt>
+<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="fabio.fabioimage.fabioimage._need_a_real_file
+fabio.mar345image.mar345image._need_a_real_file" class="py-name" href="#" onclick="return doclink('link-102', '_need_a_real_file', 'link-7');">_need_a_real_file</a></tt> <tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="fabio.GEimage.GEimage._need_a_seek_to_read
+fabio.fabioimage.fabioimage._need_a_seek_to_read
+fabio.tifimage.tifimage._need_a_seek_to_read" class="py-name" href="#" onclick="return doclink('link-103', '_need_a_seek_to_read', 'link-6');">_need_a_seek_to_read</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt> </tt>
+<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line">        <tt class="py-name">fin</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-104', '_open', 'link-104');">_open</a></tt><tt class="py-op">(</tt><tt cla [...]
+<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._r [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-105', '_readheader', 'link-105');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">fin</tt><tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">        <tt class="py-name">fin</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="fabio.fabioimage.fabioimage._need_a_real_file
+fabio.mar345image.mar345image._need_a_real_file" class="py-name" href="#" onclick="return doclink('link-106', '_need_a_real_file', 'link-7');">_need_a_real_file</a></tt> <tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="fabio.GEimage.GEimage._need_a_seek_to_read
+fabio.fabioimage.fabioimage._need_a_seek_to_read
+fabio.tifimage.tifimage._need_a_seek_to_read" class="py-name" href="#" onclick="return doclink('link-107', '_need_a_seek_to_read', 'link-6');">_need_a_seek_to_read</a></tt> <tt class="py-op">=</tt> <tt class="py-name">save_state</tt> </tt>
+</div><a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage._readheader"></a><div id="fabioimage._readheader-def"><a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="fabioimage._readheader-toggle" onclick="return toggle('fabioimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-pa [...]
+</div><div id="fabioimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage._readheader-expanded"><a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line"><tt class="py-docstring">        Must be overridden in classes</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Class has not implemented _readheader method yet"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.update_header"></a><div id="fabioimage.update_header-def"><a name="L348"></a><tt class="py-lineno">348</tt> <a class="py-toggle" href="#" id="fabioimage.update_header-toggle" onclick="return toggle('fabioimage.update_header');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a><tt class="py-op">(</tt><tt class="py-param">self</tt> <tt class="py-op">,</tt> <tt [...]
+</div><div id="fabioimage.update_header-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.update_header-expanded"><a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line"><tt class="py-docstring">        update the header entries</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line"><tt class="py-docstring">        by default pass in a dict of key, values.</tt> </tt>
+<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-108', 'header', 'link-12');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">kwds</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.read"></a><div id="fabioimage.read-def"><a name="L355"></a><tt class="py-lineno">355</tt> <a class="py-toggle" href="#" id="fabioimage.read-toggle" onclick="return toggle('fabioimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">,</tt> [...]
+</div><div id="fabioimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.read-expanded"><a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line"><tt class="py-docstring">        To be overridden - fill in self.header and self.data</tt> </tt>
+<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Class has not implemented read method yet"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"><tt class="py-comment">#        return self</tt> </tt>
+<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.load"></a><div id="fabioimage.load-def"><a name="L362"></a><tt class="py-lineno">362</tt> <a class="py-toggle" href="#" id="fabioimage.load-toggle" onclick="return toggle('fabioimage.load');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#load">load</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">arg</tt><tt c [...]
+</div><div id="fabioimage.load-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.load-expanded"><a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">        <tt class="py-docstring">"Wrapper for read"</tt> </tt>
+<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-109', 'read', 'link-50');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwarg</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.readROI"></a><div id="fabioimage.readROI-def"><a name="L366"></a><tt class="py-lineno">366</tt> <a class="py-toggle" href="#" id="fabioimage.readROI-toggle" onclick="return toggle('fabioimage.readROI');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt cl [...]
+</div><div id="fabioimage.readROI-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.readROI-expanded"><a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line"><tt class="py-docstring">        Method reading Region of Interest.</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line"><tt class="py-docstring">        This implementation is the trivial one, just doing read and crop</tt> </tt>
+<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-110', 'read', 'link-50');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">frame</tt><tt class="py-op">)</tt> </tt>
+<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-111" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-111', 'len', 'link-63');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">coord</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">slice</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="fabio.fabioimage.fabioimage.make_slice" class="py-name" href="#" onclick="return doclink('link-112', 'make_slice', 'link-69');">make_slice</a></tt><tt class="py-op">(</tt><tt class="py-name">coords</tt>< [...]
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-113" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-113', 'len', 'link-63');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">coords</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt cl [...]
+<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">                                  <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">coords</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">slice</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">slice</tt> <tt class="py-op">=</tt> <tt class="py-name">coords</tt> </tt>
+<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">            <tt id="link-114" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-114', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">'readROI: Unable to understand Region Of Interest: got %s'</tt><tt class="py-op">,</tt> <tt class="py-name">coords</tt><tt class="py-op">)</tt> </tt>
+<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">roi</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-115', 'data', 'link-5');">data</a></tt><tt class="py-op">[</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">slice</tt> <tt class="py-op">]</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">roi</tt> </tt>
+</div><a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"> </tt>
+<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage._open"></a><div id="fabioimage._open-def"><a name="L383"></a><tt class="py-lineno">383</tt> <a class="py-toggle" href="#" id="fabioimage._open-toggle" onclick="return toggle('fabioimage._open');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#_open">_open</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</ [...]
+</div><div id="fabioimage._open-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage._open-expanded"><a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line"><tt class="py-docstring">        Try to handle compressed files, streams, shared memory etc</tt> </tt>
+<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line"><tt class="py-docstring">        Return an object which can be used for "read" and "write" </tt> </tt>
+<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line"><tt class="py-docstring">        ... FIXME - what about seek ? </tt> </tt>
+<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">        <tt class="py-name">fileObject</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-string">"read"</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-string">"write"</tt><tt class="py-op">)</tt><tt class="p [...]
+<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">            <tt class="py-comment"># It is already something we can use</tt> </tt>
+<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt id="link-116" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-116', 'str', 'link-31');">str</a></tt><tt class="py-op">,</tt> <tt class="py-name">unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-117', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"filename"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">splitext</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">".gz"</tt><tt class="py-op">:</tt> </tt>
+<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">                <tt class="py-name">fileObject</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name" targets="Method fabio.fabioimage.fabioimage._compressed_stream()=fabio.fabioimage.fabioimage-class.html#_compressed_stream"><a title="fabio.fabioimage.fabioimage._compressed_stream" class="py-name" href="#" onclick="return doclink('link-118', '_compressed_s [...]
+<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">                                       <tt id="link-119" class="py-name"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-119', 'fabioutils', 'link-2');">fabioutils</a></tt><tt class="py-op">.</tt><tt id="link-120" class="py-name" targets="Variable fabio.fabioutils.COMPRESSORS=fabio.fabioutils-module.html#COMPRESSORS"><a title="fabio.fabioutils.COMPRESSORS" class="py-name" href="#" on [...]
+<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">                                       <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">,</tt> </tt>
+<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">                                       <tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">splitext</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'.bz2'</tt><tt class="py-op">:</tt> </tt>
+<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">                <tt class="py-name">fileObject</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="fabio.fabioimage.fabioimage._compressed_stream" class="py-name" href="#" onclick="return doclink('link-121', '_compressed_stream', 'link-118');">_compressed_stream</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</ [...]
+<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">                                       <tt id="link-122" class="py-name"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-122', 'fabioutils', 'link-2');">fabioutils</a></tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="fabio.fabioutils.COMPRESSORS" class="py-name" href="#" onclick="return doclink('link-123', 'COMPRESSORS', 'link-120');">COMPRESSORS</a></tt><tt cl [...]
+<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">                                       <tt class="py-name">bz2</tt><tt class="py-op">.</tt><tt class="py-name">BZ2File</tt><tt class="py-op">,</tt> </tt>
+<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">                                       <tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">            <tt class="py-comment">#</tt> </tt>
+<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">            <tt class="py-comment"># Here we return the file even though it may be bzipped or gzipped</tt> </tt>
+<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">            <tt class="py-comment"># but named incorrectly...</tt> </tt>
+<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">            <tt class="py-comment">#</tt> </tt>
+<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">            <tt class="py-comment"># FIXME - should we fix that or complain about the daft naming?</tt> </tt>
+<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">                <tt class="py-name">fileObject</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">"name"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dir</tt><tt class="py-op">(</tt><tt class="py-name">fileObject</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">                <tt class="py-name">fileObject</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line"> </tt>
+<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">fileObject</tt> </tt>
+</div><a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage._compressed_stream"></a><div id="fabioimage._compressed_stream-def"><a name="L418"></a><tt class="py-lineno">418</tt> <a class="py-toggle" href="#" id="fabioimage._compressed_stream-toggle" onclick="return toggle('fabioimage._compressed_stream');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#_compressed_stream">_compressed_stream</a><tt class="py-op">(</tt><tt class="py-param">self</tt [...]
+<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">                           <tt class="py-param">fname</tt><tt class="py-op">,</tt> </tt>
+<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">                           <tt class="py-param">system_uncompress</tt><tt class="py-op">,</tt> </tt>
+<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">                           <tt class="py-param">python_uncompress</tt><tt class="py-op">,</tt> </tt>
+<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">                           <tt class="py-param">mode</tt><tt class="py-op">=</tt><tt class="py-string">'rb'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fabioimage._compressed_stream-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage._compressed_stream-expanded"><a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line"><tt class="py-docstring">        Try to transparently handle gzip / bzip without always getting python </tt> </tt>
+<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line"><tt class="py-docstring">        performance</tt> </tt>
+<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">        <tt class="py-comment"># assert that python modules are always OK based on performance benchmark</tt> </tt>
+<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt class="py-comment"># Try to fix the way we are using them?</tt> </tt>
+<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">        <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="fabio.fabioimage.fabioimage._need_a_real_file
+fabio.mar345image.mar345image._need_a_real_file" class="py-name" href="#" onclick="return doclink('link-124', '_need_a_real_file', 'link-7');">_need_a_real_file</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">mode</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"r"</tt><tt class="py-op">:</tt> </tt>
+<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">            <tt class="py-name">fo</tt> <tt class="py-op">=</tt> <tt class="py-name">python_uncompress</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">            <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">tmpfile</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">            <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-125', 'write', 'link-99');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">fo</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-126', 'read', 'link-50');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">            <tt class="py-name">fo</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">            <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="fabio.GEimage.GEimage._need_a_seek_to_read
+fabio.fabioimage.fabioimage._need_a_seek_to_read
+fabio.tifimage.tifimage._need_a_seek_to_read" class="py-name" href="#" onclick="return doclink('link-127', '_need_a_seek_to_read', 'link-6');">_need_a_seek_to_read</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">mode</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"r"</tt><tt class="py-op">:</tt> </tt>
+<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">            <tt class="py-name">fo</tt> <tt class="py-op">=</tt> <tt class="py-name">python_uncompress</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">            <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt id="link-128" class="py-name" targets="Class fabio.fabioimage.fabioStream=fabio.fabioimage.fabioStream-class.html"><a title="fabio.fabioimage.fabioStream" class="py-name" href="#" onclick="return doclink('link-128', 'fabioStream', 'link-128');">fabioStream</a></tt><tt class="py-op">(</tt><tt class="py-name">fo</tt><tt class="py-op">.</tt><tt id="li [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-129', 'read', 'link-50');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">            <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">python_uncompress</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">)</tt> </tt>
+<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">fobj</tt> </tt>
+</div><a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line"> </tt>
+<a name="fabioimage.convert"></a><div id="fabioimage.convert-def"><a name="L443"></a><tt class="py-lineno">443</tt> <a class="py-toggle" href="#" id="fabioimage.convert-toggle" onclick="return toggle('fabioimage.convert');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage.fabioimage-class.html#convert">convert</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dest</tt><tt class= [...]
+</div><div id="fabioimage.convert-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="fabioimage.convert-expanded"><a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line"><tt class="py-docstring">        Convert a fabioimage object into another fabioimage object (with possible conversions)</tt> </tt>
+<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line"><tt class="py-docstring">        @param dest: destination type "EDF", "edfimage" or the class itself </tt> </tt>
+<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringTypes</tt><tt class="py-op">:</tt> </tt>
+<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">            <tt class="py-name">dest</tt> <tt class="py-op">=</tt> <tt class="py-name">dest</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">            <tt class="py-name">modules</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">val</tt>  <tt class="py-keyword">in</tt> <tt id="link-130" class="py-name"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-130', 'fabioutils', 'link-2');">fabioutils</a></tt><tt class="py-op">.</tt><tt id="link-131" class="py-name" targets="Variable fabio.fabioutils.FILETYPES=fabio.fabioutils-module.html#FILETYPES"><a ti [...]
+<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">                <tt class="py-name">modules</tt> <tt class="py-op">+=</tt> <tt class="py-op">[</tt><tt id="link-132" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-132', 'i', 'link-86');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"image"</tt> <tt class="py-keyword">for</tt> <tt id="link-133" class="py-name"><a title="fabio.fabioutils.i" class="py-na [...]
+<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">            <tt class="py-name">klass</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">            <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">            <tt class="py-name">klass_name</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">klass_name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">modules</tt><tt class="py-op">:</tt> </tt>
+<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt>  <tt class="py-name">klass_name</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">                    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">                        <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt><tt class="py-string">"fabio."</tt> <tt class="py-op">+</tt> <tt class="py-name">klass_name</tt><tt class="py-op">]</tt> </tt>
+<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">                    <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">                        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">                            <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">klass_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">                        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">                            <tt id="link-135" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-135', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Failed to import %s"</tt><tt class="py-op">,</tt> <tt class="py-name">klass_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">                        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">                            <tt id="link-136" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-136', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"imported %simage"</tt><tt class="py-op">,</tt> <tt class="py-name">klass_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">module</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">                        <tt class="py-keyword">break</tt> </tt>
+<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">module</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">klass_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">                    <tt class="py-name">klass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">klass_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line">                    <tt id="link-137" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-137', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Module %s has no image class"</tt> <tt class="py-op">%</tt> <tt class="py-name">module</tt><tt class="py-op">)</tt> </tt>
+<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">            <tt class="py-name">klass</tt> <tt class="py-op">=</tt> <tt class="py-name">dest</tt><tt class="py-op">.</tt><tt class="py-name">__class__</tt> </tt>
+<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-string">"__new__"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dir</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">(</tt><tt class="py- [...]
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-138', 'fabioimage', 'link-138');">fabioimage</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">            <tt class="py-name">klass</tt> <tt class="py-op">=</tt> <tt class="py-name">dest</tt> </tt>
+<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">            <tt id="link-139" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-139', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Unrecognized destination format: %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">dest</tt><tt class="py-op">)</tt> </tt>
+<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">klass</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">            <tt id="link-140" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-140', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Unrecognized destination format: %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">dest</tt><tt class="py-op">)</tt> </tt>
+<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">        <tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">klass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-comment">#temporary instance (to be overwritten)</tt> </tt>
+<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">        <tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">klass</tt><tt class="py-op">(</tt><tt id="link-141" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-141', 'data', 'link-5');">data</a></tt><tt class="py-op">=</tt><tt id="link-142" class="py-name"><a title="fabio.converters" class="py-name" href="#" onclick="return doclink('link-142', 'converters', 'link-3');">converters</a></tt><tt class="py-op">.</tt><tt id="link-143" class="py-name" targets="Function fabio.converters.convert_data()=fabio.converters-module.html#convert_data"><a title="fabio.converter [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-146', 'data', 'link-5');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">                    <tt id="link-147" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-147', 'header', 'link-12');">header</a></tt><tt class="py-op">=</tt><tt id="link-148" class="py-name"><a title="fabio.converters" class="py-name" href="#" onclick="return doclink('link-148', 'converters', 'link-3');">converters</a></tt><tt class="py-op">.</tt><tt id="li [...]
+<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">other</tt> </tt>
+</div></div><a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line"> </tt>
+<a name="test"></a><div id="test-def"><a name="L489"></a><tt class="py-lineno">489</tt> <a class="py-toggle" href="#" id="test-toggle" onclick="return toggle('test');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioimage-module.html#test">test</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="test-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test-expanded"><a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line"><tt class="py-docstring">    check some basic fabioimage functionality</tt> </tt>
+<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">    <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line"> </tt>
+<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">    <tt class="py-name">dat</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">ones</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1024</tt><tt class="py-op">,</tt> <tt class="py-number">1024</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class=" [...]
+<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">    <tt class="py-name">dat</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">dat</tt> <tt class="py-op">*</tt> <tt class="py-number">50000</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">dat</tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">char</tt> <tt class="py-op">==</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">ones</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="p [...]
+<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line">    <tt class="py-name">hed</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">"Title"</tt><tt class="py-op">:</tt><tt class="py-string">"50000 everywhere"</tt><tt class="py-op">}</tt> </tt>
+<a name="L500"></a><tt class="py-lineno">500</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-153" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-153', 'fabioimage', 'link-138');">fabioimage</a></tt><tt class="py-op">(</tt><tt class="py-name">dat</tt><tt class="py-op">,</tt> <tt class="py-name">hed</tt><tt class="py-op">)</tt> </tt>
+<a name="L501"></a><tt class="py-lineno">501</tt>  <tt class="py-line"> </tt>
+<a name="L502"></a><tt class="py-lineno">502</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name" targets="Method fabio.fabioimage.fabioimage.getmax()=fabio.fabioimage.fabioimage-class.html#getmax"><a title="fabio.fabioimage.fabioimage.getmax" class="py-name" href="#" onclick="return doclink('link-154', 'getmax', 'link-154');">getmax</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> < [...]
+<a name="L503"></a><tt class="py-lineno">503</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name" targets="Method fabio.fabioimage.fabioimage.getmin()=fabio.fabioimage.fabioimage-class.html#getmin"><a title="fabio.fabioimage.fabioimage.getmin" class="py-name" href="#" onclick="return doclink('link-155', 'getmin', 'link-155');">getmin</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> < [...]
+<a name="L504"></a><tt class="py-lineno">504</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name" targets="Method fabio.fabioimage.fabioimage.getmean()=fabio.fabioimage.fabioimage-class.html#getmean"><a title="fabio.fabioimage.fabioimage.getmean" class="py-name" href="#" onclick="return doclink('link-156', 'getmean', 'link-156');">getmean</a></tt><tt class="py-op">(</tt><tt class="py-op">)</ [...]
+<a name="L505"></a><tt class="py-lineno">505</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-158" class="py-name" targets="Method fabio.fabioimage.fabioimage.getstddev()=fabio.fabioimage.fabioimage-class.html#getstddev"><a title="fabio.fabioimage.fabioimage.getstddev" class="py-name" href="#" onclick="return doclink('link-158', 'getstddev', 'link-158');">getstddev</a></tt><tt class="py-op">(</tt><tt class=" [...]
+<a name="L506"></a><tt class="py-lineno">506</tt>  <tt class="py-line"> </tt>
+<a name="L507"></a><tt class="py-lineno">507</tt>  <tt class="py-line">    <tt class="py-name">dat2</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1024</tt><tt class="py-op">,</tt> <tt class="py-number">1024</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class [...]
+<a name="L508"></a><tt class="py-lineno">508</tt>  <tt class="py-line">    <tt class="py-name">cord</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> <tt class="py-number">256</tt><tt class="py-op">,</tt> <tt class="py-number">256</tt><tt class="py-op">,</tt> <tt class="py-number">790</tt><tt class="py-op">,</tt> <tt class="py-number">768</tt> <tt class="py-op">]</tt> </tt>
+<a name="L509"></a><tt class="py-lineno">509</tt>  <tt class="py-line">    <tt class="py-name">slic</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="fabio.fabioimage.fabioimage.make_slice" class="py-name" href="#" onclick="return doclink('link-159', 'make_slice', 'link-69');">make_slice</a></tt><tt class="py-op">(</tt><tt class="py-name">cord</tt><tt class="py-op">)</tt> </tt>
+<a name="L510"></a><tt class="py-lineno">510</tt>  <tt class="py-line">    <tt class="py-name">dat2</tt><tt class="py-op">[</tt><tt class="py-name">slic</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">dat2</tt><tt class="py-op">[</tt><tt class="py-name">slic</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-number">100</tt> </tt>
+<a name="L511"></a><tt class="py-lineno">511</tt>  <tt class="py-line"> </tt>
+<a name="L512"></a><tt class="py-lineno">512</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-160" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-160', 'fabioimage', 'link-138');">fabioimage</a></tt><tt class="py-op">(</tt><tt class="py-name">dat2</tt><tt class="py-op">,</tt> <tt class="py-name">hed</tt><tt class="py-op">)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno">513</tt>  <tt class="py-line"> </tt>
+<a name="L514"></a><tt class="py-lineno">514</tt>  <tt class="py-line">    <tt class="py-comment"># New object, so...</tt> </tt>
+<a name="L515"></a><tt class="py-lineno">515</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">maxval</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> </tt>
+<a name="L516"></a><tt class="py-lineno">516</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">minval</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> </tt>
+<a name="L517"></a><tt class="py-lineno">517</tt>  <tt class="py-line"> </tt>
+<a name="L518"></a><tt class="py-lineno">518</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="fabio.fabioimage.fabioimage.getmax" class="py-name" href="#" onclick="return doclink('link-161', 'getmax', 'link-154');">getmax</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">100</tt><tt class="py-op">,</tt> <tt class="py-name"> [...]
+<a name="L519"></a><tt class="py-lineno">519</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-163" class="py-name"><a title="fabio.fabioimage.fabioimage.getmin" class="py-name" href="#" onclick="return doclink('link-163', 'getmin', 'link-155');">getmin</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-op">,</tt> <tt class="py-name">o [...]
+<a name="L520"></a><tt class="py-lineno">520</tt>  <tt class="py-line">    <tt class="py-name">npix</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">slic</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">stop</tt> <tt class="py-op">-</tt> <tt class="py-name">slic</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">start [...]
+<a name="L521"></a><tt class="py-lineno">521</tt>  <tt class="py-line">    <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-165', 'resetvals', 'link-80');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L522"></a><tt class="py-lineno">522</tt>  <tt class="py-line">    <tt class="py-name">area1</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name" targets="Method fabio.fabioimage.fabioimage.integrate_area()=fabio.fabioimage.fabioimage-class.html#integrate_area"><a title="fabio.fabioimage.fabioimage.integrate_area" class="py-name" href="#" onclick="return doclink('link-166', 'integrate_area', 'link-166');">integrate_ar [...]
+<a name="L523"></a><tt class="py-lineno">523</tt>  <tt class="py-line">    <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-167', 'resetvals', 'link-80');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L524"></a><tt class="py-lineno">524</tt>  <tt class="py-line">    <tt class="py-name">area2</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="fabio.fabioimage.fabioimage.integrate_area" class="py-name" href="#" onclick="return doclink('link-168', 'integrate_area', 'link-166');">integrate_area</a></tt><tt class="py-op">(</tt><tt class="py-name">slic</tt><tt class="py-op">)</tt> </tt>
+<a name="L525"></a><tt class="py-lineno">525</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">area1</tt> <tt class="py-op">==</tt> <tt class="py-name">area2</tt> </tt>
+<a name="L526"></a><tt class="py-lineno">526</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="fabio.fabioimage.fabioimage.integrate_area" class="py-name" href="#" onclick="return doclink('link-169', 'integrate_area', 'link-166');">integrate_area</a></tt><tt class="py-op">(</tt><tt class="py-name">cord</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">ob [...]
+<a name="L527"></a><tt class="py-lineno">527</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="fabio.fabioimage.fabioimage.integrate_area" class="py-name" href="#" onclick="return doclink('link-171', 'integrate_area', 'link-166');">integrate_area</a></tt><tt class="py-op">(</tt><tt class="py-name">cord</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">np [...]
+<a name="L528"></a><tt class="py-lineno">528</tt>  <tt class="py-line"> </tt>
+<a name="L529"></a><tt class="py-lineno">529</tt>  <tt class="py-line"> </tt>
+<a name="L530"></a><tt class="py-lineno">530</tt>  <tt class="py-line">    <tt class="py-keyword">def</tt> <tt class="py-def-name">clean</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L531"></a><tt class="py-lineno">531</tt>  <tt class="py-line">        <tt class="py-docstring">""" clean up the created testfiles"""</tt> </tt>
+<a name="L532"></a><tt class="py-lineno">532</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">"testfile"</tt><tt class="py-op">,</tt> <tt class="py-string">"testfile.gz"</tt><tt class="py-op">,</tt> <tt class="py-string">"testfile.bz2"</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L533"></a><tt class="py-lineno">533</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L534"></a><tt class="py-lineno">534</tt>  <tt class="py-line">                <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L535"></a><tt class="py-lineno">535</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L536"></a><tt class="py-lineno">536</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+</div><a name="L537"></a><tt class="py-lineno">537</tt>  <tt class="py-line"> </tt>
+<a name="L538"></a><tt class="py-lineno">538</tt>  <tt class="py-line"> </tt>
+<a name="L539"></a><tt class="py-lineno">539</tt>  <tt class="py-line">    <tt class="py-name">clean</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L540"></a><tt class="py-lineno">540</tt>  <tt class="py-line"> </tt>
+<a name="L541"></a><tt class="py-lineno">541</tt>  <tt class="py-line">    <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"testfile.gz"</tt><tt class="py-op">,</tt> <tt class="py-string">"wb"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-173', 'write', 'link-99');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">"{ hello }"</tt><tt class="py-op">)</tt> </tt>
+<a name="L542"></a><tt class="py-lineno">542</tt>  <tt class="py-line">    <tt class="py-name">fout</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-174', '_open', 'link-104');">_open</a></tt><tt class="py-op">(</tt><tt class="py-string">"testfile.gz"</tt><tt class="py-op">)</tt> </tt>
+<a name="L543"></a><tt class="py-lineno">543</tt>  <tt class="py-line">    <tt class="py-name">readin</tt> <tt class="py-op">=</tt> <tt class="py-name">fout</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-175', 'read', 'link-50');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L544"></a><tt class="py-lineno">544</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">readin</tt> <tt class="py-op">==</tt> <tt class="py-string">"{ hello }"</tt><tt class="py-op">,</tt> <tt class="py-name">readin</tt> <tt class="py-op">+</tt> <tt class="py-string">" gzipped file"</tt> </tt>
+<a name="L545"></a><tt class="py-lineno">545</tt>  <tt class="py-line"> </tt>
+<a name="L546"></a><tt class="py-lineno">546</tt>  <tt class="py-line"> </tt>
+<a name="L547"></a><tt class="py-lineno">547</tt>  <tt class="py-line">    <tt class="py-name">bz2</tt><tt class="py-op">.</tt><tt class="py-name">BZ2File</tt><tt class="py-op">(</tt><tt class="py-string">"testfilebz"</tt><tt class="py-op">,</tt> <tt class="py-string">"wb"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-176', 'write', 'link-99');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">"{ hello }"</tt><tt class="py-op">)</tt> </tt>
+<a name="L548"></a><tt class="py-lineno">548</tt>  <tt class="py-line">    <tt class="py-name">fout</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-177', '_open', 'link-104');">_open</a></tt><tt class="py-op">(</tt><tt class="py-string">"testfile.bz2"</tt><tt class="py-op">)</tt> </tt>
+<a name="L549"></a><tt class="py-lineno">549</tt>  <tt class="py-line">    <tt class="py-name">readin</tt> <tt class="py-op">=</tt> <tt class="py-name">fout</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-178', 'read', 'link-50');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L550"></a><tt class="py-lineno">550</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">readin</tt> <tt class="py-op">==</tt> <tt class="py-string">"{ hello }"</tt><tt class="py-op">,</tt> <tt class="py-name">readin</tt> <tt class="py-op">+</tt> <tt class="py-string">" bzipped file"</tt> </tt>
+<a name="L551"></a><tt class="py-lineno">551</tt>  <tt class="py-line"> </tt>
+<a name="L552"></a><tt class="py-lineno">552</tt>  <tt class="py-line">    <tt class="py-name">ftest</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"testfile"</tt><tt class="py-op">,</tt> <tt class="py-string">"wb"</tt><tt class="py-op">)</tt> </tt>
+<a name="L553"></a><tt class="py-lineno">553</tt>  <tt class="py-line">    <tt class="py-name">ftest</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-179', 'write', 'link-99');">write</a></tt><tt class="py-op">(</tt><tt class="py-string">"{ hello }"</tt><tt class="py-op">)</tt> </tt>
+<a name="L554"></a><tt class="py-lineno">554</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">ftest</tt> <tt class="py-op">==</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-180', '_open', 'link-104');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">ftest</tt><tt class="py-op">)</tt> </tt>
+<a name="L555"></a><tt class="py-lineno">555</tt>  <tt class="py-line">    <tt class="py-name">ftest</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L556"></a><tt class="py-lineno">556</tt>  <tt class="py-line">    <tt class="py-name">fout</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-181', '_open', 'link-104');">_open</a></tt><tt class="py-op">(</tt><tt class="py-string">"testfile"</tt><tt class="py-op">)</tt> </tt>
+<a name="L557"></a><tt class="py-lineno">557</tt>  <tt class="py-line">    <tt class="py-name">readin</tt> <tt class="py-op">=</tt> <tt class="py-name">fout</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-182', 'read', 'link-50');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L558"></a><tt class="py-lineno">558</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">readin</tt> <tt class="py-op">==</tt> <tt class="py-string">"{ hello }"</tt><tt class="py-op">,</tt> <tt class="py-name">readin</tt> <tt class="py-op">+</tt> <tt class="py-string">"plain file"</tt> </tt>
+<a name="L559"></a><tt class="py-lineno">559</tt>  <tt class="py-line">    <tt class="py-name">fout</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L560"></a><tt class="py-lineno">560</tt>  <tt class="py-line">    <tt class="py-name">ftest</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L561"></a><tt class="py-lineno">561</tt>  <tt class="py-line">    <tt class="py-name">clean</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L562"></a><tt class="py-lineno">562</tt>  <tt class="py-line"> </tt>
+<a name="L563"></a><tt class="py-lineno">563</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"Passed in"</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt><tt class="py-op">,</tt> <tt class="py-string">"s"</tt> </tt>
+</div><a name="L564"></a><tt class="py-lineno">564</tt>  <tt class="py-line"> </tt>
+<a name="L565"></a><tt class="py-lineno">565</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">'__main__'</tt><tt class="py-op">:</tt> </tt>
+<a name="L566"></a><tt class="py-lineno">566</tt>  <tt class="py-line">    <tt id="link-183" class="py-name" targets="Function fabio.adscimage.test()=fabio.adscimage-module.html#test,Function fabio.brukerimage.test()=fabio.brukerimage-module.html#test,Function fabio.fabioimage.test()=fabio.fabioimage-module.html#test"><a title="fabio.adscimage.test
+fabio.brukerimage.test
+fabio.fabioimage.test" class="py-name" href="#" onclick="return doclink('link-183', 'test', 'link-183');">test</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L567"></a><tt class="py-lineno">567</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fabioimage.fabioStream-class.html b/doc/html/fabio.fabioimage.fabioStream-class.html
new file mode 100644
index 0000000..6b9cef1
--- /dev/null
+++ b/doc/html/fabio.fabioimage.fabioStream-class.html
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fabioimage.fabioStream</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.fabioimage-module.html">Module fabioimage</a> ::
+        Class fabioStream
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fabioimage.fabioStream-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class fabioStream</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioStream">source code</a></span></p>
+<pre class="base-tree">
+StringIO.StringIO --+
+                    |
+                   <strong class="uidshort">fabioStream</strong>
+</pre>
+
+<hr />
+<p>just an interface providing the name and mode property to a 
+  StringIO</p>
+  <p>BugFix for MacOSX</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fabioimage.fabioStream-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">data</span>,
+        <span class="summary-sig-arg">fname</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioStream.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>StringIO.StringIO</code></b>:
+      <code>__iter__</code>,
+      <code>close</code>,
+      <code>flush</code>,
+      <code>getvalue</code>,
+      <code>isatty</code>,
+      <code>next</code>,
+      <code>read</code>,
+      <code>readline</code>,
+      <code>readlines</code>,
+      <code>seek</code>,
+      <code>tell</code>,
+      <code>truncate</code>,
+      <code>write</code>,
+      <code>writelines</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">data</span>,
+        <span class="sig-arg">fname</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">mode</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioStream.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Overrides:
+        StringIO.StringIO.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fabioimage.fabioimage-class.html b/doc/html/fabio.fabioimage.fabioimage-class.html
new file mode 100644
index 0000000..9e09208
--- /dev/null
+++ b/doc/html/fabio.fabioimage.fabioimage-class.html
@@ -0,0 +1,991 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fabioimage.fabioimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.fabioimage-module.html">Module fabioimage</a> ::
+        Class fabioimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fabioimage.fabioimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class fabioimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage">source code</a></span></p>
+<pre class="base-tree">
+object --+
+         |
+        <strong class="uidshort">fabioimage</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+      <ul class="subclass-list">
+<li><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html">fit2dmaskimage.fit2dmaskimage</a></li><li>, <a href="fabio.tifimage.tifimage-class.html">tifimage.tifimage</a></li><li>, <a href="fabio.brukerimage.brukerimage-class.html">brukerimage.brukerimage</a></li><li>, <a href="fabio.binaryimage.binaryimage-class.html">binaryimage.binaryimage</a></li><li>, <a href="fabio.xsdimage.xsdimage-class.html">xsdimage.xsdimage</a></li><li>, <a href="fabio.GEimage.GEimage-class.html">GEimage.GEim [...]
+</dd></dl>
+
+<hr />
+<p>A common object for images in fable Contains a numpy array (.data) and
+  dict of meta data (.header)</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fabioimage.fabioimage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">header</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Set up initial values</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fabioimage.fabioimage-class.html#getclassname" class="summary-sig-name">getclassname</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Retrieves the name of the class</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.getclassname">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getframe"></a><span class="summary-sig-name">getframe</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      returns the file numbered 'num' in the series as a fabioimage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.getframe">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="previous"></a><span class="summary-sig-name">previous</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns the previous file in the series as a fabioimage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.previous">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="next"></a><span class="summary-sig-name">next</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns the next file in the series as a fabioimage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.next">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fabioimage.fabioimage-class.html#toPIL16" class="summary-sig-name">toPIL16</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Convert to Python Imaging Library 16 bit greyscale image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.toPIL16">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getheader"></a><span class="summary-sig-name">getheader</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns self.header</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.getheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getmax"></a><span class="summary-sig-name">getmax</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Find max value in self.data, caching for the future</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.getmax">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getmin"></a><span class="summary-sig-name">getmin</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Find min value in self.data, caching for the future</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.getmin">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="make_slice"></a><span class="summary-sig-name">make_slice</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">coords</span>)</span><br />
+      Convert a len(4) set of coords into a len(2) tuple (pair) of slice 
+      objects the latter are immutable, meaning the roi can be cached</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.make_slice">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="integrate_area"></a><span class="summary-sig-name">integrate_area</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">coords</span>)</span><br />
+      Sums up a region of interest if len(coords) == 4 -> convert coords
+      to slices if len(coords) == 2 -> use as slices floor -> ? 
+      removed as unused in the function.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.integrate_area">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getmean"></a><span class="summary-sig-name">getmean</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      return the mean</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.getmean">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getstddev"></a><span class="summary-sig-name">getstddev</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      return the standard deviation</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.getstddev">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="add"></a><span class="summary-sig-name">add</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">other</span>)</span><br />
+      Add another Image - warning, does not clip to 16 bit images by 
+      default</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.add">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="resetvals"></a><span class="summary-sig-name">resetvals</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Reset cache - call on changing data</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.resetvals">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fabioimage.fabioimage-class.html#rebin" class="summary-sig-name">rebin</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">x_rebin_fact</span>,
+        <span class="summary-sig-arg">y_rebin_fact</span>,
+        <span class="summary-sig-arg">keep_I</span>=<span class="summary-sig-default">True</span>)</span><br />
+      Rebin the data and adjust dims</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.rebin">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="write"></a><span class="summary-sig-name">write</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      To be overwritten - write the file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="save"></a><span class="summary-sig-name">save</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      wrapper for write</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.save">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="readheader"></a><span class="summary-sig-name">readheader</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>)</span><br />
+      Call the _readheader function...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_readheader"></a><span class="summary-sig-name">_readheader</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fik_obj</span>)</span><br />
+      Must be overridden in classes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="update_header"></a><span class="summary-sig-name">update_header</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">**kwds</span>)</span><br />
+      update the header entries by default pass in a dict of key, values.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.update_header">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="read"></a><span class="summary-sig-name">read</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      To be overridden - fill in self.header and self.data</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="load"></a><span class="summary-sig-name">load</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*arg</span>,
+        <span class="summary-sig-arg">**kwarg</span>)</span><br />
+      Wrapper for read</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.load">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fabioimage.fabioimage-class.html#readROI" class="summary-sig-name">readROI</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">coords</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Method reading Region of Interest.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.readROI">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fabioimage.fabioimage-class.html#_open" class="summary-sig-name" onclick="show_private();">_open</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">rb</code><code class="variable-quote">'</code></span>)</span><br />
+      Try to handle compressed files, streams, shared memory etc Return an 
+      object which can be used for "read" and "write" 
+      ...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage._open">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_compressed_stream"></a><span class="summary-sig-name">_compressed_stream</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">system_uncompress</span>,
+        <span class="summary-sig-arg">python_uncompress</span>,
+        <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">rb</code><code class="variable-quote">'</code></span>)</span><br />
+      Try to transparently handle gzip / bzip without always getting python
+      performance</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage._compressed_stream">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fabioimage.fabioimage-class.html#convert" class="summary-sig-name">convert</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">dest</span>)</span><br />
+      Convert a fabioimage object into another fabioimage object (with 
+      possible conversions)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.convert">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="checkHeader"></a><span class="summary-sig-name">checkHeader</span>(<span class="summary-sig-arg">header</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Empty for fabioimage but may be populated by others classes</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="checkData"></a><span class="summary-sig-name">checkData</span>(<span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Empty for fabioimage but may be populated by others classes, 
+      especially for format accepting only integers</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="_need_a_seek_to_read"></a><span class="summary-name">_need_a_seek_to_read</span> = <code title="False">False</code>
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="_need_a_real_file"></a><span class="summary-name">_need_a_real_file</span> = <code title="False">False</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.fabioimage.fabioimage-class.html#classname" class="summary-name">classname</a><br />
+      Retrieves the name of the class
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">data</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">header</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Set up initial values</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getclassname"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getclassname</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.getclassname">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Retrieves the name of the class</p>
+  <dl class="fields">
+    <dt>Returns:</dt>
+        <dd>the name of the class</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="toPIL16"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">toPIL16</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">filename</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.toPIL16">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Convert to Python Imaging Library 16 bit greyscale image</p>
+  <p>FIXME - this should be handled by the libraries now</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="rebin"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">rebin</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">x_rebin_fact</span>,
+        <span class="sig-arg">y_rebin_fact</span>,
+        <span class="sig-arg">keep_I</span>=<span class="sig-default">True</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.rebin">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Rebin the data and adjust dims</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>x_rebin_fact</code></strong> (int) - x binning factor</li>
+        <li><strong class="pname"><code>y_rebin_fact</code></strong> (int) - y binning factor</li>
+        <li><strong class="pname"><code>keep_I</code></strong> (boolean) - shall the signal increase ?</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="readROI"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">readROI</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">filename</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">coords</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.readROI">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Method reading Region of Interest. This implementation is the trivial 
+  one, just doing read and crop</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="_open"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_open</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">mode</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">rb</code><code class="variable-quote">'</code></span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage._open">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Try to handle compressed files, streams, shared memory etc Return an 
+  object which can be used for "read" and "write" ... 
+  FIXME - what about seek ?</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="convert"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">convert</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">dest</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fabioimage-pysrc.html#fabioimage.convert">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Convert a fabioimage object into another fabioimage object (with 
+  possible conversions)</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>dest</code></strong> - destination type "EDF", "edfimage" or the 
+          class itself</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== PROPERTY DETAILS ==================== -->
+<a name="section-PropertyDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Property Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-PropertyDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="classname"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">classname</h3>
+  <p>Retrieves the name of the class</p>
+  <dl class="fields">
+    <dt>Get Method:</dt>
+    <dd class="value"><span class="summary-sig"><a href="fabio.fabioimage.fabioimage-class.html#getclassname" class="summary-sig-name">getclassname</a>(<span class="summary-sig-arg">self</span>)</span>
+        - Retrieves the name of the class
+    </dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fabioutils-module.html b/doc/html/fabio.fabioutils-module.html
new file mode 100644
index 0000000..48c8a3f
--- /dev/null
+++ b/doc/html/fabio.fabioutils-module.html
@@ -0,0 +1,598 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fabioutils</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module fabioutils
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fabioutils-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module fabioutils</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.fabioutils-pysrc.html">source code</a></span></p>
+<p>General purpose utilities functions for fabio</p>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.fabioutils.filename_object-class.html" class="summary-name">filename_object</a><br />
+      The 'meaning' of a filename
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="getnum"></a><span class="summary-sig-name">getnum</span>(<span class="summary-sig-arg">name</span>)</span><br />
+      # try to figure out a file number # guess it starts at the back</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#getnum">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="numstem"></a><span class="summary-sig-name">numstem</span>(<span class="summary-sig-arg">name</span>)</span><br />
+      cant see how to do without reversing strings Match 1 or more digits 
+      going backwards from the end of the string</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#numstem">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="deconstruct_filename"></a><span class="summary-sig-name">deconstruct_filename</span>(<span class="summary-sig-arg">filename</span>)</span><br />
+      Break up a filename to get image type and number</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#deconstruct_filename">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="construct_filename"></a><span class="summary-sig-name">construct_filename</span>(<span class="summary-sig-arg">filename</span>,
+        <span class="summary-sig-arg">frame</span>)</span><br />
+      Try to construct the filename for a given frame</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#construct_filename">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="next_filename"></a><span class="summary-sig-name">next_filename</span>(<span class="summary-sig-arg">name</span>,
+        <span class="summary-sig-arg">padding</span>=<span class="summary-sig-default">True</span>)</span><br />
+      increment number</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#next_filename">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="previous_filename"></a><span class="summary-sig-name">previous_filename</span>(<span class="summary-sig-arg">name</span>,
+        <span class="summary-sig-arg">padding</span>=<span class="summary-sig-default">True</span>)</span><br />
+      decrement number</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#previous_filename">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="jump_filename"></a><span class="summary-sig-name">jump_filename</span>(<span class="summary-sig-arg">name</span>,
+        <span class="summary-sig-arg">num</span>,
+        <span class="summary-sig-arg">padding</span>=<span class="summary-sig-default">True</span>)</span><br />
+      jump to number</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#jump_filename">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="extract_filenumber"></a><span class="summary-sig-name">extract_filenumber</span>(<span class="summary-sig-arg">name</span>)</span><br />
+      extract file number</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#extract_filenumber">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fabioutils-module.html#isAscii" class="summary-sig-name">isAscii</a>(<span class="summary-sig-arg">name</span>,
+        <span class="summary-sig-arg">listExcluded</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Returns:
+      True of False whether  name is pure ascii or not</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#isAscii">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fabioutils-module.html#toAscii" class="summary-sig-name">toAscii</a>(<span class="summary-sig-arg">name</span>,
+        <span class="summary-sig-arg">excluded</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Returns:
+      the name with all non valid char removed</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#toAscii">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("fabioutils")">logging.getLogger("fabioutils")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.fabioutils-module.html#FILETYPES" class="summary-name">FILETYPES</a> = <code title="{'cbf': ['cbf'],
+ 'cbf.bz2': ['cbf'],
+ 'cbf.gz': ['cbf'],
+ 'cor': ['edf'],
+ 'cor.bz2': ['edf'],
+ 'cor.gz': ['edf'],
+ 'dm3': ['dm3'],
+ 'dm3.bz2': ['dm3'],
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">cbf</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">cbf</code><code class="variable-quote">'</code><code class="variable-group">]</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">cbf.bz2</co [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="COMPRESSORS"></a><span class="summary-name">COMPRESSORS</span> = <code title="{'.bz2': 'bzip2 -dc ', '.gz': 'gzip -dc '}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">.bz2</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">bzip2 -dc </code><code class="variable-quote">'</code><code class="variable-op">, </code><code clas [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.fabioutils-module.html#dictAscii" class="summary-name">dictAscii</a> = <code title="{None: [' ',
+        '!',
+        '"',
+        '#',
+        '$',
+        '%',
+        '&',
+        '\'',
+..."><code class="variable-group">{</code>None<code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string"> </code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">!</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">"</code> [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.fabioutils-module.html#lines" class="summary-name">lines</a> = <code title="'''bzip2, a block-sorting file compressor.  Version 1.0.5, 10-Dec-2007\
+.
+
+   usage: bzip2 [flags and input files in any order]
+
+   -h --help           print this message
+   -d --decompress     force decompression
+   -z --compress       force compression
+..."><code class="variable-quote">'</code><code class="variable-string">bzip2, a block-sorting file compressor.  Version 1.0.</code><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="i"></a><span class="summary-name">i</span> = <code title="126">126</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="key"></a><span class="summary-name">key</span> = <code title="'cbf'"><code class="variable-quote">'</code><code class="variable-string">cbf</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="isAscii"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">isAscii</span>(<span class="sig-arg">name</span>,
+        <span class="sig-arg">listExcluded</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fabioutils-pysrc.html#isAscii">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>name</code></strong> - string to check</li>
+        <li><strong class="pname"><code>listExcluded</code></strong> - list of char or string excluded.</li>
+    </ul></dd>
+    <dt>Returns:</dt>
+        <dd>True of False whether  name is pure ascii or not</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="toAscii"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">toAscii</span>(<span class="sig-arg">name</span>,
+        <span class="sig-arg">excluded</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fabioutils-pysrc.html#toAscii">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>name</code></strong> - string to check</li>
+        <li><strong class="pname"><code>excluded</code></strong> - tuple of char or string excluded (not list: they are mutable).</li>
+    </ul></dd>
+    <dt>Returns:</dt>
+        <dd>the name with all non valid char removed</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="FILETYPES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">FILETYPES</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">cbf</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">cbf</code><code class="variable-quote">'</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">cbf.bz2</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">cbf</code><code class="variable-quote">'</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">cbf.gz</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">cbf</code><code class="variable-quote">'</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">cor</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">edf</code><code class="variable-quote">'</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">cor.bz2</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">edf</code><code class="variable-quote">'</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">cor.gz</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">edf</code><code class="variable-quote">'</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">dm3</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">dm3</code><code class="variable-quote">'</code><code class="variable-group">]</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">dm3.bz2</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">dm3</code><code class="variable-quote">'</code><code class="variable-group">]</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="dictAscii"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">dictAscii</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>None<code class="variable-op">: </code><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string"> </code><code class="variable-quote">'</code><code class="variable-op">,</code>
+        <code class="variable-quote">'</code><code class="variable-string">!</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+        <code class="variable-quote">'</code><code class="variable-string">"</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+        <code class="variable-quote">'</code><code class="variable-string">#</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+        <code class="variable-quote">'</code><code class="variable-string">$</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+        <code class="variable-quote">'</code><code class="variable-string">%</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+        <code class="variable-quote">'</code><code class="variable-string">&</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+        <code class="variable-quote">'</code><code class="variable-string">\'</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="lines"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">lines</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-quote">'''</code><code class="variable-string">bzip2, a block-sorting file compressor.  Version 1.0.5, 10-Dec-2007</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">.</code>
+<code class="variable-string"></code>
+<code class="variable-string">   usage: bzip2 [flags and input files in any order]</code>
+<code class="variable-string"></code>
+<code class="variable-string">   -h --help           print this message</code>
+<code class="variable-string">   -d --decompress     force decompression</code>
+<code class="variable-string">   -z --compress       force compression</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fabioutils-pysrc.html b/doc/html/fabio.fabioutils-pysrc.html
new file mode 100644
index 0000000..c80119e
--- /dev/null
+++ b/doc/html/fabio.fabioutils-pysrc.html
@@ -0,0 +1,487 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fabioutils</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module fabioutils
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fabioutils-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.fabioutils-module.html">Module fabio.fabioutils</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#coding: utf8</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">General purpose utilities functions for fabio</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bruk [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"fabioutils"</tt><tt class="py-op">)</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable fabio.fabioutils.FILETYPES=fabio.fabioutils-module.html#FILETYPES"><a title="fabio.fabioutils.FILETYPES" class="py-name" href="#" onclick="return doclink('link-1', 'FILETYPES', 'link-1');">FILETYPES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">    <tt class="py-comment"># extension NNNimage fabioclass</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">    <tt class="py-comment"># type consistency - always use a list if one case is</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">    <tt class="py-string">'edf'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'edf'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">    <tt class="py-string">'cor'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'edf'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">    <tt class="py-string">'pnm'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'pnm'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">    <tt class="py-string">'pgm'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'pnm'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">    <tt class="py-string">'pbm'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'pnm'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">    <tt class="py-string">'tif'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'tif'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">    <tt class="py-string">'tiff'</tt>   <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'tif'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt class="py-string">'img'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'adsc'</tt><tt class="py-op">,</tt> <tt class="py-string">'OXD'</tt><tt class="py-op">,</tt> <tt class="py-string">'HiPiC'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt class="py-string">'mccd'</tt>   <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'marccd'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-string">'mar2300'</tt><tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'mar345'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">    <tt class="py-string">'sfrm'</tt>   <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'bruker100'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">    <tt class="py-string">'msk'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'fit2dmask'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">    <tt class="py-string">'spr'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'fit2dspreadsheet'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-string">'dm3'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'dm3'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-string">'kcd'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'kcd'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-string">'cbf'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">'cbf'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-string">'xml'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">"xsd"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">    <tt class="py-string">'xsd'</tt>    <tt class="py-op">:</tt> <tt class="py-op">[</tt><tt class="py-string">"xsd"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">             <tt class="py-op">}</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-comment"># Add bzipped and gzipped</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-keyword">for</tt> <tt id="link-2" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-2', 'key', 'link-2');">key</a></tt> <tt class="py-keyword">in</tt> <tt id="link-3" class="py-name"><a title="fabio.fabioutils.FILETYPES" class="py-name" href="#" onclick="return doclink('link-3', 'F [...]
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt id="link-4" class="py-name"><a title="fabio.fabioutils.FILETYPES" class="py-name" href="#" onclick="return doclink('link-4', 'FILETYPES', 'link-1');">FILETYPES</a></tt><tt class="py-op">[</tt><tt id="link-5" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-5', 'key', 'link-2');">key</a></tt> <tt class="py-op">+</tt> <tt class="py-string">".bz2"</tt><tt class [...]
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt id="link-8" class="py-name"><a title="fabio.fabioutils.FILETYPES" class="py-name" href="#" onclick="return doclink('link-8', 'FILETYPES', 'link-1');">FILETYPES</a></tt><tt class="py-op">[</tt><tt id="link-9" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-9', 'key', 'link-2');">key</a></tt> <tt class="py-op">+</tt> <tt class="py-string">".gz"</tt><tt class= [...]
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-comment"># Compressors</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable fabio.fabioutils.COMPRESSORS=fabio.fabioutils-module.html#COMPRESSORS"><a title="fabio.fabioutils.COMPRESSORS" class="py-name" href="#" onclick="return doclink('link-12', 'COMPRESSORS', 'link-12');">COMPRESSORS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt id="link-13" class="py-name" targets="Variable fabio.fabioutils.dictAscii=fabio.fabioutils-module.html#dictAscii"><a title="fabio.fabioutils.dictAscii" class="py-name" href="#" onclick="return doclink('link-13', 'dictAscii', 'link-13');">dictAscii</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt><tt class="py-op">[</tt><tt class="py-name">chr</tt><tt cla [...]
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">           <tt class="py-op">}</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt id="link-16" class="py-name" targets="Variable fabio.fabioutils.lines=fabio.fabioutils-module.html#lines"><a title="fabio.fabioutils.lines" class="py-name" href="#" onclick="return doclink('link-16', 'lines', 'link-16');">lines</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen</tt><tt class="py-op">(</tt><tt class="py-string">"gzip -h 2>&1"</tt [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-17', 'read', 'link-17');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-comment"># Looking for "usage"</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">"sage"</tt> <tt class="py-keyword">in</tt> <tt id="link-18" class="py-name"><a title="fabio.fabioutils.lines" class="py-name" href="#" onclick="return doclink('link-18', 'lines', 'link-16');">lines</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt id="link-19" class="py-name"><a title="fabio.fabioutils.COMPRESSORS" class="py-name" href="#" onclick="return doclink('link-19', 'COMPRESSORS', 'link-12');">COMPRESSORS</a></tt><tt class="py-op">[</tt><tt class="py-string">'.gz'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'gzip -dc '</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt id="link-20" class="py-name"><a title="fabio.fabioutils.COMPRESSORS" class="py-name" href="#" onclick="return doclink('link-20', 'COMPRESSORS', 'link-12');">COMPRESSORS</a></tt><tt class="py-op">[</tt><tt class="py-string">'.gz'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt id="link-21" class="py-name"><a title="fabio.fabioutils.COMPRESSORS" class="py-name" href="#" onclick="return doclink('link-21', 'COMPRESSORS', 'link-12');">COMPRESSORS</a></tt><tt class="py-op">[</tt><tt class="py-string">'.gz'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt id="link-22" class="py-name"><a title="fabio.fabioutils.lines" class="py-name" href="#" onclick="return doclink('link-22', 'lines', 'link-16');">lines</a></tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">popen</tt><tt class="py-op">(</tt><tt class="py-string">"bzip2 -h 2>&1"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-23" class="py- [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-23', 'read', 'link-17');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-comment"># Looking for "usage" </tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-string">"sage"</tt> <tt class="py-keyword">in</tt> <tt id="link-24" class="py-name"><a title="fabio.fabioutils.lines" class="py-name" href="#" onclick="return doclink('link-24', 'lines', 'link-16');">lines</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt id="link-25" class="py-name"><a title="fabio.fabioutils.COMPRESSORS" class="py-name" href="#" onclick="return doclink('link-25', 'COMPRESSORS', 'link-12');">COMPRESSORS</a></tt><tt class="py-op">[</tt><tt class="py-string">'.bz2'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'bzip2 -dc '</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt id="link-26" class="py-name"><a title="fabio.fabioutils.COMPRESSORS" class="py-name" href="#" onclick="return doclink('link-26', 'COMPRESSORS', 'link-12');">COMPRESSORS</a></tt><tt class="py-op">[</tt><tt class="py-string">'.bz2'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt id="link-27" class="py-name"><a title="fabio.fabioutils.COMPRESSORS" class="py-name" href="#" onclick="return doclink('link-27', 'COMPRESSORS', 'link-12');">COMPRESSORS</a></tt><tt class="py-op">[</tt><tt class="py-string">'.bz2'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
+<a name="getnum"></a><div id="getnum-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="getnum-toggle" onclick="return toggle('getnum');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils-module.html#getnum">getnum</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="getnum-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="getnum-expanded"><a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    # try to figure out a file number</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">    # guess it starts at the back</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-name">stem</tt> <tt class="py-op">,</tt> <tt class="py-name">num</tt><tt class="py-op">,</tt> <tt class="py-name">post_num</tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name" targets="Function fabio.fabioutils.numstem()=fabio.fabioutils-module.html#numstem"><a title="fabio.fabioutils.numstem" class="py-name" href="#" onclick="return doclink('link-28', 'numstem', 'link-28');">numstem</a></tt [...]
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="filename_object"></a><div id="filename_object-def"><a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="filename_object-toggle" onclick="return toggle('filename_object');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.fabioutils.filename_object-class.html">filename_object</a><tt class="py-op">:</tt> </tt>
+</div><div id="filename_object-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="filename_object-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    The 'meaning' of a filename</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="filename_object.__init__"></a><div id="filename_object.__init__-def"><a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="filename_object.__init__-toggle" onclick="return toggle('filename_object.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils.filename_object-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class= [...]
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-param">num</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-param">directory</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-param">format</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-param">extension</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-param">postnum</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-param">digits</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="filename_object.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_object.__init__-expanded"><a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stem</tt> <tt class="py-op">=</tt> <tt class="py-name">stem</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">num</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">format</tt> <tt class="py-op">=</tt> <tt class="py-name">format</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">extension</tt> <tt class="py-op">=</tt> <tt class="py-name">extension</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">digits</tt> <tt class="py-op">=</tt> <tt class="py-name">digits</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postnum</tt> <tt class="py-op">=</tt> <tt class="py-name">postnum</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">directory</tt> <tt class="py-op">=</tt> <tt class="py-name">directory</tt> </tt>
+</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt>
+<a name="filename_object.str"></a><div id="filename_object.str-def"><a name="L100"></a><tt class="py-lineno">100</tt> <a class="py-toggle" href="#" id="filename_object.str-toggle" onclick="return toggle('filename_object.str');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils.filename_object-class.html#str">str</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="filename_object.str-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_object.str-expanded"><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-docstring">""" Return a string representation """</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-string">"stem %s, num %s format %s extension %s "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">                <tt class="py-string">"postnum = %s digits %s dir %s"</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">fmt</tt> <tt class="py-op">%</tt> <tt class="py-name">tuple</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt id="link-29" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-29', 'str', 'link-29');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stem</tt> <tt class="py-op">,</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">,</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">format</tt> <tt class="py-op">,</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">extension</tt> <tt class="py-op">,</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postnum</tt> <tt class="py-op">,</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">digits</tt> <tt class="py-op">,</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">directory</tt> <tt class="py-op">]</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"> </tt>
+<a name="filename_object.tostring"></a><div id="filename_object.tostring-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="filename_object.tostring-toggle" onclick="return toggle('filename_object.tostring');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils.filename_object-class.html#tostring">tostring</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class= [...]
+</div><div id="filename_object.tostring-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_object.tostring-expanded"><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">        convert yourself to a string</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stem</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">digits</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</t [...]
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-string">"%0"</tt> <tt class="py-op">+</tt> <tt id="link-30" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-30', 'str', 'link-29');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">digits</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"d"</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">name</tt> <tt class="py-op">+=</tt> <tt class="py-name">fmt</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postnum</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-name">name</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">postnum</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">extension</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">name</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">extension</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">directory</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">directory</tt><tt class="py-op">,</tt> <tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">name</tt> </tt>
+</div></div><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="numstem"></a><div id="numstem-def"><a name="L131"></a><tt class="py-lineno">131</tt> <a class="py-toggle" href="#" id="numstem-toggle" onclick="return toggle('numstem');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils-module.html#numstem">numstem</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="numstem-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="numstem-expanded"><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt class="py-docstring">""" cant see how to do without reversing strings</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-docstring">    Match 1 or more digits going backwards from the end of the string</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">    <tt class="py-name">reg</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">compile</tt><tt class="py-op">(</tt><tt class="py-string">r"^(.*?)(-?[0-9]{0,9})(\D*)$"</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-comment">#reg = re.compile("""(\D*)(\d\d*)(\w*)""")</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">reg</tt><tt class="py-op">.</tt><tt class="py-name">match</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">groups</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-comment">#res = reg.match(name[::-1]).groups()</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        <tt class="py-comment">#return [ r[::-1] for r in res[::-1]]</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-31" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-31', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">res</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class= [...]
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-name">res</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">]</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">[</tt> <tt class="py-name">r</tt> <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">res</tt><tt class="py-op">]</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> <tt class="py-comment"># no digits found</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"> </tt>
+<a name="deconstruct_filename"></a><div id="deconstruct_filename-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="deconstruct_filename-toggle" onclick="return toggle('deconstruct_filename');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils-module.html#deconstruct_filename">deconstruct_filename</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op" [...]
+</div><div id="deconstruct_filename-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="deconstruct_filename-expanded"><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">    Break up a filename to get image type and number</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-name">direc</tt> <tt class="py-op">,</tt> <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-33" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-33', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">direc</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">direc</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">    <tt class="py-name">parts</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split< [...]
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-comment"># loop back from end</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-name">compressed</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">    <tt class="py-name">extn</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">    <tt class="py-name">postnum</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-name">ndigit</tt> <tt class="py-op">=</tt> <tt class="py-number">4</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">"gz"</tt><tt class="py-op">,</tt> <tt class="py-string">"bz2"</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">extn</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">parts</tt> <tt class="py-op">=</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">compressed</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt id="link-34" class="py-name"><a title="fabio.fabioutils.FILETYPES" class="py-name" href="#" onclick="return doclink('link-34', 'FILETYPES', 'link-1');">FILETYPES</a></tt><tt class="py-op">.</tt><tt class="py-name">keys</ [...]
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">typ</tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="fabio.fabioutils.FILETYPES" class="py-name" href="#" onclick="return doclink('link-35', 'FILETYPES', 'link-1');">FILETYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">extn</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">extn</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-name">stem</tt> <tt class="py-op">,</tt> <tt class="py-name">numstring</tt><tt class="py-op">,</tt> <tt class="py-name">postnum</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="fabio.fabioutils.numstem" class="py-name" href="#" onclick="return doclink('link-36', 'numstem', 'link-28');">numstem</a></tt><tt class="py-op">(</tt><tt class="py-string">"."</tt><tt class="py- [...]
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numstring</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt class="py-name">ndigit</tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-37', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">numstring</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-comment"># There is no number - hence make num be None, not 0</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">stem</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-comment"># Probably two type left</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-38" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-38', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">parts</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-comment"># Probably GE format stem_numb</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            <tt class="py-name">parts2</tt> <tt class="py-op">=</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"_"</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">                <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">parts2</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">                <tt class="py-name">ndigit</tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-39', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">parts2</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">                <tt class="py-name">typ</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'GE'</tt><tt class="py-op">]</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                <tt class="py-name">stem</tt> <tt class="py-op">=</tt> <tt class="py-string">"_"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">parts2</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"_"</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">                <tt class="py-name">ndigit</tt> <tt class="py-op">=</tt> <tt id="link-40" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-40', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                <tt class="py-name">typ</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'bruker'</tt><tt class="py-op">]</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">                <tt class="py-name">stem</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"."</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                <tt class="py-name">typ</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                <tt class="py-name">extn</tt> <tt class="py-op">=</tt> <tt class="py-string">"."</tt> <tt class="py-op">+</tt> <tt class="py-name">parts</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">extn</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">                    <tt class="py-name">stem</tt> <tt class="py-op">,</tt> <tt class="py-name">numstring</tt><tt class="py-op">,</tt> <tt class="py-name">postnum</tt> <tt class="py-op">=</tt> <tt id="link-41" class="py-name"><a title="fabio.fabioutils.numstem" class="py-name" href="#" onclick="return doclink('link-41', 'numstem', 'link-28');">numstem</a></tt><tt class="py-op">(</tt><tt class="py-string">"."</tt><tt cl [...]
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                    <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">numstring</tt><tt class="py-op">)</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">                    <tt class="py-name">ndigit</tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-42', 'len', 'link-31');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">numstring</tt><tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                    <tt class="py-keyword">raise</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">            <tt class="py-comment">#            raise Exception("Cannot decode "+filename)</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name" targets="Class fabio.fabioutils.filename_object=fabio.fabioutils.filename_object-class.html"><a title="fabio.fabioutils.filename_object" class="py-name" href="#" onclick="return doclink('link-43', 'filename_object', 'link-43');">filename_object</a></tt><tt class="py-op">(</tt><tt class="py-name">stem</tt><tt class="py-op">,</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">num</tt><tt class="py-op">=</tt><tt class="py-name">num</tt><tt class="py-op">,</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">directory</tt><tt class="py-op">=</tt><tt class="py-name">direc</tt><tt class="py-op">,</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-name">format</tt><tt class="py-op">=</tt><tt class="py-name">typ</tt><tt class="py-op">,</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">extension</tt><tt class="py-op">=</tt><tt class="py-name">extn</tt><tt class="py-op">,</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-name">postnum</tt><tt class="py-op">=</tt><tt class="py-name">postnum</tt><tt class="py-op">,</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">            <tt class="py-name">digits</tt><tt class="py-op">=</tt><tt class="py-name">ndigit</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt> </tt>
+</div><a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
+<a name="construct_filename"></a><div id="construct_filename-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="construct_filename-toggle" onclick="return toggle('construct_filename');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils-module.html#construct_filename">construct_filename</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">frame</ [...]
+</div><div id="construct_filename-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="construct_filename-expanded"><a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">    <tt class="py-docstring">"Try to construct the filename for a given frame"</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">    <tt class="py-name">fo</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name" targets="Function fabio.fabioutils.deconstruct_filename()=fabio.fabioutils-module.html#deconstruct_filename"><a title="fabio.fabioutils.deconstruct_filename" class="py-name" href="#" onclick="return doclink('link-44', 'deconstruct_filename', 'link-44');">deconstruct_filename</a></tt><tt class="py-op">(</tt><tt class="py-name">fil [...]
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">    <tt class="py-name">fo</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">frame</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">fo</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method fabio.cbfimage.CIF.tostring()=fabio.cbfimage.CIF-class.html#tostring,Method fabio.fabioutils.filename_object.tostring()=fabio.fabioutils.filename_object-class.html#tostring"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-45', 'tostring', 'link-45');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"> </tt>
+<a name="next_filename"></a><div id="next_filename-def"><a name="L218"></a><tt class="py-lineno">218</tt> <a class="py-toggle" href="#" id="next_filename-toggle" onclick="return toggle('next_filename');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils-module.html#next_filename">next_filename</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">padding</tt><tt class="py-op">=</tt><tt c [...]
+</div><div id="next_filename-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="next_filename-expanded"><a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">    <tt class="py-docstring">""" increment number """</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name"><a title="fabio.fabioutils.deconstruct_filename" class="py-name" href="#" onclick="return doclink('link-46', 'deconstruct_filename', 'link-44');">deconstruct_filename</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">padding</tt><tt class="py-op">:</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">digits</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-47', 'tostring', 'link-45');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"> </tt>
+<a name="previous_filename"></a><div id="previous_filename-def"><a name="L226"></a><tt class="py-lineno">226</tt> <a class="py-toggle" href="#" id="previous_filename-toggle" onclick="return toggle('previous_filename');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils-module.html#previous_filename">previous_filename</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">padding</tt><tt c [...]
+</div><div id="previous_filename-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="previous_filename-expanded"><a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">    <tt class="py-docstring">""" decrement number """</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="fabio.fabioutils.deconstruct_filename" class="py-name" href="#" onclick="return doclink('link-48', 'deconstruct_filename', 'link-44');">deconstruct_filename</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">    <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">padding</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">digits</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-49', 'tostring', 'link-45');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
+<a name="jump_filename"></a><div id="jump_filename-def"><a name="L234"></a><tt class="py-lineno">234</tt> <a class="py-toggle" href="#" id="jump_filename-toggle" onclick="return toggle('jump_filename');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils-module.html#jump_filename">jump_filename</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">num</tt><tt class="py-op">,</tt> <tt clas [...]
+</div><div id="jump_filename-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="jump_filename-expanded"><a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">    <tt class="py-docstring">""" jump to number """</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="fabio.fabioutils.deconstruct_filename" class="py-name" href="#" onclick="return doclink('link-50', 'deconstruct_filename', 'link-44');">deconstruct_filename</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">    <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">num</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">padding</tt><tt class="py-op">:</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">digits</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-51', 'tostring', 'link-45');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
+<a name="extract_filenumber"></a><div id="extract_filenumber-def"><a name="L243"></a><tt class="py-lineno">243</tt> <a class="py-toggle" href="#" id="extract_filenumber-toggle" onclick="return toggle('extract_filenumber');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils-module.html#extract_filenumber">extract_filenumber</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="extract_filenumber-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="extract_filenumber-expanded"><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt class="py-docstring">""" extract file number """</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="fabio.fabioutils.deconstruct_filename" class="py-name" href="#" onclick="return doclink('link-52', 'deconstruct_filename', 'link-44');">deconstruct_filename</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> </tt>
+</div><a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"> </tt>
+<a name="isAscii"></a><div id="isAscii-def"><a name="L248"></a><tt class="py-lineno">248</tt> <a class="py-toggle" href="#" id="isAscii-toggle" onclick="return toggle('isAscii');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils-module.html#isAscii">isAscii</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">listExcluded</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt cla [...]
+</div><div id="isAscii-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="isAscii-expanded"><a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">    @param name: string to check</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-docstring">    @param listExcluded: list of char or string excluded.</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-docstring">    @return: True of False whether  name is pure ascii or not</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt class="py-name">isascii</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-name">name</tt><tt class="py-op">.</tt><tt class="py-name">decode</tt><tt class="py-op">(</tt><tt class="py-string">"ascii"</tt><tt class="py-op">)</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">UnicodeDecodeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-name">isascii</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">listExcluded</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">            <tt class="py-name">isascii</tt> <tt class="py-op">=</tt> <tt class="py-keyword">not</tt><tt class="py-op">(</tt><tt class="py-name">any</tt><tt class="py-op">(</tt><tt class="py-name">bad</tt> <tt class="py-keyword">in</tt>  <tt class="py-name">name</tt> <tt class="py-keyword">for</tt> <tt class="py-name">bad</tt> <tt class="py-keyword">in</tt> <tt class="py-name">listExcluded</tt><tt class="py-op">)</tt> [...]
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">isascii</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">isascii</tt> </tt>
+</div><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line"> </tt>
+<a name="toAscii"></a><div id="toAscii-def"><a name="L266"></a><tt class="py-lineno">266</tt> <a class="py-toggle" href="#" id="toAscii-toggle" onclick="return toggle('toAscii');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fabioutils-module.html#toAscii">toAscii</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">excluded</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class=" [...]
+</div><div id="toAscii-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="toAscii-expanded"><a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"><tt class="py-docstring">    @param name: string to check</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"><tt class="py-docstring">    @param excluded: tuple of char or string excluded (not list: they are mutable).</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line"><tt class="py-docstring">    @return: the name with all non valid char removed</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">excluded</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-53" class="py-name"><a title="fabio.fabioutils.dictAscii" class="py-name" href="#" onclick="return doclink('link-53', 'dictAscii', 'link-13');">dictAscii</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-name">ascii</tt> <tt class="py-op">=</tt> <tt id="link-54" class="py-name"><a title="fabio.fabioutils.dictAscii" class="py-name" href="#" onclick="return doclink('link-54', 'dictAscii', 'link-13');">dictAscii</a></tt><tt class="py-op">[</tt><tt class="py-name">None</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-55" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-55', 'i', 'link-14');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">excluded</tt><tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-56" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-56', 'i', 'link-14');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">ascii</tt><tt class="py-op">:</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                <tt class="py-name">ascii</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt id="link-57" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-57', 'i', 'link-14');">i</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">                <tt id="link-58" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-58', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"toAscii: % not in ascii table"</tt> <tt class="py-op">%</tt> <tt id="link-59" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-59', 'i', 'link-14');">i</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt id="link-60" class="py-name"><a title="fabio.fabioutils.dictAscii" class="py-name" href="#" onclick="return doclink('link-60', 'dictAscii', 'link-13');">dictAscii</a></tt><tt class="py-op">[</tt><tt class="py-name">excluded</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ascii</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-name">ascii</tt> <tt class="py-op">=</tt> <tt id="link-61" class="py-name"><a title="fabio.fabioutils.dictAscii" class="py-name" href="#" onclick="return doclink('link-61', 'dictAscii', 'link-13');">dictAscii</a></tt><tt class="py-op">[</tt><tt class="py-name">excluded</tt><tt class="py-op">]</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">    <tt class="py-name">out</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-62" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-62', 'i', 'link-14');">i</a></tt> <tt class="py-keyword">for</tt> <tt id="link-63" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-63', 'i', 'link-14');">i</a></tt> <tt [...]
+str" class="py-name" href="#" onclick="return doclink('link-64', 'str', 'link-29');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> <tt class="py-keyword">if</tt> <tt id="link-65" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-65', 'i', 'link-14');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">ascii</tt><tt class="py-op">]</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">out</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fabioutils.filename_object-class.html b/doc/html/fabio.fabioutils.filename_object-class.html
new file mode 100644
index 0000000..46837e4
--- /dev/null
+++ b/doc/html/fabio.fabioutils.filename_object-class.html
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fabioutils.filename_object</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.fabioutils-module.html">Module fabioutils</a> ::
+        Class filename_object
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fabioutils.filename_object-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class filename_object</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.fabioutils-pysrc.html#filename_object">source code</a></span></p>
+<p>The 'meaning' of a filename</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">stem</span>,
+        <span class="summary-sig-arg">num</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">directory</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">format</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">extension</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">postnum</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">digits</span>=<span class="summary-sig-default">4</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#filename_object.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="str"></a><span class="summary-sig-name">str</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Return a string representation</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#filename_object.str">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="tostring"></a><span class="summary-sig-name">tostring</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      convert yourself to a string</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fabioutils-pysrc.html#filename_object.tostring">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.file_series-module.html b/doc/html/fabio.file_series-module.html
new file mode 100644
index 0000000..2e05be0
--- /dev/null
+++ b/doc/html/fabio.file_series-module.html
@@ -0,0 +1,320 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.file_series</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module file_series
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.file_series-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module file_series</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.file_series-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+
+        + Jon Wright, ESRF
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.file_series.file_series-class.html" class="summary-name">file_series</a><br />
+      represents a series of files to iterate
+has an idea of a current position to do next and prev
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.file_series.numbered_file_series-class.html" class="summary-name">numbered_file_series</a><br />
+      mydata0001.edf = "mydata" + 0001 + ".edf" 
+        mydata0002.edf = "mydata" + 0002 + ".edf" 
+        mydata0003.edf = "mydata" + 0003 + ".edf"
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.file_series.filename_series-class.html" class="summary-name">filename_series</a><br />
+      Much like the others, but created from a string filename
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="new_file_series0"></a><span class="summary-sig-name">new_file_series0</span>(<span class="summary-sig-arg">first_object</span>,
+        <span class="summary-sig-arg">first</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">last</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">step</span>=<span class="summary-sig-default">1</span>)</span><br />
+      Created from a fabio image first and last are file numbers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#new_file_series0">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.file_series-module.html#new_file_series" class="summary-sig-name">new_file_series</a>(<span class="summary-sig-arg">first_object</span>,
+        <span class="summary-sig-arg">nimages</span>=<span class="summary-sig-default">0</span>,
+        <span class="summary-sig-arg">step</span>=<span class="summary-sig-default">1</span>,
+        <span class="summary-sig-arg">traceback</span>=<span class="summary-sig-default">False</span>)</span><br />
+      A generator function that creates a file series starting from a a fabioimage.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#new_file_series">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("fileseries")">logging.getLogger("fileseries")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="new_file_series"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">new_file_series</span>(<span class="sig-arg">first_object</span>,
+        <span class="sig-arg">nimages</span>=<span class="sig-default">0</span>,
+        <span class="sig-arg">step</span>=<span class="sig-default">1</span>,
+        <span class="sig-arg">traceback</span>=<span class="sig-default">False</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.file_series-pysrc.html#new_file_series">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+A generator function that creates a file series starting from a a fabioimage.
+Iterates through all images in a file (if more than 1), then proceeds to
+the next file as determined by fabio.next_filename.
+
+first_object: the starting fabioimage, which will be the first one yielded
+  in the sequence
+nimages:  the maximum number of images to consider
+step: step size, will yield the first and every step'th image until nimages
+  is reached.  (e.g. nimages = 5, step = 2 will yield 3 images (0, 2, 4) 
+traceback: if True causes it to print a traceback in the event of an
+  exception (missing image, etc.).  Otherwise the calling routine can handle
+  the exception as it chooses 
+yields: the next fabioimage in the series.
+  In the event there is an exception, it yields the sys.exec_info for the
+  exception instead.  sys.exec_info is a tuple:
+    ( exceptionType, exceptionValue, exceptionTraceback )
+  from which all the exception information can be obtained.
+  Suggested usage:
+    for obj in new_file_series( ... ):
+      if not isinstance( obj, fabio.fabioimage.fabioimage ):
+        # deal with errors like missing images, non readable files, etc
+        # e.g.
+        traceback.print_exception(obj[0], obj[1], obj[2])
+
+</pre>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.file_series-pysrc.html b/doc/html/fabio.file_series-pysrc.html
new file mode 100644
index 0000000..6bb5c95
--- /dev/null
+++ b/doc/html/fabio.file_series-pysrc.html
@@ -0,0 +1,630 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.file_series</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module file_series
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.file_series-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.file_series-module.html">Module fabio.file_series</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">         email:erik.knudsen at risoe.dk</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">        + Jon Wright, ESRF</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"fileseries"</tt><tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">traceback</tt> <tt class="py-keyword">as</tt> <tt class="py-name">pytraceback</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioutils=fabio.fabioutils-module.html"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-1', 'fabioutils', 'link-1');">fabioutils</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Class fabio.fabioutils.filename_object=fabio.fabioutils.filename_object-class.html">< [...]
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module fabio.openimage=fabio.openimage-module.html,Function fabio.openimage.openimage()=fabio.openimage-module.html#openimage"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-4', 'openimage', 'link-4');">openimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-5', 'openimage', 'link-4');">openimage</a></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="new_file_series0"></a><div id="new_file_series0-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="new_file_series0-toggle" onclick="return toggle('new_file_series0');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series-module.html#new_file_series0">new_file_series0</a><tt class="py-op">(</tt><tt class="py-param">first_object</tt><tt class="py-op">,</tt> <tt class="py-param">first</tt><tt c [...]
+</div><div id="new_file_series0-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="new_file_series0-expanded"><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">    Created from a fabio image</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">    first and last are file numbers</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-name">im</tt> <tt class="py-op">=</tt> <tt id="link-6" class="py-name" targets="Method fabio.file_series.file_series.first_object()=fabio.file_series.file_series-class.html#first_object"><a title="fabio.file_series.file_series.first_object" class="py-name" href="#" onclick="return doclink('link-6', 'first_object', 'link-6');">first_object</a></tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-name">nimages</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-comment"># for counting images</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">None</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt id="link-7" class="py-name" targets="Method fabio.file_series.file_series.first()=fabio.file_series.file_series-class.html#first"><a title="fabio.file_series.file_series.first" class="py-name" href="#" onclick="return doclink('link-7', 'first', 'link-7');">first</a></tt><tt class="py-op">,</tt> <t [...]
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">step</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">total</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">total</tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="fabio.file_series.file_series.last" class="py-name" href="#" onclick="return doclink('link-9', 'last', 'link-8');">last</a></tt> <tt class="py-op">-</tt> <tt id="link-10" class="py-name"><a title="fabio.file_series.file_series.first" class="py-name" href="#" onclick="return doclink('link-10', 'first', 'link-7');">f [...]
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-keyword">yield</tt> <tt class="py-name">im</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">nimages</tt> <tt class="py-op"><</tt> <tt class="py-name">total</tt><tt class="py-op">:</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">nimages</tt> <tt class="py-op">+=</tt> <tt class="py-name">step</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt class="py-name">newim</tt> <tt class="py-op">=</tt> <tt class="py-name">im</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method fabio.GEimage.GEimage.next()=fabio.GEimage.GEimage-class.html#next,Method fabio.edfimage.edfimage.next()=fabio.edfimage.edfimage-class.html#next,Method fabio.fabioimage.fabioimage.next()=fabio.fabioimage.fabioimage-class.html#next,Method fabio.file_serie [...]
+fabio.edfimage.edfimage.next
+fabio.fabioimage.fabioimage.next
+fabio.file_series.file_series.next
+fabio.file_series.filename_series.next" class="py-name" href="#" onclick="return doclink('link-11', 'next', 'link-11');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt class="py-name">im</tt> <tt class="py-op">=</tt> <tt class="py-name">newim</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-name">pytraceback</tt><tt class="py-op">.</tt><tt class="py-name">print_exc</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-comment"># Skip bad images</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt id="link-12" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-12', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Got a problem here: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">)</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">                <tt class="py-name">im</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="fabio.fabioutils.next_filename" class="py-name" href="#" onclick="return doclink('link-13', 'next_filename', 'link-3');">next_filename</a></tt><tt class="py-op">(</tt><tt class="py-name">im</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt><t [...]
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">                <tt class="py-comment"># KE: This will not work and will throw an exception</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">                <tt class="py-comment"># fabio.next_filename doesn't understand %nnnn on the end</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">                <tt id="link-14" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-14', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Got another problem here: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-name">im</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="fabio.fabioutils.next_filename" class="py-name" href="#" onclick="return doclink('link-15', 'next_filename', 'link-3');">next_filename</a></tt><tt class="py-op">(</tt><tt class="py-name">im</tt><tt class="py-op">.</tt><tt class="py-name">sequencefilenam [...]
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-keyword">yield</tt> <tt class="py-name">None</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-keyword">yield</tt> <tt class="py-name">im</tt> </tt>
+</div><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
+<a name="new_file_series"></a><div id="new_file_series-def"><a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="new_file_series-toggle" onclick="return toggle('new_file_series');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series-module.html#new_file_series">new_file_series</a><tt class="py-op">(</tt><tt class="py-param">first_object</tt><tt class="py-op">,</tt> <tt class="py-param">nimages</tt><tt class [...]
+</div><div id="new_file_series-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="new_file_series-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">    A generator function that creates a file series starting from a a fabioimage.</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">    Iterates through all images in a file (if more than 1), then proceeds to</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">    the next file as determined by fabio.next_filename.</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    first_object: the starting fabioimage, which will be the first one yielded</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">      in the sequence</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">    nimages:  the maximum number of images to consider</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">    step: step size, will yield the first and every step'th image until nimages</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">      is reached.  (e.g. nimages = 5, step = 2 will yield 3 images (0, 2, 4) </tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring">    traceback: if True causes it to print a traceback in the event of an</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">      exception (missing image, etc.).  Otherwise the calling routine can handle</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">      the exception as it chooses </tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">    yields: the next fabioimage in the series.</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">      In the event there is an exception, it yields the sys.exec_info for the</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">      exception instead.  sys.exec_info is a tuple:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">        ( exceptionType, exceptionValue, exceptionTraceback )</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">      from which all the exception information can be obtained.</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">      Suggested usage:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">        for obj in new_file_series( ... ):</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">          if not isinstance( obj, fabio.fabioimage.fabioimage ):</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">            # deal with errors like missing images, non readable files, etc</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">            # e.g.</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">            traceback.print_exception(obj[0], obj[1], obj[2])</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-name">im</tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name"><a title="fabio.file_series.file_series.first_object" class="py-name" href="#" onclick="return doclink('link-16', 'first_object', 'link-6');">first_object</a></tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-name">nprocessed</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-name">abort</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">nimages</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-keyword">yield</tt> <tt class="py-name">im</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">nprocessed</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">nprocessed</tt> <tt class="py-op"><</tt> <tt class="py-name">nimages</tt><tt class="py-op">:</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">newim</tt> <tt class="py-op">=</tt> <tt class="py-name">im</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="fabio.GEimage.GEimage.next
+fabio.edfimage.edfimage.next
+fabio.fabioimage.fabioimage.next
+fabio.file_series.file_series.next
+fabio.file_series.filename_series.next" class="py-name" href="#" onclick="return doclink('link-17', 'next', 'link-11');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-name">im</tt> <tt class="py-op">=</tt> <tt class="py-name">newim</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-name">retVal</tt> <tt class="py-op">=</tt> <tt class="py-name">im</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">ex</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">retVal</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">traceback</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                <tt class="py-name">pytraceback</tt><tt class="py-op">.</tt><tt class="py-name">print_exc</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                <tt class="py-comment"># Skip bad images</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                <tt id="link-18" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-18', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Got a problem here: next() failed %s"</tt><tt class="py-op">,</tt> <tt class="py-name">ex</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-comment"># Skip bad images</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                <tt class="py-name">im</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="fabio.fabioutils.next_filename" class="py-name" href="#" onclick="return doclink('link-19', 'next_filename', 'link-3');">next_filename</a></tt><tt class="py-op">(</tt><tt class="py-name">im</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt>< [...]
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">ex</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                <tt id="link-20" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-20', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Got another problem here: next_filename(im.filename) %s"</tt><tt class="py-op">,</tt> <tt class="py-name">ex</tt><tt class="py-op">)</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">nprocessed</tt> <tt class="py-op">%</tt> <tt class="py-name">step</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-keyword">yield</tt> <tt class="py-name">retVal</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-comment"># Avoid cyclic references with exc_info ?</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-name">retVal</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">abort</tt><tt class="py-op">:</tt> <tt class="py-keyword">break</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">nprocessed</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+</div><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
+<a name="file_series"></a><div id="file_series-def"><a name="L117"></a><tt class="py-lineno">117</tt> <a class="py-toggle" href="#" id="file_series-toggle" onclick="return toggle('file_series');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html">file_series</a><tt class="py-op">(</tt><tt class="py-base-class">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="file_series-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="file_series-expanded"><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">    represents a series of files to iterate</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">    has an idea of a current position to do next and prev</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">    You also get from the list python superclass:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">       append</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">       count</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">       extend</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">       insert</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">       pop</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">       remove</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">       reverse</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">       sort</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="file_series.__init__"></a><div id="file_series.__init__-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="file_series.__init__-toggle" onclick="return toggle('file_series.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">list_of [...]
+</div><div id="file_series.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.__init__-expanded"><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-docstring">        arg should be a list of strings which are filenames</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-21" class="py-name" targets="Module fabio.file_series=fabio.file_series-module.html,Class fabio.file_series.file_series=fabio.file_series.file_series-class.html"><a title="fabio.file_series
+fabio.file_series.file_series" class="py-name" href="#" onclick="return doclink('link-21', 'file_series', 'link-21');">file_series</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__init__()=fabio.TiffIO.TiffIO-class.html#__init__,Method fabio.adscimage.adscimage.__init__()=fab [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-22', '__init__', 'link-22');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">list_of_strings</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-comment"># track current position in list</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_current</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+</div><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">    <tt class="py-comment"># methods which return a filename</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"> </tt>
+<a name="file_series.first"></a><div id="file_series.first-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="file_series.first-toggle" onclick="return toggle('file_series.first');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#first">first</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="file_series.first-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.first-expanded"><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-docstring">""" first image in series """</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"> </tt>
+<a name="file_series.last"></a><div id="file_series.last-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="file_series.last-toggle" onclick="return toggle('file_series.last');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#last">last</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="file_series.last-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.last-expanded"><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-docstring">""" last in series """</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"> </tt>
+<a name="file_series.previous"></a><div id="file_series.previous-def"><a name="L151"></a><tt class="py-lineno">151</tt> <a class="py-toggle" href="#" id="file_series.previous-toggle" onclick="return toggle('file_series.previous');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#previous">previous</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="file_series.previous-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.previous-expanded"><a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-docstring">""" prev in a sequence"""</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_current</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_current</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
+<a name="file_series.current"></a><div id="file_series.current-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="file_series.current-toggle" onclick="return toggle('file_series.current');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#current">current</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="file_series.current-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.current-expanded"><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-docstring">""" current position in a sequence """</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_current</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
+<a name="file_series.next"></a><div id="file_series.next-def"><a name="L160"></a><tt class="py-lineno">160</tt> <a class="py-toggle" href="#" id="file_series.next-toggle" onclick="return toggle('file_series.next');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#next">next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="file_series.next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.next-expanded"><a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-docstring">""" next in a sequence """</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_current</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_current</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"> </tt>
+<a name="file_series.jump"></a><div id="file_series.jump-def"><a name="L165"></a><tt class="py-lineno">165</tt> <a class="py-toggle" href="#" id="file_series.jump-toggle" onclick="return toggle('file_series.jump');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#jump">jump</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">num</tt><tt class="py-op">)</tt [...]
+</div><div id="file_series.jump-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.jump-expanded"><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-docstring">""" goto a position in sequence """</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">num</tt> <tt class="py-op"><</tt> <tt id="link-23" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-23', 'len', 'link-23');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt> [...]
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_current</tt> <tt class="py-op">=</tt> <tt class="py-name">num</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_current</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"> </tt>
+<a name="file_series.len"></a><div id="file_series.len-def"><a name="L171"></a><tt class="py-lineno">171</tt> <a class="py-toggle" href="#" id="file_series.len-toggle" onclick="return toggle('file_series.len');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#len">len</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="file_series.len-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.len-expanded"><a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-docstring">""" number of files"""</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-24" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-24', 'len', 'link-23');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">    <tt class="py-comment"># Methods which return a fabioimage</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"> </tt>
+<a name="file_series.first_image"></a><div id="file_series.first_image-def"><a name="L178"></a><tt class="py-lineno">178</tt> <a class="py-toggle" href="#" id="file_series.first_image-toggle" onclick="return toggle('file_series.first_image');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#first_image">first_image</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class=" [...]
+</div><div id="file_series.first_image-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.first_image-expanded"><a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-docstring">""" first image in a sequence """</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-25" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-25', 'openimage', 'link-4');">openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="fabio.file_series.file_series.first" class="py-name" href="#" onclick="return doclink('link-26', 'first', 'link-7');">first</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"> </tt>
+<a name="file_series.last_image"></a><div id="file_series.last_image-def"><a name="L182"></a><tt class="py-lineno">182</tt> <a class="py-toggle" href="#" id="file_series.last_image-toggle" onclick="return toggle('file_series.last_image');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#last_image">last_image</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op" [...]
+</div><div id="file_series.last_image-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.last_image-expanded"><a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-docstring">""" last image in a sequence """</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-27" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-27', 'openimage', 'link-4');">openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="fabio.file_series.file_series.last" class="py-name" href="#" onclick="return doclink('link-28', 'last', 'link-8');">last</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"> </tt>
+<a name="file_series.next_image"></a><div id="file_series.next_image-def"><a name="L186"></a><tt class="py-lineno">186</tt> <a class="py-toggle" href="#" id="file_series.next_image-toggle" onclick="return toggle('file_series.next_image');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#next_image">next_image</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op" [...]
+</div><div id="file_series.next_image-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.next_image-expanded"><a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-docstring">""" Return the next image """</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-29" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-29', 'openimage', 'link-4');">openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="fabio.GEimage.GEimage.next
+fabio.edfimage.edfimage.next
+fabio.fabioimage.fabioimage.next
+fabio.file_series.file_series.next
+fabio.file_series.filename_series.next" class="py-name" href="#" onclick="return doclink('link-30', 'next', 'link-11');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"> </tt>
+<a name="file_series.previous_image"></a><div id="file_series.previous_image-def"><a name="L190"></a><tt class="py-lineno">190</tt> <a class="py-toggle" href="#" id="file_series.previous_image-toggle" onclick="return toggle('file_series.previous_image');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#previous_image">previous_image</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op" [...]
+</div><div id="file_series.previous_image-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.previous_image-expanded"><a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-docstring">""" Return the previous image """</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-31" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-31', 'openimage', 'link-4');">openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method fabio.GEimage.GEimage.previous()=fabio.GEimage.GEimage-class.html#previous,Method fabio.edfimage.edfimage.previous()=fabio.edfimage.edfimage-class.html#previous,Method fabio.fabioimage.fabioimage.previous()=fabio.fabioimage.fabioimage-c [...]
+fabio.edfimage.edfimage.previous
+fabio.fabioimage.fabioimage.previous
+fabio.file_series.file_series.previous
+fabio.file_series.filename_series.previous" class="py-name" href="#" onclick="return doclink('link-32', 'previous', 'link-32');">previous</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
+<a name="file_series.jump_image"></a><div id="file_series.jump_image-def"><a name="L194"></a><tt class="py-lineno">194</tt> <a class="py-toggle" href="#" id="file_series.jump_image-toggle" onclick="return toggle('file_series.jump_image');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#jump_image">jump_image</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-pa [...]
+</div><div id="file_series.jump_image-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.jump_image-expanded"><a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-docstring">""" jump to and read image """</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-33" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-33', 'openimage', 'link-4');">openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method fabio.file_series.file_series.jump()=fabio.file_series.file_series-class.html#jump,Method fabio.file_series.filename_series.jump()=fabio.file_series.filename_series-class.html#jump"><a title="fabio.file_series.file_series.jump
+fabio.file_series.filename_series.jump" class="py-name" href="#" onclick="return doclink('link-34', 'jump', 'link-34');">jump</a></tt><tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"> </tt>
+<a name="file_series.current_image"></a><div id="file_series.current_image-def"><a name="L198"></a><tt class="py-lineno">198</tt> <a class="py-toggle" href="#" id="file_series.current_image-toggle" onclick="return toggle('file_series.current_image');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#current_image">current_image</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt [...]
+</div><div id="file_series.current_image-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.current_image-expanded"><a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-docstring">""" current image in sequence """</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-35" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-35', 'openimage', 'link-4');">openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method fabio.file_series.file_series.current()=fabio.file_series.file_series-class.html#current,Method fabio.file_series.filename_series.current()=fabio.file_series.filename_series-class.html#current"><a title="fabio.file_series.file_series.current
+fabio.file_series.filename_series.current" class="py-name" href="#" onclick="return doclink('link-36', 'current', 'link-36');">current</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">    <tt class="py-comment"># methods which return a file_object</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"> </tt>
+<a name="file_series.first_object"></a><div id="file_series.first_object-def"><a name="L204"></a><tt class="py-lineno">204</tt> <a class="py-toggle" href="#" id="file_series.first_object-toggle" onclick="return toggle('file_series.first_object');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#first_object">first_object</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt c [...]
+</div><div id="file_series.first_object-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.first_object-expanded"><a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-docstring">""" first image in a sequence """</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-37" class="py-name"><a title="fabio.fabioutils.filename_object" class="py-name" href="#" onclick="return doclink('link-37', 'filename_object', 'link-2');">filename_object</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="fabio.file_series.file_series.first" class="py-name" href="#" oncl [...]
+</div><a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"> </tt>
+<a name="file_series.last_object"></a><div id="file_series.last_object-def"><a name="L208"></a><tt class="py-lineno">208</tt> <a class="py-toggle" href="#" id="file_series.last_object-toggle" onclick="return toggle('file_series.last_object');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#last_object">last_object</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class=" [...]
+</div><div id="file_series.last_object-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.last_object-expanded"><a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-docstring">""" last image in a sequence """</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-39" class="py-name"><a title="fabio.fabioutils.filename_object" class="py-name" href="#" onclick="return doclink('link-39', 'filename_object', 'link-2');">filename_object</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="fabio.file_series.file_series.last" class="py-name" href="#" oncli [...]
+</div><a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"> </tt>
+<a name="file_series.next_object"></a><div id="file_series.next_object-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="file_series.next_object-toggle" onclick="return toggle('file_series.next_object');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#next_object">next_object</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class=" [...]
+</div><div id="file_series.next_object-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.next_object-expanded"><a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-docstring">""" Return the next image """</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-41" class="py-name"><a title="fabio.fabioutils.filename_object" class="py-name" href="#" onclick="return doclink('link-41', 'filename_object', 'link-2');">filename_object</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="fabio.GEimage.GEimage.next
+fabio.edfimage.edfimage.next
+fabio.fabioimage.fabioimage.next
+fabio.file_series.file_series.next
+fabio.file_series.filename_series.next" class="py-name" href="#" onclick="return doclink('link-42', 'next', 'link-11');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
+<a name="file_series.previous_object"></a><div id="file_series.previous_object-def"><a name="L216"></a><tt class="py-lineno">216</tt> <a class="py-toggle" href="#" id="file_series.previous_object-toggle" onclick="return toggle('file_series.previous_object');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#previous_object">previous_object</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class=" [...]
+</div><div id="file_series.previous_object-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.previous_object-expanded"><a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-docstring">""" Return the previous image """</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-43" class="py-name"><a title="fabio.fabioutils.filename_object" class="py-name" href="#" onclick="return doclink('link-43', 'filename_object', 'link-2');">filename_object</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="fabio.GEimage.GEimage.previous
+fabio.edfimage.edfimage.previous
+fabio.fabioimage.fabioimage.previous
+fabio.file_series.file_series.previous
+fabio.file_series.filename_series.previous" class="py-name" href="#" onclick="return doclink('link-44', 'previous', 'link-32');">previous</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"> </tt>
+<a name="file_series.jump_object"></a><div id="file_series.jump_object-def"><a name="L220"></a><tt class="py-lineno">220</tt> <a class="py-toggle" href="#" id="file_series.jump_object-toggle" onclick="return toggle('file_series.jump_object');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#jump_object">jump_object</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class= [...]
+</div><div id="file_series.jump_object-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.jump_object-expanded"><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-docstring">""" jump to and read image """</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-45" class="py-name"><a title="fabio.fabioutils.filename_object" class="py-name" href="#" onclick="return doclink('link-45', 'filename_object', 'link-2');">filename_object</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="fabio.file_series.file_series.jump
+fabio.file_series.filename_series.jump" class="py-name" href="#" onclick="return doclink('link-46', 'jump', 'link-34');">jump</a></tt><tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"> </tt>
+<a name="file_series.current_object"></a><div id="file_series.current_object-def"><a name="L224"></a><tt class="py-lineno">224</tt> <a class="py-toggle" href="#" id="file_series.current_object-toggle" onclick="return toggle('file_series.current_object');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.file_series-class.html#current_object">current_object</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op" [...]
+</div><div id="file_series.current_object-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="file_series.current_object-expanded"><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-docstring">""" current image in sequence """</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-47" class="py-name"><a title="fabio.fabioutils.filename_object" class="py-name" href="#" onclick="return doclink('link-47', 'filename_object', 'link-2');">filename_object</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="fabio.file_series.file_series.current
+fabio.file_series.filename_series.current" class="py-name" href="#" onclick="return doclink('link-48', 'current', 'link-36');">current</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"> </tt>
+<a name="numbered_file_series"></a><div id="numbered_file_series-def"><a name="L231"></a><tt class="py-lineno">231</tt> <a class="py-toggle" href="#" id="numbered_file_series-toggle" onclick="return toggle('numbered_file_series');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.file_series.numbered_file_series-class.html">numbered_file_series</a><tt class="py-op">(</tt><tt class="py-base-class">file_series</tt><tt class="py-op">)</tt><tt cla [...]
+</div><div id="numbered_file_series-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="numbered_file_series-expanded"><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">    mydata0001.edf = "mydata" + 0001 + ".edf"</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring">    mydata0002.edf = "mydata" + 0002 + ".edf"</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">    mydata0003.edf = "mydata" + 0003 + ".edf"</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="numbered_file_series.__init__"></a><div id="numbered_file_series.__init__-def"><a name="L237"></a><tt class="py-lineno">237</tt> <a class="py-toggle" href="#" id="numbered_file_series.__init__-toggle" onclick="return toggle('numbered_file_series.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.numbered_file_series-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt clas [...]
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                 <tt class="py-param">digits</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-param">padding</tt><tt class="py-op">=</tt><tt class="py-string">'Y'</tt><tt class="py-op">,</tt> <tt class="py-param">step</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="numbered_file_series.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="numbered_file_series.__init__-expanded"><a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">        stem - first part of the name</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">        step - in case of every nth file</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">        padding - possibility for specifying that numbers are not padded</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"><tt class="py-docstring">                  with zeroes up to digits</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">padding</tt> <tt class="py-op">==</tt> <tt class="py-string">'Y'</tt><tt class="py-op">:</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s%0"</tt> <tt class="py-op">+</tt> <tt id="link-49" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-49', 'str', 'link-49');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">digits</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">"d%s"</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s%i%s"</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-50" class="py-name" targets="Class fabio.file_series.numbered_file_series=fabio.file_series.numbered_file_series-class.html"><a title="fabio.file_series.numbered_file_series" class="py-name" href="#" onclick="return doclink('link-50', 'numbered_file_series', 'link-50');">numbered_file_series</a></tt><tt class="py-op">,</tt> <tt class="py-name"> [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-51', '__init__', 'link-22');">__init__</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">            <tt class="py-op">[</tt> <tt class="py-name">fmt</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">stem</tt><tt class="py-op">,</tt> <tt id="link-52" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-52', 'i', 'link-52');">i</a></tt><tt class="py-op">,</tt> <tt cla [...]
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                                                          <tt id="link-55" class="py-name"><a title="fabio.file_series.file_series.last" class="py-name" href="#" onclick="return doclink('link-55', 'last', 'link-8');">last</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                                                          <tt class="py-name">step</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"> </tt>
+<a name="filename_series"></a><div id="filename_series-def"><a name="L256"></a><tt class="py-lineno">256</tt> <a class="py-toggle" href="#" id="filename_series-toggle" onclick="return toggle('filename_series');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html">filename_series</a><tt class="py-op">:</tt> </tt>
+</div><div id="filename_series-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="filename_series-expanded"><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-docstring">""" Much like the others, but created from a string filename """</tt> </tt>
+<a name="filename_series.__init__"></a><div id="filename_series.__init__-def"><a name="L258"></a><tt class="py-lineno">258</tt> <a class="py-toggle" href="#" id="filename_series.__init__-toggle" onclick="return toggle('filename_series.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt clas [...]
+</div><div id="filename_series.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.__init__-expanded"><a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-docstring">""" create from a filename (String)"""</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="fabio.fabioutils.filename_object" class="py-name" href="#" onclick="return doclink('link-56', 'filename_object', 'link-2');">filename_object</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"> </tt>
+<a name="filename_series.next"></a><div id="filename_series.next-def"><a name="L262"></a><tt class="py-lineno">262</tt> <a class="py-toggle" href="#" id="filename_series.next-toggle" onclick="return toggle('filename_series.next');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#next">next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="filename_series.next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.next-expanded"><a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-docstring">""" increment number """</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method fabio.cbfimage.CIF.tostring()=fabio.cbfimage.CIF-class.html#tostring,Method fabio.fabioutils.filename_object.tostring()=fabio.fabioutils.filename_object-class.html#tostring"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-57', 'tostring', 'link-57');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"> </tt>
+<a name="filename_series.previous"></a><div id="filename_series.previous-def"><a name="L267"></a><tt class="py-lineno">267</tt> <a class="py-toggle" href="#" id="filename_series.previous-toggle" onclick="return toggle('filename_series.previous');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#previous">previous</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class [...]
+</div><div id="filename_series.previous-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.previous-expanded"><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-docstring">""" decrement number """</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-58', 'tostring', 'link-57');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line"> </tt>
+<a name="filename_series.current"></a><div id="filename_series.current-def"><a name="L272"></a><tt class="py-lineno">272</tt> <a class="py-toggle" href="#" id="filename_series.current-toggle" onclick="return toggle('filename_series.current');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#current">current</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-o [...]
+</div><div id="filename_series.current-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.current-expanded"><a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-docstring">""" return current filename string"""</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-59', 'tostring', 'link-57');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
+<a name="filename_series.jump"></a><div id="filename_series.jump-def"><a name="L276"></a><tt class="py-lineno">276</tt> <a class="py-toggle" href="#" id="filename_series.jump-toggle" onclick="return toggle('filename_series.jump');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#jump">jump</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">num</tt><tt [...]
+</div><div id="filename_series.jump-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.jump-expanded"><a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-docstring">""" jump to a specific number """</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">num</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-60', 'tostring', 'link-57');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">    <tt class="py-comment"># image methods</tt> </tt>
+<a name="filename_series.next_image"></a><div id="filename_series.next_image-def"><a name="L282"></a><tt class="py-lineno">282</tt> <a class="py-toggle" href="#" id="filename_series.next_image-toggle" onclick="return toggle('filename_series.next_image');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#next_image">next_image</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</ [...]
+</div><div id="filename_series.next_image-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.next_image-expanded"><a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the next image as a fabioimage """</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-61" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-61', 'openimage', 'link-4');">openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="fabio.GEimage.GEimage.next
+fabio.edfimage.edfimage.next
+fabio.fabioimage.fabioimage.next
+fabio.file_series.file_series.next
+fabio.file_series.filename_series.next" class="py-name" href="#" onclick="return doclink('link-62', 'next', 'link-11');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="filename_series.prev_image"></a><div id="filename_series.prev_image-def"><a name="L285"></a><tt class="py-lineno">285</tt> <a class="py-toggle" href="#" id="filename_series.prev_image-toggle" onclick="return toggle('filename_series.prev_image');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#prev_image">prev_image</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-o [...]
+</div><div id="filename_series.prev_image-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.prev_image-expanded"><a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the previos image as a fabioimage """</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-63" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-63', 'openimage', 'link-4');">openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="fabio.GEimage.GEimage.previous
+fabio.edfimage.edfimage.previous
+fabio.fabioimage.fabioimage.previous
+fabio.file_series.file_series.previous
+fabio.file_series.filename_series.previous" class="py-name" href="#" onclick="return doclink('link-64', 'previous', 'link-32');">previous</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="filename_series.current_image"></a><div id="filename_series.current_image-def"><a name="L288"></a><tt class="py-lineno">288</tt> <a class="py-toggle" href="#" id="filename_series.current_image-toggle" onclick="return toggle('filename_series.current_image');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#current_image">current_image</a><tt class="py-op">(</tt><tt class="py-param">self</ [...]
+</div><div id="filename_series.current_image-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.current_image-expanded"><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the current image as a fabioimage"""</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-65" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-65', 'openimage', 'link-4');">openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="fabio.file_series.file_series.current
+fabio.file_series.filename_series.current" class="py-name" href="#" onclick="return doclink('link-66', 'current', 'link-36');">current</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="filename_series.jump_image"></a><div id="filename_series.jump_image-def"><a name="L291"></a><tt class="py-lineno">291</tt> <a class="py-toggle" href="#" id="filename_series.jump_image-toggle" onclick="return toggle('filename_series.jump_image');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#jump_image">jump_image</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-o [...]
+</div><div id="filename_series.jump_image-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.jump_image-expanded"><a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the image number as a fabioimage"""</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-67" class="py-name"><a title="fabio.openimage
+fabio.openimage.openimage" class="py-name" href="#" onclick="return doclink('link-67', 'openimage', 'link-4');">openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="fabio.file_series.file_series.jump
+fabio.file_series.filename_series.jump" class="py-name" href="#" onclick="return doclink('link-68', 'jump', 'link-34');">jump</a></tt><tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">    <tt class="py-comment"># object methods</tt> </tt>
+<a name="filename_series.next_object"></a><div id="filename_series.next_object-def"><a name="L295"></a><tt class="py-lineno">295</tt> <a class="py-toggle" href="#" id="filename_series.next_object-toggle" onclick="return toggle('filename_series.next_object');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#next_object">next_object</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-o [...]
+</div><div id="filename_series.next_object-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.next_object-expanded"><a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the next filename as a fabio.filename_object"""</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt> </tt>
+</div><a name="filename_series.previous_object"></a><div id="filename_series.previous_object-def"><a name="L299"></a><tt class="py-lineno">299</tt> <a class="py-toggle" href="#" id="filename_series.previous_object-toggle" onclick="return toggle('filename_series.previous_object');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#previous_object">previous_object</a><tt class="py-op">(</tt><tt class="py-p [...]
+</div><div id="filename_series.previous_object-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.previous_object-expanded"><a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the previous filename as a fabio.filename_object"""</tt> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">-=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt> </tt>
+</div><a name="filename_series.current_object"></a><div id="filename_series.current_object-def"><a name="L303"></a><tt class="py-lineno">303</tt> <a class="py-toggle" href="#" id="filename_series.current_object-toggle" onclick="return toggle('filename_series.current_object');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#current_object">current_object</a><tt class="py-op">(</tt><tt class="py-param"> [...]
+</div><div id="filename_series.current_object-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.current_object-expanded"><a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the current filename as a fabio.filename_object"""</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt> </tt>
+</div><a name="filename_series.jump_object"></a><div id="filename_series.jump_object-def"><a name="L306"></a><tt class="py-lineno">306</tt> <a class="py-toggle" href="#" id="filename_series.jump_object-toggle" onclick="return toggle('filename_series.jump_object');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.file_series.filename_series-class.html#jump_object">jump_object</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class [...]
+</div><div id="filename_series.jump_object-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="filename_series.jump_object-expanded"><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">        <tt class="py-docstring">""" returns the filename num as a fabio.filename_object"""</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">num</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">obj</tt> </tt>
+</div></div><a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.file_series.file_series-class.html b/doc/html/fabio.file_series.file_series-class.html
new file mode 100644
index 0000000..6b75ea7
--- /dev/null
+++ b/doc/html/fabio.file_series.file_series-class.html
@@ -0,0 +1,642 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.file_series.file_series</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.file_series-module.html">Module file_series</a> ::
+        Class file_series
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.file_series.file_series-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class file_series</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.file_series-pysrc.html#file_series">source code</a></span></p>
+<pre class="base-tree">
+object --+    
+         |    
+      list --+
+             |
+            <strong class="uidshort">file_series</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+      <ul class="subclass-list">
+<li><a href="fabio.file_series.numbered_file_series-class.html">numbered_file_series</a></li>  </ul>
+</dd></dl>
+
+<hr />
+<pre class="literalblock">
+
+represents a series of files to iterate
+has an idea of a current position to do next and prev
+
+You also get from the list python superclass:
+   append
+   count
+   extend
+   insert
+   pop
+   remove
+   reverse
+   sort
+
+</pre>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">new empty list</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.file_series.file_series-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">list_of_strings</span>)</span><br />
+      arg should be a list of strings which are filenames</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="first"></a><span class="summary-sig-name">first</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      first image in series</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.first">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="last"></a><span class="summary-sig-name">last</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      last in series</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.last">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="previous"></a><span class="summary-sig-name">previous</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      prev in a sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.previous">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="current"></a><span class="summary-sig-name">current</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      current position in a sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.current">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="next"></a><span class="summary-sig-name">next</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      next in a sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.next">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="jump"></a><span class="summary-sig-name">jump</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      goto a position in sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.jump">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="len"></a><span class="summary-sig-name">len</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      number of files</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.len">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="first_image"></a><span class="summary-sig-name">first_image</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      first image in a sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.first_image">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="last_image"></a><span class="summary-sig-name">last_image</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      last image in a sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.last_image">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="next_image"></a><span class="summary-sig-name">next_image</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Return the next image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.next_image">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="previous_image"></a><span class="summary-sig-name">previous_image</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Return the previous image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.previous_image">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="jump_image"></a><span class="summary-sig-name">jump_image</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      jump to and read image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.jump_image">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="current_image"></a><span class="summary-sig-name">current_image</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      current image in sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.current_image">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="first_object"></a><span class="summary-sig-name">first_object</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      first image in a sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.first_object">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="last_object"></a><span class="summary-sig-name">last_object</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      last image in a sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.last_object">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="next_object"></a><span class="summary-sig-name">next_object</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Return the next image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.next_object">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="previous_object"></a><span class="summary-sig-name">previous_object</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      Return the previous image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.previous_object">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="jump_object"></a><span class="summary-sig-name">jump_object</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      jump to and read image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.jump_object">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="current_object"></a><span class="summary-sig-name">current_object</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      current image in sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.current_object">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>list</code></b>:
+      <code>__add__</code>,
+      <code>__contains__</code>,
+      <code>__delitem__</code>,
+      <code>__delslice__</code>,
+      <code>__eq__</code>,
+      <code>__ge__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__gt__</code>,
+      <code>__iadd__</code>,
+      <code>__imul__</code>,
+      <code>__iter__</code>,
+      <code>__le__</code>,
+      <code>__len__</code>,
+      <code>__lt__</code>,
+      <code>__mul__</code>,
+      <code>__ne__</code>,
+      <code>__new__</code>,
+      <code>__repr__</code>,
+      <code>__reversed__</code>,
+      <code>__rmul__</code>,
+      <code>__setitem__</code>,
+      <code>__setslice__</code>,
+      <code>__sizeof__</code>,
+      <code>append</code>,
+      <code>count</code>,
+      <code>extend</code>,
+      <code>index</code>,
+      <code>insert</code>,
+      <code>pop</code>,
+      <code>remove</code>,
+      <code>reverse</code>,
+      <code>sort</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__setattr__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>list</code></b>:
+      <code>__hash__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">list_of_strings</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.file_series-pysrc.html#file_series.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>arg should be a list of strings which are filenames</p>
+  <dl class="fields">
+    <dt>Returns: new empty list</dt>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.file_series.filename_series-class.html b/doc/html/fabio.file_series.filename_series-class.html
new file mode 100644
index 0000000..a988e02
--- /dev/null
+++ b/doc/html/fabio.file_series.filename_series-class.html
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.file_series.filename_series</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.file_series-module.html">Module file_series</a> ::
+        Class filename_series
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.file_series.filename_series-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class filename_series</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series">source code</a></span></p>
+<p>Much like the others, but created from a string filename</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>)</span><br />
+      create from a filename (String)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="next"></a><span class="summary-sig-name">next</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      increment number</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.next">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="previous"></a><span class="summary-sig-name">previous</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      decrement number</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.previous">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="current"></a><span class="summary-sig-name">current</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      return current filename string</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.current">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="jump"></a><span class="summary-sig-name">jump</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      jump to a specific number</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.jump">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="next_image"></a><span class="summary-sig-name">next_image</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns the next image as a fabioimage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.next_image">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="prev_image"></a><span class="summary-sig-name">prev_image</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns the previos image as a fabioimage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.prev_image">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="current_image"></a><span class="summary-sig-name">current_image</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns the current image as a fabioimage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.current_image">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="jump_image"></a><span class="summary-sig-name">jump_image</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      returns the image number as a fabioimage</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.jump_image">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="next_object"></a><span class="summary-sig-name">next_object</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns the next filename as a fabio.filename_object</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.next_object">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="previous_object"></a><span class="summary-sig-name">previous_object</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns the previous filename as a fabio.filename_object</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.previous_object">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="current_object"></a><span class="summary-sig-name">current_object</span>(<span class="summary-sig-arg">self</span>)</span><br />
+      returns the current filename as a fabio.filename_object</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.current_object">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="jump_object"></a><span class="summary-sig-name">jump_object</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">num</span>)</span><br />
+      returns the filename num as a fabio.filename_object</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#filename_series.jump_object">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.file_series.numbered_file_series-class.html b/doc/html/fabio.file_series.numbered_file_series-class.html
new file mode 100644
index 0000000..5bda476
--- /dev/null
+++ b/doc/html/fabio.file_series.numbered_file_series-class.html
@@ -0,0 +1,339 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.file_series.numbered_file_series</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.file_series-module.html">Module file_series</a> ::
+        Class numbered_file_series
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.file_series.numbered_file_series-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class numbered_file_series</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.file_series-pysrc.html#numbered_file_series">source code</a></span></p>
+<pre class="base-tree">
+object --+        
+         |        
+      list --+    
+             |    
+   <a href="fabio.file_series.file_series-class.html">file_series</a> --+
+                 |
+                <strong class="uidshort">numbered_file_series</strong>
+</pre>
+
+<hr />
+<p>mydata0001.edf = "mydata" + 0001 + ".edf" 
+  mydata0002.edf = "mydata" + 0002 + ".edf" 
+  mydata0003.edf = "mydata" + 0003 + ".edf"</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">new empty list</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.file_series.numbered_file_series-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">stem</span>,
+        <span class="summary-sig-arg">first</span>,
+        <span class="summary-sig-arg">last</span>,
+        <span class="summary-sig-arg">extension</span>,
+        <span class="summary-sig-arg">digits</span>=<span class="summary-sig-default">4</span>,
+        <span class="summary-sig-arg">padding</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">Y</code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">step</span>=<span class="summary-sig-default">1</span>)</span><br />
+      stem - first part of the name...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.file_series-pysrc.html#numbered_file_series.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.file_series.file_series-class.html">file_series</a></code></b>:
+      <code><a href="fabio.file_series.file_series-class.html#current">current</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#current_image">current_image</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#current_object">current_object</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#first">first</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#first_image">first_image</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#first_object">first_object</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#jump">jump</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#jump_image">jump_image</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#jump_object">jump_object</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#last">last</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#last_image">last_image</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#last_object">last_object</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#len">len</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#next">next</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#next_image">next_image</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#next_object">next_object</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#previous">previous</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#previous_image">previous_image</a></code>,
+      <code><a href="fabio.file_series.file_series-class.html#previous_object">previous_object</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>list</code></b>:
+      <code>__add__</code>,
+      <code>__contains__</code>,
+      <code>__delitem__</code>,
+      <code>__delslice__</code>,
+      <code>__eq__</code>,
+      <code>__ge__</code>,
+      <code>__getattribute__</code>,
+      <code>__getitem__</code>,
+      <code>__getslice__</code>,
+      <code>__gt__</code>,
+      <code>__iadd__</code>,
+      <code>__imul__</code>,
+      <code>__iter__</code>,
+      <code>__le__</code>,
+      <code>__len__</code>,
+      <code>__lt__</code>,
+      <code>__mul__</code>,
+      <code>__ne__</code>,
+      <code>__new__</code>,
+      <code>__repr__</code>,
+      <code>__reversed__</code>,
+      <code>__rmul__</code>,
+      <code>__setitem__</code>,
+      <code>__setslice__</code>,
+      <code>__sizeof__</code>,
+      <code>append</code>,
+      <code>count</code>,
+      <code>extend</code>,
+      <code>index</code>,
+      <code>insert</code>,
+      <code>pop</code>,
+      <code>remove</code>,
+      <code>reverse</code>,
+      <code>sort</code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__setattr__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>list</code></b>:
+      <code>__hash__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">stem</span>,
+        <span class="sig-arg">first</span>,
+        <span class="sig-arg">last</span>,
+        <span class="sig-arg">extension</span>,
+        <span class="sig-arg">digits</span>=<span class="sig-default">4</span>,
+        <span class="sig-arg">padding</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">Y</code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">step</span>=<span class="sig-default">1</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.file_series-pysrc.html#numbered_file_series.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+stem - first part of the name
+step - in case of every nth file
+padding - possibility for specifying that numbers are not padded
+          with zeroes up to digits
+
+</pre>
+  <dl class="fields">
+    <dt>Returns: new empty list</dt>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fit2dmaskimage-module.html b/doc/html/fabio.fit2dmaskimage-module.html
new file mode 100644
index 0000000..4e620ce
--- /dev/null
+++ b/doc/html/fabio.fit2dmaskimage-module.html
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fit2dmaskimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module fit2dmaskimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fit2dmaskimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module fit2dmaskimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.fit2dmaskimage-pysrc.html">source code</a></span></p>
+<p>Author: Andy Hammersley, ESRF Translation into python/fabio: Jon 
+  Wright, ESRF</p>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html" class="summary-name">fit2dmaskimage</a><br />
+      Read and try to write Andy Hammersley's mask format
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fit2dmaskimage-pysrc.html b/doc/html/fabio.fit2dmaskimage-pysrc.html
new file mode 100644
index 0000000..1ce67d4
--- /dev/null
+++ b/doc/html/fabio.fit2dmaskimage-pysrc.html
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fit2dmaskimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module fit2dmaskimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fit2dmaskimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.fit2dmaskimage-module.html">Module fabio.fit2dmaskimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">## Automatically adapted for numpy.oldnumeric Oct 05, 2007 by alter_code1.py</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">Author: Andy Hammersley, ESRF</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">Translation into python/fabio: Jon Wright, ESRF</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-0', 'fabioimage', 'link-0');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-0');">fabioimage</a></tt> </tt>
+<a name="fit2dmaskimage"></a><div id="fit2dmaskimage-def"><a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt> <a class="py-toggle" href="#" id="fit2dmaskimage-toggle" onclick="return toggle('fit2dmaskimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.fit2dmaskimage.fit2dmaskimage-class.html">fit2dmaskimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="fit2dmaskimage-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="fit2dmaskimage-expanded"><a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">    <tt class="py-docstring">""" Read and try to write Andy Hammersley's mask format """</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"> </tt>
+<a name="fit2dmaskimage._readheader"></a><div id="fit2dmaskimage._readheader-def"><a name="L19"></a><tt class="py-lineno">19</tt> <a class="py-toggle" href="#" id="fit2dmaskimage._readheader-toggle" onclick="return toggle('fit2dmaskimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">, [...]
+</div><div id="fit2dmaskimage._readheader-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="fit2dmaskimage._readheader-expanded"><a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-docstring">        Read in a header from an already open file</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-comment"># 1024 bytes gives 256x32 bit integers</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">        <tt id="link-2" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-2', 'header', 'link-2');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method fabio.GEimage.GEimage.re [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-3', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">1024</tt><tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-4" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-4', 'i', 'link-4');">i</a></tt><tt class="py-op">,</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt> <tt class="py-op">(</tt><tt class="py-string">"M"</tt><tt  [...]
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">                      <tt class="py-op">(</tt><tt class="py-string">"A"</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">                      <tt class="py-op">(</tt><tt class="py-string">"S"</tt><tt class="py-op">,</tt> <tt class="py-number">8</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">                      <tt class="py-op">(</tt><tt class="py-string">"K"</tt><tt class="py-op">,</tt> <tt class="py-number">12</tt><tt class="py-op">)</tt>  <tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-5" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-5', 'header', 'link-2');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">j</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt id="link-6" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclin [...]
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Not a fit2d mask file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-name">fit2dhdr</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt id="link-7" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-7', 'header', 'link-2');">header</a></tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op"> [...]
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-8', 'dim1', 'link-8');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fit2dhdr</tt><tt class="py-op">[</tt><tt class="py-number">4</tt [...]
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-9', 'dim2', 'link-9');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fit2dhdr</tt><tt class="py-op">[</tt><tt class="py-number">5</tt [...]
+</div><a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"> </tt>
+<a name="fit2dmaskimage.read"></a><div id="fit2dmaskimage.read-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="fit2dmaskimage.read-toggle" onclick="return toggle('fit2dmaskimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt c [...]
+</div><div id="fit2dmaskimage.read-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="fit2dmaskimage.read-expanded"><a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">        Read in header into self.header and</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">            the data   into self.data</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">fin</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-10', '_open', 'link-10');">_open</a></tt><tt class="py-op">(</tt><tt class="p [...]
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._read [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-11', '_readheader', 'link-11');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">fin</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-comment"># Compute image size</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-12', 'bytecode', 'link-12');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt cla [...]
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-13', 'bpp', 'link-13');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name" targets="Method fabio.file_series.file_series.len()=f [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-16', 'tostring', 'link-16');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-comment"># integer division</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">        <tt class="py-name">num_ints</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-17', 'dim1', 'link-8');">dim1</a></tt> <tt class="py-op">+</tt> <tt class="py-number">31</tt><tt class="py-op">)</tt> <tt class="py-op">//</tt> <tt cla [...]
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">        <tt class="py-name">total</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-18', 'dim2', 'link-9');">dim2</a></tt> <tt class="py-op">*</tt> <tt class="py-name">num_ints</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt id="link-19" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-19', 'data', 'link-19');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">fin</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-20', 'read', 'link-3');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">total</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt id="link-21" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-21', 'len', 'link-14');">len</a></tt><tt class="py-op">(</tt><tt id="link-22" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-22', 'data', 'link-19');">data</a></tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">total</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-name">fin</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-comment"># Now to unpack it</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">        <tt id="link-23" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-23', 'data', 'link-19');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt id="link-24" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-24', 'data', 'link-19');">data</a></tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class="py-op">)</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt id="link-25" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-25', 'data', 'link-19');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-26', 'data', 'link-19');">data</a></tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-27', 'dim2', 'link-9');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name">num_ints</tt> <tt class="py-op">*</tt> <tt class="py-nu [...]
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-28', 'dim2', 'link-9');">dim2</a></tt><tt cla [...]
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line"> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">        <tt class="py-comment"># Unpack using bitwise comparisons to 2**n</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">        <tt class="py-name">bits</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">ones</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-29" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-29', 'i', 'link-4');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">8</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">            <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">bitwise_and</tt><tt class="py-op">(</tt><tt class="py-name">bits</tt><tt class="py-op">,</tt> <tt id="link-30" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-30', 'data', 'link-19');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt> <tt id="link-31" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-31', 'i', 'link-4');">i</a></tt><tt class="py-op">:</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">temp</tt><t [...]
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">            <tt class="py-name">bits</tt> <tt class="py-op">=</tt> <tt class="py-name">bits</tt> <tt class="py-op">*</tt> <tt class="py-number">2</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">        <tt class="py-comment"># Extra rows needed for packing odd dimensions</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">        <tt class="py-name">spares</tt> <tt class="py-op">=</tt> <tt class="py-name">num_ints</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> <tt class="py-op">*</tt> <tt class="py-number">8</tt> <tt class="py-op">-</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-32', 'dim1 [...]
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">spares</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-33', 'data', 'link-19');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">where</tt><tt class="py-op">(</tt><tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-34', 'data', 'link-19');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">where</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-name">spares</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt>  [...]
+<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line">        <tt class="py-comment"># Transpose appears to be needed to match edf reader (scary??)</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line"><tt class="py-comment">#        self.data = numpy.transpose(self.data)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-35', 'data', 'link-19');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-36', 'data', 'link-19');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line">                                    <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-37', 'dim2', 'link-9');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="fabio.edfimage.edfimage [...]
+<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line"> </tt>
+<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line"> </tt>
+<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line"> </tt>
+<a name="fit2dmaskimage.write"></a><div id="fit2dmaskimage.write-def"><a name="L81"></a><tt class="py-lineno">81</tt> <a class="py-toggle" href="#" id="fit2dmaskimage.write-toggle" onclick="return toggle('fit2dmaskimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt [...]
+</div><div id="fit2dmaskimage.write-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="fit2dmaskimage.write-expanded"><a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">83</tt>  <tt class="py-line"><tt class="py-docstring">        Try to write a file</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">84</tt>  <tt class="py-line"><tt class="py-docstring">        check we can write zipped also</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">85</tt>  <tt class="py-line"><tt class="py-docstring">        mimics that fabian was writing uint16 (we sometimes want floats)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">86</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">87</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Not implemented yet"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L88"></a><tt class="py-lineno">88</tt>  <tt class="py-line"> </tt>
+<a name="L89"></a><tt class="py-lineno">89</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="fit2dmaskimage.checkData"></a><div id="fit2dmaskimage.checkData-def"><a name="L90"></a><tt class="py-lineno">90</tt> <a class="py-toggle" href="#" id="fit2dmaskimage.checkData-toggle" onclick="return toggle('fit2dmaskimage.checkData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#checkData">checkData</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">=</tt><tt cla [...]
+</div><div id="fit2dmaskimage.checkData-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="fit2dmaskimage.checkData-expanded"><a name="L91"></a><tt class="py-lineno">91</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-39" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-39', 'data', 'link-19');">data</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">92</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">93</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">94</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-40" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-40', 'data', 'link-19');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L95"></a><tt class="py-lineno">95</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fit2dmaskimage.fit2dmaskimage-class.html b/doc/html/fabio.fit2dmaskimage.fit2dmaskimage-class.html
new file mode 100644
index 0000000..bf17bd1
--- /dev/null
+++ b/doc/html/fabio.fit2dmaskimage.fit2dmaskimage-class.html
@@ -0,0 +1,453 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fit2dmaskimage.fit2dmaskimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.fit2dmaskimage-module.html">Module fit2dmaskimage</a> ::
+        Class fit2dmaskimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class fit2dmaskimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.fit2dmaskimage-pysrc.html#fit2dmaskimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">fit2dmaskimage</strong>
+</pre>
+
+<hr />
+<p>Read and try to write Andy Hammersley's mask format</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Read in a header from an already open file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fit2dmaskimage-pysrc.html#fit2dmaskimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in header into self.header and...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fit2dmaskimage-pysrc.html#fit2dmaskimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      Try to write a file check we can write zipped also mimics that fabian
+      was writing uint16 (we sometimes want floats)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fit2dmaskimage-pysrc.html#fit2dmaskimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#checkData" class="summary-sig-name">checkData</a>(<span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Empty for fabioimage but may be populated by others classes, 
+      especially for format accepting only integers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fit2dmaskimage-pysrc.html#fit2dmaskimage.checkData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fit2dmaskimage-pysrc.html#fit2dmaskimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read in a header from an already open file</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fit2dmaskimage-pysrc.html#fit2dmaskimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Read in header into self.header and
+    the data   into self.data
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fit2dmaskimage-pysrc.html#fit2dmaskimage.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Try to write a file check we can write zipped also mimics that fabian 
+  was writing uint16 (we sometimes want floats)</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkData"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkData</span>(<span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fit2dmaskimage-pysrc.html#fit2dmaskimage.checkData">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Empty for fabioimage but may be populated by others classes, 
+  especially for format accepting only integers</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#checkData">fabioimage.fabioimage.checkData</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fit2dspreadsheetimage-module.html b/doc/html/fabio.fit2dspreadsheetimage-module.html
new file mode 100644
index 0000000..3dcfbc5
--- /dev/null
+++ b/doc/html/fabio.fit2dspreadsheetimage-module.html
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fit2dspreadsheetimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module fit2dspreadsheetimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fit2dspreadsheetimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module fit2dspreadsheetimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.fit2dspreadsheetimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Read the fit2d ascii image output
+        + Jon Wright, ESRF
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html" class="summary-name">fit2dspreadsheetimage</a><br />
+      Read a fit2d ascii format
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fit2dspreadsheetimage-pysrc.html b/doc/html/fabio.fit2dspreadsheetimage-pysrc.html
new file mode 100644
index 0000000..dcc44ca
--- /dev/null
+++ b/doc/html/fabio.fit2dspreadsheetimage-pysrc.html
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fit2dspreadsheetimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module fit2dspreadsheetimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fit2dspreadsheetimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.fit2dspreadsheetimage-module.html">Module fabio.fit2dspreadsheetimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring">Read the fit2d ascii image output</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">        + Jon Wright, ESRF</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-0', 'fabioimage', 'link-0');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-0');">fabioimage</a></tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"> </tt>
+<a name="fit2dspreadsheetimage"></a><div id="fit2dspreadsheetimage-def"><a name="L15"></a><tt class="py-lineno">15</tt> <a class="py-toggle" href="#" id="fit2dspreadsheetimage-toggle" onclick="return toggle('fit2dspreadsheetimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html">fit2dspreadsheetimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op"> [...]
+</div><div id="fit2dspreadsheetimage-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="fit2dspreadsheetimage-expanded"><a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">    Read a fit2d ascii format</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
+<a name="fit2dspreadsheetimage._readheader"></a><div id="fit2dspreadsheetimage._readheader-def"><a name="L20"></a><tt class="py-lineno">20</tt> <a class="py-toggle" href="#" id="fit2dspreadsheetimage._readheader-toggle" onclick="return toggle('fit2dspreadsheetimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt cla [...]
+</div><div id="fit2dspreadsheetimage._readheader-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="fit2dspreadsheetimage._readheader-expanded"><a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-docstring">        TODO : test for minimal attributes?</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">            <tt class="py-name">items</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">            <tt class="py-name">xdim</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">items</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">            <tt class="py-name">ydim</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">items</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-2', 'header', 'link-2');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'title'</tt><tt class="py-op">]</tt> <tt class="py-op" [...]
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-3', 'header', 'link-2');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Dim_1'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">xdim</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-4', 'header', 'link-2');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Dim_2'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ydim</tt> </tt>
+</div><a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"> </tt>
+<a name="fit2dspreadsheetimage.read"></a><div id="fit2dspreadsheetimage.read-def"><a name="L36"></a><tt class="py-lineno">36</tt> <a class="py-toggle" href="#" id="fit2dspreadsheetimage.read-toggle" onclick="return toggle('fit2dspreadsheetimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">, [...]
+</div><div id="fit2dspreadsheetimage.read-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="fit2dspreadsheetimage.read-expanded"><a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">        Read in header into self.header and</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">            the data   into self.data</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-5', 'header', 'link-2');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-6', 'resetvals', 'link-6');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-7', '_open', 'link-7');">_open</a></tt><tt class="py-op">(</tt><tt class="p [...]
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-8" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._readh [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-8', '_readheader', 'link-8');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">        <tt class="py-comment"># Compute image size</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-9', 'dim1', 'link-9');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt [...]
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-11', 'dim2', 'link-11');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self< [...]
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"file"</tt><tt class="py-op">,</tt> <tt id="link-13" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-13', 'str', 'link-13');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">                                <tt class="py-string">"is corrupt, cannot read it"</tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt id="link-14" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-14', 'bytecode', 'link-14');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-15', 'bpp', 'link-15');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name" targets="Method fabio.file_series.file_series.len()=f [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-18', 'tostring', 'link-18');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt class="py-comment">#now read the data into the array</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">            <tt class="py-name">vals</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">                    <tt class="py-name">vals</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">spl [...]
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-19', 'data', 'link-19');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-name">vals</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt id="link-20" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#"  [...]
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-21', 'data', 'link-19');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">==</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-22', 'dim2', 'link-11');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name [...]
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">"Error reading ascii"</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line"> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-24', 'resetvals', 'link-6');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line">        <tt class="py-comment"># ensure the PIL image is reset</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div></div><a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line"> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line">    <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line">    <tt class="py-name">img</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name" targets="Module fabio.fit2dspreadsheetimage=fabio.fit2dspreadsheetimage-module.html,Class fabio.fit2dspreadsheetimage.fit2dspreadsheetimage=fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html"><a title="fabio.fit2dspreadsheetimage
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage" class="py-name" href="#" onclick="return doclink('link-25', 'fit2dspreadsheetimage', 'link-25');">fit2dspreadsheetimage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line">    <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage.OXDimage.read()=fabio.OXDimage.OXDimage-class.html#read,Metho [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-26', 'read', 'link-26');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">argv</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">81</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-27', 'dim1', 'link-9');">dim1</a></tt><tt class="py-op">,</tt> <tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" h [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-29', 'data', 'link-19');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">83</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt class="py-name">matplotlib</tt><tt class="py-op">.</tt><tt class="py-name">pylab</tt> <tt class="py-keyword">import</tt> <tt class="py-name">imshow</tt><tt class="py-op">,</tt> <tt class="py-name">show</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">84</tt>  <tt class="py-line">    <tt class="py-name">imshow</tt><tt class="py-op">(</tt><tt class="py-name">img</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-30', 'data', 'link-19');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">T</tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">85</tt>  <tt class="py-line">    <tt class="py-name">show</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">86</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:29 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html b/doc/html/fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html
new file mode 100644
index 0000000..159a3d9
--- /dev/null
+++ b/doc/html/fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html
@@ -0,0 +1,369 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.fit2dspreadsheetimage.fit2dspreadsheetimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.fit2dspreadsheetimage-module.html">Module fit2dspreadsheetimage</a> ::
+        Class fit2dspreadsheetimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class fit2dspreadsheetimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.fit2dspreadsheetimage-pysrc.html#fit2dspreadsheetimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">fit2dspreadsheetimage</strong>
+</pre>
+
+<hr />
+<p>Read a fit2d ascii format</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      TODO : test for minimal attributes?</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fit2dspreadsheetimage-pysrc.html#fit2dspreadsheetimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in header into self.header and...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.fit2dspreadsheetimage-pysrc.html#fit2dspreadsheetimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#write">write</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fit2dspreadsheetimage-pysrc.html#fit2dspreadsheetimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>TODO : test for minimal attributes?</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.fit2dspreadsheetimage-pysrc.html#fit2dspreadsheetimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Read in header into self.header and
+    the data   into self.data
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.kcdimage-module.html b/doc/html/fabio.kcdimage-module.html
new file mode 100644
index 0000000..05f4f19
--- /dev/null
+++ b/doc/html/fabio.kcdimage-module.html
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.kcdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module kcdimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.kcdimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module kcdimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.kcdimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Authors: Jerome Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr
+
+kcd images are 2D images written by the old KappaCCD diffractometer built by Nonius in the 1990's
+Based on the edfimage.py parser.
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.kcdimage.kcdimage-class.html" class="summary-name">kcdimage</a><br />
+      Read the Nonius kcd data format
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("kcdimage")">logging.getLogger("kcdimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="DATA_TYPES"></a><span class="summary-name">DATA_TYPES</span> = <code title="{'u16': <type 'numpy.uint16'>}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">u16</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.uint16'><code class="variable-group">}</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.kcdimage-module.html#MINIMUM_KEYS" class="summary-name">MINIMUM_KEYS</a> = <code title="['ByteOrder',
+ 'Data type',
+ 'X dimension',
+ 'Y dimension',
+ 'Number of readouts']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">ByteOrder</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">Data type</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">X dimension</code><code class="variable-quote">'</code [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="DEFAULT_VALUES"></a><span class="summary-name">DEFAULT_VALUES</span> = <code title="{'Data type': 'u16'}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">Data type</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">u16</code><code class="variable-quote">'</code><code class="variable-group">}</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="MINIMUM_KEYS"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">MINIMUM_KEYS</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">ByteOrder</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Data type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">X dimension</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Y dimension</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">Number of readouts</code><code class="variable-quote">'</code><code class="variable-group">]</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.kcdimage-pysrc.html b/doc/html/fabio.kcdimage-pysrc.html
new file mode 100644
index 0000000..34ddd64
--- /dev/null
+++ b/doc/html/fabio.kcdimage-pysrc.html
@@ -0,0 +1,410 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.kcdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module kcdimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.kcdimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.kcdimage-module.html">Module fabio.kcdimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Jerome Kieffer, ESRF </tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">         email:jerome.kieffer at esrf.fr</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">kcd images are 2D images written by the old KappaCCD diffractometer built by Nonius in the 1990's</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">Based on the edfimage.py parser.</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">string</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-0', 'fabioimage', 'link-0');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-0');">fabioimage</a></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-2', 'logger', 'link-2');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"kcdimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable fabio.cbfimage.DATA_TYPES=fabio.cbfimage-module.html#DATA_TYPES,Variable fabio.dm3image.DATA_TYPES=fabio.dm3image-module.html#DATA_TYPES,Variable fabio.edfimage.DATA_TYPES=fabio.edfimage-module.html#DATA_TYPES,Variable fabio.kcdimage.DATA_TYPES=fabio.kcdimage-module.html#DATA_TYPES"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-3', 'DATA_TYPES', 'link-3');">DATA_TYPES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">"u16"</tt>  <tt class="py-op">:</tt>  <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt> <tt class="py-op">}</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable fabio.cbfimage.MINIMUM_KEYS=fabio.cbfimage-module.html#MINIMUM_KEYS,Variable fabio.edfimage.MINIMUM_KEYS=fabio.edfimage-module.html#MINIMUM_KEYS,Variable fabio.kcdimage.MINIMUM_KEYS=fabio.kcdimage-module.html#MINIMUM_KEYS"><a title="fabio.cbfimage.MINIMUM_KEYS
+fabio.edfimage.MINIMUM_KEYS
+fabio.kcdimage.MINIMUM_KEYS" class="py-name" href="#" onclick="return doclink('link-4', 'MINIMUM_KEYS', 'link-4');">MINIMUM_KEYS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">                <tt class="py-string">'ByteOrder'</tt><tt class="py-op">,</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">                <tt class="py-string">'Data type'</tt><tt class="py-op">,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">                <tt class="py-string">'X dimension'</tt><tt class="py-op">,</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">                <tt class="py-string">'Y dimension'</tt><tt class="py-op">,</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">                <tt class="py-string">'Number of readouts'</tt><tt class="py-op">]</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable fabio.edfimage.DEFAULT_VALUES=fabio.edfimage-module.html#DEFAULT_VALUES,Variable fabio.kcdimage.DEFAULT_VALUES=fabio.kcdimage-module.html#DEFAULT_VALUES"><a title="fabio.edfimage.DEFAULT_VALUES
+fabio.kcdimage.DEFAULT_VALUES" class="py-name" href="#" onclick="return doclink('link-5', 'DEFAULT_VALUES', 'link-5');">DEFAULT_VALUES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">"Data type"</tt><tt class="py-op">:</tt> <tt class="py-string">"u16"</tt> <tt class="py-op">}</tt> </tt>
+<a name="kcdimage"></a><div id="kcdimage-def"><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="kcdimage-toggle" onclick="return toggle('kcdimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.kcdimage.kcdimage-class.html">kcdimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="kcdimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="kcdimage-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-docstring">""" </tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">    Read the Nonius kcd data format """</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"> </tt>
+<a name="kcdimage._readheader"></a><div id="kcdimage._readheader-def"><a name="L34"></a><tt class="py-lineno"> 34</tt> <a class="py-toggle" href="#" id="kcdimage._readheader-toggle" onclick="return toggle('kcdimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.kcdimage.kcdimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">infile</ [...]
+</div><div id="kcdimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="kcdimage._readheader-expanded"><a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">        Read in a header in some KCD format from an already open file</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-docstring">        @</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">oneLine</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">alphanum</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">digits</tt> <tt class="py-op">+</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">letters</tt> <tt class="py-op">+</tt> <tt class="py-string">". "</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">asciiHeader</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">oneChar</tt> <tt class="py-keyword">in</tt> <tt class="py-name">oneLine</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">oneChar</tt> <tt class="py-keyword">in</tt> <tt class="py-name">alphanum</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">                <tt class="py-name">asciiHeader</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">asciiHeader</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-comment"># This does not look like an edf file</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt id="link-6" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-6', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"First line of %s does not seam to be ascii text!"</tt> <tt class="py-op">%</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">endOfHeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">endOfHeaders</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-name">oneLine</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-7" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-7', 'len', 'link-7');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">oneLine</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt c [...]
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-name">endOfHeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">oneLine</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"Binned mode"</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                <tt class="py-name">oneLine</tt> <tt class="py-op">=</tt> <tt class="py-string">"Mode = Binned"</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                <tt id="link-8" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-8', 'key', 'link-8');">key</a></tt><tt class="py-op">,</tt> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">oneLine</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py- [...]
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-name">endOfHeaders</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt id="link-9" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-9', 'key', 'link-8');">key</a></tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-10', 'key', 'link-8');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(< [...]
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Variable fabio.edfimage.edfimage.header_keys=fabio.edfimage.edfimage-class.html#header_keys"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-11', 'header_keys', 'link-11');">header_keys</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="p [...]
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-13', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt id="link-14" class="py-name"><a title="fabio.fabioutils.key" cla [...]
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">missing</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt id="link-15" class="py-name"><a title="fabio.cbfimage.MINIMUM_KEYS
+fabio.edfimage.MINIMUM_KEYS
+fabio.kcdimage.MINIMUM_KEYS" class="py-name" href="#" onclick="return doclink('link-15', 'MINIMUM_KEYS', 'link-4');">MINIMUM_KEYS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">item</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-16', 'header_keys', 'link-11');">header_keys</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                <tt class="py-name">missing</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-17" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-17', 'len', 'link-7');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">missing</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt id="link-18" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-18', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"KCD file misses the keys "</tt> <tt class="py-op">+</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">missing</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
+<a name="kcdimage.read"></a><div id="kcdimage.read-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="kcdimage.read-toggle" onclick="return toggle('kcdimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.kcdimage.kcdimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py-p [...]
+</div><div id="kcdimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="kcdimage.read-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">        Read in header into self.header and</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">            the data   into self.data</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-19', 'header', 'link-13');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-20', 'resetvals', 'link-20');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-21', '_open', 'link-21');">_open</a></tt><tt class="py-op">(</tt><tt clas [...]
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._rea [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-22', '_readheader', 'link-22');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-comment"># Compute image size</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-23', 'dim1', 'link-23');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self [...]
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-25', 'dim2', 'link-25');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self [...]
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"KCD file %s is corrupt, cannot read it"</tt> <tt class="py-op">%</tt> <tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt id="link-27" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-27', 'bytecode', 'link-27');">bytecode</a></tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="fabio.cbfimage.DATA_TYPES
+fabio.dm3image.DATA_TYPES
+fabio.edfimage.DATA_TYPES
+fabio.kcdimage.DATA_TYPES" class="py-name" href="#" onclick="return doclink('link-28', 'DATA_TYPES', 'link-3');">DATA_TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-29', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Data type'</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-30', 'bpp', 'link-30');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="fabio.file_series.file_series.len" cla [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-33', 'tostring', 'link-33');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt id="link-34" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-34', 'bytecode', 'link-27');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-35', 'bpp', 'link-30');">bpp</a></tt> <tt class="py-op">=</tt> <tt class="py-number">2</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt id="link-36" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-36', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Defaulting type to uint16"</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">nbReadOut</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-37', 'header', 'link-13');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'Number of readouts'</tt>< [...]
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt id="link-38" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-38', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Defaulting number of ReadOut to 1"</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">nbReadOut</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">fileSize</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">stat</tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">6</tt><tt class="py-op">]</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">expected_size</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-39', 'dim1', 'link-23');">dim1</a></tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="fabio.e [...]
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">fileSize</tt> <tt class="py-op">-</tt> <tt class="py-name">expected_size</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">block</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDim [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-42', 'read', 'link-42');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt id="link-43" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-43', 'len', 'link-7');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">expected_size</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-comment">#now read the data into the array</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-44', 'data', 'link-44');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-45', 'dim2', 'link-25');">dim [...]
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-47" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-47', 'i', 'link-47');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">nbReadOut</tt><tt class="py-op">)</tt><tt class="py [...]
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-48', 'data', 'link-44');">data</a></tt> <tt class="py-op">+=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                    <tt class="py-name">block</tt><tt class="py-op">[</tt><tt id="link-49" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-49', 'i', 'link-47');">i</a></tt> <tt class="py-op">*</tt> <tt class="py-name">expected_size</tt> <tt class="py-op">/</tt> <tt class="py-name">nbReadOut</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt id="link-50" class=" [...]
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">                    <tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-52', 'dim2', 'link-25');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class= [...]
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt id="link-54" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-54', 'len', 'link-7');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">block</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-55" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" o [...]
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> \ </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">              <tt class="py-string">'Size spec in kcd-header does not match size of image data field'</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-59', 'bytecode', 'link-27');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-60', 'data', 'link-44');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">type</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-61', 'resetvals', 'link-20');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-comment"># ensure the PIL image is reset</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="kcdimage.checkData"></a><div id="kcdimage.checkData-def"><a name="L127"></a><tt class="py-lineno">127</tt> <a class="py-toggle" href="#" id="kcdimage.checkData-toggle" onclick="return toggle('kcdimage.checkData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.kcdimage.kcdimage-class.html#checkData">checkData</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="p [...]
+</div><div id="kcdimage.checkData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="kcdimage.checkData-expanded"><a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-62" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-62', 'data', 'link-44');">data</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-63" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-63', 'data', 'link-44');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.kcdimage.kcdimage-class.html b/doc/html/fabio.kcdimage.kcdimage-class.html
new file mode 100644
index 0000000..f946223
--- /dev/null
+++ b/doc/html/fabio.kcdimage.kcdimage-class.html
@@ -0,0 +1,411 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.kcdimage.kcdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.kcdimage-module.html">Module kcdimage</a> ::
+        Class kcdimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.kcdimage.kcdimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class kcdimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.kcdimage-pysrc.html#kcdimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">kcdimage</strong>
+</pre>
+
+<hr />
+<p>Read the Nonius kcd data format</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.kcdimage.kcdimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Read in a header in some KCD format from an already open file @</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.kcdimage-pysrc.html#kcdimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.kcdimage.kcdimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read in header into self.header and...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.kcdimage-pysrc.html#kcdimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#write">write</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.kcdimage.kcdimage-class.html#checkData" class="summary-sig-name">checkData</a>(<span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Empty for fabioimage but may be populated by others classes, 
+      especially for format accepting only integers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.kcdimage-pysrc.html#kcdimage.checkData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.kcdimage-pysrc.html#kcdimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read in a header in some KCD format from an already open file @</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.kcdimage-pysrc.html#kcdimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <pre class="literalblock">
+
+Read in header into self.header and
+    the data   into self.data
+
+</pre>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkData"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkData</span>(<span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.kcdimage-pysrc.html#kcdimage.checkData">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Empty for fabioimage but may be populated by others classes, 
+  especially for format accepting only integers</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#checkData">fabioimage.fabioimage.checkData</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.mar345_IO-module.html b/doc/html/fabio.mar345_IO-module.html
new file mode 100644
index 0000000..087b477
--- /dev/null
+++ b/doc/html/fabio.mar345_IO-module.html
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.mar345_IO</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module mar345_IO
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.mar345_IO-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module mar345_IO</h1><p class="nomargin-top"></p>
+<pre class="literalblock">
+
+New Cython version of mar345_io for preparing the migration to Python3
+
+Compressor & decompressor for "pack" algorithm by JPA, binding to CCP4 libraries 
+
+Warning: decompressor is just a cython porting of mar345_io, but in cython so (soon) python3 compliant.
+
+Future: make those algorithm actually generate strings not go via files;
+        it will allow a broader use of the algorithm. 
+
+</pre>
+
+<hr />
+<div class="fields">      <dl><dt>Authors:</dt>
+        <dd>
+          Jerome Kieffer,
+          Gael Goret
+        </dd>
+      </dl>
+      <p><strong>Contact:</strong>
+        jerome.kieffer at esrf.eu
+      </p>
+      <p><strong>Copyright:</strong>
+        2012, European Synchrotron Radiation Facility, Grenoble, France
+      </p>
+      <p><strong>License:</strong>
+        LGPLv3+
+      </p>
+</div><!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__test__"></a><span class="summary-name">__test__</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.mar345image-module.html b/doc/html/fabio.mar345image-module.html
new file mode 100644
index 0000000..1b68efb
--- /dev/null
+++ b/doc/html/fabio.mar345image-module.html
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.mar345image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module mar345image
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.mar345image-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module mar345image</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.mar345image-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+          +
+         Jon Wright, Jerome Kieffer, Gael Goret ESRF, France
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.mar345image.mar345image-class.html" class="summary-name">mar345image</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.mar345image-module.html#__doc__" class="summary-name">__doc__</a> = <code title=""""
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dim\
+ensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+..."><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("mar345image")">logging.getLogger("mar345image")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__doc__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">__doc__</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+"""
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dim<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+ensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.mar345image-pysrc.html b/doc/html/fabio.mar345image-pysrc.html
new file mode 100644
index 0000000..8c730c7
--- /dev/null
+++ b/doc/html/fabio.mar345image-pysrc.html
@@ -0,0 +1,784 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.mar345image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module mar345image
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.mar345image-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.mar345image-module.html">Module fabio.mar345image</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#coding: utf8 </tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">__future__</tt> <tt class="py-keyword">import</tt> <tt class="py-name">with_statement</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.OXDimage.__doc__=fabio.OXDimage-module.html#__doc__,Variable fabio.binaryimage.__doc__=fabio.binaryimage-module.html#__doc__,Variable fabio.mar345image.__doc__=fabio.mar345image-module.html#__doc__"><a title="fabio.OXDimage.__doc__
+fabio.binaryimage.__doc__
+fabio.mar345image.__doc__" class="py-name" href="#" onclick="return doclink('link-0', '__doc__', 'link-0');">__doc__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-string">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-string">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-string">         Risoe National Laboratory</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-string">         Frederiksborgvej 399</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-string">         DK-4000 Roskilde</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-string">         email:erik.knudsen at risoe.dk</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-string">          +</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-string">         Jon Wright, Jerome Kieffer, Gael Goret ESRF, France</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-1');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-1');">fabioimage</a></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt><tt class="py-op">,</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-3', 'logger', 'link-3');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"mar345image"</tt><tt class="py-op">)</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module fabio.compression=fabio.compression-module.html"><a title="fabio.compression" class="py-name" href="#" onclick="return doclink('link-4', 'compression', 'link-4');">compression</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Function fabio.compression.compPCK()=fabio.compression-module.html#compPCK"><a t [...]
+<a name="mar345image"></a><div id="mar345image-def"><a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt> <a class="py-toggle" href="#" id="mar345image-toggle" onclick="return toggle('mar345image');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.mar345image.mar345image-class.html">mar345image</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="mar345image-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="mar345image-expanded"><a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt id="link-7" class="py-name" targets="Variable fabio.fabioimage.fabioimage._need_a_real_file=fabio.fabioimage.fabioimage-class.html#_need_a_real_file,Variable fabio.mar345image.mar345image._need_a_real_file=fabio.mar345image.mar345image-class.html#_need_a_real_file"><a title="fabio.fabioimage. [...]
+fabio.mar345image.mar345image._need_a_real_file" class="py-name" href="#" onclick="return doclink('link-7', '_need_a_real_file', 'link-7');">_need_a_real_file</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="mar345image.__init__"></a><div id="mar345image.__init__-def"><a name="L24"></a><tt class="py-lineno"> 24</tt> <a class="py-toggle" href="#" id="mar345image.__init__-toggle" onclick="return toggle('mar345image.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.mar345image.mar345image-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt c [...]
+</div><div id="mar345image.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="mar345image.__init__-expanded"><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt id="link-8" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-8', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__init__()=fabio.TiffIO.TiffIO-class.html#__init__,Method fabio.adscimage.adscimage.__init__()=fabio.adscimage.adscimage-class.html#__init__,Method fabio.binaryimage.binaryimage.__ini [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-9', '__init__', 'link-9');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">numhigh</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">numpixels</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="mar345image.read"></a><div id="mar345image.read-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="mar345image.read-toggle" onclick="return toggle('mar345image.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.mar345image.mar345image-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</t [...]
+</div><div id="mar345image.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="mar345image.read-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-docstring">""" Read a mar345 image"""</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-10', '_open', 'link-10');">_open</a></tt><tt class="py-op">(</tt><tt class="py [...]
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._rea [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-11', '_readheader', 'link-11');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'compressed'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-12', 'header', 'link-12');">header</a [...]
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-13', 'data', 'link-13');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="fabio.compression.decPCK" class="py-name" href="#" onclick="return doclink('link-14', 'decPCK', 'link-6');">decPCK</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Variab [...]
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">                <tt id="link-17" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-17', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">'%s. importing the mar345_io backend: generate an empty 1x1 picture'</tt> <tt class="py-op">%</tt> <tt class="py-name">error</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">                <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-18', 'dim1', 'link-15');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-19', 'dim2', 'link-16');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-20', 'bytecode', 'link-20');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</t [...]
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-21', 'data', 'link-13');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">resize</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">nump [...]
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt id="link-22" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-22', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"cannot handle these formats yet "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                <tt class="py-string">"due to lack of documentation"</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-23', 'bytecode', 'link-20');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"> </tt>
+<a name="mar345image._readheader"></a><div id="mar345image._readheader-def"><a name="L54"></a><tt class="py-lineno"> 54</tt> <a class="py-toggle" href="#" id="mar345image._readheader-toggle" onclick="return toggle('mar345image._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.mar345image.mar345image-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class=" [...]
+</div><div id="mar345image._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="mar345image._readheader-expanded"><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-docstring">""" Read a mar345 image header """</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">        <tt class="py-comment"># clip was not used anywhere - commented out</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-comment"># clip = '\x00'</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-comment">#using a couple of local variables inside this function</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">h</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-comment">#header is 4096 bytes long</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage.OXDima [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-24', 'read', 'link-24');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">64</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-comment">#the contents of the mar345 header is taken to be as</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-comment"># described in</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-comment"># http://www.mar-usa.com/support/downloads/mar345_formats.pdf</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-comment">#the first 64 bytes are 4-byte integers (but in the CBFlib</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-comment"># example image it seems to 128 bytes?)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-comment">#first 4-byte integer is a marker to check endianness</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method fabio.edfimage.edfimage.unpack()=fabio.edfimage.edfimage-class.html#unpack,Method fabio.tifimage.Image_File_Directory.unpack()=fabio.tifimage.Image_File_Directory-class.html#unpack,Method fabio.tifimage.Image_File_Directory_entry.unpack()=fabio.tifimage.Image_File_Directory_entr [...]
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-25', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-string">"<i"</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt cl [...]
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt class="py-name">fs</tt> <tt class="py-op">=</tt> <tt class="py-string">'<i'</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">fs</tt> <tt class="py-op">=</tt> <tt class="py-string">'>i'</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-comment">#image dimensions</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-26', 'dim1', 'link-15');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return d [...]
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-28', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py- [...]
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-comment">#number of high intensity pixels</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">numhigh</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-29', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">2</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> <tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt  [...]
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'NumHigh'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">numhigh</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-comment">#Image format</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt id="link-30" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-30', 'i', 'link-30');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-31', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">3</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt> <tt class="py-op">:</tt> <tt class="py-op">(</tt><tt class="py-number">3</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt  [...]
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-32" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-32', 'i', 'link-30');">i</a></tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'Format'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'compressed'</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt id="link-33" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-33', 'i', 'link-30');">i</a></tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'Format'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'spiral'</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'Format'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'compressed'</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt id="link-34" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-34', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"image format could not be detetermined"</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">                <tt class="py-string">"- assuming compressed mar345"</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-comment">#collection mode</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'Mode'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-string">'Dose'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> <tt class="py-string">'Time'</tt><tt class="py-op">}</tt><tt class="py-op">[</tt><tt class="py [...]
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-35', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">4</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-number">4</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt cl [...]
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-comment">#total number of pixels</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">numpixels</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-36', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">5</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-number">5</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt cl [...]
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'NumPixels'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-37', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">numpixels</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-comment">#pixel dimensions (length,height) in mm</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'PixelLength'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-38', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">6</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-number">6</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt cl [...]
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'PixelHeight'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-39', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">7</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-number">7</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt cl [...]
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-comment">#x-ray wavelength in AA</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'Wavelength'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-40', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">8</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-number">8</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt cl [...]
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-comment">#used distance</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'Distance'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-41', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">9</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">(</tt><tt class="py-number">9</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt cl [...]
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-comment">#starting and ending phi</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'StartPhi'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-42', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">10</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">11</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt  [...]
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'EndPhi'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-43', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">11</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">12</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt  [...]
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-comment">#starting and ending omega</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'StartOmega'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-44', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">12</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">13</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt  [...]
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'EndOmega'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-45', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">13</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">14</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt  [...]
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-comment">#Chi and Twotheta angles</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'Chi'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-46', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">14</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">15</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt  [...]
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'TwoTheta'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-47', 'unpack', 'link-25');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fs</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">15</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-number">16</tt> <tt class="py-op">*</tt> <tt class="py-number">4</tt><tt class="py-op">]</tt><tt  [...]
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-comment">#the rest of the header is ascii</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-comment"># TODO: validate these values against the binaries already read</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-48', 'read', 'link-24');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">128</tt><tt class="py-op">)</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-string">'mar research'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">l</tt><tt class="py-op">:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt id="link-49" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-49', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"the string \"mar research\" should be in "</tt> <tt class="py-op">+</tt> \ </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">                <tt class="py-string">"bytes 65-76 of the header but was not"</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-number">128</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">l</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-string">'mar research'</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">64</tt> <tt class="py-op">+</tt> <tt class="py-name">start</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-50', 'read', 'link-24');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">4096</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt> <tt class="py-op">-</tt> <tt class="py-number">64</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">l</tt><tt class="py-op">.</tt><tt class="py-name">splitlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">m</tt> <tt class="py-op">==</tt> <tt class="py-string">'END OF HEADER'</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">n</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">''</tt><tt class="py-op">:</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">n</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'PROGRAM'</tt><tt class="py-op">,</tt> <tt class="py-string">'DATE'</tt><tt class="py-op">,</tt> <tt class="py-string">'SCANNER'</tt><tt class="py-op">,</tt> <tt class="py-string">'HIGH'</tt><tt cla [...]
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">                        <tt class="py-string">'GAIN'</tt><tt class="py-op">,</tt> <tt class="py-string">'WAVELENGTH'</tt><tt class="py-op">,</tt> <tt class="py-string">'DISTANCE'</tt><tt class="py-op">,</tt> <tt class="py-string">'RESOLUTION'</tt><tt class="py-op">,</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">                        <tt class="py-string">'CHI'</tt><tt class="py-op">,</tt> <tt class="py-string">'TWOTHETA'</tt><tt class="py-op">,</tt> <tt class="py-string">'MODE'</tt><tt class="py-op">,</tt> <tt class="py-string">'TIME'</tt><tt class="py-op">,</tt> <tt class="py-string">'GENERATOR'</tt><tt class="py-op">,</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">                        <tt class="py-string">'MONOCHROMATOR'</tt><tt class="py-op">,</tt> <tt class="py-string">'REMARK'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                <tt id="link-51" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-51', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"reading: %s %s"</tt><tt class="py-op">,</tt> <tt class="py-name">n</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">n</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</ [...]
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">                <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-name">n</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">n</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">n</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'FORMAT'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'DIM'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'FORMAT_TYPE'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">[</tt><tt class="py-string">'NO_PIXELS'</tt><tt class="py-op">]</tt [...]
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">n</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">'PIXEL'</tt><tt class="py-op">,</tt> <tt class="py-string">'OFFSET'</tt><tt class="py-op">,</tt> <tt class="py-string">'PHI'</tt><tt class="py-op">,</tt> <tt class="py-string">'OMEGA'</tt><tt class= [...]
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                        <tt class="py-string">'CENTER'</tt><tt class="py-op">,</tt> <tt class="py-string">'INTENSITY'</tt><tt class="py-op">,</tt> <tt class="py-string">'HISTOGRAM'</tt><tt class="py-op">,</tt> <tt class="py-string">'COLLIMATOR'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                <tt class="py-name">h</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">'_'</tt> <tt class="py-op">+</tt> <tt class="py-name">n</tt><tt class="py-op">[</tt><tt class="py-name [...]
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-53', 'header', 'link-12');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-name">h</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">h</tt> </tt>
+</div><a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"> </tt>
+<a name="mar345image.write"></a><div id="mar345image.write-def"><a name="L147"></a><tt class="py-lineno">147</tt> <a class="py-toggle" href="#" id="mar345image.write-toggle" onclick="return toggle('mar345image.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.mar345image.mar345image-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-o [...]
+</div><div id="mar345image.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="mar345image.write-expanded"><a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-docstring">"""Try to write mar345 file. This is still in beta version.</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">        It uses CCP4 (LGPL) PCK1 algo from JPA"""</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-54', '_open', 'link-10');">_open</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op [...]
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Method fabio.GEimage.GEimage.write()=fabio.GEimage.GEimage-class.html#write,Method fabio.OXDimage.OXDimage.write()=fabio.OXDimage.OXDimage-class.html#write,Method fabio.adscimage.adscimage.write()=fabio.adscimage.adscimage-class.html#write,Method fabio.binaryimage.binaryimage.write()=fabio.binaryimage.binaryim [...]
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-55', 'write', 'link-55');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method fabio.OXDimage.OXDimage._writeheader()=fabio.OXDimage.OXDimage-class.html#_writeheader,Method fabio.mar345image.mar345image._writeheader()=fabio.mar345image.mar345image-class.html#_writeheader"><a title="fabio.OXDimage.OXDimage._writeheader
+fabio.mar345image.mar345image._writeheader" class="py-name" href="#" onclick="return doclink('link-56', '_writeheader', 'link-56');">_writeheader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-57', 'write', 'link-55');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method fabio.mar345image.mar345image._high_intensity_pixel_records()=fabio.mar345image.mar345image-class.html#_high_intensity_pixel_records"><a title="fabio.mar345image.mar345image._high_intensity_pixel_records" class="py-name" href="#" onclick=" [...]
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="fabio.GEimage.GEimage.write
+fabio.OXDimage.OXDimage.write
+fabio.adscimage.adscimage.write
+fabio.binaryimage.binaryimage.write
+fabio.brukerimage.brukerimage.write
+fabio.cbfimage.cbfimage.write
+fabio.edfimage.edfimage.write
+fabio.fabioimage.fabioimage.write
+fabio.fit2dmaskimage.fit2dmaskimage.write
+fabio.mar345image.mar345image.write
+fabio.pnmimage.pnmimage.write
+fabio.tifimage.tifimage.write" class="py-name" href="#" onclick="return doclink('link-59', 'write', 'link-55');">write</a></tt><tt class="py-op">(</tt><tt id="link-60" class="py-name"><a title="fabio.compression.compPCK" class="py-name" href="#" onclick="return doclink('link-60', 'compPCK', 'link-5');">compPCK</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-61', 'data', 'link-13');">data</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">            <tt class="py-name">outfile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">            <tt id="link-62" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-62', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Error in writing file %s: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"> </tt>
+<a name="mar345image._writeheader"></a><div id="mar345image._writeheader-def"><a name="L159"></a><tt class="py-lineno">159</tt> <a class="py-toggle" href="#" id="mar345image._writeheader-toggle" onclick="return toggle('mar345image._writeheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.mar345image.mar345image-class.html#_writeheader">_writeheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt  [...]
+</div><a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-docstring">        @param linesep: end of line separator</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-docstring">        @return string/bytes containing the mar345 header</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt id="link-63" class="py-name" targets="Variable fabio.version=fabio-module.html#version"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-63', 'version', 'link-63');">version</a></tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">[</tt><tt class="py-string">"fabio"</tt><tt class="py-op">]</tt> [...]
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            <tt id="link-65" class="py-name"><a title="fabio.version" class="py-name" href="#" onclick="return doclink('link-65', 'version', 'link-63');">version</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"0.0.9"</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">lnsep</tt> <tt class="py-op">=</tt> <tt id="link-66" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-66', 'len', 'link-52');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">linesep</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-67', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">"HIGH"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-68', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name" targets="Method fabio.mar345image.mar345image.nb_overflow_pixels()=fabio.mar345image.mar345image-class.html#nb_overflow_pixels"><a title="fabio.mar345image.mar345image.nb_overflow_pixels" class="py-name" href="#" onclick="return doclink('link-69', 'nb_overflow_pixels', 'link-69');">nb [...]
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-number">16</tt><tt class="py-op">,</tt> <tt class="py-string">"int32"</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">1234</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link [...]
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-72', 'header', 'link-12');">header</a></tt><tt class="py-op">.</tt><tt [...]
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">5</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-73', 'dim1', 'link-15');">dim1</a></tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><t [...]
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">6</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-75', 'header', 'link-12');">header</a></tt [...]
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">7</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-76', 'header', 'link-12');">header</a></tt [...]
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return do [...]
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">9</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return do [...]
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return d [...]
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return d [...]
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">12</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return d [...]
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">13</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return d [...]
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">14</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return d [...]
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-name">binheader</tt><tt class="py-op">[</tt><tt class="py-number">15</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return d [...]
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-name">lstout</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">binheader</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name" targets="Method fabio.cbfimage.CIF.tostring()=fabio.cbfimage.CIF-class.html#tostring,Method fabio.fabioutils.filename_object.tostring()=fabio.fabioutils.filename_object-class.html#tostring"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-85', 'tostring', 'link-85');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'mar research'</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">64</tt> <tt class="py-op">-</tt> <tt class="py-name">lnsep</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"PROGRAM"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt id="link-86" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-86', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-87', 'header', 'link-12');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"PROGRAM"</tt><tt class="py-op">,</tt> <tt clas [...]
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"DATE"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt id="link-89" class="py-name"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-89', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-90', 'header', 'link-12');">header</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"DATE"</tt><tt class="py-op">,</tt> <tt class=" [...]
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt id="link-91" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-91', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"SCANNER"</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-92" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-92', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-93', 'head [...]
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-94" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-94', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class= [...]
+str" class="py-name" href="#" onclick="return doclink('link-95', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-96', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-97" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-9 [...]
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt id="link-98" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-98', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"FORMAT_TYPE"</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-99" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-99', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-100', 'he [...]
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"FORMAT"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"%s  %s %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">( [...]
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt id="link-106" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-106', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"HIGH"</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-107" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-107', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-108', ' [...]
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-109" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-109', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-110', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-111', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-112" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"PIXEL_LENGTH"</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"PIXEL_HEIGHT"</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-113', 'header', 'link-12');">header</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="p [...]
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"PIXEL"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"LENGTH %s  HEIGHT %s"</tt> <tt class="py-op">%</tt> <tt class [...]
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"OFFSET_ROFF"</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"OFFSET_TOFF"</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-117', 'header', 'link-12');">header</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">key2</tt> <tt class="py-keyword">in</tt> [...]
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"OFFSET"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"ROFF %s  TOFF %s"</tt> <tt class="py-op">%</tt> <tt class="p [...]
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt id="link-121" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-121', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"MULTIPLIER"</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-122" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-122', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-123', ' [...]
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-124" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-124', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-125', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-126', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-127" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt id="link-128" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-128', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"GAIN"</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-129" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-129', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-130', ' [...]
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-131" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-131', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-132', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-133', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-134" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt id="link-135" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-135', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"WAVELENGTH"</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-136" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-136', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-137', ' [...]
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-138" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-138', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-139', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-140', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-141" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt id="link-142" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-142', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"DISTANCE"</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-143" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-143', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-144', ' [...]
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-145" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-145', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-146', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-147', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-148" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt id="link-149" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-149', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"RESOLUTION"</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-150" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-150', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-151', ' [...]
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-152" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-152', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-153', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-154', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-155" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"PHI_START"</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"PHI_END"</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-name">key3</tt> <tt class="py-op">=</tt> <tt class="py-string">"PHI_OSC"</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-156', 'header', 'link-12');">header</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="p [...]
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"PHI"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"START %s  END %s  OSC %s"</tt> <tt class="py-op">%</tt> <tt cla [...]
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"OMEGA_START"</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"OMEGA_END"</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-name">key3</tt> <tt class="py-op">=</tt> <tt class="py-string">"OMEGA_OSC"</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-162" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-162', 'header', 'link-12');">header</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="p [...]
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"OMEGA"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"START %s  END %s  OSC %s"</tt> <tt class="py-op">%</tt> <tt c [...]
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt id="link-168" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-168', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"CHI"</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-169" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-169', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-170', ' [...]
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-171" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-171', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-172', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-173', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-174" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt id="link-175" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-175', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TWOTHETA"</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-176" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-176', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-177', ' [...]
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-178" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-178', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-179', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-180', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-181" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"CENTER_X"</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"CENTER_Y"</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-182', 'header', 'link-12');">header</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="p [...]
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"CENTER"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"X %s  Y %s"</tt> <tt class="py-op">%</tt> <tt class="py-op"> [...]
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt id="link-186" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-186', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"MODE"</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-187" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-187', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-188', ' [...]
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-189" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-189', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-190', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-191', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-192" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt id="link-193" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-193', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TIME"</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-194" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-194', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-195', ' [...]
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-196" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-196', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-197', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-198', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-199" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"COUNTS_START"</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"COUNTS_END"</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-name">key3</tt> <tt class="py-op">=</tt> <tt class="py-string">"COUNTS_NMEAS"</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-200', 'header', 'link-12');">header</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">key2</tt> <tt class="py-keyword">in</tt> [...]
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"COUNTS"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"START %s  END %s  NMEAS %s"</tt> <tt class="py-op">%</tt> <t [...]
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"COUNTS_MIN"</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"COUNTS_MAX"</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-206', 'header', 'link-12');">header</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">key2</tt> <tt class="py-keyword">in</tt> [...]
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"COUNTS"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"MIN %s  MAX %s"</tt> <tt class="py-op">%</tt> <tt class="py- [...]
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"COUNTS_AVE"</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"COUNTS_SIG"</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-210', 'header', 'link-12');">header</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">key2</tt> <tt class="py-keyword">in</tt> [...]
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"COUNTS"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"AVE %s  SIG %s"</tt> <tt class="py-op">%</tt> <tt class="py- [...]
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"INTENSITY_MIN"</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"INTENSITY_MAX"</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-name">key3</tt> <tt class="py-op">=</tt> <tt class="py-string">"INTENSITY_AVE"</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-name">key4</tt> <tt class="py-op">=</tt> <tt class="py-string">"INTENSITY_SIG"</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-214" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-214', 'header', 'link-12');">header</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">key2</tt> <tt class="py-keyword">in</tt> [...]
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"INTENSITY"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"MIN %s  MAX %s  AVE %s  SIG %s"</tt> <tt class="py-op">%< [...]
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"HISTOGRAM_START"</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"HISTOGRAM_END"</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">        <tt class="py-name">key3</tt> <tt class="py-op">=</tt> <tt class="py-string">"HISTOGRAM_MAX"</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-222', 'header', 'link-12');">header</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">key2</tt> <tt class="py-keyword">in</tt> [...]
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"HISTOGRAM"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"START %s  END %s  MAX %s"</tt> <tt class="py-op">%</tt> < [...]
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">        <tt id="link-228" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-228', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"GENERATOR"</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-229" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-229', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-230', ' [...]
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-231" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-231', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-232', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-233', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-234" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt id="link-235" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-235', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"MONOCHROMATOR"</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-236" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-236', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-237" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-237', ' [...]
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-238" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-238', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-239', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-240" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-240', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-241" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">        <tt class="py-name">key1</tt> <tt class="py-op">=</tt> <tt class="py-string">"COLLIMATOR_WIDTH"</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-name">key2</tt> <tt class="py-op">=</tt> <tt class="py-string">"COLLIMATOR_HEIGHT"</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key1</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-242', 'header', 'link-12');">header</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">key2</tt> <tt class="py-keyword">in</tt> [...]
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"COLLIMATOR"</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-op">(</tt><tt class="py-string">"WIDTH %s  HEIGHT %s"</tt> <tt class="py-op">%</tt> <tt c [...]
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt id="link-246" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-246', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"REMARK"</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-247" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-247', 'key', 'link-91');">key</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-248', ' [...]
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-249" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-249', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">15</tt><tt class="py-op">)</tt> <tt clas [...]
+str" class="py-name" href="#" onclick="return doclink('link-250', 'str', 'link-37');">str</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-251', 'header', 'link-12');">header</a></tt><tt class="py-op">[</tt><tt id="link-252" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('li [...]
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">            <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-253" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-253', 'key', 'link-91');">key</a></tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-number">64</tt> <tt class="py-op">-</tt> <tt cla [...]
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">        <tt id="link-254" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-254', 'key', 'link-91');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"END OF HEADER"</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        <tt class="py-name">lstout</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-255" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-255', 'key', 'link-91');">key</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">linesep</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">lstout</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">ljust</tt><tt class="py-op">(</tt><tt class="py-name">size</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line"> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt>
+<a name="mar345image._high_intensity_pixel_records"></a><div id="mar345image._high_intensity_pixel_records-def"><a name="L290"></a><tt class="py-lineno">290</tt> <a class="py-toggle" href="#" id="mar345image._high_intensity_pixel_records-toggle" onclick="return toggle('mar345image._high_intensity_pixel_records');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.mar345image.mar345image-class.html#_high_intensity_pixel_records">_high_intensit [...]
+</div><div id="mar345image._high_intensity_pixel_records-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="mar345image._high_intensity_pixel_records-expanded"><a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">        <tt class="py-name">flt_data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-256', 'data', 'link-13');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">        <tt class="py-name">pix_location</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">where</tt><tt class="py-op">(</tt><tt class="py-name">flt_data</tt> <tt class="py-op">></tt> <tt class="py-number">65535</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-name">nb_pix</tt> <tt class="py-op">=</tt> <tt class="py-name">pix_location</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">nb_pix</tt> <tt class="py-op">%</tt> <tt class="py-number">8</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">            <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">nb_pix</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">"int32"</tt><t [...]
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">            <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">nb_pix</tt> <tt class="py-op">//</tt> <tt class="py-number">8</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class [...]
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt class="py-name">tmp</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">nb_pix</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">pix_location</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-name">tmp</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">nb_pix</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">flt_data</tt><tt class="py-op">[</tt><tt class="py-name">pix_location</tt><tt class="py-op">]</tt> </tt>
+<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">tmp</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-257', 'tostring', 'link-85');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"> </tt>
+<a name="mar345image.nb_overflow_pixels"></a><div id="mar345image.nb_overflow_pixels-def"><a name="L302"></a><tt class="py-lineno">302</tt> <a class="py-toggle" href="#" id="mar345image.nb_overflow_pixels-toggle" onclick="return toggle('mar345image.nb_overflow_pixels');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.mar345image.mar345image-class.html#nb_overflow_pixels">nb_overflow_pixels</a><tt class="py-op">(</tt><tt class="py-param">se [...]
+</div><div id="mar345image.nb_overflow_pixels-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="mar345image.nb_overflow_pixels-expanded"><a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-258', 'data', 'link-13');">data</a></tt> <tt class="py-op">></tt> <tt class="py-number">65535</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line"> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="mar345image.checkData"></a><div id="mar345image.checkData-def"><a name="L306"></a><tt class="py-lineno">306</tt> <a class="py-toggle" href="#" id="mar345image.checkData-toggle" onclick="return toggle('mar345image.checkData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.mar345image.mar345image-class.html#checkData">checkData</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">Non [...]
+</div><div id="mar345image.checkData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="mar345image.checkData-expanded"><a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-259" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-259', 'data', 'link-13');">data</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"><tt class="py-comment">#            enforce square image </tt> </tt>
+<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">            <tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt id="link-260" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-260', 'data', 'link-13');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt> <tt id="link-261" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-261', 'len', 'link-52');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">shape</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-string">"image has 2 dimension [...]
+<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">            <tt class="py-name">mshape</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">shape</tt><tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">            <tt class="py-name">z</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">mshape</tt><tt class="py-op">,</tt> <tt class="py-name">mshape</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">int</tt><tt cla [...]
+<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">            <tt class="py-name">z</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">shape</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-name">shape</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-262" class= [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-262', 'data', 'link-13');">data</a></tt> </tt>
+<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">z</tt> </tt>
+</div></div><a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.mar345image.mar345image-class.html b/doc/html/fabio.mar345image.mar345image-class.html
new file mode 100644
index 0000000..df40d8e
--- /dev/null
+++ b/doc/html/fabio.mar345image.mar345image-class.html
@@ -0,0 +1,571 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.mar345image.mar345image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.mar345image-module.html">Module mar345image</a> ::
+        Class mar345image
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.mar345image.mar345image-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class mar345image</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">mar345image</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.mar345image.mar345image-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*args</span>,
+        <span class="summary-sig-arg">**kwargs</span>)</span><br />
+      Set up initial values</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.mar345image.mar345image-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read a mar345 image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.mar345image.mar345image-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Read a mar345 image header</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.mar345image.mar345image-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      Try to write mar345 file.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.mar345image.mar345image-class.html#_writeheader" class="summary-sig-name" onclick="show_private();">_writeheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">linesep</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">\n</code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">size</span>=<span class="summary-sig-default">4096</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image._writeheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_high_intensity_pixel_records"></a><span class="summary-sig-name">_high_intensity_pixel_records</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image._high_intensity_pixel_records">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="nb_overflow_pixels"></a><span class="summary-sig-name">nb_overflow_pixels</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image.nb_overflow_pixels">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.mar345image.mar345image-class.html#checkData" class="summary-sig-name">checkData</a>(<span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Empty for fabioimage but may be populated by others classes, 
+      especially for format accepting only integers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image.checkData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="_need_a_real_file"></a><span class="summary-name">_need_a_real_file</span> = <code title="True">True</code>
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">*args</span>,
+        <span class="sig-arg">**kwargs</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Set up initial values</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read a mar345 image</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read a mar345 image header</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Try to write mar345 file. This is still in beta version. It uses CCP4 
+  (LGPL) PCK1 algo from JPA</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_writeheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_writeheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">linesep</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">\n</code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">size</span>=<span class="sig-default">4096</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image._writeheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>linesep</code></strong> - end of line separator @return string/bytes containing the mar345 
+          header</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkData"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkData</span>(<span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.mar345image-pysrc.html#mar345image.checkData">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Empty for fabioimage but may be populated by others classes, 
+  especially for format accepting only integers</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#checkData">fabioimage.fabioimage.checkData</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.marccdimage-module.html b/doc/html/fabio.marccdimage-module.html
new file mode 100644
index 0000000..ff78ba7
--- /dev/null
+++ b/doc/html/fabio.marccdimage-module.html
@@ -0,0 +1,416 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.marccdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module marccdimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.marccdimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module marccdimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.marccdimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:henning.sorensen at risoe.dk
+
+         + (mods for fabio) Jon Wright, ESRF
+marccdimage can read MarCCD and MarMosaic images including header info.
+
+JPW : Use a parser in case of typos (sorry?)
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.marccdimage.marccdimage-class.html" class="summary-name">marccdimage</a><br />
+      Read in data in mar ccd format, also MarMosaic images, including 
+        header info
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="make_format"></a><span class="summary-sig-name">make_format</span>(<span class="summary-sig-arg">c_def_string</span>)</span><br />
+      Reads the header definition in c and makes the format string to pass 
+      to struct.unpack</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.marccdimage-pysrc.html#make_format">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="interpret_header"></a><span class="summary-sig-name">interpret_header</span>(<span class="summary-sig-arg">header</span>,
+        <span class="summary-sig-arg">fmt</span>,
+        <span class="summary-sig-arg">names</span>)</span><br />
+      given a format and header interpret it</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.marccdimage-pysrc.html#interpret_header">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("marccdimage")">logging.getLogger("marccdimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.marccdimage-module.html#CDEFINITION" class="summary-name">CDEFINITION</a> = <code title="'''
+typedef struct frame_header_type {
+         /* File/header format parameters (256 bytes) */
+         UINT32        header_type;  /* flag for header type  
+                                           (can be  used as magic numb\
+er) */
+         char header_name[16];           /* header name (MMX) */
+         UINT32        header_major_version;   /* header_major_version\
+..."><code class="variable-quote">'</code><code class="variable-string">\ntypedef struct frame_header_type {\n         </code><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.marccdimage-module.html#C_TO_STRUCT" class="summary-name">C_TO_STRUCT</a> = <code title="{'INT32': 'i', 'UINT16': 'H', 'UINT32': 'I', 'char': 'c'}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">INT32</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">i</code><code class="variable-quote">'</code><code class="variable [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="C_SIZES"></a><span class="summary-name">C_SIZES</span> = <code title="{'INT32': 4, 'UINT16': 2, 'UINT32': 4, 'char': 1}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">INT32</code><code class="variable-quote">'</code><code class="variable-op">: </code>4<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">UINT16</code><code class="variable-quote">'</code><code class=" [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="MAXIMAGES"></a><span class="summary-name">MAXIMAGES</span> = <code title="9">9</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.marccdimage-module.html#HEADER_FORMAT" class="summary-name">HEADER_FORMAT</a> = <code title="'IccccccccccccccccIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIccccccccccccc\
+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccIII\
+IIIIIIIIIIIIIIIIIIIccccccccccccccccccccccccccccccccccccccccHHHHHHHHHHH\
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHiiiiiiiiiiiiiiiiiiiiiii\
+iiiiicccccccccccccccciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiccccccc\
+ccccccccciiiiiiiiiiccccccccccccccccccccccccccccccccccccccccccccccccccc\
+cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\
+..."><code class="variable-quote">'</code><code class="variable-string">IccccccccccccccccIIIIIIIIIIIIIIIIIIIIIIIIIIII</code><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.marccdimage-module.html#HEADER_NAMES" class="summary-name">HEADER_NAMES</a> = <code title="['header_type',
+ 'header_name[16]',
+ 'header_name[16]',
+ 'header_name[16]',
+ 'header_name[16]',
+ 'header_name[16]',
+ 'header_name[16]',
+ 'header_name[16]',
+..."><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">header_type</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">header_name[16]</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">header_name</code><code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="CDEFINITION"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">CDEFINITION</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-quote">'''</code><code class="variable-string"></code>
+<code class="variable-string">typedef struct frame_header_type {</code>
+<code class="variable-string">         /* File/header format parameters (256 bytes) */</code>
+<code class="variable-string">         UINT32        header_type;  /* flag for header type  </code>
+<code class="variable-string">                                           (can be  used as magic numb</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">er) */</code>
+<code class="variable-string">         char header_name[16];           /* header name (MMX) */</code>
+<code class="variable-string">         UINT32        header_major_version;   /* header_major_version</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="C_TO_STRUCT"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">C_TO_STRUCT</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">INT32</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">i</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">UINT16</code><code class="variable-quote">'</code><code class="variable-op">: </code><code [...]
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="HEADER_FORMAT"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">HEADER_FORMAT</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-quote">'</code><code class="variable-string">IccccccccccccccccIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIccccccccccccc</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccIII</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">IIIIIIIIIIIIIIIIIIIccccccccccccccccccccccccccccccccccccccccHHHHHHHHHHH</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHiiiiiiiiiiiiiiiiiiiiiii</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">iiiiicccccccccccccccciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiccccccc</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">ccccccccciiiiiiiiiiccccccccccccccccccccccccccccccccccccccccccccccccccc</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-string">cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="HEADER_NAMES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">HEADER_NAMES</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">header_type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">header_name[16]</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">header_name[16]</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">header_name[16]</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">header_name[16]</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">header_name[16]</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">header_name[16]</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">header_name[16]</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.marccdimage-pysrc.html b/doc/html/fabio.marccdimage-pysrc.html
new file mode 100644
index 0000000..776aa43
--- /dev/null
+++ b/doc/html/fabio.marccdimage-pysrc.html
@@ -0,0 +1,534 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.marccdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module marccdimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.marccdimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.marccdimage-module.html">Module fabio.marccdimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">         email:henning.sorensen at risoe.dk</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">         + (mods for fabio) Jon Wright, ESRF</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">marccdimage can read MarCCD and MarMosaic images including header info.</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">JPW : Use a parser in case of typos (sorry?)</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-comment"># Base this on the tifimage (as marccd seems to be tiff with a </tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-comment"># special header </tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module fabio.tifimage=fabio.tifimage-module.html,Class fabio.tifimage.tifimage=fabio.tifimage.tifimage-class.html"><a title="fabio.tifimage
+fabio.tifimage.tifimage" class="py-name" href="#" onclick="return doclink('link-0', 'tifimage', 'link-0');">tifimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="fabio.tifimage
+fabio.tifimage.tifimage" class="py-name" href="#" onclick="return doclink('link-1', 'tifimage', 'link-0');">tifimage</a></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-2', 'logger', 'link-2');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"marccdimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-comment"># Now for the c definition (found on mar webpage)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-comment"># The following string is therefore copyrighted by Mar I guess</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable fabio.marccdimage.CDEFINITION=fabio.marccdimage-module.html#CDEFINITION"><a title="fabio.marccdimage.CDEFINITION" class="py-name" href="#" onclick="return doclink('link-3', 'CDEFINITION', 'link-3');">CDEFINITION</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"""</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-string">typedef struct frame_header_type {</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-string">         /* File/header format parameters (256 bytes) */</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-string">         UINT32        header_type;  /* flag for header type  </tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-string">                                           (can be  used as magic number) */</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-string">         char header_name[16];           /* header name (MMX) */</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-string">         UINT32        header_major_version;   /* header_major_version  (n.) */</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-string">         UINT32        header_minor_version;   /* header_minor_version  (.n) */</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt class="py-string">         UINT32        header_byte_order;/* BIG_ENDIAN (Motorola,MIPS);  </tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-string">                                            LITTLE_ENDIAN (DEC, Intel) */</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-string">         UINT32        data_byte_order;  /* BIG_ENDIAN (Motorola,MIPS);  </tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-string">                                            LITTLE_ENDIAN (DEC, Intel) */</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-string">         UINT32        header_size;      /* in bytes                     */</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-string">         UINT32        frame_type;       /* flag for frame type */</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-string">         UINT32        magic_number;     /* to be used as a flag - </tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-string">                                            usually  to indicate new file */</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-string">         UINT32        compression_type; /* type of image compression    */</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-string">         UINT32        compression1;     /* compression parameter 1 */</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-string">         UINT32        compression2;     /* compression parameter 2 */</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-string">         UINT32        compression3;     /* compression parameter 3 */</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-string">         UINT32        compression4;     /* compression parameter 4 */</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-string">         UINT32        compression5;     /* compression parameter 4 */</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-string">         UINT32        compression6;     /* compression parameter 4 */</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-string">         UINT32        nheaders;         /* total number of headers      */</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-string">         UINT32        nfast;            /* number of pixels in one line */</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-string">         UINT32        nslow;            /* number of lines in image     */</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-string">         UINT32        depth;            /* number of bytes per pixel    */</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-string">         UINT32        record_length;    /* number of pixels between </tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-string">                                            succesive rows */</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-string">         UINT32        signif_bits;      /* true depth of data, in bits  */</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-string">         UINT32        data_type;        /* (signed,unsigned,float...) */</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-string">         UINT32        saturated_value;  /* value marks pixel as saturated */</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-string">         UINT32        sequence;         /* TRUE or FALSE */</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-string">         UINT32        nimages;          /* total number of images - size of </tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-string">                                            each is nfast*(nslow/nimages) */</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-string">         UINT32        origin;           /* corner of origin             */</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-string">         UINT32        orientation;      /* direction of fast axis       */</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-string">         UINT32        view_direction;   /* direction to view frame      */</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-string">         UINT32        overflow_location;/* FOLLOWING_HEADER,  FOLLOWING_DATA */</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-string">         UINT32        over_8_bits;      /* # of pixels with counts  255 */</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-string">         UINT32        over_16_bits;     /* # of pixels with count  65535 */</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-string">         UINT32        multiplexed;      /* multiplex flag */</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-string">         UINT32        nfastimages;      /* # of images in fast direction */</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-string">         UINT32        nslowimages;      /* # of images in slow direction */</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-string">         UINT32        background_applied;/* flags correction has been applied </tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-string">                                              hold magic number ? */</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-string">         UINT32        bias_applied;     /* flags correction has been applied</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-string">                                             hold magic number ? */</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-string">         UINT32        flatfield_applied;/* flags correction has been applied -</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-string">                                              hold magic number ? */</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-string">         UINT32        distortion_applied;/*flags correction has been applied - </tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-string">                                              hold magic number ? */</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-string">         UINT32        original_header_type;    /* Header/frame type from  file </tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-string">                                                    that frame is read from */</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-string">         UINT32        file_saved;         /* Flag that file has been  saved, </tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-string">                                              should be zeroed if modified */</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-string">         char reserve1[(64-40)*sizeof(INT32)-16];</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-string">         /* Data statistics (128) */</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line"><tt class="py-string">         UINT32        total_counts[2];  /* 64 bit integer range = 1.85E19*/</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-string">         UINT32        special_counts1[2];</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-string">         UINT32        special_counts2[2];</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-string">         UINT32        min;</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-string">         UINT32        max;</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-string">         UINT32        mean;</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-string">         UINT32        rms;</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-string">         UINT32        p10;</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-string">         UINT32        p90;</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-string">         UINT32        stats_uptodate;</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-string">         UINT32        pixel_noise[MAXIMAGES]; /*1000*base noise value (ADUs) */</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-string">         char reserve2[(32-13-MAXIMAGES)*sizeof(INT32)];</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-string">         /* More statistics (256) */</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-string">         UINT16 percentile[128];</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-string">         /* Goniostat parameters (128 bytes) */</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-string">         INT32 xtal_to_detector;  /* 1000*distance in millimeters */</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-string">         INT32 beam_x;            /* 1000*x beam position (pixels) */</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-string">         INT32 beam_y;            /* 1000*y beam position (pixels) */</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-string">         INT32 integration_time;  /* integration time in  milliseconds */</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-string">         INT32 exposure_time;     /* exposure time in milliseconds */</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-string">         INT32 readout_time;      /* readout time in milliseconds */</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-string">         INT32 nreads;            /* number of readouts to get this  image */</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-string">         INT32 start_twotheta;    /* 1000*two_theta angle */</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-string">         INT32 start_omega;       /* 1000*omega angle */</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-string">         INT32 start_chi;         /* 1000*chi angle */</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-string">         INT32 start_kappa;       /* 1000*kappa angle */</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-string">         INT32 start_phi;         /* 1000*phi angle */</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-string">         INT32 start_delta;       /* 1000*delta angle */</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-string">         INT32 start_gamma;       /* 1000*gamma angle */</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-string">         INT32 start_xtal_to_detector; /* 1000*distance in mm (dist in um)*/</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-string">         INT32 end_twotheta;           /* 1000*two_theta angle */</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-string">         INT32 end_omega;              /* 1000*omega angle */</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-string">         INT32 end_chi;                /* 1000*chi angle */</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-string">         INT32 end_kappa;              /* 1000*kappa angle */</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-string">         INT32 end_phi;                /* 1000*phi angle */</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-string">         INT32 end_delta;              /* 1000*delta angle */</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-string">         INT32 end_gamma;              /* 1000*gamma angle */</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-string">         INT32 end_xtal_to_detector;   /* 1000*distance in mm (dist in um)*/</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-string">         INT32 rotation_axis;          /* active rotation axis */</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-string">         INT32 rotation_range;         /* 1000*rotation angle */</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-string">         INT32 detector_rotx;          /* 1000*rotation of detector  around X */</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-string">         INT32 detector_roty;          /* 1000*rotation of detector  around Y */</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line"><tt class="py-string">         INT32 detector_rotz;          /* 1000*rotation of detector  around Z */</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-string">         char reserve3[(32-28)*sizeof(INT32)];</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-string">         /* Detector parameters (128 bytes) */</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-string">         INT32 detector_type;            /* detector type */</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-string">         INT32 pixelsize_x;              /* pixel size (nanometers) */</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-string">         INT32 pixelsize_y;              /* pixel size (nanometers) */</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-string">         INT32 mean_bias;                        /* 1000*mean bias value */</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-string">         INT32 photons_per_100adu;       /* photons / 100 ADUs */</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-string">         INT32 measured_bias[MAXIMAGES];/* 1000*mean bias value for each image*/</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-string">         INT32 measured_temperature[MAXIMAGES];  /* Temperature of each  </tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-string">                                                    detector in milliKelvins */</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-string">         INT32 measured_pressure[MAXIMAGES]; /* Pressure of each  chamber </tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-string">                                               in microTorr */</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line"><tt class="py-string">         /* Retired reserve4 when MAXIMAGES set to 9 from 16 and </tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-string">            two fields removed, and temp and pressure added</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-string">          char reserve4[(32-(5+3*MAXIMAGES))*sizeof(INT32)]</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-string">         */</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-string">         /* X-ray source and optics parameters (128 bytes) */</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-string">         /* X-ray source parameters (8*4 bytes) */</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-string">         INT32 source_type;              /* (code) - target, synch. etc */</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-string">         INT32 source_dx;                /* Optics param. - (size  microns) */</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-string">         INT32 source_dy;                /* Optics param. - (size  microns) */</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-string">         INT32 source_wavelength;        /* wavelength  (femtoMeters) */</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-string">         INT32 source_power;             /* (Watts) */</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-string">         INT32 source_voltage;           /* (Volts) */</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line"><tt class="py-string">         INT32 source_current;           /* (microAmps) */</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-string">         INT32 source_bias;              /* (Volts) */</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-string">         INT32 source_polarization_x;    /* () */</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-string">         INT32 source_polarization_y;    /* () */</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-string">         char reserve_source[4*sizeof(INT32)];</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-string">         /* X-ray optics_parameters (8*4 bytes) */</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-string">         INT32 optics_type;              /* Optics type (code)*/</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-string">         INT32 optics_dx;                /* Optics param. - (size  microns) */</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-string">         INT32 optics_dy;                /* Optics param. - (size  microns) */</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-string">         INT32 optics_wavelength;        /* Optics param. - (size  microns) */</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-string">         INT32 optics_dispersion;        /* Optics param. - (*10E6) */</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-string">         INT32 optics_crossfire_x;       /* Optics param. - (microRadians) */</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-string">         INT32 optics_crossfire_y;       /* Optics param. - (microRadians) */</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-string">         INT32 optics_angle;             /* Optics param. - (monoch.  </tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-string">                                                    2theta - microradians) */</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-string">         INT32 optics_polarization_x;    /* () */</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-string">         INT32 optics_polarization_y;    /* () */</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-string">         char reserve_optics[4*sizeof(INT32)];</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-string">         char reserve5[((32-28)*sizeof(INT32))];</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-string">         /* File parameters (1024 bytes) */</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-string">         char filetitle[128];            /*  Title                  */</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-string">         char filepath[128];             /* path name for data  file  */</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-string">         char filename[64];              /* name of data  file  */</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-string">         char acquire_timestamp[32];     /* date and time of  acquisition */</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-string">         char header_timestamp[32];      /* date and time of header  update  */</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-string">         char save_timestamp[32];        /* date and time file  saved */</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-string">         char file_comments[512];        /* comments, use as desired   */</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-string">         char reserve6[1024-(128+128+64+(3*32)+512)];</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-string">         /* Dataset parameters (512 bytes) */</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-string">         char dataset_comments[512];     /* comments, used as desired   */</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-string">         /* pad out to  3072 bytes */</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-string">         char pad[3072-(256+128+256+(3*128)+1024+512)];     </tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-string">         } frame_header;</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">struct</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"><tt class="py-comment"># Convert mar c header file types to python struct module types</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable fabio.marccdimage.C_TO_STRUCT=fabio.marccdimage-module.html#C_TO_STRUCT"><a title="fabio.marccdimage.C_TO_STRUCT" class="py-name" href="#" onclick="return doclink('link-4', 'C_TO_STRUCT', 'link-4');">C_TO_STRUCT</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-string">"INT32"</tt>  <tt class="py-op">:</tt> <tt class="py-string">"i"</tt><tt class="py-op">,</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">    <tt class="py-string">"UINT32"</tt> <tt class="py-op">:</tt> <tt class="py-string">"I"</tt><tt class="py-op">,</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt class="py-string">"char"</tt>   <tt class="py-op">:</tt> <tt class="py-string">"c"</tt><tt class="py-op">,</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    <tt class="py-string">"UINT16"</tt> <tt class="py-op">:</tt> <tt class="py-string">"H"</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-comment"># Sizes (bytes) of mar c header objects</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable fabio.marccdimage.C_SIZES=fabio.marccdimage-module.html#C_SIZES"><a title="fabio.marccdimage.C_SIZES" class="py-name" href="#" onclick="return doclink('link-5', 'C_SIZES', 'link-5');">C_SIZES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-string">"INT32"</tt>  <tt class="py-op">:</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">    <tt class="py-string">"UINT32"</tt> <tt class="py-op">:</tt> <tt class="py-number">4</tt><tt class="py-op">,</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">    <tt class="py-string">"char"</tt>   <tt class="py-op">:</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">    <tt class="py-string">"UINT16"</tt> <tt class="py-op">:</tt> <tt class="py-number">2</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-comment"># This was worked out by trial and error from a trial image I think</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable fabio.marccdimage.MAXIMAGES=fabio.marccdimage-module.html#MAXIMAGES"><a title="fabio.marccdimage.MAXIMAGES" class="py-name" href="#" onclick="return doclink('link-6', 'MAXIMAGES', 'link-6');">MAXIMAGES</a></tt> <tt class="py-op">=</tt> <tt class="py-number">9</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"> </tt>
+<a name="make_format"></a><div id="make_format-def"><a name="L222"></a><tt class="py-lineno">222</tt> <a class="py-toggle" href="#" id="make_format-toggle" onclick="return toggle('make_format');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.marccdimage-module.html#make_format">make_format</a><tt class="py-op">(</tt><tt class="py-param">c_def_string</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="make_format-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="make_format-expanded"><a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">    Reads the header definition in c and makes the format </tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">    string to pass to struct.unpack</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">    <tt id="link-7" class="py-name" targets="Variable fabio.fabioutils.lines=fabio.fabioutils-module.html#lines"><a title="fabio.fabioutils.lines" class="py-name" href="#" onclick="return doclink('link-7', 'lines', 'link-7');">lines</a></tt> <tt class="py-op">=</tt> <tt class="py-name">c_def_string</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt clas [...]
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">    <tt class="py-name">fmt</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">    <tt class="py-name">names</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">    <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt id="link-8" class="py-name"><a title="fabio.fabioutils.lines" class="py-name" href="#" onclick="return doclink('link-8', 'lines', 'link-7');">lines</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">";"</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">decl</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">";"</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">lstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op"> [...]
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">typ</tt><tt class="py-op">,</tt> <tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">decl</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt id="link-9" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-9', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"skipping: %s"</tt> <tt class="py-op">,</tt> <tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">name</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"["</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-comment"># repeated ... times</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">                <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">name</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"["</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"]"</tt><tt cl [...]
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">                <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">num</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"MAXIMAGES"</tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fa [...]
+str" class="py-name" href="#" onclick="return doclink('link-10', 'str', 'link-10');">str</a></tt><tt class="py-op">(</tt><tt id="link-11" class="py-name"><a title="fabio.marccdimage.MAXIMAGES" class="py-name" href="#" onclick="return doclink('link-11', 'MAXIMAGES', 'link-6');">MAXIMAGES</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                <tt class="py-name">num</tt> <tt class="py-op">=</tt> <tt class="py-name">num</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"sizeof(INT32)"</tt><tt class="py-op">,</tt> <tt class="py-string">"4"</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                <tt class="py-name">times</tt> <tt class="py-op">=</tt> <tt class="py-name">eval</tt><tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                <tt id="link-12" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-12', 'logger', 'link-2');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"%s Please decode %s"</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">,</tt> <tt class="py-name">decl</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">error</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">            <tt class="py-name">times</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">            <tt class="py-name">fmt</tt> <tt class="py-op">+=</tt> <tt id="link-13" class="py-name"><a title="fabio.marccdimage.C_TO_STRUCT" class="py-name" href="#" onclick="return doclink('link-13', 'C_TO_STRUCT', 'link-4');">C_TO_STRUCT</a></tt><tt class="py-op">[</tt><tt class="py-name">typ</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-name">times</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">            <tt class="py-name">names</tt> <tt class="py-op">+=</tt> <tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-name">times</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">            <tt class="py-name">expected</tt> <tt class="py-op">+=</tt> <tt id="link-14" class="py-name"><a title="fabio.marccdimage.C_SIZES" class="py-name" href="#" onclick="return doclink('link-14', 'C_SIZES', 'link-5');">C_SIZES</a></tt><tt class="py-op">[</tt><tt class="py-name">typ</tt><tt class="py-op">]</tt> <tt class="py-op">*</tt> <tt class="py-name">times</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">names</tt><tt class="py-op">,</tt> <tt class="py-name">fmt</tt> </tt>
+</div><a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-comment"># Make these be compiled on loading module</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"><tt id="link-15" class="py-name" targets="Variable fabio.marccdimage.HEADER_NAMES=fabio.marccdimage-module.html#HEADER_NAMES"><a title="fabio.marccdimage.HEADER_NAMES" class="py-name" href="#" onclick="return doclink('link-15', 'HEADER_NAMES', 'link-15');">HEADER_NAMES</a></tt><tt class="py-op">,</tt> <tt id="link-16" class="py-name" targets="Variable fabio.marccdimage.HEADER_FORMAT=fabio.marccdimage-module.html#HEADE [...]
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line"> </tt>
+<a name="interpret_header"></a><div id="interpret_header-def"><a name="L264"></a><tt class="py-lineno">264</tt> <a class="py-toggle" href="#" id="interpret_header-toggle" onclick="return toggle('interpret_header');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.marccdimage-module.html#interpret_header">interpret_header</a><tt class="py-op">(</tt><tt class="py-param">header</tt><tt class="py-op">,</tt> <tt class="py-param">fmt</tt><tt class="p [...]
+</div><div id="interpret_header-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="interpret_header-expanded"><a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line"><tt class="py-docstring">    given a format and header interpret it</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method fabio.edfimage.edfimage.unpack()=fabio.edfimage.edfimage-class.html#unpack,Method fabio.tifimage.Image_File_Directory.unpack()=fabio.tifimage.Image_File_Directory-class.html#unpack,Method fabio.tifimage.Image_File_Directory_entry.unpack()=fabio.tifimage.Im [...]
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-19', 'unpack', 'link-19');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">fmt</tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-20', 'header', 'link-20');">header</a></tt><t [...]
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt class="py-name">hdr</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">    <tt id="link-21" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-21', 'i', 'link-21');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">names</tt><tt class="py-op">:</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">hdr</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">values</tt><tt class="py-op">[</tt><tt id="link-22" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-22', 'i', 'link-21');">i</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">type</tt><tt class="py-o [...]
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                <tt class="py-name">hdr</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">hdr</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-name">values</tt><tt class="py-op">[</tt><tt id="link-23" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#"  [...]
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                    <tt class="py-name">hdr</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">values</tt><tt class="py-op">[</tt><tt id="link-24" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-24', 'i', 'link-21');">i</a></tt><tt class=" [...]
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                    <tt class="py-name">hdr</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">hdr</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt><tt class="py-op">[</tt><tt id="link-25" class="py-name"><a title="fabio.fabioutils.i [...]
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">            <tt class="py-name">hdr</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">values</tt><tt class="py-op">[</tt><tt id="link-26" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-26', 'i', 'link-21');">i</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt id="link-27" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-27', 'i', 'link-21');">i</a></tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-28', 'i', 'link-21');">i</a></tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line"> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">hdr</tt> </tt>
+</div><a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line"> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line"> </tt>
+<a name="marccdimage"></a><div id="marccdimage-def"><a name="L287"></a><tt class="py-lineno">287</tt> <a class="py-toggle" href="#" id="marccdimage-toggle" onclick="return toggle('marccdimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.marccdimage.marccdimage-class.html">marccdimage</a><tt class="py-op">(</tt><tt class="py-base-class">tifimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="marccdimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="marccdimage-expanded"><a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">    <tt class="py-docstring">""" Read in data in mar ccd format, also </tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"><tt class="py-docstring">        MarMosaic images, including header info """</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line"> </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line"> </tt>
+<a name="marccdimage._readheader"></a><div id="marccdimage._readheader-def"><a name="L292"></a><tt class="py-lineno">292</tt> <a class="py-toggle" href="#" id="marccdimage._readheader-toggle" onclick="return toggle('marccdimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.marccdimage.marccdimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class= [...]
+</div><div id="marccdimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="marccdimage._readheader-expanded"><a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line"><tt class="py-docstring">        Parser based approach</tt> </tt>
+<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"><tt class="py-docstring">        Gets all entries</tt> </tt>
+<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">1024</tt><tt class="py-op">)</tt> </tt>
+<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">        <tt class="py-name">hstr</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDima [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-29', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">3072</tt><tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-30', 'header', 'link-20');">header</a></tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name" targets="Function fabio.marccdimage.interpret_header()=fabio.marccdimage-module.html#interpret_header"><a title="fabio.marccdima [...]
+</div><a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line"> </tt>
+<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line"> </tt>
+<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line"> </tt>
+<a name="marccdimage._read"></a><div id="marccdimage._read-def"><a name="L303"></a><tt class="py-lineno">303</tt> <a class="py-toggle" href="#" id="marccdimage._read-toggle" onclick="return toggle('marccdimage._read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.marccdimage.marccdimage-class.html#_read">_read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-o [...]
+</div><div id="marccdimage._read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="marccdimage._read-expanded"><a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line"><tt class="py-docstring">        inherited from tifimage</tt> </tt>
+<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line"><tt class="py-docstring">        ... a marccd image *is a* tif image</tt> </tt>
+<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line"><tt class="py-docstring">        just with a header</tt> </tt>
+<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-34" class="py-name"><a title="fabio.tifimage
+fabio.tifimage.tifimage" class="py-name" href="#" onclick="return doclink('link-34', 'tifimage', 'link-0');">tifimage</a></tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-35', 'read', 'link-29');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.marccdimage.marccdimage-class.html b/doc/html/fabio.marccdimage.marccdimage-class.html
new file mode 100644
index 0000000..b1b9d83
--- /dev/null
+++ b/doc/html/fabio.marccdimage.marccdimage-class.html
@@ -0,0 +1,368 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.marccdimage.marccdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.marccdimage-module.html">Module marccdimage</a> ::
+        Class marccdimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.marccdimage.marccdimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class marccdimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.marccdimage-pysrc.html#marccdimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+        
+                    |        
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+    
+                        |    
+        <a href="fabio.tifimage.tifimage-class.html">tifimage.tifimage</a> --+
+                            |
+                           <strong class="uidshort">marccdimage</strong>
+</pre>
+
+<hr />
+<p>Read in data in mar ccd format, also MarMosaic images, including 
+  header info</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.marccdimage.marccdimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Parser based approach Gets all entries</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.marccdimage-pysrc.html#marccdimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.marccdimage.marccdimage-class.html#_read" class="summary-sig-name" onclick="show_private();">_read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      inherited from tifimage ...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.marccdimage-pysrc.html#marccdimage._read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.tifimage.tifimage-class.html">tifimage.tifimage</a></code></b>:
+      <code><a href="fabio.tifimage.tifimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.tifimage.tifimage-class.html#read">read</a></code>,
+      <code><a href="fabio.tifimage.tifimage-class.html#write">write</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.tifimage.tifimage-class.html">tifimage.tifimage</a></code></b> (private):
+      <code><a href="fabio.tifimage.tifimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.marccdimage-pysrc.html#marccdimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Parser based approach Gets all entries</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_read"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.marccdimage-pysrc.html#marccdimage._read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>inherited from tifimage ... a marccd image *is a* tif image just with 
+  a header</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.openimage-module.html b/doc/html/fabio.openimage-module.html
new file mode 100644
index 0000000..a2f0165
--- /dev/null
+++ b/doc/html/fabio.openimage-module.html
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.openimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module openimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.openimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module openimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.openimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:henning.sorensen at risoe.dk
+
+mods for fabio by JPW
+
+</pre>
+
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="do_magic"></a><span class="summary-sig-name">do_magic</span>(<span class="summary-sig-arg">byts</span>)</span><br />
+      Try to interpret the bytes starting the file as a magic number</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.openimage-pysrc.html#do_magic">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="openimage"></a><span class="summary-sig-name">openimage</span>(<span class="summary-sig-arg">filename</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Try to open an image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.openimage-pysrc.html#openimage">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="openheader"></a><span class="summary-sig-name">openheader</span>(<span class="summary-sig-arg">filename</span>)</span><br />
+      return only the header</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.openimage-pysrc.html#openheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_openimage"></a><span class="summary-sig-name">_openimage</span>(<span class="summary-sig-arg">filename</span>)</span><br />
+      determine which format for a filename and return appropriate class 
+      which can be used for opening the image</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.openimage-pysrc.html#_openimage">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("openimage")">logging.getLogger("openimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.openimage-module.html#MAGIC_NUMBERS" class="summary-name">MAGIC_NUMBERS</a> = <code title="[('FORMAT :        86', 'bruker'),
+ ('MM\x00*', 'tif'),
+ ('II*\x00\x08\x00', 'marccd'),
+ ('II*\x00\x82\x00', 'pilatus'),
+ ('II*\x00', 'tif'),
+ ('{\nHEA', 'adsc'),
+ ('{', 'edf'),
+ ('\r{', 'edf'),
+..."><code class="variable-group">[</code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">FORMAT :        86</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">bruker</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">, </code><code class="variable-group">(</code><code class="variable-q [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="MAGIC_NUMBERS"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">MAGIC_NUMBERS</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">FORMAT :        86</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">bruker</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">MM\x00*</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">tif</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">II*\x00\x08\x00</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">marccd</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">II*\x00\x82\x00</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">pilatus</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">II*\x00</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">tif</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">{\nHEA</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">adsc</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">{</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">edf</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">\r{</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">edf</code><code class="variable-quote">'</code><code class="variable-group">)</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.openimage-pysrc.html b/doc/html/fabio.openimage-pysrc.html
new file mode 100644
index 0000000..ba7548c
--- /dev/null
+++ b/doc/html/fabio.openimage-pysrc.html
@@ -0,0 +1,665 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.openimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module openimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.openimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.openimage-module.html">Module fabio.openimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         email:henning.sorensen at risoe.dk</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">mods for fabio by JPW</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"openimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioutils=fabio.fabioutils-module.html"><a title="fabio.fabioutils" class="py-name" href="#" onclick="return doclink('link-1', 'fabioutils', 'link-1');">fabioutils</a></tt>  <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Function fabio.fabioutils.deconstruct_filename()=fabio.fabioutils-module.html#decons [...]
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-4', 'fabioimage', 'link-4');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-5', 'fabioimage', 'link-4');">fabioimage</a></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-6" class="py-name" targets="Module fabio.edfimage=fabio.edfimage-module.html,Class fabio.edfimage.edfimage=fabio.edfimage.edfimage-class.html"><a title="fabio.edfimage
+fabio.edfimage.edfimage" class="py-name" href="#" onclick="return doclink('link-6', 'edfimage', 'link-6');">edfimage</a></tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-7" class="py-name" targets="Module fabio.adscimage=fabio.adscimage-module.html,Class fabio.adscimage.adscimage=fabio.adscimage.adscimage-class.html"><a title="fabio.adscimage
+fabio.adscimage.adscimage" class="py-name" href="#" onclick="return doclink('link-7', 'adscimage', 'link-7');">adscimage</a></tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Module fabio.tifimage=fabio.tifimage-module.html,Class fabio.tifimage.tifimage=fabio.tifimage.tifimage-class.html"><a title="fabio.tifimage
+fabio.tifimage.tifimage" class="py-name" href="#" onclick="return doclink('link-8', 'tifimage', 'link-8');">tifimage</a></tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Module fabio.marccdimage=fabio.marccdimage-module.html,Class fabio.marccdimage.marccdimage=fabio.marccdimage.marccdimage-class.html"><a title="fabio.marccdimage
+fabio.marccdimage.marccdimage" class="py-name" href="#" onclick="return doclink('link-9', 'marccdimage', 'link-9');">marccdimage</a></tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-10" class="py-name" targets="Module fabio.mar345image=fabio.mar345image-module.html,Class fabio.mar345image.mar345image=fabio.mar345image.mar345image-class.html"><a title="fabio.mar345image
+fabio.mar345image.mar345image" class="py-name" href="#" onclick="return doclink('link-10', 'mar345image', 'link-10');">mar345image</a></tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-11" class="py-name" targets="Module fabio.fit2dmaskimage=fabio.fit2dmaskimage-module.html,Class fabio.fit2dmaskimage.fit2dmaskimage=fabio.fit2dmaskimage.fit2dmaskimage-class.html"><a title="fabio.fit2dmaskimage
+fabio.fit2dmaskimage.fit2dmaskimage" class="py-name" href="#" onclick="return doclink('link-11', 'fit2dmaskimage', 'link-11');">fit2dmaskimage</a></tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-12" class="py-name" targets="Module fabio.brukerimage=fabio.brukerimage-module.html,Class fabio.brukerimage.brukerimage=fabio.brukerimage.brukerimage-class.html"><a title="fabio.brukerimage
+fabio.brukerimage.brukerimage" class="py-name" href="#" onclick="return doclink('link-12', 'brukerimage', 'link-12');">brukerimage</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-13" class="py-name" targets="Module fabio.bruker100image=fabio.bruker100image-module.html,Class fabio.bruker100image.bruker100image=fabio.bruker100image.bruker100image-class.html"><a title="fabio.bruker100image
+fabio.bruker100image.bruker100image" class="py-name" href="#" onclick="return doclink('link-13', 'bruker100image', 'link-13');">bruker100image</a></tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-14" class="py-name" targets="Module fabio.pnmimage=fabio.pnmimage-module.html,Class fabio.pnmimage.pnmimage=fabio.pnmimage.pnmimage-class.html"><a title="fabio.pnmimage
+fabio.pnmimage.pnmimage" class="py-name" href="#" onclick="return doclink('link-14', 'pnmimage', 'link-14');">pnmimage</a></tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-15" class="py-name" targets="Module fabio.GEimage=fabio.GEimage-module.html,Class fabio.GEimage.GEimage=fabio.GEimage.GEimage-class.html,Class fabio.GEimage_old.GEimage=fabio.GEimage_old.GEimage-class.html"><a title="fabio.GEimage
+fabio.GEimage.GEimage
+fabio.GEimage_old.GEimage" class="py-name" href="#" onclick="return doclink('link-15', 'GEimage', 'link-15');">GEimage</a></tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-16" class="py-name" targets="Module fabio.OXDimage=fabio.OXDimage-module.html,Class fabio.OXDimage.OXDimage=fabio.OXDimage.OXDimage-class.html"><a title="fabio.OXDimage
+fabio.OXDimage.OXDimage" class="py-name" href="#" onclick="return doclink('link-16', 'OXDimage', 'link-16');">OXDimage</a></tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-17" class="py-name" targets="Module fabio.dm3image=fabio.dm3image-module.html,Class fabio.dm3image.dm3image=fabio.dm3image.dm3image-class.html"><a title="fabio.dm3image
+fabio.dm3image.dm3image" class="py-name" href="#" onclick="return doclink('link-17', 'dm3image', 'link-17');">dm3image</a></tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-18" class="py-name" targets="Module fabio.HiPiCimage=fabio.HiPiCimage-module.html,Class fabio.HiPiCimage.HiPiCimage=fabio.HiPiCimage.HiPiCimage-class.html"><a title="fabio.HiPiCimage
+fabio.HiPiCimage.HiPiCimage" class="py-name" href="#" onclick="return doclink('link-18', 'HiPiCimage', 'link-18');">HiPiCimage</a></tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-19" class="py-name" targets="Module fabio.pilatusimage=fabio.pilatusimage-module.html,Class fabio.pilatusimage.pilatusimage=fabio.pilatusimage.pilatusimage-class.html"><a title="fabio.pilatusimage
+fabio.pilatusimage.pilatusimage" class="py-name" href="#" onclick="return doclink('link-19', 'pilatusimage', 'link-19');">pilatusimage</a></tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-20" class="py-name" targets="Module fabio.fit2dspreadsheetimage=fabio.fit2dspreadsheetimage-module.html,Class fabio.fit2dspreadsheetimage.fit2dspreadsheetimage=fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html"><a title="fabio.fit2dspreadsheetimage
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage" class="py-name" href="#" onclick="return doclink('link-20', 'fit2dspreadsheetimage', 'link-20');">fit2dspreadsheetimage</a></tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-21" class="py-name" targets="Module fabio.kcdimage=fabio.kcdimage-module.html,Class fabio.kcdimage.kcdimage=fabio.kcdimage.kcdimage-class.html"><a title="fabio.kcdimage
+fabio.kcdimage.kcdimage" class="py-name" href="#" onclick="return doclink('link-21', 'kcdimage', 'link-21');">kcdimage</a></tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-22" class="py-name" targets="Module fabio.cbfimage=fabio.cbfimage-module.html,Class fabio.cbfimage.cbfimage=fabio.cbfimage.cbfimage-class.html"><a title="fabio.cbfimage
+fabio.cbfimage.cbfimage" class="py-name" href="#" onclick="return doclink('link-22', 'cbfimage', 'link-22');">cbfimage</a></tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-23" class="py-name" targets="Module fabio.xsdimage=fabio.xsdimage-module.html,Class fabio.xsdimage.xsdimage=fabio.xsdimage.xsdimage-class.html"><a title="fabio.xsdimage
+fabio.xsdimage.xsdimage" class="py-name" href="#" onclick="return doclink('link-23', 'xsdimage', 'link-23');">xsdimage</a></tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-24" class="py-name" targets="Module fabio.binaryimage=fabio.binaryimage-module.html,Class fabio.binaryimage.binaryimage=fabio.binaryimage.binaryimage-class.html"><a title="fabio.binaryimage
+fabio.binaryimage.binaryimage" class="py-name" href="#" onclick="return doclink('link-24', 'binaryimage', 'link-24');">binaryimage</a></tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"><tt id="link-25" class="py-name" targets="Variable fabio.openimage.MAGIC_NUMBERS=fabio.openimage-module.html#MAGIC_NUMBERS"><a title="fabio.openimage.MAGIC_NUMBERS" class="py-name" href="#" onclick="return doclink('link-25', 'MAGIC_NUMBERS', 'link-25');">MAGIC_NUMBERS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-comment"># "\42\5a" : 'bzipped'</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-comment"># "\1f\8b" : 'gzipped'</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"FORMAT :        86"</tt> <tt class="py-op">,</tt> <tt class="py-string">'bruker'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"\x4d\x4d\x00\x2a"</tt>   <tt class="py-op">,</tt> <tt class="py-string">'tif'</tt><tt class="py-op">)</tt> <tt class="py-op">,</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-comment"># The marCCD and Pilatus formats are both standard tif with a header</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-comment"># hopefully these byte patterns are unique for the formats</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-comment"># If not the image will be read, but the is missing </tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"\x49\x49\x2a\x00\x08\x00"</tt>   <tt class="py-op">,</tt> <tt class="py-string">'marccd'</tt><tt class="py-op">)</tt> <tt class="py-op">,</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"\x49\x49\x2a\x00\x82\x00"</tt>   <tt class="py-op">,</tt> <tt class="py-string">'pilatus'</tt><tt class="py-op">)</tt> <tt class="py-op">,</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"\x49\x49\x2a\x00"</tt>   <tt class="py-op">,</tt> <tt class="py-string">'tif'</tt><tt class="py-op">)</tt> <tt class="py-op">,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-comment"># ADSC must come before edf</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"{\nHEA"</tt>             <tt class="py-op">,</tt> <tt class="py-string">'adsc'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"{"</tt>                  <tt class="py-op">,</tt> <tt class="py-string">'edf'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"\r{"</tt>                <tt class="py-op">,</tt> <tt class="py-string">'edf'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"\n{"</tt>                <tt class="py-op">,</tt> <tt class="py-string">'edf'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"ADEPT"</tt>              <tt class="py-op">,</tt> <tt class="py-string">'GE'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"OD"</tt>                 <tt class="py-op">,</tt> <tt class="py-string">'OXD'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"IM"</tt>                 <tt class="py-op">,</tt> <tt class="py-string">'HiPiC'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'\x2d\x04'</tt>           <tt class="py-op">,</tt> <tt class="py-string">'mar345'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'\xd2\x04'</tt>           <tt class="py-op">,</tt> <tt class="py-string">'mar345'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'\x04\x2d'</tt>           <tt class="py-op">,</tt> <tt class="py-string">'mar345'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment">#some machines may need byteswapping</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'\x04\xd2'</tt>           <tt class="py-op">,</tt> <tt class="py-string">'mar345'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-comment"># hint : MASK in 32 bit</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'M\x00\x00\x00A\x00\x00\x00S\x00\x00\x00K\x00\x00\x00'</tt> <tt class="py-op">,</tt> <tt class="py-string">'fit2dmask'</tt><tt class="py-op">)</tt> <tt class="py-op">,</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'\x00\x00\x00\x03'</tt>   <tt class="py-op">,</tt> <tt class="py-string">'dm3'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"No"</tt>                 <tt class="py-op">,</tt> <tt class="py-string">"kcd"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"<"</tt>                  <tt class="py-op">,</tt> <tt class="py-string">"xsd"</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-op">]</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
+<a name="do_magic"></a><div id="do_magic-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="do_magic-toggle" onclick="return toggle('do_magic');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.openimage-module.html#do_magic">do_magic</a><tt class="py-op">(</tt><tt class="py-param">byts</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="do_magic-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="do_magic-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-docstring">""" Try to interpret the bytes starting the file as a magic number """</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">magic</tt><tt class="py-op">,</tt> <tt class="py-name">format_type</tt> <tt class="py-keyword">in</tt> <tt id="link-26" class="py-name"><a title="fabio.openimage.MAGIC_NUMBERS" class="py-name" href="#" onclick="return doclink('link-26', 'MAGIC_NUMBERS', 'link-25');">MAGIC_NUMBERS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">byts</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-name">magic</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">format_type</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> <tt class="py-comment"># debugging - bruker needed 18 bytes below</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt id="link-27" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-27', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"m: %s f: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">magic</tt><tt class="py-op">,</tt> <tt class="py-name">format_type</tt><tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt id="link-28" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-28', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"bytes: %s len(bytes) %s"</tt><tt class="py-op">,</tt> <tt class="py-name">magic</tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name" targets="Method fabio.file_series.file_series.len()=fabio.file_series.file_series-class.html#len"><a title="fabio.file_series.fil [...]
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">            <tt id="link-30" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-30', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"found: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">byts</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-name">magic</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt id="link-31" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-31', 'i', 'link-31');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt id="link-32" class="py-name"><a title="fabio.file_series.file_series [...]
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                <tt id="link-33" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-33', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"%s %s %s %s "</tt><tt class="py-op">,</tt> <tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">magic</tt><tt class="py-op">[</tt><tt id="link-34" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-34', [...]
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Could not interpret magic string"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="openimage"></a><div id="openimage-def"><a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="openimage-toggle" onclick="return toggle('openimage');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.openimage-module.html#openimage">openimage</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">frame</tt><tt class="py-op">=</tt><tt class="py-name">None</tt> [...]
+</div><div id="openimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="openimage-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt class="py-docstring">""" Try to open an image """</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt id="link-38" class="py-name"><a title="fabio.fabioutils.filename_object" class="py-name" href="#" onclick="return doclink('link-38', 'filename_object', 'link-3');">filename_object</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt id="link-39" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-39', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Attempting to open %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method fabio.cbfimage.CIF.tostring()=fabio.cbfimage.CIF-class.html#tostring,Method fabio.fabiou [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-40', 'tostring', 'link-40');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-41" class="py-name" targets="Function fabio.openimage._openimage()=fabio.openimage-module.html#_openimage"><a title="fabio.openimage._openimage" class="py-name" href="#" onclick="return doclink('link-41', '_openimage', 'link-41');">_openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">.</tt><tt id="lin [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-42', 'tostring', 'link-40');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">            <tt id="link-43" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-43', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Attempting to read frame %s from %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">frame</tt><tt class="py-op">,</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                <tt class="py-name">filename</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-44', 'tostring', 'link-40');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimag [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-45', 'read', 'link-45');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-46', 'tostring', 'link-40');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">frame</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">ex</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-comment"># multiframe file</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-comment">#logger.debug( "DEBUG: multiframe file, start # %d"%(</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-comment">#    filename.num)</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt id="link-47" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-47', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Exception %s, trying name %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">ex</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">.</tt><tt class="py-name">stem</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="fabio.openimage._openimage" class="py-name" href="#" onclick="return doclink('link-48', '_openimage', 'link-41');">_openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">.</tt><tt class="py-name">stem</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt id="link-49" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-49', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Reading frame %s from %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">.</tt><tt class="py-name">num</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">.</tt><tt class="py-name">stem [...]
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-50', 'read', 'link-45');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">.</tt><tt class="py-name">stem</tt><tt class="py-op">,</tt> <tt class="py-name">frame</tt><tt class="py-op">=</tt><tt class="py-name">filename</tt><tt class="py-op">.</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt id="link-51" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-51', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Attempting to open %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="fabio.openimage._openimage" class="py-name" href="#" onclick="return doclink('link-52', '_openimage', 'link-41');">_openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt id="link-53" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-53', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"Attempting to read frame %s from %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">frame</tt><tt class="py-op">,</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-54', 'read', 'link-45');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">frame</tt><tt class="py-op">)</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt> </tt>
+</div><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"> </tt>
+<a name="openheader"></a><div id="openheader-def"><a name="L106"></a><tt class="py-lineno">106</tt> <a class="py-toggle" href="#" id="openheader-toggle" onclick="return toggle('openheader');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.openimage-module.html#openheader">openheader</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="openheader-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="openheader-expanded"><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">    <tt class="py-docstring">""" return only the header"""</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="fabio.openimage._openimage" class="py-name" href="#" onclick="return doclink('link-55', '_openimage', 'link-41');">_openimage</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name" targets="Method fabio.fabioimage.fabioimage.readheader()=fabio.fabioimage.fabioimage-class.html#readheader"><a title="fabio.fabioimage.fabioimage.readheader" class="py-name" href="#" onclick="return doclink('link-56', 'readheader', 'link-56');">readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class=" [...]
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt> </tt>
+</div><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
+<a name="_openimage"></a><div id="_openimage-def"><a name="L113"></a><tt class="py-lineno">113</tt> <a class="py-toggle" href="#" id="_openimage-toggle" onclick="return toggle('_openimage');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.openimage-module.html#_openimage">_openimage</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_openimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_openimage-expanded"><a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-docstring">""" </tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">    determine which format for a filename</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">    and return appropriate class which can be used for opening the image</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">imo</tt> <tt class="py-op">=</tt> <tt id="link-57" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-57', 'fabioimage', 'link-4');">fabioimage</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">byts</tt> <tt class="py-op">=</tt> <tt class="py-name">imo</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-58', '_open', 'link-58');">_open</a></tt><tt class="py-op">(</tt><tt class= [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-59', 'read', 'link-45');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">18</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">filetype</tt> <tt class="py-op">=</tt> <tt id="link-60" class="py-name" targets="Function fabio.openimage.do_magic()=fabio.openimage-module.html#do_magic"><a title="fabio.openimage.do_magic" class="py-name" href="#" onclick="return doclink('link-60', 'do_magic', 'link-60');">do_magic</a></tt><tt class="py-op">(</tt><tt class="py-name">byts</tt><tt class="py-op">)</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">filetype</tt> <tt class="py-op">==</tt> <tt class="py-string">"marccd"</tt> <tt class="py-keyword">and</tt> <tt class="py-name">filename</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"mccd"</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt clas [...]
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            <tt class="py-comment"># Cannot see a way around this. Need to find something</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-comment"># to distinguish mccd from regular tif...</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">filetype</tt> <tt class="py-op">=</tt> <tt class="py-string">"tif"</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt id="link-61" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-61', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"%s: File probably does not exist"</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">error</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">            <tt class="py-name">file_obj</tt> <tt class="py-op">=</tt> <tt id="link-62" class="py-name"><a title="fabio.fabioutils.deconstruct_filename" class="py-name" href="#" onclick="return doclink('link-62', 'deconstruct_filename', 'link-2');">deconstruct_filename</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">file_obj</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to deconstruct filename"</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">file_obj</tt><tt class="py-op">.</tt><tt class="py-name">format</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt>\ </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                <tt id="link-63" class="py-name"><a title="fabio.file_series.file_series.len" class="py-name" href="#" onclick="return doclink('link-63', 'len', 'link-29');">len</a></tt><tt class="py-op">(</tt><tt class="py-name">file_obj</tt><tt class="py-op">.</tt><tt class="py-name">format</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> \ </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">                <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">file_obj</tt><tt class="py-op">.</tt><tt class="py-name">format</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">"list"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">                <tt class="py-comment"># one of OXD/ ADSC - should have got in previous</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"openimage failed on magic bytes & name guess"</tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-name">filetype</tt> <tt class="py-op">=</tt> <tt class="py-name">file_obj</tt><tt class="py-op">.</tt><tt class="py-name">format</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-comment">#UNUSED filenumber = file_obj.num</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt id="link-64" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-64', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-name">error</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-keyword">import</tt> <tt class="py-name">traceback</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">traceback</tt><tt class="py-op">.</tt><tt class="py-name">print_exc</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Fabio could not identify "</tt> <tt class="py-op">+</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-name">klass_name</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">filetype</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-string">'image'</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">modules</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"fabio."</tt> <tt class="py-op">+</tt> <tt class="py-name">klass_name</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">module</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">klass_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-name">klass</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">klass_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Module %s has no image class"</tt> <tt class="py-op">%</tt> <tt class="py-name">module</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Filetype not known %s %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">klass_name</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">klass</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-comment"># skip the read for read header</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">obj</tt> </tt>
+</div><a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.pilatusimage-module.html b/doc/html/fabio.pilatusimage-module.html
new file mode 100644
index 0000000..4e54255
--- /dev/null
+++ b/doc/html/fabio.pilatusimage-module.html
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.pilatusimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module pilatusimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.pilatusimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module pilatusimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.pilatusimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:henning.sorensen at risoe.dk
+
+         + (mods for fabio) Jon Wright, ESRF
+marccdimage can read MarCCD and MarMosaic images including header info.
+
+JPW : Use a parser in case of typos (sorry?)
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.pilatusimage.pilatusimage-class.html" class="summary-name">pilatusimage</a><br />
+      Read in Pilatus format, also pilatus images, including header info
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.pilatusimage-pysrc.html b/doc/html/fabio.pilatusimage-pysrc.html
new file mode 100644
index 0000000..2a78a5c
--- /dev/null
+++ b/doc/html/fabio.pilatusimage-pysrc.html
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.pilatusimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module pilatusimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.pilatusimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.pilatusimage-module.html">Module fabio.pilatusimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#coding: utf8</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">         email:henning.sorensen at risoe.dk</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">         + (mods for fabio) Jon Wright, ESRF</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring">marccdimage can read MarCCD and MarMosaic images including header info.</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">JPW : Use a parser in case of typos (sorry?)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-comment"># Base this on the tifimage (as Pilatus is tiff with a </tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-comment"># tiff header </tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package fabio=fabio-module.html"><a title="fabio" class="py-name" href="#" onclick="return doclink('link-0', 'fabio', 'link-0');">fabio</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module fabio.tifimage=fabio.tifimage-module.html,Class fabio.tifimage.tifimage=fabio.tifimage.tifimage-class.html"><a title="fabio.tifimage
+fabio.tifimage.tifimage" class="py-name" href="#" onclick="return doclink('link-1', 'tifimage', 'link-1');">tifimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="fabio.tifimage
+fabio.tifimage.tifimage" class="py-name" href="#" onclick="return doclink('link-2', 'tifimage', 'link-1');">tifimage</a></tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
+<a name="pilatusimage"></a><div id="pilatusimage-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="pilatusimage-toggle" onclick="return toggle('pilatusimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.pilatusimage.pilatusimage-class.html">pilatusimage</a><tt class="py-op">(</tt><tt class="py-base-class">tifimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="pilatusimage-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="pilatusimage-expanded"><a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">    <tt class="py-docstring">""" Read in Pilatus format, also </tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-docstring">        pilatus images, including header info """</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"> </tt>
+<a name="pilatusimage._readheader"></a><div id="pilatusimage._readheader-def"><a name="L31"></a><tt class="py-lineno">31</tt> <a class="py-toggle" href="#" id="pilatusimage._readheader-toggle" onclick="return toggle('pilatusimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pilatusimage.pilatusimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt cl [...]
+</div><div id="pilatusimage._readheader-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="pilatusimage._readheader-expanded"><a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line"><tt class="py-docstring">        Parser based approach</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"><tt class="py-docstring">        Gets all entries</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-3', 'header', 'link-3');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-comment">#        infile = open(infile)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-name">hstr</tt> <tt class="py-op">=</tt> <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage. [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-4', 'read', 'link-4');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">4096</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">        <tt class="py-comment"># well not very pretty - but seems to find start of </tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">        <tt class="py-comment"># header information</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">hstr</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">'# '</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-5', 'header', 'link-3');">header</a></tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-name">hstr</tt> <tt class="py-op">=</tt> <tt class="py-name">hstr</tt><tt class="py-op">[</tt><tt class="py-name">hstr</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-string">'# '</tt><tt class="py-op">)</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-name">hstr</tt> <tt class="py-op">=</tt> <tt class="py-name">hstr</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">hstr</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-string">'\x00'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">        <tt class="py-name">hstr</tt> <tt class="py-op">=</tt> <tt class="py-name">hstr</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'#'</tt><tt class="py-op">)</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">        <tt class="py-name">go_on</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-name">go_on</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">                <tt class="py-name">hstr</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">                <tt class="py-name">go_on</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line"> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">hstr</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">            <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-string">'\r\n'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">                <tt class="py-name">dump</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">':'</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-6', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">dump</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt c [...]
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">                <tt class="py-name">dump</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'='</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-7', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">dump</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt c [...]
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">                <tt id="link-8" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-8', 'i', 'link-8');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-9', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt id="link-10" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href [...]
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">                <tt class="py-name">dump</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">','</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-12', 'header', 'link-3');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">dump</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt [...]
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-13', 'header', 'link-3');">header</a></tt> </tt>
+</div><a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line"> </tt>
+<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line"> </tt>
+<a name="pilatusimage._read"></a><div id="pilatusimage._read-def"><a name="L75"></a><tt class="py-lineno">75</tt> <a class="py-toggle" href="#" id="pilatusimage._read-toggle" onclick="return toggle('pilatusimage._read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pilatusimage.pilatusimage-class.html#_read">_read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class=" [...]
+</div><div id="pilatusimage._read-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="pilatusimage._read-expanded"><a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line"><tt class="py-docstring">        inherited from tifimage</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line"><tt class="py-docstring">        ... a Pilatus image *is a* tif image</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line"><tt class="py-docstring">        just with a header</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">81</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-14" class="py-name"><a title="fabio.tifimage
+fabio.tifimage.tifimage" class="py-name" href="#" onclick="return doclink('link-14', 'tifimage', 'link-1');">tifimage</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name"><a title="fabio.GEimage.GEimage.read
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-15', 'read', 'link-4');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.pilatusimage.pilatusimage-class.html b/doc/html/fabio.pilatusimage.pilatusimage-class.html
new file mode 100644
index 0000000..6e0da47
--- /dev/null
+++ b/doc/html/fabio.pilatusimage.pilatusimage-class.html
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.pilatusimage.pilatusimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.pilatusimage-module.html">Module pilatusimage</a> ::
+        Class pilatusimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.pilatusimage.pilatusimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class pilatusimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.pilatusimage-pysrc.html#pilatusimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+        
+                    |        
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+    
+                        |    
+        <a href="fabio.tifimage.tifimage-class.html">tifimage.tifimage</a> --+
+                            |
+                           <strong class="uidshort">pilatusimage</strong>
+</pre>
+
+<hr />
+<p>Read in Pilatus format, also pilatus images, including header info</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.pilatusimage.pilatusimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Parser based approach Gets all entries</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pilatusimage-pysrc.html#pilatusimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.pilatusimage.pilatusimage-class.html#_read" class="summary-sig-name" onclick="show_private();">_read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      inherited from tifimage ...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pilatusimage-pysrc.html#pilatusimage._read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.tifimage.tifimage-class.html">tifimage.tifimage</a></code></b>:
+      <code><a href="fabio.tifimage.tifimage-class.html#__init__">__init__</a></code>,
+      <code><a href="fabio.tifimage.tifimage-class.html#read">read</a></code>,
+      <code><a href="fabio.tifimage.tifimage-class.html#write">write</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.tifimage.tifimage-class.html">tifimage.tifimage</a></code></b> (private):
+      <code><a href="fabio.tifimage.tifimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.pilatusimage-pysrc.html#pilatusimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Parser based approach Gets all entries</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_read"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.pilatusimage-pysrc.html#pilatusimage._read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>inherited from tifimage ... a Pilatus image *is a* tif image just with
+  a header</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.pnmimage-module.html b/doc/html/fabio.pnmimage-module.html
new file mode 100644
index 0000000..d8af4e1
--- /dev/null
+++ b/doc/html/fabio.pnmimage-module.html
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.pnmimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module pnmimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.pnmimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module pnmimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.pnmimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:henning.sorensen at risoe.dk
+
+</pre>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.pnmimage.pnmimage-class.html" class="summary-name">pnmimage</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("pnmimage")">logging.getLogger("pnmimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="SUBFORMATS"></a><span class="summary-name">SUBFORMATS</span> = <code title="['P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">P1</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">P2</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable- [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="HEADERITEMS"></a><span class="summary-name">HEADERITEMS</span> = <code title="['SUBFORMAT', 'DIMENSIONS', 'MAXVAL']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">SUBFORMAT</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">DIMENSIONS</code><code class="variable-quote">'</code><code class="variable-op">, </code><code clas [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.pnmimage-module.html#P7HEADERITEMS" class="summary-name">P7HEADERITEMS</a> = <code title="['WIDTH', 'HEIGHT', 'DEPTH', 'MAXVAL', 'TUPLTYPE', 'ENDHDR']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">WIDTH</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">HEIGHT</code><code class="variable-quote">'</code><code class= [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="P7HEADERITEMS"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">P7HEADERITEMS</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">WIDTH</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">HEIGHT</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">DEPTH</code><code class="variable-quote">'</code><code class="variable-op">, </code>< [...]
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.pnmimage-pysrc.html b/doc/html/fabio.pnmimage-pysrc.html
new file mode 100644
index 0000000..7e461ae
--- /dev/null
+++ b/doc/html/fabio.pnmimage-pysrc.html
@@ -0,0 +1,487 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.pnmimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module pnmimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.pnmimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.pnmimage-module.html">Module fabio.pnmimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#coding: utf8</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">         Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">         Risoe National Laboratory</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         Frederiksborgvej 399</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">         DK-4000 Roskilde</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">         email:henning.sorensen at risoe.dk</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"pnmimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-1');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-1');">fabioimage</a></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable fabio.pnmimage.SUBFORMATS=fabio.pnmimage-module.html#SUBFORMATS"><a title="fabio.pnmimage.SUBFORMATS" class="py-name" href="#" onclick="return doclink('link-3', 'SUBFORMATS', 'link-3');">SUBFORMATS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'P1'</tt><tt class="py-op">,</tt> <tt class="py-string">'P2'</tt><tt class="py-op">,</tt> <tt  [...]
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable fabio.pnmimage.HEADERITEMS=fabio.pnmimage-module.html#HEADERITEMS"><a title="fabio.pnmimage.HEADERITEMS" class="py-name" href="#" onclick="return doclink('link-4', 'HEADERITEMS', 'link-4');">HEADERITEMS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'SUBFORMAT'</tt><tt class="py-op">,</tt> <tt class="py-string">'DIMENSIONS'</tt><tt class [...]
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable fabio.pnmimage.P7HEADERITEMS=fabio.pnmimage-module.html#P7HEADERITEMS"><a title="fabio.pnmimage.P7HEADERITEMS" class="py-name" href="#" onclick="return doclink('link-5', 'P7HEADERITEMS', 'link-5');">P7HEADERITEMS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'WIDTH'</tt><tt class="py-op">,</tt> <tt class="py-string">'HEIGHT'</tt><tt cla [...]
+<a name="pnmimage"></a><div id="pnmimage-def"><a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="pnmimage-toggle" onclick="return toggle('pnmimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html">pnmimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="pnmimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="pnmimage-expanded"><a name="pnmimage.__init__"></a><div id="pnmimage.__init__-def"><a name="L24"></a><tt class="py-lineno"> 24</tt> <a class="py-toggle" href="#" id="pnmimage.__init__-toggle" onclick="return toggle('pnmimage.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#__init__">__init__</a><tt class=" [...]
+</div><div id="pnmimage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.__init__-expanded"><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt id="link-6" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-6', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__init__()=fabio.TiffIO.TiffIO-class.html#__init__,Method fabio.adscimage.adscimage.__init__()=fabio.adscimage.adscimage-class.html#__init__,Method fabio.binaryimage.binaryimage.__ini [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-7', '__init__', 'link-7');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">arg</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-name">fun</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt id="link-8" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-8', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">,</tt> <tt class="py-string">'__init__'</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt> <tt class="py-name">x</tt><tt class="py-op">:</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">fun</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-9', 'data', 'link-9');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-10', 'header', 'link-10');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'Subformat'</tt><tt clas [...]
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-11', 'dim1', 'link-11');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py- [...]
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">maxval</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">stddev</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">minval</tt> <tt  [...]
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Variable fabio.edfimage.edfimage.header_keys=fabio.edfimage.edfimage-class.html#header_keys"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-13', 'header_keys', 'link-13');">header_keys</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op [...]
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-15', 'bytecode', 'link-15');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
+<a name="pnmimage._readheader"></a><div id="pnmimage._readheader-def"><a name="L35"></a><tt class="py-lineno"> 35</tt> <a class="py-toggle" href="#" id="pnmimage._readheader-toggle" onclick="return toggle('pnmimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">f</tt><t [...]
+</div><div id="pnmimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage._readheader-expanded"><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-comment">#pnm images have a 3-line header but ignore lines starting with '#'</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-comment">#1st line contains the pnm image sub format</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-comment">#2nd line contains the image pixel dimension</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-comment">#3rd line contains the maximum pixel value (at least for grayscale - check this)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-16', 'header_keys', 'link-13');">header_keys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'SUBFORMAT'</tt><tt class="py-op">,</tt> <tt class="py-string">'DIMENSIONS'</tt><tt class="py-op">,</ [...]
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">l</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-17" class="py-name"><a title="fabio.pnmimage.SUBFORMATS" class="py-name" href="#" onclick="return doclink('link-17', 'SUBFORMATS', 'link-3');">SUBFORMATS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'unknown subformat of pnm: %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">l</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-18', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'SUBFORMAT'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">l</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-19', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'SUBFORMAT'</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'P7'</tt><tt class="py [...]
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-20', 'header_keys', 'link-13');">header_keys</a></tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="fabio.pnmimage.P7HEADERITEMS" class="py-name" href="#" onclick="return doclink('link-21', 'P7HEADERI [...]
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-comment">#this one has a special header</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-string">'ENDHDR'</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">l</tt><tt class="py-op">:</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">                <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'#'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt cl [...]
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">l</tt><tt class="py-op">.</tt><tt class="py-name">lsplit</tt><tt class="py-op">(</tt><tt class="py-string">' '</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt id="link-22" class="py-name"><a title="fabio.pnmimage.P7HEADERITEMS" class="py-name" href="#" onclick="return doclink('link-22', 'P7HEADERITEMS', 'link-5');">P7HEADERITEMS</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">                    <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'Illegal pam (netpnm p7) headeritem %s'</tt> <tt class="py-op">%</tt> <tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-23', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt  [...]
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-24', 'header_keys', 'link-13');">header_keys</a></tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="fabio.pnmimage.HEADERITEMS" class="py-name" href="#" onclick="return doclink('link-25', 'HEADERITEMS [...]
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="fabio.edfimage.edfimage.header_keys" class="py-name" href="#" onclick="return doclink('link-26', 'header_keys', 'link-13');">header_keys</a></tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt [...]
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                <tt class="py-keyword">while</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'#'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt cl [...]
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-27', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">l</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt> [...]
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-comment">#set the dimensions</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt id="link-28" class="py-name" targets="Variable fabio.edfimage.edfimage.dims=fabio.edfimage.edfimage-class.html#dims"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-28', 'dims', 'link-28');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="fabio.edfimag [...]
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-30', 'dim1', 'link-11');">dim1</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return do [...]
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-comment">#figure out how many bytes are used to store the data</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-comment">#case construct here!</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-34', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'MAXVAL'</tt><tt class="py-op">]</tt>< [...]
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">m</tt> <tt class="py-op"><</tt> <tt class="py-number">256</tt><tt class="py-op">:</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-35', 'bytecode', 'link-15');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">m</tt> <tt class="py-op"><</tt> <tt class="py-number">65536</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-36', 'bytecode', 'link-15');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">m</tt> <tt class="py-op"><</tt> <tt class="py-number">2147483648L</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-37', 'bytecode', 'link-15');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt id="link-38" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-38', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">'32-bit pixels are not really supported by the netpgm standard'</tt><tt class="py-op">)</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">'could not figure out what kind of pixels you have'</tt> </tt>
+</div><a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="pnmimage.read"></a><div id="pnmimage.read-def"><a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="pnmimage.read-toggle" onclick="return toggle('pnmimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py-p [...]
+</div><div id="pnmimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.read-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">        try to read PNM images</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">        @param fname: name of the file</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">        @param frame: not relevant here! PNM is always single framed</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-39', 'header', 'link-10');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-40', 'resetvals', 'link-40');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-41', '_open', 'link-41');">_open</a></tt><tt class="py-op">(</tt><tt clas [...]
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._rea [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-42', '_readheader', 'link-42');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-comment">#read the image data</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">decoder_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"%sdec"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-43', 'header', 'link-10');">header</a></tt><tt class="py-op">[</tt><tt class="py-string">'SUBFORMAT'</tt><tt [...]
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">decoder_name</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dir</tt><tt class="py-op">(</tt><tt id="link-44" class="py-name" targets="Module fabio.pnmimage=fabio.pnmimage-module.html,Class fabio.pnmimage.pnmimage=fabio.pnmimage.pnmimage-class.html"><a title="fabio.pnmimage
+fabio.pnmimage.pnmimage" class="py-name" href="#" onclick="return doclink('link-44', 'pnmimage', 'link-44');">pnmimage</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-name">decoder</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt id="link-45" class="py-name"><a title="fabio.pnmimage
+fabio.pnmimage.pnmimage" class="py-name" href="#" onclick="return doclink('link-45', 'pnmimage', 'link-44');">pnmimage</a></tt><tt class="py-op">,</tt> <tt class="py-name">decoder_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-46', 'data', 'link-9');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">decoder</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-47', 'bytecode', 'link-15');">bytecode</a></tt [...]
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">"No decoder named %s for file %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">decoder_name</tt><tt class="py-op">,</tt> <tt class="py-name">fname</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-48', 'resetvals', 'link-40');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="pnmimage.P1dec"></a><div id="pnmimage.P1dec-def"><a name="L103"></a><tt class="py-lineno">103</tt> <a class="py-toggle" href="#" id="pnmimage.P1dec-toggle" onclick="return toggle('pnmimage.P1dec');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#P1dec">P1dec</a><tt class="py-op">(</tt><tt class="py-param">buf</tt><tt class="py-op">,</tt> <tt class="py-param">bytecode</tt><tt class="py-op">)</tt><tt cla [...]
+</div><div id="pnmimage.P1dec-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.P1dec-expanded"><a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt id="link-49" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-49', 'data', 'link-9');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-50', 'dim2', 'link-12');">dim2 [...]
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt id="link-52" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-52', 'i', 'link-52');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt class="py-name">buf</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt id="link-53" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-53', 'data', 'link-9');">data</a></tt><tt class="py-op">[</tt><tt id="link-54" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-54', 'i', 'link-52');">i</a></tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class=" [...]
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">'Size spec in pnm-header does not match size of image data field'</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-56" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-56', 'data', 'link-9');">data</a></tt> </tt>
+</div><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="pnmimage.P4dec"></a><div id="pnmimage.P4dec-def"><a name="L114"></a><tt class="py-lineno">114</tt> <a class="py-toggle" href="#" id="pnmimage.P4dec-toggle" onclick="return toggle('pnmimage.P4dec');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#P4dec">P4dec</a><tt class="py-op">(</tt><tt class="py-param">buf</tt><tt class="py-op">,</tt> <tt class="py-param">bytecode</tt><tt class="py-op">)</tt><tt cla [...]
+</div><div id="pnmimage.P4dec-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.P4dec-expanded"><a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">err</tt> <tt class="py-op">=</tt> <tt class="py-string">'single bit (pbm) images are not supported - yet'</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt id="link-57" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-57', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="pnmimage.P2dec"></a><div id="pnmimage.P2dec-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="pnmimage.P2dec-toggle" onclick="return toggle('pnmimage.P2dec');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#P2dec">P2dec</a><tt class="py-op">(</tt><tt class="py-param">buf</tt><tt class="py-op">,</tt> <tt class="py-param">bytecode</tt><tt class="py-op">)</tt><tt cla [...]
+</div><div id="pnmimage.P2dec-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.P2dec-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt id="link-58" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-58', 'data', 'link-9');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-59', 'dim2', 'link-12');">dim2 [...]
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt id="link-61" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-61', 'i', 'link-52');">i</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt class="py-name">buf</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                <tt id="link-62" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-62', 'data', 'link-9');">data</a></tt><tt class="py-op">[</tt><tt id="link-63" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-63', 'i', 'link-52');">i</a></tt><tt class="py-op">,</tt> <tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class=" [...]
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">'Size spec in pnm-header does not match size of image data field'</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-65" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-65', 'data', 'link-9');">data</a></tt> </tt>
+</div><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="pnmimage.P5dec"></a><div id="pnmimage.P5dec-def"><a name="L131"></a><tt class="py-lineno">131</tt> <a class="py-toggle" href="#" id="pnmimage.P5dec-toggle" onclick="return toggle('pnmimage.P5dec');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#P5dec">P5dec</a><tt class="py-op">(</tt><tt class="py-param">buf</tt><tt class="py-op">,</tt> <tt class="py-param">bytecode</tt><tt class="py-op">)</tt><tt cla [...]
+</div><div id="pnmimage.P5dec-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.P5dec-expanded"><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">buf</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEim [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-66', 'read', 'link-66');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt id="link-67" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-67', 'data', 'link-9');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">,</tt> <tt id="link-68" class="py-name"><a title="fabio.edfimage.edfimage.by [...]
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-string">'Size spec in pnm-header does not match size of image data field'</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-71" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-71', 'data', 'link-9');">data</a></tt> </tt>
+</div><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="pnmimage.P3dec"></a><div id="pnmimage.P3dec-def"><a name="L140"></a><tt class="py-lineno">140</tt> <a class="py-toggle" href="#" id="pnmimage.P3dec-toggle" onclick="return toggle('pnmimage.P3dec');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#P3dec">P3dec</a><tt class="py-op">(</tt><tt class="py-param">buf</tt><tt class="py-op">,</tt> <tt class="py-param">bytecode</tt><tt class="py-op">)</tt><tt cla [...]
+</div><div id="pnmimage.P3dec-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.P3dec-expanded"><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">err</tt> <tt class="py-op">=</tt> <tt class="py-string">'(plain-ppm) RGB images are not supported - yet'</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt id="link-72" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-72', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="pnmimage.P6dec"></a><div id="pnmimage.P6dec-def"><a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="pnmimage.P6dec-toggle" onclick="return toggle('pnmimage.P6dec');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#P6dec">P6dec</a><tt class="py-op">(</tt><tt class="py-param">buf</tt><tt class="py-op">,</tt> <tt class="py-param">bytecode</tt><tt class="py-op">)</tt><tt cla [...]
+</div><div id="pnmimage.P6dec-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.P6dec-expanded"><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-name">err</tt> <tt class="py-op">=</tt> <tt class="py-string">'(ppm) RGB images are not supported - yet'</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt id="link-73" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-73', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="pnmimage.P7dec"></a><div id="pnmimage.P7dec-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="pnmimage.P7dec-toggle" onclick="return toggle('pnmimage.P7dec');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#P7dec">P7dec</a><tt class="py-op">(</tt><tt class="py-param">buf</tt><tt class="py-op">,</tt> <tt class="py-param">bytecode</tt><tt class="py-op">)</tt><tt cla [...]
+</div><div id="pnmimage.P7dec-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.P7dec-expanded"><a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">err</tt> <tt class="py-op">=</tt> <tt class="py-string">'(pam) images are not supported - yet'</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt id="link-74" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-74', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-name">err</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"> </tt>
+<a name="pnmimage.write"></a><div id="pnmimage.write-def"><a name="L157"></a><tt class="py-lineno">157</tt> <a class="py-toggle" href="#" id="pnmimage.write-toggle" onclick="return toggle('pnmimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">filename</tt><tt class="py-op">)</tt><tt cl [...]
+</div><div id="pnmimage.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.write-expanded"><a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">NotImplementedError</tt><tt class="py-op">(</tt><tt class="py-string">'write pnm images is not implemented yet.'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-decorator">@</tt><tt class="py-decorator">staticmethod</tt> </tt>
+<a name="pnmimage.checkData"></a><div id="pnmimage.checkData-def"><a name="L161"></a><tt class="py-lineno">161</tt> <a class="py-toggle" href="#" id="pnmimage.checkData-toggle" onclick="return toggle('pnmimage.checkData');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.pnmimage.pnmimage-class.html#checkData">checkData</a><tt class="py-op">(</tt><tt class="py-param">data</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="p [...]
+</div><div id="pnmimage.checkData-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="pnmimage.checkData-expanded"><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-75" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-75', 'data', 'link-9');">data</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt id="link-76" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-76', 'data', 'link-9');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">astype</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.pnmimage.pnmimage-class.html b/doc/html/fabio.pnmimage.pnmimage-class.html
new file mode 100644
index 0000000..6fed9bc
--- /dev/null
+++ b/doc/html/fabio.pnmimage.pnmimage-class.html
@@ -0,0 +1,614 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.pnmimage.pnmimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.pnmimage-module.html">Module pnmimage</a> ::
+        Class pnmimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.pnmimage.pnmimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class pnmimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">pnmimage</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.pnmimage.pnmimage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*arg</span>,
+        <span class="summary-sig-arg">**kwargs</span>)</span><br />
+      Set up initial values</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.pnmimage.pnmimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">f</span>)</span><br />
+      Must be overridden in classes</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.pnmimage.pnmimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      try to read PNM images</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.pnmimage.pnmimage-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">filename</span>)</span><br />
+      To be overwritten - write the file</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="P1dec"></a><span class="summary-sig-name">P1dec</span>(<span class="summary-sig-arg">buf</span>,
+        <span class="summary-sig-arg">bytecode</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.P1dec">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="P4dec"></a><span class="summary-sig-name">P4dec</span>(<span class="summary-sig-arg">buf</span>,
+        <span class="summary-sig-arg">bytecode</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.P4dec">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="P2dec"></a><span class="summary-sig-name">P2dec</span>(<span class="summary-sig-arg">buf</span>,
+        <span class="summary-sig-arg">bytecode</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.P2dec">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="P5dec"></a><span class="summary-sig-name">P5dec</span>(<span class="summary-sig-arg">buf</span>,
+        <span class="summary-sig-arg">bytecode</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.P5dec">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="P3dec"></a><span class="summary-sig-name">P3dec</span>(<span class="summary-sig-arg">buf</span>,
+        <span class="summary-sig-arg">bytecode</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.P3dec">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="P6dec"></a><span class="summary-sig-name">P6dec</span>(<span class="summary-sig-arg">buf</span>,
+        <span class="summary-sig-arg">bytecode</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.P6dec">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="P7dec"></a><span class="summary-sig-name">P7dec</span>(<span class="summary-sig-arg">buf</span>,
+        <span class="summary-sig-arg">bytecode</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.P7dec">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.pnmimage.pnmimage-class.html#checkData" class="summary-sig-name">checkData</a>(<span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Empty for fabioimage but may be populated by others classes, 
+      especially for format accepting only integers</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.checkData">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">*arg</span>,
+        <span class="sig-arg">**kwargs</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Set up initial values</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">f</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Must be overridden in classes</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>try to read PNM images</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>fname</code></strong> - name of the file</li>
+        <li><strong class="pname"><code>frame</code></strong> - not relevant here! PNM is always single framed</li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">filename</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>To be overwritten - write the file</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="checkData"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">checkData</span>(<span class="sig-arg">data</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">Static Method</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.pnmimage-pysrc.html#pnmimage.checkData">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Empty for fabioimage but may be populated by others classes, 
+  especially for format accepting only integers</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#checkData">fabioimage.fabioimage.checkData</a>
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.readbytestream-module.html b/doc/html/fabio.readbytestream-module.html
new file mode 100644
index 0000000..d6d827e
--- /dev/null
+++ b/doc/html/fabio.readbytestream-module.html
@@ -0,0 +1,312 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.readbytestream</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module readbytestream
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.readbytestream-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module readbytestream</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.readbytestream-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Reads a bytestream
+
+Authors: Jon Wright    Henning O. Sorensen & Erik Knudsen
+         ESRF          Risoe National Laboratory
+
+</pre>
+
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.readbytestream-module.html#readbytestream" class="summary-sig-name">readbytestream</a>(<span class="summary-sig-arg">fil</span>,
+        <span class="summary-sig-arg">offset</span>,
+        <span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>,
+        <span class="summary-sig-arg">nbytespp</span>,
+        <span class="summary-sig-arg">datatype</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">int</code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">signed</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">n</code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">swap</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">n</code><code class="variable-quote">'</code></span>,
+        <span class="summary-sig-arg">typeout</span>=<span class="summary-sig-default"><type 'numpy.uint16'></span>)</span><br />
+      Reads in a bytestream from a file (which may be a string indicating a
+      filename, or an already opened file (should be "rb")) 
+      offset is the position (in bytes) where the pixel data start nbytespp
+      = number of bytes per pixel type can be int or float (4 bytes pp) or 
+      double (8 bytes pp) signed: normally signed data 'y', but 'n' to try 
+      to get back the right numbers when unsigned data are converted to 
+      signed (python once had no unsigned numeric types.) swap, normally do
+      not bother, but 'y' to swap bytes typeout is the numpy type to 
+      output, normally uint16, but more if overflows occurred x and y are 
+      the pixel dimensions</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.readbytestream-pysrc.html#readbytestream">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("readbytestream")">logging.getLogger("readbytestream")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.readbytestream-module.html#DATATYPES" class="summary-name">DATATYPES</a> = <code title="{('double', 'y', 4): <type 'numpy.float64'>,
+ ('float', 'y', 4): <type 'numpy.float32'>,
+ ('int', 'n', 1): <type 'numpy.uint8'>,
+ ('int', 'n', 2): <type 'numpy.uint16'>,
+ ('int', 'n', 4): <type 'numpy.uint32'>,
+ ('int', 'y', 1): <type 'numpy.int8'>,
+ ('int', 'y', 2): <type 'numpy.int16'>,
+ ('int', 'y', 4): <type 'numpy.int32'>}"><code class="variable-group">{</code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">double</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">y</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-group">)</code><code class="variable-op">: </code [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="readbytestream"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">readbytestream</span>(<span class="sig-arg">fil</span>,
+        <span class="sig-arg">offset</span>,
+        <span class="sig-arg">x</span>,
+        <span class="sig-arg">y</span>,
+        <span class="sig-arg">nbytespp</span>,
+        <span class="sig-arg">datatype</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">int</code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">signed</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">n</code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">swap</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">n</code><code class="variable-quote">'</code></span>,
+        <span class="sig-arg">typeout</span>=<span class="sig-default"><type 'numpy.uint16'></span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.readbytestream-pysrc.html#readbytestream">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Reads in a bytestream from a file (which may be a string indicating a 
+  filename, or an already opened file (should be "rb")) offset is
+  the position (in bytes) where the pixel data start nbytespp = number of 
+  bytes per pixel type can be int or float (4 bytes pp) or double (8 bytes 
+  pp) signed: normally signed data 'y', but 'n' to try to get back the 
+  right numbers when unsigned data are converted to signed (python once had
+  no unsigned numeric types.) swap, normally do not bother, but 'y' to swap
+  bytes typeout is the numpy type to output, normally uint16, but more if 
+  overflows occurred x and y are the pixel dimensions</p>
+  <p>TODO : Read in regions of interest</p>
+  <p>PLEASE LEAVE THE STRANGE INTERFACE ALONE - IT IS USEFUL FOR THE BRUKER
+  FORMAT</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="DATATYPES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">DATATYPES</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">double</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">y</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-group">)</code><code class="variable-op">: </code><type 'numpy.float64'><code class="varia [...]
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">float</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">y</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-group">)</code><code class="variable-op">: </code><type 'numpy.float32'><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">int</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">n</code><code class="variable-quote">'</code><code class="variable-op">, </code>1<code class="variable-group">)</code><code class="variable-op">: </code><type 'numpy.uint8'><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">int</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">n</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-group">)</code><code class="variable-op">: </code><type 'numpy.uint16'><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">int</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">n</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-group">)</code><code class="variable-op">: </code><type 'numpy.uint32'><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">int</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">y</code><code class="variable-quote">'</code><code class="variable-op">, </code>1<code class="variable-group">)</code><code class="variable-op">: </code><type 'numpy.int8'><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">int</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">y</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-group">)</code><code class="variable-op">: </code><type 'numpy.int16'><code class="variable-op">,</code>
+ <code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">int</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">y</code><code class="variable-quote">'</code><code class="variable-op">, </code>4<code class="variable-group">)</code><code class="variable-op">: </code><type 'numpy.int32'><code class="variable-group">}</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.readbytestream-pysrc.html b/doc/html/fabio.readbytestream-pysrc.html
new file mode 100644
index 0000000..a800676
--- /dev/null
+++ b/doc/html/fabio.readbytestream-pysrc.html
@@ -0,0 +1,241 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.readbytestream</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module readbytestream
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.readbytestream-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.readbytestream-module.html">Module fabio.readbytestream</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-comment">#coding: utf8</tt> </tt>
+<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"> </tt>
+<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring">Reads a bytestream</tt> </tt>
+<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Jon Wright    Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">         ESRF          Risoe National Laboratory</tt> </tt>
+<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"> </tt>
+<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bruk [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"readbytestream"</tt><tt class="py-op">)</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable fabio.readbytestream.DATATYPES=fabio.readbytestream-module.html#DATATYPES"><a title="fabio.readbytestream.DATATYPES" class="py-name" href="#" onclick="return doclink('link-1', 'DATATYPES', 'link-1');">DATATYPES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">    <tt class="py-comment"># type  sign bytes</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-string">'n'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class="py-op">,</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-string">'n'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">,</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-string">'n'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint32</tt><tt class="py-op">,</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int8</tt><tt class="py-op">,</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int16</tt><tt class="py-op">,</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">"int"</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'float'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt> <tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">,</tt> <tt class="py-comment"># does this occur in bruker?</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-string">'double'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-number">4</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float64</tt> </tt>
+<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">    <tt class="py-op">}</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
+<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
+<a name="readbytestream"></a><div id="readbytestream-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="readbytestream-toggle" onclick="return toggle('readbytestream');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.readbytestream-module.html#readbytestream">readbytestream</a><tt class="py-op">(</tt><tt class="py-param">fil</tt><tt class="py-op">,</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">                   <tt class="py-param">offset</tt><tt class="py-op">,</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">                   <tt class="py-param">x</tt><tt class="py-op">,</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">                   <tt class="py-param">y</tt><tt class="py-op">,</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">                   <tt class="py-param">nbytespp</tt><tt class="py-op">,</tt> </tt>
+<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">                   <tt class="py-param">datatype</tt><tt class="py-op">=</tt><tt class="py-string">'int'</tt><tt class="py-op">,</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">                   <tt class="py-param">signed</tt><tt class="py-op">=</tt><tt class="py-string">'n'</tt><tt class="py-op">,</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">                   <tt class="py-param">swap</tt><tt class="py-op">=</tt><tt class="py-string">'n'</tt><tt class="py-op">,</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">                   <tt class="py-param">typeout</tt><tt class="py-op">=</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="readbytestream-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="readbytestream-expanded"><a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"><tt class="py-docstring">    Reads in a bytestream from a file (which may be a string indicating</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"><tt class="py-docstring">    a filename, or an already opened file (should be "rb"))</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"><tt class="py-docstring">    offset is the position (in bytes) where the pixel data start</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"><tt class="py-docstring">    nbytespp = number of bytes per pixel</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line"><tt class="py-docstring">    type can be int or float (4 bytes pp) or double (8 bytes pp)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"><tt class="py-docstring">    signed: normally signed data 'y', but 'n' to try to get back the </tt> </tt>
+<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"><tt class="py-docstring">    right numbers when unsigned data are converted to signed </tt> </tt>
+<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line"><tt class="py-docstring">    (python once had no unsigned numeric types.)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line"><tt class="py-docstring">    swap, normally do not bother, but 'y' to swap bytes</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"><tt class="py-docstring">    typeout is the numpy type to output, normally uint16, </tt> </tt>
+<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line"><tt class="py-docstring">    but more if overflows occurred</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line"><tt class="py-docstring">    x and y are the pixel dimensions</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"><tt class="py-docstring">    TODO : Read in regions of interest</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line"><tt class="py-docstring">    PLEASE LEAVE THE STRANGE INTERFACE ALONE - </tt> </tt>
+<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"><tt class="py-docstring">    IT IS USEFUL FOR THE BRUKER FORMAT</tt> </tt>
+<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">    <tt class="py-name">tin</tt> <tt class="py-op">=</tt> <tt class="py-string">"dunno"</tt> </tt>
+<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">    <tt class="py-name">length</tt> <tt class="py-op">=</tt> <tt class="py-name">nbytespp</tt> <tt class="py-op">*</tt> <tt class="py-name">x</tt> <tt class="py-op">*</tt> <tt class="py-name">y</tt> <tt class="py-comment"># bytes per pixel times number of pixels</tt> </tt>
+<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">datatype</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-string">'float'</tt><tt class="py-op">,</tt> <tt class="py-string">'double'</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">        <tt class="py-name">signed</tt> <tt class="py-op">=</tt> <tt class="py-string">'y'</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"> </tt>
+<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">    <tt id="link-2" class="py-name" targets="Variable fabio.fabioutils.key=fabio.fabioutils-module.html#key"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-2', 'key', 'link-2');">key</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">datatype</tt><tt class="py-op">,</tt> <tt class="py-name">signed</tt><tt class="py-op">,</tt> <tt class="py-name">nbytespp [...]
+<a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">        <tt class="py-name">tin</tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name"><a title="fabio.readbytestream.DATATYPES" class="py-name" href="#" onclick="return doclink('link-3', 'DATATYPES', 'link-1');">DATATYPES</a></tt><tt class="py-op">[</tt><tt id="link-4" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-4', 'key', 'link-2');">key</a></tt><tt cla [...]
+<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">        <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"datatype,signed,nbytespp "</tt> <tt class="py-op">+</tt> <tt id="link-5" class="py-name" targets="Method fabio.fabioutils.filename_object.str()=fabio.fabioutils.filename_object-class.html#str,Class str=str-class.html"><a title="fabio.fabioutils.filename_object.str
+str" class="py-name" href="#" onclick="return doclink('link-5', 'str', 'link-5');">str</a></tt><tt class="py-op">(</tt><tt id="link-6" class="py-name"><a title="fabio.fabioutils.key" class="py-name" href="#" onclick="return doclink('link-6', 'key', 'link-2');">key</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Unknown combination of types to readbytestream"</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line"> </tt>
+<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">    <tt class="py-comment"># Did we get a string (filename) or a readable stream object?</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">fil</tt><tt class="py-op">,</tt> <tt class="py-string">"read"</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">fil</tt><tt class="py-op">,</tt> <tt class="py-string">"seek"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">fil</tt> </tt>
+<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">        <tt class="py-name">opened</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">fil</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line">        <tt class="py-name">opened</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line"> </tt>
+<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line">    <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-name">offset</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line"> </tt>
+<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line">    <tt class="py-name">arr</tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line">            <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line">                <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage.OXDimage.read()=fabio.OXDimage.OXDimage-class.h [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-7', 'read', 'link-7');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">tin</tt><tt class="py-op">)</tt> <tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py- [...]
+<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line"> </tt>
+<a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">swap</tt> <tt class="py-op">==</tt> <tt class="py-string">'y'</tt><tt class="py-op">:</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">81</tt>  <tt class="py-line">        <tt class="py-name">arr</tt> <tt class="py-op">=</tt> <tt class="py-name">arr</tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">82</tt>  <tt class="py-line"> </tt>
+<a name="L83"></a><tt class="py-lineno">83</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">opened</tt><tt class="py-op">:</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">84</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">85</tt>  <tt class="py-line"> </tt>
+<a name="L86"></a><tt class="py-lineno">86</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">arr</tt> </tt>
+</div><a name="L87"></a><tt class="py-lineno">87</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.tifimage-module.html b/doc/html/fabio.tifimage-module.html
new file mode 100644
index 0000000..eb0394e
--- /dev/null
+++ b/doc/html/fabio.tifimage-module.html
@@ -0,0 +1,405 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.tifimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module tifimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.tifimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module tifimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.tifimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+FabIO class for dealing with TIFF images. 
+In facts wraps TiffIO from Armando (available in PyMca) or falls back to PIL
+
+Authors: Jérôme Kieffer (jerome.kieffer at esrf.fr)
+         Henning O. Sorensen & Erik Knudsen
+             Center for Fundamental Research: Metal Structures in Four Dimensions
+             Risoe National Laboratory
+             Frederiksborgvej 399
+             DK-4000 Roskilde
+             email:henning.sorensen at risoe.dk    
+License: GPLv3+        
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Date:</strong>
+        11/07/2011
+      </p>
+      <dl><dt>Authors:</dt>
+        <dd>
+          J\xc3\xa9r\xc3\xb4me Kieffer,
+          Henning O. Sorensen,
+          Erik Knudsen
+        </dd>
+      </dl>
+      <p><strong>Copyright:</strong>
+        ESRF, Grenoble & Risoe National Laboratory
+      </p>
+      <p><strong>License:</strong>
+        GPLv3+
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.tifimage.tifimage-class.html" class="summary-name">tifimage</a><br />
+      Images in TIF format Wraps TiffIO
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.tifimage.Tiff_header-class.html" class="summary-name">Tiff_header</a>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.tifimage.Image_File_Directory-class.html" class="summary-name">Image_File_Directory</a>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.tifimage.Image_File_Directory_entry-class.html" class="summary-name">Image_File_Directory_entry</a>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("tifimage")">logging.getLogger("tifimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.tifimage-module.html#PIL_TO_NUMPY" class="summary-name">PIL_TO_NUMPY</a> = <code title="{'1': <type 'bool'>,
+ 'F': <type 'numpy.float32'>,
+ 'I': <type 'numpy.int32'>,
+ 'I;16': <type 'numpy.uint16'>,
+ 'L': <type 'numpy.uint8'>}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">1</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'bool'><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">F</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float32'<code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="LITTLE_ENDIAN"></a><span class="summary-name">LITTLE_ENDIAN</span> = <code title="1234">1234</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="BIG_ENDIAN"></a><span class="summary-name">BIG_ENDIAN</span> = <code title="3412">3412</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.tifimage-module.html#TYPES" class="summary-name">TYPES</a> = <code title="{0: 'invalid',
+ 1: 'byte',
+ 2: 'ascii',
+ 3: 'short',
+ 4: 'long',
+ 5: 'rational',
+ 6: 'sbyte',
+ 7: 'undefined',
+..."><code class="variable-group">{</code>0<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">invalid</code><code class="variable-quote">'</code><code class="variable-op">, </code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">byte</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><c [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.tifimage-module.html#TYPESIZES" class="summary-name">TYPESIZES</a> = <code title="{0: 0,
+ 1: 1,
+ 2: 1,
+ 3: 2,
+ 4: 4,
+ 5: 8,
+ 6: 1,
+ 7: 1,
+..."><code class="variable-group">{</code>0<code class="variable-op">: </code>0<code class="variable-op">, </code>1<code class="variable-op">: </code>1<code class="variable-op">, </code>2<code class="variable-op">: </code>1<code class="variable-op">, </code>3<code class="variable-op">: </code>2<code class="variable-op">, </code>4<code class="variable-op">: </code>4<code class="variable-op">, </code>5<code class="variable-op">: </code>8<code class="variable-op">, </code>6<code class="vari [...]
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.tifimage-module.html#baseline_tiff_tags" class="summary-name">baseline_tiff_tags</a> = <code title="{256: 'ImageWidth',
+ 257: 'ImageLength',
+ 258: 'BitsPerSample',
+ 259: 'Compression',
+ 262: 'PhotometricInterpretation',
+ 264: 'CellWidth',
+ 265: 'CellLength',
+ 270: 'ImageDescription',
+..."><code class="variable-group">{</code>256<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ImageWidth</code><code class="variable-quote">'</code><code class="variable-op">, </code>257<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ImageLength</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-ellipsis">...</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="PIL_TO_NUMPY"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">PIL_TO_NUMPY</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">1</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'bool'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">F</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.float32'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">I</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.int32'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">I;16</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.uint16'><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">L</code><code class="variable-quote">'</code><code class="variable-op">: </code><type 'numpy.uint8'><code class="variable-group">}</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="TYPES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">TYPES</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>0<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">invalid</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">byte</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ascii</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">short</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">long</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">rational</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">sbyte</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 7<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">undefined</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="TYPESIZES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">TYPESIZES</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>0<code class="variable-op">: </code>0<code class="variable-op">,</code>
+ 1<code class="variable-op">: </code>1<code class="variable-op">,</code>
+ 2<code class="variable-op">: </code>1<code class="variable-op">,</code>
+ 3<code class="variable-op">: </code>2<code class="variable-op">,</code>
+ 4<code class="variable-op">: </code>4<code class="variable-op">,</code>
+ 5<code class="variable-op">: </code>8<code class="variable-op">,</code>
+ 6<code class="variable-op">: </code>1<code class="variable-op">,</code>
+ 7<code class="variable-op">: </code>1<code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="baseline_tiff_tags"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">baseline_tiff_tags</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>256<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ImageWidth</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 257<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ImageLength</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 258<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">BitsPerSample</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 259<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Compression</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 262<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">PhotometricInterpretation</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 264<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">CellWidth</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 265<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">CellLength</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 270<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ImageDescription</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.tifimage-pysrc.html b/doc/html/fabio.tifimage-pysrc.html
new file mode 100644
index 0000000..611c4e3
--- /dev/null
+++ b/doc/html/fabio.tifimage-pysrc.html
@@ -0,0 +1,706 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.tifimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module tifimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.tifimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.tifimage-module.html">Module fabio.tifimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment">#-*- coding: utf8 -*-</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">FabIO class for dealing with TIFF images. </tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">In facts wraps TiffIO from Armando (available in PyMca) or falls back to PIL</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Jérôme Kieffer (jerome.kieffer at esrf.fr)</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">         Henning O. Sorensen & Erik Knudsen</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">             Center for Fundamental Research: Metal Structures in Four Dimensions</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">             Risoe National Laboratory</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">             Frederiksborgvej 399</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">             DK-4000 Roskilde</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">             email:henning.sorensen at risoe.dk    </tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">License: GPLv3+        </tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-name">__authors__</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"Jérôme Kieffer"</tt><tt class="py-op">,</tt> <tt class="py-string">"Henning O. Sorensen"</tt><tt class="py-op">,</tt> <tt class="py-string">"Erik Knudsen"</tt><tt class="py-op">]</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-name">__date__</tt> <tt class="py-op">=</tt> <tt class="py-string">"11/07/2011"</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-name">__license__</tt> <tt class="py-op">=</tt> <tt class="py-string">"GPLv3+"</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-name">__copyright__</tt> <tt class="py-op">=</tt> <tt class="py-string">"ESRF, Grenoble & Risoe National Laboratory"</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt><tt class="py-op">,</tt> <tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">struct</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"tifimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">Image</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">    <tt id="link-1" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-1', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"PIL is not installed ... trying to do without"</tt><tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">    <tt class="py-name">Image</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-2');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-3" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-3', 'fabioimage', 'link-2');">fabioimage</a></tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module fabio.TiffIO=fabio.TiffIO-module.html,Class fabio.TiffIO.TiffIO=fabio.TiffIO.TiffIO-class.html"><a title="fabio.TiffIO
+fabio.TiffIO.TiffIO" class="py-name" href="#" onclick="return doclink('link-4', 'TiffIO', 'link-4');">TiffIO</a></tt>     <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name"><a title="fabio.TiffIO
+fabio.TiffIO.TiffIO" class="py-name" href="#" onclick="return doclink('link-5', 'TiffIO', 'link-4');">TiffIO</a></tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable fabio.tifimage.PIL_TO_NUMPY=fabio.tifimage-module.html#PIL_TO_NUMPY"><a title="fabio.tifimage.PIL_TO_NUMPY" class="py-name" href="#" onclick="return doclink('link-6', 'PIL_TO_NUMPY', 'link-6');">PIL_TO_NUMPY</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-string">"I;16"</tt><tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op" [...]
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">                   <tt class="py-string">"F"</tt><tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">,</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">                   <tt class="py-string">"1"</tt><tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">bool</tt><tt class="py-op">,</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                   <tt class="py-string">"I"</tt><tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt><tt class="py-op">,</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                   <tt class="py-string">"L"</tt><tt class="py-op">:</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint8</tt><tt class="py-op">,</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">                    <tt class="py-op">}</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable fabio.tifimage.LITTLE_ENDIAN=fabio.tifimage-module.html#LITTLE_ENDIAN"><a title="fabio.tifimage.LITTLE_ENDIAN" class="py-name" href="#" onclick="return doclink('link-7', 'LITTLE_ENDIAN', 'link-7');">LITTLE_ENDIAN</a></tt> <tt class="py-op">=</tt> <tt class="py-number">1234</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable fabio.tifimage.BIG_ENDIAN=fabio.tifimage-module.html#BIG_ENDIAN"><a title="fabio.tifimage.BIG_ENDIAN" class="py-name" href="#" onclick="return doclink('link-8', 'BIG_ENDIAN', 'link-8');">BIG_ENDIAN</a></tt> <tt class="py-op">=</tt> <tt class="py-number">3412</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt id="link-9" class="py-name" targets="Variable fabio.tifimage.TYPES=fabio.tifimage-module.html#TYPES"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-9', 'TYPES', 'link-9');">TYPES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-string">'invalid'</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt> [...]
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable fabio.tifimage.TYPESIZES=fabio.tifimage-module.html#TYPESIZES"><a title="fabio.tifimage.TYPESIZES" class="py-name" href="#" onclick="return doclink('link-10', 'TYPESIZES', 'link-10');">TYPESIZES</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py [...]
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable fabio.tifimage.baseline_tiff_tags=fabio.tifimage-module.html#baseline_tiff_tags"><a title="fabio.tifimage.baseline_tiff_tags" class="py-name" href="#" onclick="return doclink('link-11', 'baseline_tiff_tags', 'link-11');">baseline_tiff_tags</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">  <tt class="py-number">256</tt><tt class="py-op">:</tt><tt class="py-string">'ImageWidth'</tt><tt class="py-op">,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">  <tt class="py-number">257</tt><tt class="py-op">:</tt><tt class="py-string">'ImageLength'</tt><tt class="py-op">,</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">  <tt class="py-number">306</tt><tt class="py-op">:</tt><tt class="py-string">'DateTime'</tt><tt class="py-op">,</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">  <tt class="py-number">315</tt><tt class="py-op">:</tt><tt class="py-string">'Artist'</tt><tt class="py-op">,</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">  <tt class="py-number">258</tt><tt class="py-op">:</tt><tt class="py-string">'BitsPerSample'</tt><tt class="py-op">,</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">  <tt class="py-number">265</tt><tt class="py-op">:</tt><tt class="py-string">'CellLength'</tt><tt class="py-op">,</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">  <tt class="py-number">264</tt><tt class="py-op">:</tt><tt class="py-string">'CellWidth'</tt><tt class="py-op">,</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">  <tt class="py-number">259</tt><tt class="py-op">:</tt><tt class="py-string">'Compression'</tt><tt class="py-op">,</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">  <tt class="py-number">262</tt><tt class="py-op">:</tt><tt class="py-string">'PhotometricInterpretation'</tt><tt class="py-op">,</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">  <tt class="py-number">296</tt><tt class="py-op">:</tt><tt class="py-string">'ResolutionUnit'</tt><tt class="py-op">,</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">  <tt class="py-number">282</tt><tt class="py-op">:</tt><tt class="py-string">'XResolution'</tt><tt class="py-op">,</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">  <tt class="py-number">283</tt><tt class="py-op">:</tt><tt class="py-string">'YResolution'</tt><tt class="py-op">,</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">  <tt class="py-number">278</tt><tt class="py-op">:</tt><tt class="py-string">'RowsPerStrip'</tt><tt class="py-op">,</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">  <tt class="py-number">273</tt><tt class="py-op">:</tt><tt class="py-string">'StripOffset'</tt><tt class="py-op">,</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">  <tt class="py-number">279</tt><tt class="py-op">:</tt><tt class="py-string">'StripByteCounts'</tt><tt class="py-op">,</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">  <tt class="py-number">270</tt><tt class="py-op">:</tt><tt class="py-string">'ImageDescription'</tt><tt class="py-op">,</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">  <tt class="py-number">271</tt><tt class="py-op">:</tt><tt class="py-string">'Make'</tt><tt class="py-op">,</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">  <tt class="py-number">272</tt><tt class="py-op">:</tt><tt class="py-string">'Model'</tt><tt class="py-op">,</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">  <tt class="py-number">320</tt><tt class="py-op">:</tt><tt class="py-string">'ColorMap'</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">  <tt class="py-number">305</tt><tt class="py-op">:</tt><tt class="py-string">'Software'</tt><tt class="py-op">,</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">  <tt class="py-number">339</tt><tt class="py-op">:</tt><tt class="py-string">'SampleFormat'</tt><tt class="py-op">,</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">  <tt class="py-number">33432</tt><tt class="py-op">:</tt><tt class="py-string">'Copyright'</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">  <tt class="py-op">}</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
+<a name="tifimage"></a><div id="tifimage-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="tifimage-toggle" onclick="return toggle('tifimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.tifimage.tifimage-class.html">tifimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="tifimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="tifimage-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">    Images in TIF format</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">    Wraps TiffIO</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    <tt id="link-12" class="py-name" targets="Variable fabio.GEimage.GEimage._need_a_seek_to_read=fabio.GEimage.GEimage-class.html#_need_a_seek_to_read,Variable fabio.fabioimage.fabioimage._need_a_seek_to_read=fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read,Variable fabio.tifimage.tifimage._need_a_seek_to_read=fabio.tifimage.tifimage-class.html#_need_a_seek_to_read"><a title="fabio.GEimage.GEimage._need_a_s [...]
+fabio.fabioimage.fabioimage._need_a_seek_to_read
+fabio.tifimage.tifimage._need_a_seek_to_read" class="py-name" href="#" onclick="return doclink('link-12', '_need_a_seek_to_read', 'link-12');">_need_a_seek_to_read</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"> </tt>
+<a name="tifimage.__init__"></a><div id="tifimage.__init__-def"><a name="L81"></a><tt class="py-lineno"> 81</tt> <a class="py-toggle" href="#" id="tifimage.__init__-toggle" onclick="return toggle('tifimage.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.tifimage.tifimage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">ar [...]
+</div><div id="tifimage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="tifimage.__init__-expanded"><a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-docstring">""" Tifimage constructor adds an nbits member attribute """</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">nbits</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt id="link-13" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-13', 'fabioimage', 'link-2');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__init__()=fabio.TiffIO.TiffIO-class.html#__init__,Method fabio.adscimage.adscimage.__init__()=fabio.adscimage.adscimage-class.html#__init__,Method fabio.binaryimage.binaryimage.__i [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-14', '__init__', 'link-14');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-name">args</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">kwds</tt><tt class="py-op">)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lib</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"> </tt>
+<a name="tifimage._readheader"></a><div id="tifimage._readheader-def"><a name="L87"></a><tt class="py-lineno"> 87</tt> <a class="py-toggle" href="#" id="tifimage._readheader-toggle" onclick="return toggle('tifimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.tifimage.tifimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">infile</ [...]
+</div><div id="tifimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="tifimage._readheader-expanded"><a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-docstring">        Try to read Tiff images header...</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line"><tt class="py-comment">#        try:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line"><tt class="py-comment">#            self.header = { "filename" : infile.name }</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"><tt class="py-comment">#        except AttributeError:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-comment">#            self.header = {}</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-comment">#        t = Tiff_header(infile.read())</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-comment">#        self.header = t.header</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-comment">#        try:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-comment">#            self.dim1 = int(self.header['ImageWidth'])</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-comment">#            self.dim2 = int(self.header['ImageLength'])</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-comment">#        except (KeyError):</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-comment">#            logger.warning("image dimensions could not be determined from header tags, trying to go on anyway")</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-comment">#         read the first 32 bytes to determine size</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt id="link-15" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-15', 'header', 'link-15');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-16', 'read', 'link-16');">read</a></tt><tt class="py-op">(</tt><tt class="py-number">64</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">uint16</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-17', 'dim1', 'link-17');">dim1</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-18" class="py- [...]
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Variable fabio.edfimage.edfimage.dim2=fabio.edfimage.edfimage-class.html#dim2"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-19', 'dim2', 'link-19');">dim2</a></tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-20" class="py- [...]
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-comment">#         nbits is not a fabioimage attribute...</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">nbits</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-21" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-21', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-number">21</tt><tt class="py-op">]</tt><t [...]
+</div><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> </tt>
+<a name="tifimage.read"></a><div id="tifimage.read-def"><a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="tifimage.read-toggle" onclick="return toggle('tifimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.tifimage.tifimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py- [...]
+</div><div id="tifimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="tifimage.read-expanded"><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring">        Wrapper for TiffIO.</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-22', '_open', 'link-22');">_open</a></tt><tt class="py-op">(</tt><tt cla [...]
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._re [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-23', '_readheader', 'link-23');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lib</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">            <tt class="py-name">tiffIO</tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name"><a title="fabio.TiffIO
+fabio.TiffIO.TiffIO" class="py-name" href="#" onclick="return doclink('link-24', 'TiffIO', 'link-4');">TiffIO</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">tiffIO</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name" targets="Method fabio.TiffIO.TiffIO.getNumberOfImages()=fabio.TiffIO.TiffIO-class.html#getNumberOfImages"><a title="fabio.TiffIO.TiffIO.getNumberOfImages" class="py-name" href="#" onclick="return doclink('link-25', 'getNumberOfImages', 'link-25');">getNumberOfImages</a></tt><tt class="py-o [...]
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                <tt class="py-comment">#No support for now of multi-frame tiff images</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-26', 'data', 'link-26');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tiffIO</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Method fabio.TiffIO.TiffIO.getImage()=fabio.TiffIO.TiffIO-class.html#getImage"><a title="fabio.TiffIO.TiffIO.getImage" class="py-name" href="#" onclick="return doclink('link-27', 'getImage', 'link-27');">getImage</a></tt><tt class="py-op">(</tt> [...]
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-28', 'header', 'link-15');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tiffIO</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name" targets="Method fabio.TiffIO.TiffIO.getInfo()=fabio.TiffIO.TiffIO [...]
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt id="link-30" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-30', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to read %s with TiffIO due to %s, trying PIL"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-31', 'data', 'link-26');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">ndim</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-32', 'dim2', 'link-19');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick=" [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-34', 'data', 'link-26');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-35', 'data', 'link-26');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">ndim</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-36', 'dim2', 'link-19');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick=" [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-38', 'data', 'link-26');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">                <tt id="link-39" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-39', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Third dimension is the color"</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                <tt id="link-40" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-40', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"dataset has %s dimensions (%s), check for errors !!!!"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-41', 'data', 'link-26');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">ndim</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-42', 'data', 'link-26');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lib</tt> <tt class="py-op">=</tt> <tt class="py-string">"TiffIO"</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lib</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">Image</tt><tt class="py-op">:</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">                    <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">Image</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">                <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">:</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">                    <tt id="link-43" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-43', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Error in opening %s  with PIL"</tt> <tt class="py-op">%</tt> <tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lib</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">                    <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lib</tt> <tt class="py-op">=</tt> <tt class="py-string">"PIL"</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-44', 'dim1', 'link-17');">dim1</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" oncli [...]
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt><tt class="py-op">.</tt><tt class="py-name">mode</tt> <tt class="py-keyword">in</tt> <tt id="link-46" class="py-name"><a title="fabio.tifimage.PIL_TO_NUMPY" class="py-name" href="#" onclick="return doclink('link-46', 'PIL_TO_NUMPY', 'link-6');">PIL_TO_NUMPY</a></tt><tt class="py-op"> [...]
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-47', 'data', 'link-26');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Method fabio.cbfimage.CIF.tostring()=fabio.cbfimage.CIF-class.html#tostring,M [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-48', 'tostring', 'link-48');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-49" class="py-name"><a title="fabio.tifimage.PIL_TO_NUMPY" class="py-name" href="#" onclick="return doclink('link-49', 'PIL_TO_NUMPY', 'link-6');">PIL_TO_NUMPY</a></tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-na [...]
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> <tt class="py-comment">#probably RGB or RGBA images: rely on PIL to convert it to greyscale float.</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-50', 'data', 'link-26');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name" targets="Method fabio.fabioimage.fabioimage.convert()=fabio.fabioimage.fabioimage-clas [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-52', 'tostring', 'link-48');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">float32</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-53', 'data', 'link-26');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">shape</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="fabio.edfimage.edfimage.dim2" class="py-name" href="#" onclick="return doclink('link-54', 'dim2', 'link-19');">dim2</a></tt><tt class="py-op">,</tt> <tt class="py-name" [...]
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">                <tt id="link-56" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-56', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-string">"Error in opening %s: no tiff reader managed to read the file."</tt><tt class="py-op">,</tt> <tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">lib</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">                <tt class="py-name">infile</tt><tt class="py-op">.</tt><tt class="py-name">seek</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-57', 'bpp', 'link-57');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-58" class="py-name" targets="Method fabio.file_series.file_series.len() [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-59', 'data', 'link-26');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="fabio.cbfimage.CIF.tostring
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-60', 'tostring', 'link-48');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-61', 'bytecode', 'link-61');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-62', 'data', 'link-26');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt><tt class="py-op">.</tt><tt class="py-name">name</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-63', 'resetvals', 'link-63');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"> </tt>
+<a name="tifimage.write"></a><div id="tifimage.write-def"><a name="L163"></a><tt class="py-lineno">163</tt> <a class="py-toggle" href="#" id="tifimage.write-toggle" onclick="return toggle('tifimage.write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.tifimage.tifimage-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">)</tt><tt class [...]
+</div><div id="tifimage.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="tifimage.write-expanded"><a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-docstring">        Overrides the fabioimage.write method and provides a simple TIFF image writer.</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-docstring">        @param fname: name of the file to save the image to</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-docstring">        @tag_type fname: string or unicode (file?)...</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">tiffIO</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name"><a title="fabio.TiffIO
+fabio.TiffIO.TiffIO" class="py-name" href="#" onclick="return doclink('link-64', 'TiffIO', 'link-4');">TiffIO</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">,</tt> <tt class="py-name">mode</tt><tt class="py-op">=</tt><tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">tiffIO</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name" targets="Method fabio.TiffIO.TiffIO.writeImage()=fabio.TiffIO.TiffIO-class.html#writeImage"><a title="fabio.TiffIO.TiffIO.writeImage" class="py-name" href="#" onclick="return doclink('link-65', 'writeImage', 'link-65');">writeImage</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id=" [...]
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-66', 'data', 'link-26');">data</a></tt><tt class="py-op">,</tt> <tt class="py-name">info</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-67', 'header', 'link-15');">header</a></tt><tt class="py-op">,</tt> <tt class="py-name">software</tt><tt cl [...]
+</div></div><a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-comment">#define a couple of helper classes here:         </tt> </tt>
+<a name="Tiff_header"></a><div id="Tiff_header-def"><a name="L175"></a><tt class="py-lineno">175</tt> <a class="py-toggle" href="#" id="Tiff_header-toggle" onclick="return toggle('Tiff_header');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.tifimage.Tiff_header-class.html">Tiff_header</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Tiff_header-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Tiff_header-expanded"><a name="Tiff_header.__init__"></a><div id="Tiff_header.__init__-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="Tiff_header.__init__-toggle" onclick="return toggle('Tiff_header.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.tifimage.Tiff_header-class.html#__init__">_ [...]
+</div><div id="Tiff_header.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Tiff_header.__init__-expanded"><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">string</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"II\x2a\x00"</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">byteorder</tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="fabio.tifimage.LITTLE_ENDIAN" class="py-name" href="#" onclick="return doclink('link-68', 'LITTLE_ENDIAN', 'link-7');">LITTLE_ENDIAN</a></tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">string</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'MM\x00\x2a'</tt><tt class="py-op">:</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">byteorder</tt> <tt class="py-op">=</tt> <tt id="link-69" class="py-name"><a title="fabio.tifimage.BIG_ENDIAN" class="py-name" href="#" onclick="return doclink('link-69', 'BIG_ENDIAN', 'link-8');">BIG_ENDIAN</a></tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt id="link-70" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-70', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Warning: This does not appear to be a tiff file"</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-comment">#the next two bytes contains the offset of the oth IFD</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-name">offset_first_ifd</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"h"</tt><tt class="py-op">,</tt> <tt class="py-name">string</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">[</ [...]
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ifd</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-71" class="py-name" targets="Class fabio.tifimage.Image_File_Directory=fabio.tifimage.Image_File_Directory-class.html"><a title="fabio.tifimage.Image_File_Directory" class="py-name" href="#" onclick="return doclink('link-71', 'Image_File_Directory', 'link-71');">Image_ [...]
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-name">offset_next</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ifd</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name" targets="Method fabio.edfimage.edfimage.unpack()=fabio.edfimage.edfimage-class.html#unpack,Method fabio.tifimage.Image_File_Directory.unp [...]
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-72', 'unpack', 'link-72');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">string</tt><tt class="py-op">,</tt> <tt class="py-name">offset_first_ifd</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">offset_next</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ifd</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="fabio.tifimage.Image_File_Directory" class="py-name" href="#" onclick="return doclink('link-73', 'Image_File_Directory', 'link-71');">Image_File_Directory</a></tt><tt class="py-op">(</tt><tt class="py-op">) [...]
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-name">offset_next</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ifd</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="fabio.edfimage.edfimage.unpack
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-74', 'unpack', 'link-72');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">string</tt><tt class="py-op">,</tt> <tt class="py-name">offset_next</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-75', 'header', 'link-15');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-comment">#read the values of the header items into a dictionary</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">entry</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ifd</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">entries</tt><tt class="py-op">:</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">entry</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt> <tt class="py-keyword">in</tt> <tt id="link-76" class="py-name"><a title="fabio.tifimage.baseline_tiff_tags" class="py-name" href="#" onclick="return doclink('link-76', 'baseline_tiff_tags', 'link-11');">baseline_tiff_tags</a></tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class=" [...]
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-77', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt id="link-78" class="py-name"><a title="fabio.tifimage.baseline_tiff_tags" class="py-name" href="#" onclick="return doclink('link-78', 'baseline_tiff_ta [...]
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-79', 'header', 'link-15');">header</a></tt><tt class="py-op">[</tt><tt class="py-name">entry</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ent [...]
+</div></div><a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"> </tt>
+<a name="Image_File_Directory"></a><div id="Image_File_Directory-def"><a name="L199"></a><tt class="py-lineno">199</tt> <a class="py-toggle" href="#" id="Image_File_Directory-toggle" onclick="return toggle('Image_File_Directory');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.tifimage.Image_File_Directory-class.html">Image_File_Directory</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-o [...]
+</div><div id="Image_File_Directory-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Image_File_Directory-expanded"><a name="Image_File_Directory.__init__"></a><div id="Image_File_Directory.__init__-def"><a name="L200"></a><tt class="py-lineno">200</tt> <a class="py-toggle" href="#" id="Image_File_Directory.__init__-toggle" onclick="return toggle('Image_File_Directory.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" h [...]
+</div><div id="Image_File_Directory.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Image_File_Directory.__init__-expanded"><a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">entries</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">offset</tt> <tt class="py-op">=</tt> <tt class="py-name">offset</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"> </tt>
+<a name="Image_File_Directory.unpack"></a><div id="Image_File_Directory.unpack-def"><a name="L205"></a><tt class="py-lineno">205</tt> <a class="py-toggle" href="#" id="Image_File_Directory.unpack-toggle" onclick="return toggle('Image_File_Directory.unpack');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.tifimage.Image_File_Directory-class.html#unpack">unpack</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt [...]
+</div><div id="Image_File_Directory.unpack-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Image_File_Directory.unpack-expanded"><a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">offset</tt> <tt class="py-op">==</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">offset</tt> <tt class= [...]
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">strInput</tt> <tt class="py-op">=</tt> <tt class="py-name">instring</tt><tt class="py-op">[</tt><tt class="py-name">offset</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"H"</tt><tt class="py-op">,</tt> <tt class="py-name">strInput</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">2</tt><tt class="py-op">]</tt>< [...]
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-comment">#0th IFD contains count-1 entries (count includes the adress of the next IFD)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-80" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-80', 'i', 'link-80');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">co [...]
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">            <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-81" class="py-name" targets="Class fabio.tifimage.Image_File_Directory_entry=fabio.tifimage.Image_File_Directory_entry-class.html"><a title="fabio.tifimage.Image_File_Directory_entry" class="py-name" href="#" onclick="return doclink('link-81', 'Image_File_Directory_entry', 'link-81');">Image_File_Directory_entry</a></tt><tt class="py-op">(</t [...]
+fabio.tifimage.Image_File_Directory.unpack
+fabio.tifimage.Image_File_Directory_entry.unpack" class="py-name" href="#" onclick="return doclink('link-82', 'unpack', 'link-72');">unpack</a></tt><tt class="py-op">(</tt><tt class="py-name">strInput</tt><tt class="py-op">[</tt><tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt class="py-number">12</tt> <tt class="py-op">*</tt> <tt class="py-op">(</tt><tt id="link-83" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-83', 'i', 'l [...]
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">entries</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">            <tt class="py-comment">#extract data associated with tags</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">e</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">entries</tt><tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">==</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">                    <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method fabio.tifimage.Image_File_Directory_entry.extract_data()=fabio.tifimage.Image_File_Directory_entry-class.html#extract_data"><a title="fabio.tifimage.Image_File_Directory_entry.extract_data" class="py-name" href="#" onclick="return doclink('link-84', 'extract_data', 'link-84');">extract_data</a></tt><t [...]
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">        <tt class="py-comment">#do we have some more ifds in this file </tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">offset_next</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"L"</tt><tt class="py-op">,</tt> <tt class="py-name">instring</tt><tt class="py-op">[</tt><tt class="py-name">offset</tt> <tt class="py-op">+</tt> <tt class="py-number">2</tt> <tt class="py-op">+</tt> <tt class="py [...]
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">offset_next</tt> </tt>
+</div></div><a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"> </tt>
+<a name="Image_File_Directory_entry"></a><div id="Image_File_Directory_entry-def"><a name="L223"></a><tt class="py-lineno">223</tt> <a class="py-toggle" href="#" id="Image_File_Directory_entry-toggle" onclick="return toggle('Image_File_Directory_entry');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.tifimage.Image_File_Directory_entry-class.html">Image_File_Directory_entry</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt [...]
+</div><div id="Image_File_Directory_entry-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="Image_File_Directory_entry-expanded"><a name="Image_File_Directory_entry.__init__"></a><div id="Image_File_Directory_entry.__init__-def"><a name="L224"></a><tt class="py-lineno">224</tt> <a class="py-toggle" href="#" id="Image_File_Directory_entry.__init__-toggle" onclick="return toggle('Image_File_Directory_entry.__init__');">-</a><tt class="py-line">    <tt class="py-keywor [...]
+</div><div id="Image_File_Directory_entry.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Image_File_Directory_entry.__init__-expanded"><a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt> <tt class="py-op">=</tt> <tt class="py-name">tag</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_type</tt> <tt class="py-op">=</tt> <tt class="py-name">tag_type</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val_offset</tt> <tt class="py-op">=</tt> <tt class="py-name">offset</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"> </tt>
+<a name="Image_File_Directory_entry.unpack"></a><div id="Image_File_Directory_entry.unpack-def"><a name="L231"></a><tt class="py-lineno">231</tt> <a class="py-toggle" href="#" id="Image_File_Directory_entry.unpack-toggle" onclick="return toggle('Image_File_Directory_entry.unpack');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.tifimage.Image_File_Directory_entry-class.html#unpack">unpack</a><tt class="py-op">(</tt><tt class="py-param">se [...]
+</div><div id="Image_File_Directory_entry.unpack-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Image_File_Directory_entry.unpack-expanded"><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">idfentry</tt> <tt class="py-op">=</tt> <tt class="py-name">strInput</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">12</tt><tt class="py-op">]</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-comment">################################################################################</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-comment"># #        TOFIX: How is it possible that HHL (2+2+4 bytes has a size of )</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-comment">################################################################################</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">tag_type</tt><tt class="py-op">,</tt> <tt class="py-name">count</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"HHL"</tt><tt class="py-op">,</tt> <tt class="py-name">idfent [...]
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag</tt> <tt class="py-op">=</tt> <tt class="py-name">tag</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_type</tt> <tt class="py-op">=</tt> <tt class="py-name">tag_type</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">count</tt> <tt class="py-op"><=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt id="link-85" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-85', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Tag # %s has an invalid count: %s. Tag is ignored"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">tag</tt><tt class="py-op">,</tt> <tt class="py-name">count</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">count</tt> <tt class="py-op">*</tt> <tt id="link-86" class="py-name"><a title="fabio.tifimage.TYPESIZES" class="py-name" href="#" onclick="return doclink('link-86', 'TYPESIZES', 'link-10');">TYPESIZES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op"><=</tt> <tt class="py-numbe [...]
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val_offset</tt> <tt class="py-op">=</tt> <tt class="py-number">8</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="fabio.tifimage.Image_File_Directory_entry.extract_data" class="py-name" href="#" onclick="return doclink('link-87', 'extract_data', 'link-84');">extract_data</a></tt><tt class="py-op">(</tt><tt class="py-name">idfentry</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val_offset</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val_offset</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"L"</tt><tt class="py-op">,</tt> <tt class="py-name">idfentry</tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">:</tt><tt class="py-op [...]
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"> </tt>
+<a name="Image_File_Directory_entry.extract_data"></a><div id="Image_File_Directory_entry.extract_data-def"><a name="L252"></a><tt class="py-lineno">252</tt> <a class="py-toggle" href="#" id="Image_File_Directory_entry.extract_data-toggle" onclick="return toggle('Image_File_Directory_entry.extract_data');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.tifimage.Image_File_Directory_entry-class.html#extract_data">extract_data</a><tt class=" [...]
+</div><div id="Image_File_Directory_entry.extract_data-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Image_File_Directory_entry.extract_data-expanded"><a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">        <tt class="py-name">tag_type</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tag_type</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt id="link-88" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-88', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'byte'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"B"</tt><tt class="py-op">,</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt id="link-89" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-89', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'short'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"H"</tt><tt class="py-op">,</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt id="link-90" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-90', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'long'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"L"</tt><tt class="py-op">,</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt id="link-91" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-91', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'sbyte'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"b"</tt><tt class="py-op">,</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt id="link-92" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-92', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'sshort'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"h"</tt><tt class="py-op">,</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt id="link-93" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-93', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'slong'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"l"</tt><tt class="py-op">,</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt id="link-94" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-94', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'ascii'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val_offset</tt><tt class="py-op">:</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val_offset</tt> <tt class="py-op">+</tt> <tt class="py-na [...]
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt id="link-95" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-95', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'rational'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val_offset</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">,</tt> <tt class="py-name">den</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"LL"</tt><tt class="py-op">,</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name" [...]
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val_offset</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">den</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt id="link-96" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-96', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'srational'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val_offset</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                <tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">,</tt> <tt class="py-name">den</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"ll"</tt><tt class="py-op">,</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name" [...]
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">num</tt><tt class="py-op">)</tt> <tt class="py-op">/</tt> <tt class="py-name">den</tt><tt class="py-op">,</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt id="link-97" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-97', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'float'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"f"</tt><tt class="py-op">,</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name" [...]
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt id="link-98" class="py-name"><a title="fabio.tifimage.TYPES" class="py-name" href="#" onclick="return doclink('link-98', 'TYPES', 'link-9');">TYPES</a></tt><tt class="py-op">[</tt><tt class="py-name">tag_type</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">'double'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt>  <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val_offset</tt> <tt class="py-op">!=</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">struct</tt><tt class="py-op">.</tt><tt class="py-name">unpack_from</tt><tt class="py-op">(</tt><tt class="py-string">"d"</tt><tt class="py-op">,</tt> <tt class="py-name">full_string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-n [...]
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">            <tt id="link-99" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-99', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"unrecognized type of strInputentry self: %s tag: %s type: %s TYPE: %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-100" class="py-name"><a title="fabio.tifimage.baseline_tiff_tags" class="py-n [...]
+</div></div><a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.tifimage.Image_File_Directory-class.html b/doc/html/fabio.tifimage.Image_File_Directory-class.html
new file mode 100644
index 0000000..6a155ca
--- /dev/null
+++ b/doc/html/fabio.tifimage.Image_File_Directory-class.html
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.tifimage.Image_File_Directory</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.tifimage-module.html">Module tifimage</a> ::
+        Class Image_File_Directory
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.tifimage.Image_File_Directory-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Image_File_Directory</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.tifimage-pysrc.html#Image_File_Directory">source code</a></span></p>
+<pre class="base-tree">
+object --+
+         |
+        <strong class="uidshort">Image_File_Directory</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.tifimage.Image_File_Directory-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">instring</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">offset</span>=<span class="summary-sig-default">-1</span>)</span><br />
+      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.tifimage-pysrc.html#Image_File_Directory.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="unpack"></a><span class="summary-sig-name">unpack</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">instring</span>,
+        <span class="summary-sig-arg">offset</span>=<span class="summary-sig-default">-1</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.tifimage-pysrc.html#Image_File_Directory.unpack">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">instring</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">offset</span>=<span class="sig-default">-1</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.tifimage-pysrc.html#Image_File_Directory.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
+  signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.tifimage.Image_File_Directory_entry-class.html b/doc/html/fabio.tifimage.Image_File_Directory_entry-class.html
new file mode 100644
index 0000000..fc95bbc
--- /dev/null
+++ b/doc/html/fabio.tifimage.Image_File_Directory_entry-class.html
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.tifimage.Image_File_Directory_entry</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.tifimage-module.html">Module tifimage</a> ::
+        Class Image_File_Directory_entry
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.tifimage.Image_File_Directory_entry-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Image_File_Directory_entry</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.tifimage-pysrc.html#Image_File_Directory_entry">source code</a></span></p>
+<pre class="base-tree">
+object --+
+         |
+        <strong class="uidshort">Image_File_Directory_entry</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.tifimage.Image_File_Directory_entry-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">tag</span>=<span class="summary-sig-default">0</span>,
+        <span class="summary-sig-arg">tag_type</span>=<span class="summary-sig-default">0</span>,
+        <span class="summary-sig-arg">count</span>=<span class="summary-sig-default">0</span>,
+        <span class="summary-sig-arg">offset</span>=<span class="summary-sig-default">0</span>)</span><br />
+      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.tifimage-pysrc.html#Image_File_Directory_entry.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="unpack"></a><span class="summary-sig-name">unpack</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">strInput</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.tifimage-pysrc.html#Image_File_Directory_entry.unpack">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="extract_data"></a><span class="summary-sig-name">extract_data</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">full_string</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.tifimage-pysrc.html#Image_File_Directory_entry.extract_data">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">tag</span>=<span class="sig-default">0</span>,
+        <span class="sig-arg">tag_type</span>=<span class="sig-default">0</span>,
+        <span class="sig-arg">count</span>=<span class="sig-default">0</span>,
+        <span class="sig-arg">offset</span>=<span class="sig-default">0</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.tifimage-pysrc.html#Image_File_Directory_entry.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
+  signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.tifimage.Tiff_header-class.html b/doc/html/fabio.tifimage.Tiff_header-class.html
new file mode 100644
index 0000000..8a076b1
--- /dev/null
+++ b/doc/html/fabio.tifimage.Tiff_header-class.html
@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.tifimage.Tiff_header</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.tifimage-module.html">Module tifimage</a> ::
+        Class Tiff_header
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.tifimage.Tiff_header-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class Tiff_header</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.tifimage-pysrc.html#Tiff_header">source code</a></span></p>
+<pre class="base-tree">
+object --+
+         |
+        <strong class="uidshort">Tiff_header</strong>
+</pre>
+
+<hr />
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.tifimage.Tiff_header-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">string</span>)</span><br />
+      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.tifimage-pysrc.html#Tiff_header.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">string</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.tifimage-pysrc.html#Tiff_header.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
+  signature</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.tifimage.tifimage-class.html b/doc/html/fabio.tifimage.tifimage-class.html
new file mode 100644
index 0000000..0fd5863
--- /dev/null
+++ b/doc/html/fabio.tifimage.tifimage-class.html
@@ -0,0 +1,465 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.tifimage.tifimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.tifimage-module.html">Module tifimage</a> ::
+        Class tifimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.tifimage.tifimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class tifimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.tifimage-pysrc.html#tifimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">tifimage</strong>
+</pre>
+
+<dl><dt>Known Subclasses:</dt>
+<dd>
+      <ul class="subclass-list">
+<li><a href="fabio.pilatusimage.pilatusimage-class.html">pilatusimage.pilatusimage</a></li><li>, <a href="fabio.marccdimage.marccdimage-class.html">marccdimage.marccdimage</a></li>  </ul>
+</dd></dl>
+
+<hr />
+<p>Images in TIF format Wraps TiffIO</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.tifimage.tifimage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">*args</span>,
+        <span class="summary-sig-arg">**kwds</span>)</span><br />
+      Tifimage constructor adds an nbits member attribute</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.tifimage-pysrc.html#tifimage.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.tifimage.tifimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Try to read Tiff images header...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.tifimage-pysrc.html#tifimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.tifimage.tifimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Wrapper for TiffIO.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.tifimage-pysrc.html#tifimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.tifimage.tifimage-class.html#write" class="summary-sig-name">write</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>)</span><br />
+      Overrides the fabioimage.write method and provides a simple TIFF 
+      image writer.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.tifimage-pysrc.html#tifimage.write">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="_need_a_seek_to_read"></a><span class="summary-name">_need_a_seek_to_read</span> = <code title="True">True</code>
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">*args</span>,
+        <span class="sig-arg">**kwds</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.tifimage-pysrc.html#tifimage.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Tifimage constructor adds an nbits member attribute</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.tifimage-pysrc.html#tifimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Try to read Tiff images header...</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.tifimage-pysrc.html#tifimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Wrapper for TiffIO.</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="write"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.tifimage-pysrc.html#tifimage.write">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Overrides the fabioimage.write method and provides a simple TIFF image
+  writer.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>fname</code></strong> - name of the file to save the image to</li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#write">fabioimage.fabioimage.write</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.xsdimage-module.html b/doc/html/fabio.xsdimage-module.html
new file mode 100644
index 0000000..5ab9466
--- /dev/null
+++ b/doc/html/fabio.xsdimage-module.html
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.xsdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module xsdimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.xsdimage-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module xsdimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.xsdimage-pysrc.html">source code</a></span></p>
+<pre class="literalblock">
+
+Authors: Jérôme Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr
+
+XSDimge are XML files containing numpy arrays 
+
+</pre>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        J\xc3\xa9r\xc3\xb4me Kieffer
+      </p>
+      <p><strong>Contact:</strong>
+        jerome.kieffer at esrf.eu
+      </p>
+      <p><strong>Copyright:</strong>
+        European Synchrotron Radiation Facility, Grenoble, France
+      </p>
+      <p><strong>License:</strong>
+        GPLv3+
+      </p>
+</div><!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="fabio.xsdimage.xsdimage-class.html" class="summary-name">xsdimage</a><br />
+      Read the XSDataImage XML File data format
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger("xsdimage")">logging.getLogger("xsdimage")</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'fabio'"><code class="variable-quote">'</code><code class="variable-string">fabio</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.xsdimage-pysrc.html b/doc/html/fabio.xsdimage-pysrc.html
new file mode 100644
index 0000000..6143675
--- /dev/null
+++ b/doc/html/fabio.xsdimage-pysrc.html
@@ -0,0 +1,443 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.xsdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        Module xsdimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.xsdimage-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="fabio.xsdimage-module.html">Module fabio.xsdimage</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-comment"># coding: utf8</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">Authors: Jérôme Kieffer, ESRF </tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">         email:jerome.kieffer at esrf.fr</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">XSDimge are XML files containing numpy arrays </tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">"Jérôme Kieffer"</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-name">__contact__</tt> <tt class="py-op">=</tt> <tt class="py-string">"jerome.kieffer at esrf.eu"</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-name">__license__</tt> <tt class="py-op">=</tt> <tt class="py-string">"GPLv3+"</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-name">__copyright__</tt> <tt class="py-op">=</tt> <tt class="py-string">"European Synchrotron Radiation Facility, Grenoble, France"</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">numpy</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable fabio.GEimage.logger=fabio.GEimage-module.html#logger,Variable fabio.HiPiCimage.logger=fabio.HiPiCimage-module.html#logger,Variable fabio.OXDimage.logger=fabio.OXDimage-module.html#logger,Variable fabio.adscimage.logger=fabio.adscimage-module.html#logger,Variable fabio.binaryimage.logger=fabio.binaryimage-module.html#logger,Variable fabio.bruker100image.logger=fabio.bru [...]
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-0', 'logger', 'link-0');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"xsdimage"</tt><tt class="py-op">)</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module fabio.fabioimage=fabio.fabioimage-module.html,Class fabio.fabioimage.fabioimage=fabio.fabioimage.fabioimage-class.html"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-1', 'fabioimage', 'link-1');">fabioimage</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-2', 'fabioimage', 'link-1');">fabioimage</a></tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt><tt class="py-op">,</tt> <tt class="py-name">hashlib</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt class="py-name">lxml</tt> <tt class="py-keyword">import</tt> <tt class="py-name">etree</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">except</tt> <tt class="py-name">ImportError</tt><tt class="py-op">:</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">    <tt id="link-3" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-3', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"lxml library is probably not part of your python installation: disabling xsdimage format"</tt><tt class="py-op">)</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">    <tt class="py-name">etree</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"> </tt>
+<a name="xsdimage"></a><div id="xsdimage-def"><a name="L24"></a><tt class="py-lineno"> 24</tt> <a class="py-toggle" href="#" id="xsdimage-toggle" onclick="return toggle('xsdimage');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="fabio.xsdimage.xsdimage-class.html">xsdimage</a><tt class="py-op">(</tt><tt class="py-base-class">fabioimage</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="xsdimage-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="xsdimage-expanded"><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">    <tt class="py-docstring">""" </tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">    Read the XSDataImage XML File data format </tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="xsdimage.__init__"></a><div id="xsdimage.__init__-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="xsdimage.__init__-toggle" onclick="return toggle('xsdimage.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.xsdimage.xsdimage-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op" [...]
+</div><div id="xsdimage.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="xsdimage.__init__-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">        Constructor of the class XSDataImage.</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">        @param _strFilename: the name of the file to open</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">        @type  _strFilename: string</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt id="link-4" class="py-name"><a title="fabio.fabioimage
+fabio.fabioimage.fabioimage" class="py-name" href="#" onclick="return doclink('link-4', 'fabioimage', 'link-1');">fabioimage</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method fabio.OXDimage.Section.__init__()=fabio.OXDimage.Section-class.html#__init__,Method fabio.TiffIO.TiffIO.__init__()=fabio.TiffIO.TiffIO-class.html#__init__,Method fabio.adscimage.adscimage.__init__()=fabio.adscimage.adscimage-class.html#__init__,Method fabio.binaryimage.binaryimage.__ini [...]
+fabio.TiffIO.TiffIO.__init__
+fabio.adscimage.adscimage.__init__
+fabio.binaryimage.binaryimage.__init__
+fabio.cbfimage.CIF.__init__
+fabio.cbfimage.cbfimage.__init__
+fabio.datIO.fabiodata.__init__
+fabio.dm3image.dm3image.__init__
+fabio.edfimage.Frame.__init__
+fabio.edfimage.edfimage.__init__
+fabio.fabioimage.fabioStream.__init__
+fabio.fabioimage.fabioimage.__init__
+fabio.fabioutils.filename_object.__init__
+fabio.file_series.file_series.__init__
+fabio.file_series.filename_series.__init__
+fabio.file_series.numbered_file_series.__init__
+fabio.mar345image.mar345image.__init__
+fabio.pnmimage.pnmimage.__init__
+fabio.tifimage.Image_File_Directory.__init__
+fabio.tifimage.Image_File_Directory_entry.__init__
+fabio.tifimage.Tiff_header.__init__
+fabio.tifimage.tifimage.__init__
+fabio.xsdimage.xsdimage.__init__" class="py-name" href="#" onclick="return doclink('link-5', '__init__', 'link-5');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name" targets="Variable fabio.edfimage.Frame.data=fabio.edfimage.Frame-class.html#data,Variable fabio.edfimage.edfimage.data=fabio.edfimage.edfimage-class.html#data"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-6', 'data', 'link-6');">data</a></tt><tt class="py-op">=</tt><tt id="link-7" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-7', 'data', 'link-6');">data</a></tt><tt class="py-op">,</tt> <tt id="link-8" class="py-name" targets="Variable fabio.edfimage.edfimage.header=fabio.edfimage.edfimage-class.html#header"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-8', 'header', 'link-8');">header</a></tt><tt class="py-op">=</tt><tt id="link-9" class="py-name"><a title="fabio.edfimage.ed [...]
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name" targets="Variable fabio.edfimage.edfimage.dims=fabio.edfimage.edfimage-class.html#dims"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-10', 'dims', 'link-10');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">coding</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">md5</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">fname</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method fabio.GEimage.GEimage.read()=fabio.GEimage.GEimage-class.html#read,Method fabio.GEimage_old.GEimage.read()=fabio.GEimage_old.GEimage-class.html#read,Method fabio.HiPiCimage.HiPiCimage.read()=fabio.HiPiCimage.HiPiCimage-class.html#read,Method fabio.OXDimage.OXDimage.read()=fabio.OXDimage.OXDimage-class.html# [...]
+fabio.GEimage_old.GEimage.read
+fabio.HiPiCimage.HiPiCimage.read
+fabio.OXDimage.OXDimage.read
+fabio.adscimage.adscimage.read
+fabio.binaryimage.binaryimage.read
+fabio.bruker100image.bruker100image.read
+fabio.brukerimage.brukerimage.read
+fabio.cbfimage.cbfimage.read
+fabio.cf_io.read
+fabio.datIO.columnfile.read
+fabio.datIO.fabiodata.read
+fabio.dm3image.dm3image.read
+fabio.edfimage.edfimage.read
+fabio.fabioimage.fabioimage.read
+fabio.fit2dmaskimage.fit2dmaskimage.read
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage.read
+fabio.kcdimage.kcdimage.read
+fabio.mar345image.mar345image.read
+fabio.pnmimage.pnmimage.read
+fabio.tifimage.tifimage.read
+fabio.xsdimage.xsdimage.read" class="py-name" href="#" onclick="return doclink('link-11', 'read', 'link-11');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"> </tt>
+<a name="xsdimage.read"></a><div id="xsdimage.read-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="xsdimage.read-toggle" onclick="return toggle('xsdimage.read');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.xsdimage.xsdimage-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">fname</tt><tt class="py-op">,</tt> <tt class="py-p [...]
+</div><div id="xsdimage.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="xsdimage.read-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="fabio.edfimage.edfimage.header" class="py-name" href="#" onclick="return doclink('link-12', 'header', 'link-8');">header</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method fabio.fabioimage.fabioimage.resetvals()=fabio.fabioimage.fabioimage-class.html#resetvals"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-13', 'resetvals', 'link-13');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">fname</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">infile</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method fabio.fabioimage.fabioimage._open()=fabio.fabioimage.fabioimage-class.html#_open"><a title="fabio.fabioimage.fabioimage._open" class="py-name" href="#" onclick="return doclink('link-14', '_open', 'link-14');">_open</a></tt><tt class="py-op">(</tt><tt clas [...]
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method fabio.GEimage.GEimage._readheader()=fabio.GEimage.GEimage-class.html#_readheader,Method fabio.GEimage_old.GEimage._readheader()=fabio.GEimage_old.GEimage-class.html#_readheader,Method fabio.HiPiCimage.HiPiCimage._readheader()=fabio.HiPiCimage.HiPiCimage-class.html#_readheader,Method fabio.OXDimage.OXDimage._rea [...]
+fabio.GEimage_old.GEimage._readheader
+fabio.HiPiCimage.HiPiCimage._readheader
+fabio.OXDimage.OXDimage._readheader
+fabio.adscimage.adscimage._readheader
+fabio.brukerimage.brukerimage._readheader
+fabio.cbfimage.cbfimage._readheader
+fabio.dm3image.dm3image._readheader
+fabio.edfimage.edfimage._readheader
+fabio.fabioimage.fabioimage._readheader
+fabio.fit2dmaskimage.fit2dmaskimage._readheader
+fabio.fit2dspreadsheetimage.fit2dspreadsheetimage._readheader
+fabio.kcdimage.kcdimage._readheader
+fabio.mar345image.mar345image._readheader
+fabio.marccdimage.marccdimage._readheader
+fabio.pilatusimage.pilatusimage._readheader
+fabio.pnmimage.pnmimage._readheader
+fabio.tifimage.tifimage._readheader
+fabio.xsdimage.xsdimage._readheader" class="py-name" href="#" onclick="return doclink('link-15', '_readheader', 'link-15');">_readheader</a></tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Variable fabio.edfimage.edfimage.dim1=fabio.edfimage.edfimage-class.html#dim1"><a title="fabio.edfimage.edfimage.dim1" class="py-name" href="#" onclick="return doclink('link-16', 'dim1', 'link-16');">dim1</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class=" [...]
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">IOError</tt><tt class="py-op">(</tt><tt class="py-string">"XSD file %s is corrupt, no dimensions in it"</tt> <tt class="py-op">%</tt> <tt class="py-name">fname</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Variable fabio.edfimage.edfimage.bytecode=fabio.edfimage.edfimage-class.html#bytecode"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-19', 'bytecode', 'link-19');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><t [...]
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Variable fabio.edfimage.edfimage.bpp=fabio.edfimage.edfimage-class.html#bpp"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-20', 'bpp', 'link-20');">bpp</a></tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name" targets="Method fabio.file_series.file_series.le [...]
+fabio.fabioutils.filename_object.tostring" class="py-name" href="#" onclick="return doclink('link-23', 'tostring', 'link-23');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">TypeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="fabio.edfimage.edfimage.bytecode" class="py-name" href="#" onclick="return doclink('link-24', 'bytecode', 'link-19');">bytecode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">int32</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="fabio.edfimage.edfimage.bpp" class="py-name" href="#" onclick="return doclink('link-25', 'bpp', 'link-20');">bpp</a></tt> <tt class="py-op">=</tt> <tt class="py-number">32</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt id="link-26" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-26', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Defaulting type to int32"</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">exp_size</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-27" class="py-name" targets="Variable fabio.fabioutils.i=fabio.fabioutils-module.html#i"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-27', 'i', 'link-27');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="fabio.edfimage.edfimage.dims" clas [...]
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-name">exp_size</tt> <tt class="py-op">*=</tt> <tt id="link-29" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-29', 'i', 'link-27');">i</a></tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">exp_size</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">decData</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">coding</tt> <tt class="py-op">==</tt> <tt class="py-string">"base64"</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-name">decData</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64decode</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">coding</tt> <tt class="py-op">==</tt> <tt class="py-string">"base32"</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">            <tt class="py-name">decData</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b32decode</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">coding</tt> <tt class="py-op">==</tt> <tt class="py-string">"base16"</tt><tt class="py-op">:</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-name">decData</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b16decode</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt><tt class="py-op">)</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt id="link-30" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-30', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"Unable to recognize the encoding of the data !!! got %s, expected base64, base32 or base16, I assume it is base64 "</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">coding</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-name">decData</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64decode</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt><tt class="py-op">)</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">md5</tt><tt class="py-op">:</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-keyword">assert</tt>  <tt class="py-name">hashlib</tt><tt class="py-op">.</tt><tt class="py-name">md5</tt><tt class="py-op">(</tt><tt class="py-name">decData</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">hexdigest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">md5< [...]
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-31', 'data', 'link-6');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">fromstring</tt><tt class="py-op">(</tt><tt class="py-name">decData</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="fabio.edfimage.edfimage [...]
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">numpy</tt><tt class="py-op">.</tt><tt class="py-name">little_endian</tt><tt class="py-op">:</tt> <tt class="py-comment">#by default little endian</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="fabio.edfimage.Frame.data
+fabio.edfimage.edfimage.data" class="py-name" href="#" onclick="return doclink('link-34', 'data', 'link-6');">data</a></tt><tt class="py-op">.</tt><tt class="py-name">byteswap</tt><tt class="py-op">(</tt><tt class="py-name">inplace</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="fabio.fabioimage.fabioimage.resetvals" class="py-name" href="#" onclick="return doclink('link-35', 'resetvals', 'link-13');">resetvals</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-comment">#        # ensure the PIL image is reset</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">pilimage</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">self</tt> </tt>
+</div><a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
+<a name="xsdimage._readheader"></a><div id="xsdimage._readheader-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="xsdimage._readheader-toggle" onclick="return toggle('xsdimage._readheader');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="fabio.xsdimage.xsdimage-class.html#_readheader">_readheader</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">infile</ [...]
+</div><div id="xsdimage._readheader-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="xsdimage._readheader-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-docstring">"""</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">        Read all headers in a file and populate self.header</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">        data is not yet populated</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring">        @type infile: file object open in read mode</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">xml</tt> <tt class="py-op">=</tt> <tt class="py-name">etree</tt><tt class="py-op">.</tt><tt class="py-name">parse</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-36', 'dims', 'link-10');">dims</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-37" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-37', 'i', 'link-27');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">xpath</tt><tt class="py-op">(</tt><tt class="py-string">"//shape"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="fabio.edfimage.edfimage.dims" class="py-name" href="#" onclick="return doclink('link-38', 'dims', 'link-10');">dims</a></tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-39" class="py-name"><a title="fabio.fabio [...]
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                <tt id="link-40" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-40', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"%s Shape: Unable to convert %s to integer in %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt id="link-41" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink [...]
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-43" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-43', 'i', 'link-27');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">xpath</tt><tt class="py-op">(</tt><tt class="py-string">"//size"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-44" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-44', 'i', 'link-27');">i</a></tt><tt class="py-op">.</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">Exception</tt><tt class="py-op">,</tt> <tt class="py-name">error</tt><tt class="py-op">:</tt><tt class="py-comment">#IGNORE:W0703</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                <tt id="link-45" class="py-name"><a title="fabio.GEimage.logger
+fabio.HiPiCimage.logger
+fabio.OXDimage.logger
+fabio.adscimage.logger
+fabio.binaryimage.logger
+fabio.bruker100image.logger
+fabio.brukerimage.logger
+fabio.cbfimage.logger
+fabio.compression.logger
+fabio.converters.logger
+fabio.dm3image.logger
+fabio.edfimage.logger
+fabio.fabioimage.logger
+fabio.fabioutils.logger
+fabio.file_series.logger
+fabio.kcdimage.logger
+fabio.mar345image.logger
+fabio.marccdimage.logger
+fabio.openimage.logger
+fabio.pnmimage.logger
+fabio.readbytestream.logger
+fabio.tifimage.logger
+fabio.xsdimage.logger" class="py-name" href="#" onclick="return doclink('link-45', 'logger', 'link-0');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-string">"%s Size: Unable to convert %s to integer in %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">error</tt><tt class="py-op">,</tt> <tt id="link-46" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink( [...]
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-48" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-48', 'i', 'link-27');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">xpath</tt><tt class="py-op">(</tt><tt class="py-string">"//dtype"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">dtype</tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-49', 'i', 'link-27');">i</a></tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">coding</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-50" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-50', 'i', 'link-27');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">xpath</tt><tt class="py-op">(</tt><tt class="py-string">"//coding"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt id="link-51" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-51', 'i', 'link-27');">i</a></tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"value"</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">j</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">coding</tt> <tt class="py-op">=</tt> <tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-52" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-52', 'i', 'link-27');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">xpath</tt><tt class="py-op">(</tt><tt class="py-string">"//data"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rawData</tt> <tt class="py-op">=</tt> <tt id="link-53" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-53', 'i', 'link-27');">i</a></tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">md5</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-54" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-54', 'i', 'link-27');">i</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">xml</tt><tt class="py-op">.</tt><tt class="py-name">xpath</tt><tt class="py-op">(</tt><tt class="py-string">"//md5sum"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">j</tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name"><a title="fabio.fabioutils.i" class="py-name" href="#" onclick="return doclink('link-55', 'i', 'link-27');">i</a></tt><tt class="py-op">.</tt><tt class="py-name">find</tt><tt class="py-op">(</tt><tt class="py-string">"value"</tt><tt class="py-op">)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">j</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">md5</tt> <tt class="py-op">=</tt> <tt class="py-name">j</tt><tt class="py-op">.</tt><tt class="py-name">text</tt> </tt>
+</div></div><a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">etree</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt id="link-56" class="py-name" targets="Module fabio.xsdimage=fabio.xsdimage-module.html,Class fabio.xsdimage.xsdimage=fabio.xsdimage.xsdimage-class.html"><a title="fabio.xsdimage
+fabio.xsdimage.xsdimage" class="py-name" href="#" onclick="return doclink('link-56', 'xsdimage', 'link-56');">xsdimage</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:28 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/fabio.xsdimage.xsdimage-class.html b/doc/html/fabio.xsdimage.xsdimage-class.html
new file mode 100644
index 0000000..89a4597
--- /dev/null
+++ b/doc/html/fabio.xsdimage.xsdimage-class.html
@@ -0,0 +1,419 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio.xsdimage.xsdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="fabio-module.html">Package fabio</a> ::
+        <a href="fabio.xsdimage-module.html">Module xsdimage</a> ::
+        Class xsdimage
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="fabio.xsdimage.xsdimage-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class xsdimage</h1><p class="nomargin-top"><span class="codelink"><a href="fabio.xsdimage-pysrc.html#xsdimage">source code</a></span></p>
+<pre class="base-tree">
+           object --+    
+                    |    
+<a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a> --+
+                        |
+                       <strong class="uidshort">xsdimage</strong>
+</pre>
+
+<hr />
+<p>Read the XSDataImage XML File data format</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.xsdimage.xsdimage-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">data</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">header</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">fname</span>=<span class="summary-sig-default">None</span>)</span><br />
+      Constructor of the class XSDataImage.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.xsdimage-pysrc.html#xsdimage.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.xsdimage.xsdimage-class.html#_readheader" class="summary-sig-name" onclick="show_private();">_readheader</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">infile</span>)</span><br />
+      Read all headers in a file and populate self.header data is not yet 
+      populated</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.xsdimage-pysrc.html#xsdimage._readheader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="fabio.xsdimage.xsdimage-class.html#read" class="summary-sig-name">read</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">fname</span>,
+        <span class="summary-sig-arg">frame</span>=<span class="summary-sig-default">None</span>)</span><br />
+      To be overridden - fill in self.header and self.data</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="fabio.xsdimage-pysrc.html#xsdimage.read">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#add">add</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#convert">convert</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#load">load</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#next">next</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#previous">previous</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#save">save</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#write">write</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream" onclick="show_private();">_compressed_stream</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_open" onclick="show_private();">_open</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== STATIC METHODS ==================== -->
+<a name="section-StaticMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Static Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-StaticMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b> (private):
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file" onclick="show_private();">_need_a_real_file</a></code>,
+      <code><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read" onclick="show_private();">_need_a_seek_to_read</a></code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="fabio.fabioimage.fabioimage-class.html">fabioimage.fabioimage</a></code></b>:
+      <code><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">data</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">header</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">fname</span>=<span class="sig-default">None</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.xsdimage-pysrc.html#xsdimage.__init__">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Constructor of the class XSDataImage.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>_strFilename</code></strong> (string) - the name of the file to open</li>
+    </ul></dd>
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="_readheader"></a>
+<div class="private">
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">_readheader</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">infile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.xsdimage-pysrc.html#xsdimage._readheader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Read all headers in a file and populate self.header data is not yet 
+  populated</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>infile</code></strong> (file object open in read mode)</li>
+    </ul></dd>
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#_readheader" onclick="show_private();">fabioimage.fabioimage._readheader</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="read"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">read</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">fname</span>,
+        <span class="sig-arg">frame</span>=<span class="sig-default">None</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="fabio.xsdimage-pysrc.html#xsdimage.read">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>To be overridden - fill in self.header and self.data</p>
+  <dl class="fields">
+    <dt>Overrides:
+        <a href="fabio.fabioimage.fabioimage-class.html#read">fabioimage.fabioimage.read</a>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/frames.html b/doc/html/frames.html
new file mode 100644
index 0000000..f80bd72
--- /dev/null
+++ b/doc/html/frames.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+          "DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame"
+           id="moduleListFrame" />
+    <frame src="toc-everything.html" name="moduleFrame"
+           id="moduleFrame" />
+  </frameset>
+  <frame src="fabio-module.html" name="mainFrame" id="mainFrame" />
+</frameset>
+</html>
diff --git a/doc/html/help.html b/doc/html/help.html
new file mode 100644
index 0000000..33a2e84
--- /dev/null
+++ b/doc/html/help.html
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Help</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Help   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%"> </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="help.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+
+<h1 class="epydoc"> API Documentation </h1>
+
+<p> This document contains the API (Application Programming Interface)
+documentation for this project.  Documentation for the Python
+objects defined by the project is divided into separate pages for each
+package, module, and class.  The API documentation also includes two
+pages containing information about the project as a whole: a trees
+page, and an index page.  </p>
+
+<h2> Object Documentation </h2>
+
+  <p>Each <strong>Package Documentation</strong> page contains: </p>
+  <ul>
+    <li> A description of the package. </li>
+    <li> A list of the modules and sub-packages contained by the
+    package.  </li>
+    <li> A summary of the classes defined by the package. </li>
+    <li> A summary of the functions defined by the package. </li>
+    <li> A summary of the variables defined by the package. </li>
+    <li> A detailed description of each function defined by the
+    package. </li>
+    <li> A detailed description of each variable defined by the
+    package. </li>
+  </ul>
+  
+  <p>Each <strong>Module Documentation</strong> page contains:</p>
+  <ul>
+    <li> A description of the module. </li>
+    <li> A summary of the classes defined by the module. </li>
+    <li> A summary of the functions defined by the module. </li>
+    <li> A summary of the variables defined by the module. </li>
+    <li> A detailed description of each function defined by the
+    module. </li>
+    <li> A detailed description of each variable defined by the
+    module. </li>
+  </ul>
+  
+  <p>Each <strong>Class Documentation</strong> page contains: </p>
+  <ul>
+    <li> A class inheritance diagram. </li>
+    <li> A list of known subclasses. </li>
+    <li> A description of the class. </li>
+    <li> A summary of the methods defined by the class. </li>
+    <li> A summary of the instance variables defined by the class. </li>
+    <li> A summary of the class (static) variables defined by the
+    class. </li> 
+    <li> A detailed description of each method defined by the
+    class. </li>
+    <li> A detailed description of each instance variable defined by the
+    class. </li> 
+    <li> A detailed description of each class (static) variable defined
+    by the class. </li> 
+  </ul>
+
+<h2> Project Documentation </h2>
+
+  <p> The <strong>Trees</strong> page contains the module and class hierarchies: </p>
+  <ul>
+    <li> The <em>module hierarchy</em> lists every package and module, with
+    modules grouped into packages.  At the top level, and within each
+    package, modules and sub-packages are listed alphabetically. </li>
+    <li> The <em>class hierarchy</em> lists every class, grouped by base
+    class.  If a class has more than one base class, then it will be
+    listed under each base class.  At the top level, and under each base
+    class, classes are listed alphabetically. </li>
+  </ul>
+  
+  <p> The <strong>Index</strong> page contains indices of terms and
+  identifiers: </p>
+  <ul>
+    <li> The <em>term index</em> lists every term indexed by any object's
+    documentation.  For each term, the index provides links to each
+    place where the term is indexed. </li>
+    <li> The <em>identifier index</em> lists the (short) name of every package,
+    module, class, method, function, variable, and parameter.  For each
+    identifier, the index provides a short description, and a link to
+    its documentation. </li>
+  </ul>
+
+<h2> The Table of Contents </h2>
+
+<p> The table of contents occupies the two frames on the left side of
+the window.  The upper-left frame displays the <em>project
+contents</em>, and the lower-left frame displays the <em>module
+contents</em>: </p>
+
+<table class="help summary" border="1" cellspacing="0" cellpadding="3">
+  <tr style="height: 30%">
+    <td align="center" style="font-size: small">
+       Project<br />Contents<hr />...</td>
+    <td align="center" style="font-size: small" rowspan="2" width="70%">
+      API<br />Documentation<br />Frame<br /><br /><br />
+    </td>
+  </tr>
+  <tr>
+    <td align="center" style="font-size: small">
+      Module<br />Contents<hr /> <br />...<br /> 
+    </td>
+  </tr>
+</table><br />
+
+<p> The <strong>project contents frame</strong> contains a list of all packages
+and modules that are defined by the project.  Clicking on an entry
+will display its contents in the module contents frame.  Clicking on a
+special entry, labeled "Everything," will display the contents of
+the entire project. </p>
+
+<p> The <strong>module contents frame</strong> contains a list of every
+submodule, class, type, exception, function, and variable defined by a
+module or package.  Clicking on an entry will display its
+documentation in the API documentation frame.  Clicking on the name of
+the module, at the top of the frame, will display the documentation
+for the module itself. </p>
+
+<p> The "<strong>frames</strong>" and "<strong>no frames</strong>" buttons below the top
+navigation bar can be used to control whether the table of contents is
+displayed or not. </p>
+
+<h2> The Navigation Bar </h2>
+
+<p> A navigation bar is located at the top and bottom of every page.
+It indicates what type of page you are currently viewing, and allows
+you to go to related pages.  The following table describes the labels
+on the navigation bar.  Note that not some labels (such as
+[Parent]) are not displayed on all pages. </p>
+
+<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
+<tr class="summary">
+  <th>Label</th>
+  <th>Highlighted when...</th>
+  <th>Links to...</th>
+</tr>
+  <tr><td valign="top"><strong>[Parent]</strong></td>
+      <td valign="top"><em>(never highlighted)</em></td>
+      <td valign="top"> the parent of the current package </td></tr>
+  <tr><td valign="top"><strong>[Package]</strong></td>
+      <td valign="top">viewing a package</td>
+      <td valign="top">the package containing the current object
+      </td></tr>
+  <tr><td valign="top"><strong>[Module]</strong></td>
+      <td valign="top">viewing a module</td>
+      <td valign="top">the module containing the current object
+      </td></tr> 
+  <tr><td valign="top"><strong>[Class]</strong></td>
+      <td valign="top">viewing a class </td>
+      <td valign="top">the class containing the current object</td></tr>
+  <tr><td valign="top"><strong>[Trees]</strong></td>
+      <td valign="top">viewing the trees page</td>
+      <td valign="top"> the trees page </td></tr>
+  <tr><td valign="top"><strong>[Index]</strong></td>
+      <td valign="top">viewing the index page</td>
+      <td valign="top"> the index page </td></tr>
+  <tr><td valign="top"><strong>[Help]</strong></td>
+      <td valign="top">viewing the help page</td>
+      <td valign="top"> the help page </td></tr>
+</table>
+
+<p> The "<strong>show private</strong>" and "<strong>hide private</strong>" buttons below
+the top navigation bar can be used to control whether documentation
+for private objects is displayed.  Private objects are usually defined
+as objects whose (short) names begin with a single underscore, but do
+not end with an underscore.  For example, "<code>_x</code>",
+"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
+are private objects; but "<code>re.sub</code>",
+"<code>__init__</code>", and "<code>type_</code>" are not.  However,
+if a module defines the "<code>__all__</code>" variable, then its
+contents are used to decide which objects are private. </p>
+
+<p> A timestamp below the bottom navigation bar indicates when each
+page was last updated. </p>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Help   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:26 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/identifier-index.html b/doc/html/identifier-index.html
new file mode 100644
index 0000000..a276e6e
--- /dev/null
+++ b/doc/html/identifier-index.html
@@ -0,0 +1,1649 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Identifier Index</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Indices   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%"> </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="identifier-index.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table border="0" width="100%">
+<tr valign="bottom"><td>
+<h1 class="epydoc">Identifier Index</h1>
+</td><td>
+[
+ <a href="#A">A</a>
+ <a href="#B">B</a>
+ <a href="#C">C</a>
+ <a href="#D">D</a>
+ <a href="#E">E</a>
+ <a href="#F">F</a>
+ <a href="#G">G</a>
+ <a href="#H">H</a>
+ <a href="#I">I</a>
+ <a href="#J">J</a>
+ <a href="#K">K</a>
+ <a href="#L">L</a>
+ <a href="#M">M</a>
+ <a href="#N">N</a>
+ <a href="#O">O</a>
+ <a href="#P">P</a>
+  Q
+ <a href="#R">R</a>
+ <a href="#S">S</a>
+ <a href="#T">T</a>
+ <a href="#U">U</a>
+ <a href="#V">V</a>
+ <a href="#W">W</a>
+ <a href="#X">X</a>
+  Y
+  Z
+ <a href="#_">_</a>
+]
+</td></table>
+<table border="0" width="100%">
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="A">A</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#add">add()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.adscimage.adscimage-class.html">adscimage</a><br />
+<span class="index-where">(in <a href="fabio.adscimage-module.html">fabio.adscimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#appendFrame">appendFrame()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.adscimage-module.html">adscimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#ALLOW_MULTIPLE_STRIPS">ALLOW_MULTIPLE_STRIPS</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="B">B</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.tifimage-module.html#baseline_tiff_tags">baseline_tiff_tags</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#BLANK">BLANK</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.brukerimage-module.html">brukerimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.tifimage-module.html#BIG_ENDIAN">BIG_ENDIAN</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage-module.html#BLOCKSIZE">BLOCKSIZE</a><br />
+<span class="index-where">(in <a href="fabio.edfimage-module.html">fabio.edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.brukerimage.brukerimage-class.html">brukerimage</a><br />
+<span class="index-where">(in <a href="fabio.brukerimage-module.html">fabio.brukerimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#BINARY_MARKER">BINARY_MARKER</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#bpp">bpp</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.byte_offset-module.html">byte_offset</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.binaryimage-module.html">binaryimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.bruker100image-module.html">bruker100image</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#bytecode">bytecode</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.binaryimage.binaryimage-class.html">binaryimage</a><br />
+<span class="index-where">(in <a href="fabio.binaryimage-module.html">fabio.binaryimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.bruker100image.bruker100image-class.html">bruker100image</a><br />
+<span class="index-where">(in <a href="fabio.bruker100image-module.html">fabio.bruker100image</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="C">C</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html#C_SIZES">C_SIZES</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#checkData">checkData()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.converters-module.html#CONVERSION_HEADER">CONVERSION_HEADER</a><br />
+<span class="index-where">(in <a href="fabio.converters-module.html">fabio.converters</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html#C_TO_STRUCT">C_TO_STRUCT</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#checkHeader">checkHeader()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#convert">convert()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#capsHeader">capsHeader</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#checkHeader">checkHeader()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.converters-module.html#convert_data">convert_data()</a><br />
+<span class="index-where">(in <a href="fabio.converters-module.html">fabio.converters</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage-module.html">cbfimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html">CIF</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage-module.html">fabio.cbfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.converters-module.html#convert_data_integer">convert_data_integer()</a><br />
+<span class="index-where">(in <a href="fabio.converters-module.html">fabio.converters</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.cbfimage-class.html">cbfimage</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage-module.html">fabio.cbfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#classname">classname</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.converters-module.html#convert_header">convert_header()</a><br />
+<span class="index-where">(in <a href="fabio.converters-module.html">fabio.converters</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html#CDEFINITION">CDEFINITION</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.datIO.columnfile-class.html">columnfile</a><br />
+<span class="index-where">(in <a href="fabio.datIO-module.html">fabio.datIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.converters-module.html">converters</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cf_io-module.html">cf_io</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#compByteOffet_numpy">compByteOffet_numpy()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#current">current()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.OXDimage-class.html#checkData">checkData()</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage.OXDimage-class.html">OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#compPCK">compPCK()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#current">current()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.cbfimage-class.html#checkData">checkData()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.cbfimage-class.html">cbfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html">compression</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#current_image">current_image()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#checkData">checkData()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#COMPRESSORS">COMPRESSORS</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#current_image">current_image()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#checkData">checkData()</a><br />
+<span class="index-where">(in <a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html">fit2dmaskimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#compTY1">compTY1()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#current_object">current_object()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.kcdimage.kcdimage-class.html#checkData">checkData()</a><br />
+<span class="index-where">(in <a href="fabio.kcdimage.kcdimage-class.html">kcdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#construct_filename">construct_filename()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#current_object">current_object()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.mar345image.mar345image-class.html#checkData">checkData()</a><br />
+<span class="index-where">(in <a href="fabio.mar345image.mar345image-class.html">mar345image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.converters-module.html#CONVERSION_DATA">CONVERSION_DATA</a><br />
+<span class="index-where">(in <a href="fabio.converters-module.html">fabio.converters</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="D">D</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.Frame-class.html#data">data</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.Frame-class.html">Frame</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#decByteOffet_weave">decByteOffet_weave()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#deleteFrame">deleteFrame()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#data">data</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#decBzip2">decBzip2()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#delHeader">delHeader()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.dm3image-module.html#DATA_BYTES">DATA_BYTES</a><br />
+<span class="index-where">(in <a href="fabio.dm3image-module.html">fabio.dm3image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#decGzip">decGzip()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#delHeaderKeys">delHeaderKeys()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage-module.html#DATA_TYPES">DATA_TYPES</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage-module.html">fabio.cbfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#deconstruct_filename">deconstruct_filename()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.GEimage-module.html#demo">demo()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage-module.html">fabio.GEimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.dm3image-module.html#DATA_TYPES">DATA_TYPES</a><br />
+<span class="index-where">(in <a href="fabio.dm3image-module.html">fabio.dm3image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#decPCK">decPCK()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage-module.html#DETECTOR_TYPES">DETECTOR_TYPES</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage-module.html">fabio.OXDimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage-module.html#DATA_TYPES">DATA_TYPES</a><br />
+<span class="index-where">(in <a href="fabio.edfimage-module.html">fabio.edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#decTY1">decTY1()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#dictAscii">dictAscii</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.kcdimage-module.html#DATA_TYPES">DATA_TYPES</a><br />
+<span class="index-where">(in <a href="fabio.kcdimage-module.html">fabio.kcdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#decZlib">decZlib()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#dim1">dim1</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.readbytestream-module.html#DATATYPES">DATATYPES</a><br />
+<span class="index-where">(in <a href="fabio.readbytestream-module.html">fabio.readbytestream</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage-module.html#DEFAULT_HEADERS">DEFAULT_HEADERS</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage-module.html">fabio.OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#dim2">dim2</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.datIO-module.html">datIO</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage-module.html#DEFAULT_VALUES">DEFAULT_VALUES</a><br />
+<span class="index-where">(in <a href="fabio.edfimage-module.html">fabio.edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#dims">dims</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#DEBUG">DEBUG</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.kcdimage-module.html#DEFAULT_VALUES">DEFAULT_VALUES</a><br />
+<span class="index-where">(in <a href="fabio.kcdimage-module.html">fabio.kcdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image-module.html">dm3image</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#decByteOffet_cython">decByteOffet_cython()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage-module.html#deg2rad">deg2rad</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage-module.html">fabio.OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image.dm3image-class.html">dm3image</a><br />
+<span class="index-where">(in <a href="fabio.dm3image-module.html">fabio.dm3image</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#decByteOffet_numpy">decByteOffet_numpy()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#delCapsHeader">delCapsHeader()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.openimage-module.html#do_magic">do_magic()</a><br />
+<span class="index-where">(in <a href="fabio.openimage-module.html">fabio.openimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#decByteOffet_python">decByteOffet_python()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#delData">delData()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="E">E</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage-module.html">edfimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#EOL">EOL</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#existsInLoop">existsInLoop()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html">edfimage</a><br />
+<span class="index-where">(in <a href="fabio.edfimage-module.html">fabio.edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.binaryimage.binaryimage-class.html#estimate_offset_value">estimate_offset_value()</a><br />
+<span class="index-where">(in <a href="fabio.binaryimage.binaryimage-class.html">binaryimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage.Image_File_Directory_entry-class.html#extract_data">extract_data()</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.Image_File_Directory_entry-class.html">Image_File_Directory_entry</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#endianness">endianness()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#exists">exists()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#extract_filenumber">extract_filenumber()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="F">F</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio-module.html">fabio</a></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#FIELD_TYPE_OUT">FIELD_TYPE_OUT</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#first_image">first_image()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.datIO.fabiodata-class.html">fabiodata</a><br />
+<span class="index-where">(in <a href="fabio.datIO-module.html">fabio.datIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series-module.html">file_series</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#first_object">first_object()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage-module.html">fabioimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html">file_series</a><br />
+<span class="index-where">(in <a href="fabio.file_series-module.html">fabio.file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dmaskimage-module.html">fit2dmaskimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage-module.html">fabio.fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils.filename_object-class.html">filename_object</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html">fit2dmaskimage</a><br />
+<span class="index-where">(in <a href="fabio.fit2dmaskimage-module.html">fabio.fit2dmaskimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioStream-class.html">fabioStream</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage-module.html">fabio.fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html">filename_series</a><br />
+<span class="index-where">(in <a href="fabio.file_series-module.html">fabio.file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dspreadsheetimage-module.html">fit2dspreadsheetimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html">fabioutils</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#FILETYPES">FILETYPES</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html">fit2dspreadsheetimage</a><br />
+<span class="index-where">(in <a href="fabio.fit2dspreadsheetimage-module.html">fabio.fit2dspreadsheetimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#FIELD_TYPE">FIELD_TYPE</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#first">first()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.Frame-class.html">Frame</a><br />
+<span class="index-where">(in <a href="fabio.edfimage-module.html">fabio.edfimage</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="G">G</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage-module.html#GE_HEADER_INFO">GE_HEADER_INFO</a><br />
+<span class="index-where">(in <a href="fabio.GEimage-module.html">fabio.GEimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getData">getData()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#getImageFileDirectories">getImageFileDirectories()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage-module.html">GEimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getDim1">getDim1()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#getInfo">getInfo()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage.GEimage-class.html">GEimage</a><br />
+<span class="index-where">(in <a href="fabio.GEimage-module.html">fabio.GEimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getDim2">getDim2()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#getmax">getmax()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage_old.GEimage-class.html">GEimage</a><br />
+<span class="index-where">(in <a href="fabio.GEimage_old-module.html">fabio.GEimage_old</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getDims">getDims()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#getmean">getmean()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage_old-module.html">GEimage_old</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.Frame-class.html#getEdfBlock">getEdfBlock()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.Frame-class.html">Frame</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#getmin">getmin()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getBpp">getBpp()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.GEimage.GEimage-class.html#getframe">getframe()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage.GEimage-class.html">GEimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getNbFrames">getNbFrames()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getByteCode">getByteCode()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getframe">getframe()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#getnum">getnum()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getCapsHeader">getCapsHeader()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#getframe">getframe()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#getNumberOfImages">getNumberOfImages()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#getclassname">getclassname()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getHeader">getHeader()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.Section-class.html#getSize">getSize()</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage.Section-class.html">Section</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.OXDimage-class.html#getCompressionRatio">getCompressionRatio()</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage.OXDimage-class.html">OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#getheader">getheader()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#getstddev">getstddev()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#getData">getData()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#getHeaderKeys">getHeaderKeys()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.Frame-class.html#getData">getData()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.Frame-class.html">Frame</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#getImage">getImage()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="H">H</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#header">header</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html#HEADER_NAMES">HEADER_NAMES</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.HiPiCimage.HiPiCimage-class.html">HiPiCimage</a><br />
+<span class="index-where">(in <a href="fabio.HiPiCimage-module.html">fabio.HiPiCimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html#HEADER_FORMAT">HEADER_FORMAT</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pnmimage-module.html#HEADERITEMS">HEADERITEMS</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage-module.html">fabio.pnmimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#header_keys">header_keys</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.HiPiCimage-module.html">HiPiCimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="I">I</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#i">i</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#integrate_area">integrate_area()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#isAscii">isAscii()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.tifimage.Image_File_Directory-class.html">Image_File_Directory</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html#interpret_header">interpret_header()</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.tifimage.Image_File_Directory_entry-class.html">Image_File_Directory_entry</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#isAscii">isAscii()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="J">J</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#jump">jump()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#jump_image">jump_image()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#jump_object">jump_object()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#jump">jump()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#jump_image">jump_image()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#jump_filename">jump_filename()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#jump_object">jump_object()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="K">K</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.kcdimage-module.html">kcdimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.kcdimage.kcdimage-class.html">kcdimage</a><br />
+<span class="index-where">(in <a href="fabio.kcdimage-module.html">fabio.kcdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#key">key</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+</tr>
+<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#last">last()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage-module.html">fabio.OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#last_image">last_image()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.adscimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.adscimage-module.html">fabio.adscimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.file_series-module.html">fabio.file_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#last_object">last_object()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.binaryimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.binaryimage-module.html">fabio.binaryimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.kcdimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.kcdimage-module.html">fabio.kcdimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#len">len()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.bruker100image-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.bruker100image-module.html">fabio.bruker100image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345image-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.mar345image-module.html">fabio.mar345image</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#lines">lines</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.brukerimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.brukerimage-module.html">fabio.brukerimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.tifimage-module.html#LITTLE_ENDIAN">LITTLE_ENDIAN</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage-module.html">fabio.cbfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.openimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.openimage-module.html">fabio.openimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#load">load()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pnmimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage-module.html">fabio.pnmimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#loadCHIPLOT">loadCHIPLOT()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.converters-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.converters-module.html">fabio.converters</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.readbytestream-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.readbytestream-module.html">fabio.readbytestream</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#loadCIF">loadCIF()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.dm3image-module.html">fabio.dm3image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.GEimage-module.html">fabio.GEimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.edfimage-module.html">fabio.edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.xsdimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.xsdimage-module.html">fabio.xsdimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.HiPiCimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.HiPiCimage-module.html">fabio.HiPiCimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage-module.html#logger">logger</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage-module.html">fabio.fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#LoopHasKey">LoopHasKey()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="M">M</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.openimage-module.html#MAGIC_NUMBERS">MAGIC_NUMBERS</a><br />
+<span class="index-where">(in <a href="fabio.openimage-module.html">fabio.openimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345image.mar345image-class.html">mar345image</a><br />
+<span class="index-where">(in <a href="fabio.mar345image-module.html">fabio.mar345image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage-module.html#MINIMUM_KEYS">MINIMUM_KEYS</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage-module.html">fabio.cbfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html#make_format">make_format()</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html">marccdimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage-module.html#MINIMUM_KEYS">MINIMUM_KEYS</a><br />
+<span class="index-where">(in <a href="fabio.edfimage-module.html">fabio.edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#make_slice">make_slice()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.marccdimage.marccdimage-class.html">marccdimage</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.kcdimage-module.html#MINIMUM_KEYS">MINIMUM_KEYS</a><br />
+<span class="index-where">(in <a href="fabio.kcdimage-module.html">fabio.kcdimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.mar345_IO-module.html">mar345_IO</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html#MAXIMAGES">MAXIMAGES</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.mar345image-module.html">mar345image</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#md5sum">md5sum()</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="N">N</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.mar345image.mar345image-class.html#nb_overflow_pixels">nb_overflow_pixels()</a><br />
+<span class="index-where">(in <a href="fabio.mar345image.mar345image-class.html">mar345image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#next">next()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#next_object">next_object()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series-module.html#new_file_series">new_file_series()</a><br />
+<span class="index-where">(in <a href="fabio.file_series-module.html">fabio.file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#next">next()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#nframes">nframes</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series-module.html#new_file_series0">new_file_series0()</a><br />
+<span class="index-where">(in <a href="fabio.file_series-module.html">fabio.file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#next_filename">next_filename()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.numbered_file_series-class.html">numbered_file_series</a><br />
+<span class="index-where">(in <a href="fabio.file_series-module.html">fabio.file_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage.GEimage-class.html#next">next()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage.GEimage-class.html">GEimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#next_image">next_image()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage-module.html#NUMPY_EDF_DTYPE">NUMPY_EDF_DTYPE</a><br />
+<span class="index-where">(in <a href="fabio.edfimage-module.html">fabio.edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#next">next()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#next_image">next_image()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#numstem">numstem()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#next">next()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#next_object">next_object()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="O">O</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.openimage-module.html#openheader">openheader()</a><br />
+<span class="index-where">(in <a href="fabio.openimage-module.html">fabio.openimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.openimage-module.html#openimage">openimage()</a><br />
+<span class="index-where">(in <a href="fabio.openimage-module.html">fabio.openimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.OXDimage-class.html">OXDimage</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage-module.html">fabio.OXDimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.openimage-module.html">openimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage-module.html">OXDimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="P">P</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#P1dec">P1dec()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.Frame-class.html#parseheader">parseheader()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.Frame-class.html">Frame</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.GEimage.GEimage-class.html#previous">previous()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage.GEimage-class.html">GEimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#P2dec">P2dec()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage-module.html#PIL_TO_NUMPY">PIL_TO_NUMPY</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#previous">previous()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#P3dec">P3dec()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pilatusimage-module.html">pilatusimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#previous">previous()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#P4dec">P4dec()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pilatusimage.pilatusimage-class.html">pilatusimage</a><br />
+<span class="index-where">(in <a href="fabio.pilatusimage-module.html">fabio.pilatusimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#previous">previous()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#P5dec">P5dec()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pnmimage-module.html">pnmimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#previous">previous()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#P6dec">P6dec()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage-module.html">fabio.pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#previous_filename">previous_filename()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#P7dec">P7dec()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#pop">pop()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#previous_image">previous_image()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.pnmimage-module.html#P7HEADERITEMS">P7HEADERITEMS</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage-module.html">fabio.pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#popitem">popitem()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#previous_object">previous_object()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage-module.html#PADDING">PADDING</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage-module.html">fabio.cbfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#prev_image">prev_image()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#previous_object">previous_object()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.OXDimage-module.html#rad2deg">rad2deg</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage-module.html">fabio.OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.datIO.fabiodata-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.datIO.fabiodata-class.html">fabiodata</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image.dm3image-class.html#read_tag_entry">read_tag_entry()</a><br />
+<span class="index-where">(in <a href="fabio.dm3image.dm3image-class.html">dm3image</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage.GEimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage.GEimage-class.html">GEimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image.dm3image-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.dm3image.dm3image-class.html">dm3image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image.dm3image-class.html#read_tag_group">read_tag_group()</a><br />
+<span class="index-where">(in <a href="fabio.dm3image.dm3image-class.html">dm3image</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage_old.GEimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage_old.GEimage-class.html">GEimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image.dm3image-class.html#read_tag_type">read_tag_type()</a><br />
+<span class="index-where">(in <a href="fabio.dm3image.dm3image-class.html">dm3image</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.HiPiCimage.HiPiCimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.HiPiCimage.HiPiCimage-class.html">HiPiCimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image.dm3image-class.html#readbytes">readbytes()</a><br />
+<span class="index-where">(in <a href="fabio.dm3image.dm3image-class.html">dm3image</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.OXDimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage.OXDimage-class.html">OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html">fit2dmaskimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.readbytestream-module.html">readbytestream</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.adscimage.adscimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.adscimage.adscimage-class.html">adscimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html">fit2dspreadsheetimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.readbytestream-module.html#readbytestream">readbytestream()</a><br />
+<span class="index-where">(in <a href="fabio.readbytestream-module.html">fabio.readbytestream</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.binaryimage.binaryimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.binaryimage.binaryimage-class.html">binaryimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.kcdimage.kcdimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.kcdimage.kcdimage-class.html">kcdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#readheader">readheader()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.bruker100image.bruker100image-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.bruker100image.bruker100image-class.html">bruker100image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345image.mar345image-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.mar345image.mar345image-class.html">mar345image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#readROI">readROI()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.brukerimage.brukerimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.brukerimage.brukerimage-class.html">brukerimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#rebin">rebin()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.cbfimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.cbfimage-class.html">cbfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage.tifimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.tifimage-class.html">tifimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#resetvals">resetvals()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cf_io-module.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.cf_io-module.html">fabio.cf_io</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.xsdimage.xsdimage-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.xsdimage.xsdimage-class.html">xsdimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.datIO.columnfile-class.html#read">read()</a><br />
+<span class="index-where">(in <a href="fabio.datIO.columnfile-class.html">columnfile</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image.dm3image-class.html#read_data">read_data()</a><br />
+<span class="index-where">(in <a href="fabio.dm3image.dm3image-class.html">dm3image</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#SAMPLE_FORMAT_COMPLEXIEEEFP">SAMPLE_FORMAT_COMPLEXIEEEFP</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#setByteCode">setByteCode()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#START_COMMENT">START_COMMENT</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#SAMPLE_FORMAT_COMPLEXINT">SAMPLE_FORMAT_COMPLEXINT</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#setCapsHeader">setCapsHeader()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage-module.html#STARTER">STARTER</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage-module.html">fabio.cbfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#SAMPLE_FORMAT_FLOAT">SAMPLE_FORMAT_FLOAT</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.Section-class.html#setData">setData()</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage.Section-class.html">Section</a>)</span></td>
+<td width="33%" class="link-index"><a href="str-class.html">str</a></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#SAMPLE_FORMAT_INT">SAMPLE_FORMAT_INT</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.Frame-class.html#setData">setData()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.Frame-class.html">Frame</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils.filename_object-class.html#str">str()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils.filename_object-class.html">filename_object</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#SAMPLE_FORMAT_UINT">SAMPLE_FORMAT_UINT</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#setData">setData()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pnmimage-module.html#SUBFORMATS">SUBFORMATS</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage-module.html">fabio.pnmimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#SAMPLE_FORMAT_VOID">SAMPLE_FORMAT_VOID</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#setDim1">setDim1()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.binaryimage.binaryimage-class.html#swap_needed">swap_needed()</a><br />
+<span class="index-where">(in <a href="fabio.binaryimage.binaryimage-class.html">binaryimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#save">save()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#setDim2">setDim2()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.Frame-class.html#swap_needed">swap_needed()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.Frame-class.html">Frame</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#saveCIF">saveCIF()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#setHeader">setHeader()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#swap_needed">swap_needed()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.Section-class.html">Section</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage-module.html">fabio.OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#setHeaderKeys">setHeaderKeys()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#setBpp">setBpp()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#setNbFrames">setNbFrames()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="T">T</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_BITS_PER_SAMPLE">TAG_BITS_PER_SAMPLE</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_SAMPLE_FORMAT">TAG_SAMPLE_FORMAT</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage-module.html">tifimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_COLORMAP">TAG_COLORMAP</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_SOFTWARE">TAG_SOFTWARE</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage.tifimage-class.html">tifimage</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_COMPRESSION">TAG_COMPRESSION</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_STRIP_BYTE_COUNTS">TAG_STRIP_BYTE_COUNTS</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#toAscii">toAscii()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_DATE">TAG_DATE</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_STRIP_OFFSETS">TAG_STRIP_OFFSETS</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.bruker100image.bruker100image-class.html#toPIL16">toPIL16()</a><br />
+<span class="index-where">(in <a href="fabio.bruker100image.bruker100image-class.html">bruker100image</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_ID">TAG_ID</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.adscimage-module.html#test">test()</a><br />
+<span class="index-where">(in <a href="fabio.adscimage-module.html">fabio.adscimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#toPIL16">toPIL16()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_IMAGE_DESCRIPTION">TAG_IMAGE_DESCRIPTION</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.brukerimage-module.html#test">test()</a><br />
+<span class="index-where">(in <a href="fabio.brukerimage-module.html">fabio.brukerimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#tostring">tostring()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_NUMBER_OF_COLUMNS">TAG_NUMBER_OF_COLUMNS</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage-module.html#test">test()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage-module.html">fabio.fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils.filename_object-class.html#tostring">tostring()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils.filename_object-class.html">filename_object</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_NUMBER_OF_ROWS">TAG_NUMBER_OF_ROWS</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage.Tiff_header-class.html">Tiff_header</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage-module.html#TYPES">TYPES</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_PHOTOMETRIC_INTERPRETATION">TAG_PHOTOMETRIC_INTERPRETATION</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html">TiffIO</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage-module.html#TYPESIZES">TYPESIZES</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#TAG_ROWS_PER_STRIP">TAG_ROWS_PER_STRIP</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="U">U</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#unpack">unpack()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage.Image_File_Directory_entry-class.html#unpack">unpack()</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.Image_File_Directory_entry-class.html">Image_File_Directory_entry</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.tifimage.Image_File_Directory-class.html#unpack">unpack()</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.Image_File_Directory-class.html">Image_File_Directory</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#update_header">update_header()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="V">V</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio-module.html#version">version</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="W">W</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage.GEimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage.GEimage-class.html">GEimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.cbfimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.cbfimage-class.html">cbfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.OXDimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage.OXDimage-class.html">OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage.tifimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.tifimage-class.html">tifimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.adscimage.adscimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.adscimage.adscimage-class.html">adscimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.brukerimage.brukerimage-class.html#write2">write2()</a><br />
+<span class="index-where">(in <a href="fabio.brukerimage.brukerimage-class.html">brukerimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.binaryimage.binaryimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.binaryimage.binaryimage-class.html">binaryimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html">fit2dmaskimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#writeImage">writeImage()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.brukerimage.brukerimage-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.brukerimage.brukerimage-class.html">brukerimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345image.mar345image-class.html#write">write()</a><br />
+<span class="index-where">(in <a href="fabio.mar345image.mar345image-class.html">mar345image</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="X">X</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.xsdimage-module.html">xsdimage</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.xsdimage.xsdimage-class.html">xsdimage</a><br />
+<span class="index-where">(in <a href="fabio.xsdimage-module.html">fabio.xsdimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="fabio.OXDimage-module.html#__doc__">__doc__</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage-module.html">fabio.OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.byte_offset-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.byte_offset-module.html">fabio.byte_offset</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage.tifimage-class.html#_need_a_seek_to_read">_need_a_seek_to_read</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.tifimage-class.html">tifimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.binaryimage-module.html#__doc__">__doc__</a><br />
+<span class="index-where">(in <a href="fabio.binaryimage-module.html">fabio.binaryimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage-module.html">fabio.cbfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#_open">_open()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.mar345image-module.html#__doc__">__doc__</a><br />
+<span class="index-where">(in <a href="fabio.mar345image-module.html">fabio.mar345image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cf_io-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.cf_io-module.html">fabio.cf_io</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.openimage-module.html#_openimage">_openimage()</a><br />
+<span class="index-where">(in <a href="fabio.openimage-module.html">fabio.openimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.brukerimage.brukerimage-class.html#__headerstring__">__headerstring__</a><br />
+<span class="index-where">(in <a href="fabio.brukerimage.brukerimage-class.html">brukerimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.compression-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.compression-module.html">fabio.compression</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#_parseCIF">_parseCIF()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.Section-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage.Section-class.html">Section</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.converters-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.converters-module.html">fabio.converters</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#_parseImageFileDirectory">_parseImageFileDirectory()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.datIO-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.datIO-module.html">fabio.datIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.marccdimage.marccdimage-class.html#_read">_read()</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage.marccdimage-class.html">marccdimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.adscimage.adscimage-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.adscimage.adscimage-class.html">adscimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.dm3image-module.html">fabio.dm3image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pilatusimage.pilatusimage-class.html#_read">_read()</a><br />
+<span class="index-where">(in <a href="fabio.pilatusimage.pilatusimage-class.html">pilatusimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.binaryimage.binaryimage-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.binaryimage.binaryimage-class.html">binaryimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.edfimage-module.html">fabio.edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.cbfimage-class.html#_readbinary_byte_offset">_readbinary_byte_offset()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.cbfimage-class.html">cbfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage-module.html">fabio.fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#_readCIF">_readCIF()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.cbfimage-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.cbfimage-class.html">cbfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioutils-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils-module.html">fabio.fabioutils</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.GEimage.GEimage-class.html#_readframe">_readframe()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage.GEimage-class.html">GEimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.datIO.fabiodata-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.datIO.fabiodata-class.html">fabiodata</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.file_series-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.file_series-module.html">fabio.file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.GEimage.GEimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage.GEimage-class.html">GEimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.dm3image.dm3image-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.dm3image.dm3image-class.html">dm3image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dmaskimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.fit2dmaskimage-module.html">fabio.fit2dmaskimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.GEimage_old.GEimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage_old.GEimage-class.html">GEimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.Frame-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.Frame-class.html">Frame</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dspreadsheetimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.fit2dspreadsheetimage-module.html">fabio.fit2dspreadsheetimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.HiPiCimage.HiPiCimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.HiPiCimage.HiPiCimage-class.html">HiPiCimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.kcdimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.kcdimage-module.html">fabio.kcdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.OXDimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage.OXDimage-class.html">OXDimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioStream-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioStream-class.html">fabioStream</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345_IO-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.mar345_IO-module.html">fabio.mar345_IO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.adscimage.adscimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.adscimage.adscimage-class.html">adscimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345image-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.mar345image-module.html">fabio.mar345image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.brukerimage.brukerimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.brukerimage.brukerimage-class.html">brukerimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.fabioutils.filename_object-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.fabioutils.filename_object-class.html">filename_object</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.marccdimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage-module.html">fabio.marccdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.cbfimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.cbfimage-class.html">cbfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series.file_series-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.file_series-class.html">file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.openimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.openimage-module.html">fabio.openimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.dm3image.dm3image-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.dm3image.dm3image-class.html">dm3image</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series.filename_series-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.filename_series-class.html">filename_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pilatusimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.pilatusimage-module.html">fabio.pilatusimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.file_series.numbered_file_series-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.file_series.numbered_file_series-class.html">numbered_file_series</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pnmimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage-module.html">fabio.pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.mar345image.mar345image-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.mar345image.mar345image-class.html">mar345image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.readbytestream-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.readbytestream-module.html">fabio.readbytestream</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.fit2dmaskimage.fit2dmaskimage-class.html">fit2dmaskimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.tifimage-module.html">fabio.tifimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html">fit2dspreadsheetimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.tifimage.Image_File_Directory-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.Image_File_Directory-class.html">Image_File_Directory</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.xsdimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.xsdimage-module.html">fabio.xsdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.kcdimage.kcdimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.kcdimage.kcdimage-class.html">kcdimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.tifimage.Image_File_Directory_entry-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.Image_File_Directory_entry-class.html">Image_File_Directory_entry</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.Section-class.html#__repr__">__repr__()</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage.Section-class.html">Section</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345image.mar345image-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.mar345image.mar345image-class.html">mar345image</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.tifimage.Tiff_header-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.Tiff_header-class.html">Tiff_header</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#__revision__">__revision__</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.marccdimage.marccdimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.marccdimage.marccdimage-class.html">marccdimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.tifimage.tifimage-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.tifimage-class.html">tifimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#__setitem__">__setitem__()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pilatusimage.pilatusimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.pilatusimage.pilatusimage-class.html">pilatusimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.xsdimage.xsdimage-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="fabio.xsdimage.xsdimage-class.html">xsdimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.byte_offset-module.html#__test__">__test__</a><br />
+<span class="index-where">(in <a href="fabio.byte_offset-module.html">fabio.byte_offset</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.pnmimage.pnmimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.pnmimage.pnmimage-class.html">pnmimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#__makeSureFileIsClosed">__makeSureFileIsClosed()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345_IO-module.html#__test__">__test__</a><br />
+<span class="index-where">(in <a href="fabio.mar345_IO-module.html">fabio.mar345_IO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.tifimage.tifimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.tifimage.tifimage-class.html">tifimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#__makeSureFileIsOpen">__makeSureFileIsOpen()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#_analyseOneLoop">_analyseOneLoop()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.xsdimage.xsdimage-class.html#_readheader">_readheader()</a><br />
+<span class="index-where">(in <a href="fabio.xsdimage.xsdimage-class.html">xsdimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.GEimage-module.html">fabio.GEimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#_compressed_stream">_compressed_stream()</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.edfimage.edfimage-class.html#_readHeaderBlock">_readHeaderBlock()</a><br />
+<span class="index-where">(in <a href="fabio.edfimage.edfimage-class.html">edfimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.GEimage_old-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.GEimage_old-module.html">fabio.GEimage_old</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#_getOutputIFD">_getOutputIFD()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#_readIFDEntry">_readIFDEntry()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.HiPiCimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.HiPiCimage-module.html">fabio.HiPiCimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345image.mar345image-class.html#_high_intensity_pixel_records">_high_intensity_pixel_records()</a><br />
+<span class="index-where">(in <a href="fabio.mar345image.mar345image-class.html">mar345image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#_readImage">_readImage()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.OXDimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage-module.html">fabio.OXDimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#_initEmptyFile">_initEmptyFile()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#_readInfo">_readInfo()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.TiffIO-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO-module.html">fabio.TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#_initInternalVariables">_initInternalVariables()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.cbfimage.CIF-class.html#_splitCIF">_splitCIF()</a><br />
+<span class="index-where">(in <a href="fabio.cbfimage.CIF-class.html">CIF</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio-module.html">fabio</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.GEimage.GEimage-class.html#_makeframename">_makeframename()</a><br />
+<span class="index-where">(in <a href="fabio.GEimage.GEimage-class.html">GEimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.TiffIO.TiffIO-class.html#_updateIFD">_updateIFD()</a><br />
+<span class="index-where">(in <a href="fabio.TiffIO.TiffIO-class.html">TiffIO</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.adscimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.adscimage-module.html">fabio.adscimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#_need_a_real_file">_need_a_real_file</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.OXDimage.OXDimage-class.html#_writeheader">_writeheader()</a><br />
+<span class="index-where">(in <a href="fabio.OXDimage.OXDimage-class.html">OXDimage</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.binaryimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.binaryimage-module.html">fabio.binaryimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345image.mar345image-class.html#_need_a_real_file">_need_a_real_file</a><br />
+<span class="index-where">(in <a href="fabio.mar345image.mar345image-class.html">mar345image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.mar345image.mar345image-class.html#_writeheader">_writeheader()</a><br />
+<span class="index-where">(in <a href="fabio.mar345image.mar345image-class.html">mar345image</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.bruker100image-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.bruker100image-module.html">fabio.bruker100image</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.GEimage.GEimage-class.html#_need_a_seek_to_read">_need_a_seek_to_read</a><br />
+<span class="index-where">(in <a href="fabio.GEimage.GEimage-class.html">GEimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="fabio.brukerimage-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="fabio.brukerimage-module.html">fabio.brukerimage</a>)</span></td>
+<td width="33%" class="link-index"><a href="fabio.fabioimage.fabioimage-class.html#_need_a_seek_to_read">_need_a_seek_to_read</a><br />
+<span class="index-where">(in <a href="fabio.fabioimage.fabioimage-class.html">fabioimage</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+</table>
+<br /><br /><!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Indices   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:26 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/index.html b/doc/html/index.html
new file mode 100644
index 0000000..f80bd72
--- /dev/null
+++ b/doc/html/index.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+          "DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title> API Documentation </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame"
+           id="moduleListFrame" />
+    <frame src="toc-everything.html" name="moduleFrame"
+           id="moduleFrame" />
+  </frameset>
+  <frame src="fabio-module.html" name="mainFrame" id="mainFrame" />
+</frameset>
+</html>
diff --git a/doc/html/module-tree.html b/doc/html/module-tree.html
new file mode 100644
index 0000000..7bdfee7
--- /dev/null
+++ b/doc/html/module-tree.html
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Module Hierarchy</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Trees   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%"> </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="module-tree.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<center><b>
+ [ <a href="module-tree.html">Module Hierarchy</a>
+ | <a href="class-tree.html">Class Hierarchy</a> ]
+</b></center><br />
+<h1 class="epydoc">Module Hierarchy</h1>
+<ul class="nomargin-top">
+    <li> <strong class="uidlink"><a href="fabio-module.html">fabio</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="fabio.GEimage-module.html">fabio.GEimage</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="fabio.GEimage_old-module.html">fabio.GEimage_old</a></strong>: <em class="summary">Reads the header from a GE a-Si Angio Detector</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.HiPiCimage-module.html">fabio.HiPiCimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.OXDimage-module.html">fabio.OXDimage</a></strong>: <em class="summary">Reads Oxford Diffraction Sapphire 3 images</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.TiffIO-module.html">fabio.TiffIO</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="fabio.adscimage-module.html">fabio.adscimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.binaryimage-module.html">fabio.binaryimage</a></strong>: <em class="summary">Authors: Gael Goret, Jerome Kieffer, ESRF, France Emails: 
+        gael.goret at esrf.fr, jerome.kieffer at esrf.fr</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.bruker100image-module.html">fabio.bruker100image</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="fabio.brukerimage-module.html">fabio.brukerimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.byte_offset-module.html">fabio.byte_offset</a></strong>: <em class="summary">Authors:      Jerome Kieffer, ESRF Email:        
+        jerome.kieffer at esrf.eu</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.cbfimage-module.html">fabio.cbfimage</a></strong>: <em class="summary">Authors: Jérôme Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.cf_io-module.html">fabio.cf_io</a></strong>    </li>
+    <li> <strong class="uidlink"><a href="fabio.compression-module.html">fabio.compression</a></strong>: <em class="summary">Authors: Jérôme Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.converters-module.html">fabio.converters</a></strong>: <em class="summary">Converter module.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.datIO-module.html">fabio.datIO</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.dm3image-module.html">fabio.dm3image</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.edfimage-module.html">fabio.edfimage</a></strong>: <em class="summary">License: GPLv2+</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.fabioimage-module.html">fabio.fabioimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.fabioutils-module.html">fabio.fabioutils</a></strong>: <em class="summary">General purpose utilities functions for fabio</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.file_series-module.html">fabio.file_series</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.fit2dmaskimage-module.html">fabio.fit2dmaskimage</a></strong>: <em class="summary">Author: Andy Hammersley, ESRF Translation into python/fabio: Jon 
+        Wright, ESRF</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.fit2dspreadsheetimage-module.html">fabio.fit2dspreadsheetimage</a></strong>: <em class="summary">Read the fit2d ascii image output...</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.kcdimage-module.html">fabio.kcdimage</a></strong>: <em class="summary">Authors: Jerome Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.mar345_IO-module.html">fabio.mar345_IO</a></strong>: <em class="summary">New Cython version of mar345_io for preparing the migration to Python3</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.mar345image-module.html">fabio.mar345image</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.marccdimage-module.html">fabio.marccdimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.openimage-module.html">fabio.openimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.pilatusimage-module.html">fabio.pilatusimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.pnmimage-module.html">fabio.pnmimage</a></strong>: <em class="summary">Authors: Henning O.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.readbytestream-module.html">fabio.readbytestream</a></strong>: <em class="summary">Reads a bytestream</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.tifimage-module.html">fabio.tifimage</a></strong>: <em class="summary">FabIO class for dealing with TIFF images.</em>    </li>
+    <li> <strong class="uidlink"><a href="fabio.xsdimage-module.html">fabio.xsdimage</a></strong>: <em class="summary">Authors: Jérôme Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr</em>    </li>
+    </ul>
+    </li>
+</ul>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Trees   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:26 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/redirect.html b/doc/html/redirect.html
new file mode 100644
index 0000000..08550f3
--- /dev/null
+++ b/doc/html/redirect.html
@@ -0,0 +1,38 @@
+<html><head><title>Epydoc Redirect Page</title>
+<meta http-equiv="cache-control" content="no-cache" />
+<meta http-equiv="expires" content="0" />
+<meta http-equiv="pragma" content="no-cache" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+<body>
+<script type="text/javascript">
+<!--
+var pages = ["fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-c", "fabio.tifimage.Image_File_Directory_entry-c", "fabio.file_series.numbered_file_series-c", "fabio.bruker100image.bruker100image-c", "fabio.fit2dmaskimage.fit2dmaskimage-c", "fabio.tifimage.Image_File_Directory-c", "fabio.file_series.filename_series-c", "fabio.fabioutils.filename_object-c", "fabio.pilatusimage.pilatusimage-c", "fabio.binaryimage.binaryimage-c", "fabio.brukerimage.brukerimage-c", "fabio.file_series.file_se [...]
+var dottedName = get_anchor();
+if (dottedName) {
+    var target = redirect_url(dottedName);
+    if (target) window.location.replace(target);
+}
+// -->
+</script>
+
+<h3>Epydoc Auto-redirect page</h3>
+
+<p>When javascript is enabled, this page will redirect URLs of
+the form <tt>redirect.html#<i>dotted.name</i></tt> to the
+documentation for the object with the given fully-qualified
+dotted name.</p>
+<p><a id="message">   </a></p>
+
+<script type="text/javascript">
+<!--
+if (dottedName) {
+    var msg = document.getElementById("message");
+    msg.innerHTML = "No documentation found for <tt>"+
+                    dottedName+"</tt>";
+}
+// -->
+</script>
+
+</body>
+</html>
diff --git a/doc/html/str-class.html b/doc/html/str-class.html
new file mode 100644
index 0000000..e5e6210
--- /dev/null
+++ b/doc/html/str-class.html
@@ -0,0 +1,2113 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>str</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        str ::
+        Class str
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="str-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class str</h1><p class="nomargin-top"></p>
+<pre class="base-tree">
+object --+    
+         |    
+basestring --+
+             |
+            <strong class="uidshort">str</strong>
+</pre>
+
+<hr />
+<p>str(object) -> string</p>
+  <p>Return a nice string representation of the object. If the argument is 
+  a string, the return value is the same object.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__add__"></a><span class="summary-sig-name">__add__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      x+y</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__contains__"></a><span class="summary-sig-name">__contains__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      y in x</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__eq__"></a><span class="summary-sig-name">__eq__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      x==y</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#__format__" class="summary-sig-name">__format__</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">format_spec</span>)</span><br />
+      default object formatter</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__ge__"></a><span class="summary-sig-name">__ge__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      x>=y</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#__getattribute__" class="summary-sig-name">__getattribute__</a>(<span class="summary-sig-arg">...</span>)</span><br />
+      x.__getattribute__('name') <==> x.name</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__getitem__"></a><span class="summary-sig-name">__getitem__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      x[y]</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__getnewargs__"></a><span class="summary-sig-name">__getnewargs__</span>(<span class="summary-sig-arg">...</span>)</span></td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#__getslice__" class="summary-sig-name">__getslice__</a>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">i</span>,
+        <span class="summary-sig-arg">j</span>)</span><br />
+      x[i:j]</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__gt__"></a><span class="summary-sig-name">__gt__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      x>y</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#__hash__" class="summary-sig-name">__hash__</a>(<span class="summary-sig-arg">x</span>)</span><br />
+      hash(x)</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__le__"></a><span class="summary-sig-name">__le__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      x<=y</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__len__"></a><span class="summary-sig-name">__len__</span>(<span class="summary-sig-arg">x</span>)</span><br />
+      len(x)</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__lt__"></a><span class="summary-sig-name">__lt__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      x<y</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__mod__"></a><span class="summary-sig-name">__mod__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      x%y</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__mul__"></a><span class="summary-sig-name">__mul__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">n</span>)</span><br />
+      x*n</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__ne__"></a><span class="summary-sig-name">__ne__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      x!=y</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">a new object with type S, a subtype of T</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">T</span>,
+        <span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">...</span>)</span></td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">x</span>)</span><br />
+      repr(x)</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__rmod__"></a><span class="summary-sig-name">__rmod__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      y%x</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__rmul__"></a><span class="summary-sig-name">__rmul__</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">n</span>)</span><br />
+      n*x</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">size of S in memory, in bytes</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#__sizeof__" class="summary-sig-name">__sizeof__</a>(<span class="summary-sig-arg">S</span>)</span></td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">x</span>)</span><br />
+      str(x)</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_formatter_field_name_split"></a><span class="summary-sig-name">_formatter_field_name_split</span>(<span class="summary-sig-arg">...</span>)</span></td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="_formatter_parser"></a><span class="summary-sig-name">_formatter_parser</span>(<span class="summary-sig-arg">...</span>)</span></td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="capitalize"></a><span class="summary-sig-name">capitalize</span>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return a copy of the string S with only its first character 
+      capitalized.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#center" class="summary-sig-name">center</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">width</span>,
+        <span class="summary-sig-arg">fillchar</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return S centered in a string of length width.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#count" class="summary-sig-name">count</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">sub</span>,
+        <span class="summary-sig-arg">start</span>=<span class="summary-sig-default">...</span>,
+        <span class="summary-sig-arg">end</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return the number of non-overlapping occurrences of substring sub in 
+      string S[start:end].</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">object</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#decode" class="summary-sig-name">decode</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">encoding</span>=<span class="summary-sig-default">...</span>,
+        <span class="summary-sig-arg">errors</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Decodes S using the codec registered for encoding.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">object</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#encode" class="summary-sig-name">encode</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">encoding</span>=<span class="summary-sig-default">...</span>,
+        <span class="summary-sig-arg">errors</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Encodes S using the codec registered for encoding.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#endswith" class="summary-sig-name">endswith</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">suffix</span>,
+        <span class="summary-sig-arg">start</span>=<span class="summary-sig-default">...</span>,
+        <span class="summary-sig-arg">end</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return True if S ends with the specified suffix, False otherwise.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#expandtabs" class="summary-sig-name">expandtabs</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">tabsize</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return a copy of S where all tab characters are expanded using 
+      spaces.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#find" class="summary-sig-name">find</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">sub</span>,
+        <span class="summary-sig-arg">start</span>=<span class="summary-sig-default">... </span>,
+        <span class="summary-sig-arg">end</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return the lowest index in S where substring sub is found, such that 
+      sub is contained within s[start:end].</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="format"></a><span class="summary-sig-name">format</span>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">*args</span>,
+        <span class="summary-sig-arg">**kwargs</span>)</span></td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="index"></a><span class="summary-sig-name">index</span>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">sub</span>,
+        <span class="summary-sig-arg">start</span>=<span class="summary-sig-default">... </span>,
+        <span class="summary-sig-arg">end</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Like S.find() but raise ValueError when the substring is not found.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="isalnum"></a><span class="summary-sig-name">isalnum</span>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return True if all characters in S are alphanumeric and there is at 
+      least one character in S, False otherwise.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="isalpha"></a><span class="summary-sig-name">isalpha</span>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return True if all characters in S are alphabetic and there is at 
+      least one character in S, False otherwise.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="isdigit"></a><span class="summary-sig-name">isdigit</span>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return True if all characters in S are digits and there is at least 
+      one character in S, False otherwise.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="islower"></a><span class="summary-sig-name">islower</span>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return True if all cased characters in S are lowercase and there is 
+      at least one cased character in S, False otherwise.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="isspace"></a><span class="summary-sig-name">isspace</span>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return True if all characters in S are whitespace and there is at 
+      least one character in S, False otherwise.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#istitle" class="summary-sig-name">istitle</a>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return True if S is a titlecased string and there is at least one 
+      character in S, i.e.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="isupper"></a><span class="summary-sig-name">isupper</span>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return True if all cased characters in S are uppercase and there is 
+      at least one cased character in S, False otherwise.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#join" class="summary-sig-name">join</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">iterable</span>)</span><br />
+      Return a string which is the concatenation of the strings in the 
+      iterable.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#ljust" class="summary-sig-name">ljust</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">width</span>,
+        <span class="summary-sig-arg">fillchar</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return S left-justified in a string of length width.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="lower"></a><span class="summary-sig-name">lower</span>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return a copy of the string S converted to lowercase.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string or unicode</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#lstrip" class="summary-sig-name">lstrip</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">chars</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return a copy of the string S with leading whitespace removed.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">(head, sep, tail)</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#partition" class="summary-sig-name">partition</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">sep</span>)</span><br />
+      Search for the separator sep in S, and return the part before it, the
+      separator itself, and the part after it.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#replace" class="summary-sig-name">replace</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">old</span>,
+        <span class="summary-sig-arg">new</span>,
+        <span class="summary-sig-arg">count</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return a copy of string S with all occurrences of substring old 
+      replaced by new.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#rfind" class="summary-sig-name">rfind</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">sub</span>,
+        <span class="summary-sig-arg">start</span>=<span class="summary-sig-default">... </span>,
+        <span class="summary-sig-arg">end</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return the highest index in S where substring sub is found, such that
+      sub is contained within s[start:end].</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="rindex"></a><span class="summary-sig-name">rindex</span>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">sub</span>,
+        <span class="summary-sig-arg">start</span>=<span class="summary-sig-default">... </span>,
+        <span class="summary-sig-arg">end</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Like S.rfind() but raise ValueError when the substring is not found.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#rjust" class="summary-sig-name">rjust</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">width</span>,
+        <span class="summary-sig-arg">fillchar</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return S right-justified in a string of length width.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">(head, sep, tail)</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#rpartition" class="summary-sig-name">rpartition</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">sep</span>)</span><br />
+      Search for the separator sep in S, starting at the end of S, and 
+      return the part before it, the separator itself, and the part after 
+      it.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">list of strings</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#rsplit" class="summary-sig-name">rsplit</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">sep</span>=<span class="summary-sig-default">... </span>,
+        <span class="summary-sig-arg">maxsplit</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return a list of the words in the string S, using sep as the 
+      delimiter string, starting at the end of the string and working to 
+      the front.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string or unicode</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#rstrip" class="summary-sig-name">rstrip</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">chars</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return a copy of the string S with trailing whitespace removed.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">list of strings</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#split" class="summary-sig-name">split</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">sep</span>=<span class="summary-sig-default">... </span>,
+        <span class="summary-sig-arg">maxsplit</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return a list of the words in the string S, using sep as the 
+      delimiter string.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">list of strings</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#splitlines" class="summary-sig-name">splitlines</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">keepends</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return a list of the lines in S, breaking at line boundaries.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#startswith" class="summary-sig-name">startswith</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">prefix</span>,
+        <span class="summary-sig-arg">start</span>=<span class="summary-sig-default">...</span>,
+        <span class="summary-sig-arg">end</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return True if S starts with the specified prefix, False otherwise.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string or unicode</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#strip" class="summary-sig-name">strip</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">chars</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return a copy of the string S with leading and trailing whitespace 
+      removed.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="swapcase"></a><span class="summary-sig-name">swapcase</span>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return a copy of the string S with uppercase characters converted to 
+      lowercase and vice versa.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#title" class="summary-sig-name">title</a>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return a titlecased version of S, i.e.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="translate"></a><span class="summary-sig-name">translate</span>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">table</span>,
+        <span class="summary-sig-arg">deletechars</span>=<span class="summary-sig-default">...</span>)</span><br />
+      Return a copy of the string S, where all characters occurring in the 
+      optional argument deletechars are removed, and the remaining 
+      characters have been mapped through the given translation table, 
+      which must be a string of length 256.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="upper"></a><span class="summary-sig-name">upper</span>(<span class="summary-sig-arg">S</span>)</span><br />
+      Return a copy of the string S converted to uppercase.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="str-class.html#zfill" class="summary-sig-name">zfill</a>(<span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">width</span>)</span><br />
+      Pad a numeric string S with zeros on the left, to fill a field of the
+      specified width.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__init__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__setattr__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__format__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__format__</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">format_spec</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>default object formatter</p>
+  <dl class="fields">
+    <dt>Returns: string</dt>
+    <dt>Overrides:
+        object.__format__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__getattribute__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__getattribute__</span>(<span class="sig-arg">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>x.__getattribute__('name') <==> x.name</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__getattribute__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__getslice__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__getslice__</span>(<span class="sig-arg">x</span>,
+        <span class="sig-arg">i</span>,
+        <span class="sig-arg">j</span>)</span>
+    <br /><em class="fname">(Slicling operator)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>x[i:j]</p>
+  <p>Use of negative indices is not supported.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<a name="__hash__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__hash__</span>(<span class="sig-arg">x</span>)</span>
+    <br /><em class="fname">(Hashing function)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>hash(x)</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__hash__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__new__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
+        <span class="sig-arg">S</span>,
+        <span class="sig-arg">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Returns: a new object with type S, a subtype of T</dt>
+    <dt>Overrides:
+        object.__new__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__repr__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">x</span>)</span>
+    <br /><em class="fname">(Representation operator)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>repr(x)</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__repr__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__sizeof__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__sizeof__</span>(<span class="sig-arg">S</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Returns: size of S in memory, in bytes</dt>
+    <dt>Overrides:
+        object.__sizeof__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__str__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">x</span>)</span>
+    <br /><em class="fname">(Informal representation operator)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>str(x)</p>
+  <dl class="fields">
+    <dt>Overrides:
+        object.__str__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="center"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">center</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">width</span>,
+        <span class="sig-arg">fillchar</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return S centered in a string of length width. Padding is done using 
+  the specified fill character (default is a space)</p>
+  <dl class="fields">
+    <dt>Returns: string</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="count"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">count</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">sub</span>,
+        <span class="sig-arg">start</span>=<span class="sig-default">...</span>,
+        <span class="sig-arg">end</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return the number of non-overlapping occurrences of substring sub in 
+  string S[start:end].  Optional arguments start and end are interpreted as
+  in slice notation.</p>
+  <dl class="fields">
+    <dt>Returns: int</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="decode"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">decode</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">encoding</span>=<span class="sig-default">...</span>,
+        <span class="sig-arg">errors</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Decodes S using the codec registered for encoding. encoding defaults 
+  to the default encoding. errors may be given to set a different error 
+  handling scheme. Default is 'strict' meaning that encoding errors raise a
+  UnicodeDecodeError. Other possible values are 'ignore' and 'replace' as 
+  well as any other name registered with codecs.register_error that is able
+  to handle UnicodeDecodeErrors.</p>
+  <dl class="fields">
+    <dt>Returns: object</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="encode"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">encode</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">encoding</span>=<span class="sig-default">...</span>,
+        <span class="sig-arg">errors</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Encodes S using the codec registered for encoding. encoding defaults 
+  to the default encoding. errors may be given to set a different error 
+  handling scheme. Default is 'strict' meaning that encoding errors raise a
+  UnicodeEncodeError. Other possible values are 'ignore', 'replace' and 
+  'xmlcharrefreplace' as well as any other name registered with 
+  codecs.register_error that is able to handle UnicodeEncodeErrors.</p>
+  <dl class="fields">
+    <dt>Returns: object</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="endswith"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">endswith</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">suffix</span>,
+        <span class="sig-arg">start</span>=<span class="sig-default">...</span>,
+        <span class="sig-arg">end</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return True if S ends with the specified suffix, False otherwise. With
+  optional start, test S beginning at that position. With optional end, 
+  stop comparing S at that position. suffix can also be a tuple of strings 
+  to try.</p>
+  <dl class="fields">
+    <dt>Returns: bool</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="expandtabs"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">expandtabs</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">tabsize</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return a copy of S where all tab characters are expanded using spaces.
+  If tabsize is not given, a tab size of 8 characters is assumed.</p>
+  <dl class="fields">
+    <dt>Returns: string</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="find"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">find</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">sub</span>,
+        <span class="sig-arg">start</span>=<span class="sig-default">... </span>,
+        <span class="sig-arg">end</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return the lowest index in S where substring sub is found, such that 
+  sub is contained within s[start:end].  Optional arguments start and end 
+  are interpreted as in slice notation.</p>
+  <p>Return -1 on failure.</p>
+  <dl class="fields">
+    <dt>Returns: int</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="istitle"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">istitle</span>(<span class="sig-arg">S</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return True if S is a titlecased string and there is at least one 
+  character in S, i.e. uppercase characters may only follow uncased 
+  characters and lowercase characters only cased ones. Return False 
+  otherwise.</p>
+  <dl class="fields">
+    <dt>Returns: bool</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="join"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">join</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">iterable</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return a string which is the concatenation of the strings in the 
+  iterable.  The separator between elements is S.</p>
+  <dl class="fields">
+    <dt>Returns: string</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="ljust"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">ljust</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">width</span>,
+        <span class="sig-arg">fillchar</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return S left-justified in a string of length width. Padding is done 
+  using the specified fill character (default is a space).</p>
+  <dl class="fields">
+    <dt>Returns: string</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="lstrip"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">lstrip</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">chars</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return a copy of the string S with leading whitespace removed. If 
+  chars is given and not None, remove characters in chars instead. If chars
+  is unicode, S will be converted to unicode before stripping</p>
+  <dl class="fields">
+    <dt>Returns: string or unicode</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="partition"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">partition</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">sep</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Search for the separator sep in S, and return the part before it, the 
+  separator itself, and the part after it.  If the separator is not found, 
+  return S and two empty strings.</p>
+  <dl class="fields">
+    <dt>Returns: (head, sep, tail)</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="replace"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">replace</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">old</span>,
+        <span class="sig-arg">new</span>,
+        <span class="sig-arg">count</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return a copy of string S with all occurrences of substring old 
+  replaced by new.  If the optional argument count is given, only the first
+  count occurrences are replaced.</p>
+  <dl class="fields">
+    <dt>Returns: string</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="rfind"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">rfind</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">sub</span>,
+        <span class="sig-arg">start</span>=<span class="sig-default">... </span>,
+        <span class="sig-arg">end</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return the highest index in S where substring sub is found, such that 
+  sub is contained within s[start:end].  Optional arguments start and end 
+  are interpreted as in slice notation.</p>
+  <p>Return -1 on failure.</p>
+  <dl class="fields">
+    <dt>Returns: int</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="rjust"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">rjust</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">width</span>,
+        <span class="sig-arg">fillchar</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return S right-justified in a string of length width. Padding is done 
+  using the specified fill character (default is a space)</p>
+  <dl class="fields">
+    <dt>Returns: string</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="rpartition"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">rpartition</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">sep</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Search for the separator sep in S, starting at the end of S, and 
+  return the part before it, the separator itself, and the part after it.  
+  If the separator is not found, return two empty strings and S.</p>
+  <dl class="fields">
+    <dt>Returns: (head, sep, tail)</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="rsplit"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">rsplit</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">sep</span>=<span class="sig-default">... </span>,
+        <span class="sig-arg">maxsplit</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return a list of the words in the string S, using sep as the delimiter
+  string, starting at the end of the string and working to the front.  If 
+  maxsplit is given, at most maxsplit splits are done. If sep is not 
+  specified or is None, any whitespace string is a separator.</p>
+  <dl class="fields">
+    <dt>Returns: list of strings</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="rstrip"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">rstrip</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">chars</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return a copy of the string S with trailing whitespace removed. If 
+  chars is given and not None, remove characters in chars instead. If chars
+  is unicode, S will be converted to unicode before stripping</p>
+  <dl class="fields">
+    <dt>Returns: string or unicode</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="split"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">split</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">sep</span>=<span class="sig-default">... </span>,
+        <span class="sig-arg">maxsplit</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return a list of the words in the string S, using sep as the delimiter
+  string.  If maxsplit is given, at most maxsplit splits are done. If sep 
+  is not specified or is None, any whitespace string is a separator and 
+  empty strings are removed from the result.</p>
+  <dl class="fields">
+    <dt>Returns: list of strings</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="splitlines"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">splitlines</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">keepends</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return a list of the lines in S, breaking at line boundaries. Line 
+  breaks are not included in the resulting list unless keepends is given 
+  and true.</p>
+  <dl class="fields">
+    <dt>Returns: list of strings</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="startswith"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">startswith</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">prefix</span>,
+        <span class="sig-arg">start</span>=<span class="sig-default">...</span>,
+        <span class="sig-arg">end</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return True if S starts with the specified prefix, False otherwise. 
+  With optional start, test S beginning at that position. With optional 
+  end, stop comparing S at that position. prefix can also be a tuple of 
+  strings to try.</p>
+  <dl class="fields">
+    <dt>Returns: bool</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="strip"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">strip</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">chars</span>=<span class="sig-default">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return a copy of the string S with leading and trailing whitespace 
+  removed. If chars is given and not None, remove characters in chars 
+  instead. If chars is unicode, S will be converted to unicode before 
+  stripping</p>
+  <dl class="fields">
+    <dt>Returns: string or unicode</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="title"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">title</span>(<span class="sig-arg">S</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Return a titlecased version of S, i.e. words start with uppercase 
+  characters, all remaining cased characters have lowercase.</p>
+  <dl class="fields">
+    <dt>Returns: string</dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="zfill"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">zfill</span>(<span class="sig-arg">S</span>,
+        <span class="sig-arg">width</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Pad a numeric string S with zeros on the left, to fill a field of the 
+  specified width.  The string S is never truncated.</p>
+  <dl class="fields">
+    <dt>Returns: string</dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>   <a
+        href="fabio-module.html">Home</a>   </th>
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+      <th class="navbar" width="100%"></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Tue Apr 24 09:22:27 2012
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-everything.html b/doc/html/toc-everything.html
new file mode 100644
index 0000000..633eb3c
--- /dev/null
+++ b/doc/html/toc-everything.html
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Everything</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Everything</h1>
+<hr />
+  <h2 class="toc">All Classes</h2>
+    <a target="mainFrame" href="fabio.GEimage.GEimage-class.html"
+     >fabio.GEimage.GEimage</a><br />    <a target="mainFrame" href="fabio.GEimage_old.GEimage-class.html"
+     >fabio.GEimage_old.GEimage</a><br />    <a target="mainFrame" href="fabio.HiPiCimage.HiPiCimage-class.html"
+     >fabio.HiPiCimage.HiPiCimage</a><br />    <a target="mainFrame" href="fabio.OXDimage.OXDimage-class.html"
+     >fabio.OXDimage.OXDimage</a><br />    <a target="mainFrame" href="fabio.OXDimage.Section-class.html"
+     >fabio.OXDimage.Section</a><br />    <a target="mainFrame" href="fabio.TiffIO.TiffIO-class.html"
+     >fabio.TiffIO.TiffIO</a><br />    <a target="mainFrame" href="fabio.adscimage.adscimage-class.html"
+     >fabio.adscimage.adscimage</a><br />    <a target="mainFrame" href="fabio.binaryimage.binaryimage-class.html"
+     >fabio.binaryimage.binaryimage</a><br />    <a target="mainFrame" href="fabio.bruker100image.bruker100image-class.html"
+     >fabio.bruker100image.bruker100image</a><br />    <a target="mainFrame" href="fabio.brukerimage.brukerimage-class.html"
+     >fabio.brukerimage.brukerimage</a><br />    <a target="mainFrame" href="fabio.cbfimage.CIF-class.html"
+     >fabio.cbfimage.CIF</a><br />    <a target="mainFrame" href="fabio.cbfimage.cbfimage-class.html"
+     >fabio.cbfimage.cbfimage</a><br />    <a target="mainFrame" href="fabio.datIO.columnfile-class.html"
+     >fabio.datIO.columnfile</a><br />    <a target="mainFrame" href="fabio.datIO.fabiodata-class.html"
+     >fabio.datIO.fabiodata</a><br />    <a target="mainFrame" href="fabio.dm3image.dm3image-class.html"
+     >fabio.dm3image.dm3image</a><br />    <a target="mainFrame" href="fabio.edfimage.Frame-class.html"
+     >fabio.edfimage.Frame</a><br />    <a target="mainFrame" href="fabio.edfimage.edfimage-class.html"
+     >fabio.edfimage.edfimage</a><br />    <a target="mainFrame" href="fabio.fabioimage.fabioStream-class.html"
+     >fabio.fabioimage.fabioStream</a><br />    <a target="mainFrame" href="fabio.fabioimage.fabioimage-class.html"
+     >fabio.fabioimage.fabioimage</a><br />    <a target="mainFrame" href="fabio.fabioutils.filename_object-class.html"
+     >fabio.fabioutils.filename_object</a><br />    <a target="mainFrame" href="fabio.file_series.file_series-class.html"
+     >fabio.file_series.file_series</a><br />    <a target="mainFrame" href="fabio.file_series.filename_series-class.html"
+     >fabio.file_series.filename_series</a><br />    <a target="mainFrame" href="fabio.file_series.numbered_file_series-class.html"
+     >fabio.file_series.numbered_file_series</a><br />    <a target="mainFrame" href="fabio.fit2dmaskimage.fit2dmaskimage-class.html"
+     >fabio.fit2dmaskimage.fit2dmaskimage</a><br />    <a target="mainFrame" href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html"
+     >fabio.fit2dspreadsheetimage.fit2dspreadsheetimage</a><br />    <a target="mainFrame" href="fabio.kcdimage.kcdimage-class.html"
+     >fabio.kcdimage.kcdimage</a><br />    <a target="mainFrame" href="fabio.mar345image.mar345image-class.html"
+     >fabio.mar345image.mar345image</a><br />    <a target="mainFrame" href="fabio.marccdimage.marccdimage-class.html"
+     >fabio.marccdimage.marccdimage</a><br />    <a target="mainFrame" href="fabio.pilatusimage.pilatusimage-class.html"
+     >fabio.pilatusimage.pilatusimage</a><br />    <a target="mainFrame" href="fabio.pnmimage.pnmimage-class.html"
+     >fabio.pnmimage.pnmimage</a><br />    <a target="mainFrame" href="fabio.tifimage.Image_File_Directory-class.html"
+     >fabio.tifimage.Image_File_Directory</a><br />    <a target="mainFrame" href="fabio.tifimage.Image_File_Directory_entry-class.html"
+     >fabio.tifimage.Image_File_Directory_entry</a><br />    <a target="mainFrame" href="fabio.tifimage.Tiff_header-class.html"
+     >fabio.tifimage.Tiff_header</a><br />    <a target="mainFrame" href="fabio.tifimage.tifimage-class.html"
+     >fabio.tifimage.tifimage</a><br />    <a target="mainFrame" href="fabio.xsdimage.xsdimage-class.html"
+     >fabio.xsdimage.xsdimage</a><br />    <a target="mainFrame" href="str-class.html"
+     >str</a><br />  <h2 class="toc">All Functions</h2>
+    <a target="mainFrame" href="fabio.GEimage-module.html#demo"
+     >fabio.GEimage.demo</a><br />    <a target="mainFrame" href="fabio.adscimage-module.html#test"
+     >fabio.adscimage.test</a><br />    <a target="mainFrame" href="fabio.brukerimage-module.html#test"
+     >fabio.brukerimage.test</a><br />    <a target="mainFrame" href="fabio.cf_io-module.html#read"
+     >fabio.cf_io.read</a><br />    <a target="mainFrame" href="fabio.compression-module.html#compByteOffet_numpy"
+     >fabio.compression.compByteOffet_numpy</a><br />    <a target="mainFrame" href="fabio.compression-module.html#compPCK"
+     >fabio.compression.compPCK</a><br />    <a target="mainFrame" href="fabio.compression-module.html#compTY1"
+     >fabio.compression.compTY1</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decByteOffet_cython"
+     >fabio.compression.decByteOffet_cython</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decByteOffet_numpy"
+     >fabio.compression.decByteOffet_numpy</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decByteOffet_python"
+     >fabio.compression.decByteOffet_python</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decByteOffet_weave"
+     >fabio.compression.decByteOffet_weave</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decBzip2"
+     >fabio.compression.decBzip2</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decGzip"
+     >fabio.compression.decGzip</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decPCK"
+     >fabio.compression.decPCK</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decTY1"
+     >fabio.compression.decTY1</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decZlib"
+     >fabio.compression.decZlib</a><br />    <a target="mainFrame" href="fabio.compression-module.html#endianness"
+     >fabio.compression.endianness</a><br />    <a target="mainFrame" href="fabio.compression-module.html#md5sum"
+     >fabio.compression.md5sum</a><br />    <a target="mainFrame" href="fabio.converters-module.html#convert_data"
+     >fabio.converters.convert_data</a><br />    <a target="mainFrame" href="fabio.converters-module.html#convert_data_integer"
+     >fabio.converters.convert_data_integer</a><br />    <a target="mainFrame" href="fabio.converters-module.html#convert_header"
+     >fabio.converters.convert_header</a><br />    <a target="mainFrame" href="fabio.fabioimage-module.html#test"
+     >fabio.fabioimage.test</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#construct_filename"
+     >fabio.fabioutils.construct_filename</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#deconstruct_filename"
+     >fabio.fabioutils.deconstruct_filename</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#extract_filenumber"
+     >fabio.fabioutils.extract_filenumber</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#getnum"
+     >fabio.fabioutils.getnum</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#isAscii"
+     >fabio.fabioutils.isAscii</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#jump_filename"
+     >fabio.fabioutils.jump_filename</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#next_filename"
+     >fabio.fabioutils.next_filename</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#numstem"
+     >fabio.fabioutils.numstem</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#previous_filename"
+     >fabio.fabioutils.previous_filename</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#toAscii"
+     >fabio.fabioutils.toAscii</a><br />    <a target="mainFrame" href="fabio.file_series-module.html#new_file_series"
+     >fabio.file_series.new_file_series</a><br />    <a target="mainFrame" href="fabio.file_series-module.html#new_file_series0"
+     >fabio.file_series.new_file_series0</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#interpret_header"
+     >fabio.marccdimage.interpret_header</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#make_format"
+     >fabio.marccdimage.make_format</a><br />  <div class="private">
+    <a target="mainFrame" href="fabio.openimage-module.html#_openimage"
+     >fabio.openimage._openimage</a><br />  </div>
+    <a target="mainFrame" href="fabio.openimage-module.html#do_magic"
+     >fabio.openimage.do_magic</a><br />    <a target="mainFrame" href="fabio.openimage-module.html#openheader"
+     >fabio.openimage.openheader</a><br />    <a target="mainFrame" href="fabio.openimage-module.html#openimage"
+     >fabio.openimage.openimage</a><br />    <a target="mainFrame" href="fabio.readbytestream-module.html#readbytestream"
+     >fabio.readbytestream.readbytestream</a><br />  <h2 class="toc">All Variables</h2>
+    <a target="mainFrame" href="fabio.GEimage-module.html#GE_HEADER_INFO"
+     >fabio.GEimage.GE_HEADER_INFO</a><br />    <a target="mainFrame" href="fabio.GEimage-module.html#__package__"
+     >fabio.GEimage.__package__</a><br />    <a target="mainFrame" href="fabio.GEimage-module.html#logger"
+     >fabio.GEimage.logger</a><br />    <a target="mainFrame" href="fabio.GEimage_old-module.html#__package__"
+     >fabio.GEimage_old.__package__</a><br />    <a target="mainFrame" href="fabio.HiPiCimage-module.html#__package__"
+     >fabio.HiPiCimage.__package__</a><br />    <a target="mainFrame" href="fabio.HiPiCimage-module.html#logger"
+     >fabio.HiPiCimage.logger</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#DEFAULT_HEADERS"
+     >fabio.OXDimage.DEFAULT_HEADERS</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#DETECTOR_TYPES"
+     >fabio.OXDimage.DETECTOR_TYPES</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#__doc__"
+     >fabio.OXDimage.__doc__</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#__package__"
+     >fabio.OXDimage.__package__</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#deg2rad"
+     >fabio.OXDimage.deg2rad</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#logger"
+     >fabio.OXDimage.logger</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#rad2deg"
+     >fabio.OXDimage.rad2deg</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#ALLOW_MULTIPLE_STRIPS"
+     >fabio.TiffIO.ALLOW_MULTIPLE_STRIPS</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#DEBUG"
+     >fabio.TiffIO.DEBUG</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#FIELD_TYPE"
+     >fabio.TiffIO.FIELD_TYPE</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#FIELD_TYPE_OUT"
+     >fabio.TiffIO.FIELD_TYPE_OUT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_COMPLEXIEEEFP"
+     >fabio.TiffIO.SAMPLE_FORMAT_COMPLEXIEEEFP</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_COMPLEXINT"
+     >fabio.TiffIO.SAMPLE_FORMAT_COMPLEXINT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_FLOAT"
+     >fabio.TiffIO.SAMPLE_FORMAT_FLOAT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_INT"
+     >fabio.TiffIO.SAMPLE_FORMAT_INT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_UINT"
+     >fabio.TiffIO.SAMPLE_FORMAT_UINT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_VOID"
+     >fabio.TiffIO.SAMPLE_FORMAT_VOID</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_BITS_PER_SAMPLE"
+     >fabio.TiffIO.TAG_BITS_PER_SAMPLE</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_COLORMAP"
+     >fabio.TiffIO.TAG_COLORMAP</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_COMPRESSION"
+     >fabio.TiffIO.TAG_COMPRESSION</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_DATE"
+     >fabio.TiffIO.TAG_DATE</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_ID"
+     >fabio.TiffIO.TAG_ID</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_IMAGE_DESCRIPTION"
+     >fabio.TiffIO.TAG_IMAGE_DESCRIPTION</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_NUMBER_OF_COLUMNS"
+     >fabio.TiffIO.TAG_NUMBER_OF_COLUMNS</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_NUMBER_OF_ROWS"
+     >fabio.TiffIO.TAG_NUMBER_OF_ROWS</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_PHOTOMETRIC_INTERPRETATION"
+     >fabio.TiffIO.TAG_PHOTOMETRIC_INTERPRETATION</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_ROWS_PER_STRIP"
+     >fabio.TiffIO.TAG_ROWS_PER_STRIP</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_SAMPLE_FORMAT"
+     >fabio.TiffIO.TAG_SAMPLE_FORMAT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_SOFTWARE"
+     >fabio.TiffIO.TAG_SOFTWARE</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_STRIP_BYTE_COUNTS"
+     >fabio.TiffIO.TAG_STRIP_BYTE_COUNTS</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_STRIP_OFFSETS"
+     >fabio.TiffIO.TAG_STRIP_OFFSETS</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#__package__"
+     >fabio.TiffIO.__package__</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#__revision__"
+     >fabio.TiffIO.__revision__</a><br />    <a target="mainFrame" href="fabio-module.html#__package__"
+     >fabio.__package__</a><br />    <a target="mainFrame" href="fabio.adscimage-module.html#__package__"
+     >fabio.adscimage.__package__</a><br />    <a target="mainFrame" href="fabio.adscimage-module.html#logger"
+     >fabio.adscimage.logger</a><br />    <a target="mainFrame" href="fabio.binaryimage-module.html#__doc__"
+     >fabio.binaryimage.__doc__</a><br />    <a target="mainFrame" href="fabio.binaryimage-module.html#__package__"
+     >fabio.binaryimage.__package__</a><br />    <a target="mainFrame" href="fabio.binaryimage-module.html#logger"
+     >fabio.binaryimage.logger</a><br />    <a target="mainFrame" href="fabio.bruker100image-module.html#__package__"
+     >fabio.bruker100image.__package__</a><br />    <a target="mainFrame" href="fabio.bruker100image-module.html#logger"
+     >fabio.bruker100image.logger</a><br />    <a target="mainFrame" href="fabio.brukerimage-module.html#__package__"
+     >fabio.brukerimage.__package__</a><br />    <a target="mainFrame" href="fabio.brukerimage-module.html#logger"
+     >fabio.brukerimage.logger</a><br />    <a target="mainFrame" href="fabio.byte_offset-module.html#__package__"
+     >fabio.byte_offset.__package__</a><br />    <a target="mainFrame" href="fabio.byte_offset-module.html#__test__"
+     >fabio.byte_offset.__test__</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#DATA_TYPES"
+     >fabio.cbfimage.DATA_TYPES</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#MINIMUM_KEYS"
+     >fabio.cbfimage.MINIMUM_KEYS</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#PADDING"
+     >fabio.cbfimage.PADDING</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#STARTER"
+     >fabio.cbfimage.STARTER</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#__package__"
+     >fabio.cbfimage.__package__</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#logger"
+     >fabio.cbfimage.logger</a><br />    <a target="mainFrame" href="fabio.cf_io-module.html#__package__"
+     >fabio.cf_io.__package__</a><br />    <a target="mainFrame" href="fabio.compression-module.html#__package__"
+     >fabio.compression.__package__</a><br />    <a target="mainFrame" href="fabio.compression-module.html#logger"
+     >fabio.compression.logger</a><br />    <a target="mainFrame" href="fabio.converters-module.html#CONVERSION_DATA"
+     >fabio.converters.CONVERSION_DATA</a><br />    <a target="mainFrame" href="fabio.converters-module.html#CONVERSION_HEADER"
+     >fabio.converters.CONVERSION_HEADER</a><br />    <a target="mainFrame" href="fabio.converters-module.html#__package__"
+     >fabio.converters.__package__</a><br />    <a target="mainFrame" href="fabio.converters-module.html#logger"
+     >fabio.converters.logger</a><br />    <a target="mainFrame" href="fabio.datIO-module.html#__package__"
+     >fabio.datIO.__package__</a><br />    <a target="mainFrame" href="fabio.dm3image-module.html#DATA_BYTES"
+     >fabio.dm3image.DATA_BYTES</a><br />    <a target="mainFrame" href="fabio.dm3image-module.html#DATA_TYPES"
+     >fabio.dm3image.DATA_TYPES</a><br />    <a target="mainFrame" href="fabio.dm3image-module.html#__package__"
+     >fabio.dm3image.__package__</a><br />    <a target="mainFrame" href="fabio.dm3image-module.html#logger"
+     >fabio.dm3image.logger</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#BLOCKSIZE"
+     >fabio.edfimage.BLOCKSIZE</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#DATA_TYPES"
+     >fabio.edfimage.DATA_TYPES</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#DEFAULT_VALUES"
+     >fabio.edfimage.DEFAULT_VALUES</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#MINIMUM_KEYS"
+     >fabio.edfimage.MINIMUM_KEYS</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#NUMPY_EDF_DTYPE"
+     >fabio.edfimage.NUMPY_EDF_DTYPE</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#__package__"
+     >fabio.edfimage.__package__</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#logger"
+     >fabio.edfimage.logger</a><br />    <a target="mainFrame" href="fabio.fabioimage-module.html#__package__"
+     >fabio.fabioimage.__package__</a><br />    <a target="mainFrame" href="fabio.fabioimage-module.html#logger"
+     >fabio.fabioimage.logger</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#COMPRESSORS"
+     >fabio.fabioutils.COMPRESSORS</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#FILETYPES"
+     >fabio.fabioutils.FILETYPES</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#__package__"
+     >fabio.fabioutils.__package__</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#dictAscii"
+     >fabio.fabioutils.dictAscii</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#i"
+     >fabio.fabioutils.i</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#key"
+     >fabio.fabioutils.key</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#lines"
+     >fabio.fabioutils.lines</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#logger"
+     >fabio.fabioutils.logger</a><br />    <a target="mainFrame" href="fabio.file_series-module.html#__package__"
+     >fabio.file_series.__package__</a><br />    <a target="mainFrame" href="fabio.file_series-module.html#logger"
+     >fabio.file_series.logger</a><br />    <a target="mainFrame" href="fabio.fit2dmaskimage-module.html#__package__"
+     >fabio.fit2dmaskimage.__package__</a><br />    <a target="mainFrame" href="fabio.fit2dspreadsheetimage-module.html#__package__"
+     >fabio.fit2dspreadsheetimage.__package__</a><br />    <a target="mainFrame" href="fabio.kcdimage-module.html#DATA_TYPES"
+     >fabio.kcdimage.DATA_TYPES</a><br />    <a target="mainFrame" href="fabio.kcdimage-module.html#DEFAULT_VALUES"
+     >fabio.kcdimage.DEFAULT_VALUES</a><br />    <a target="mainFrame" href="fabio.kcdimage-module.html#MINIMUM_KEYS"
+     >fabio.kcdimage.MINIMUM_KEYS</a><br />    <a target="mainFrame" href="fabio.kcdimage-module.html#__package__"
+     >fabio.kcdimage.__package__</a><br />    <a target="mainFrame" href="fabio.kcdimage-module.html#logger"
+     >fabio.kcdimage.logger</a><br />    <a target="mainFrame" href="fabio.mar345_IO-module.html#__package__"
+     >fabio.mar345_IO.__package__</a><br />    <a target="mainFrame" href="fabio.mar345_IO-module.html#__test__"
+     >fabio.mar345_IO.__test__</a><br />    <a target="mainFrame" href="fabio.mar345image-module.html#__doc__"
+     >fabio.mar345image.__doc__</a><br />    <a target="mainFrame" href="fabio.mar345image-module.html#__package__"
+     >fabio.mar345image.__package__</a><br />    <a target="mainFrame" href="fabio.mar345image-module.html#logger"
+     >fabio.mar345image.logger</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#CDEFINITION"
+     >fabio.marccdimage.CDEFINITION</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#C_SIZES"
+     >fabio.marccdimage.C_SIZES</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#C_TO_STRUCT"
+     >fabio.marccdimage.C_TO_STRUCT</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#HEADER_FORMAT"
+     >fabio.marccdimage.HEADER_FORMAT</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#HEADER_NAMES"
+     >fabio.marccdimage.HEADER_NAMES</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#MAXIMAGES"
+     >fabio.marccdimage.MAXIMAGES</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#__package__"
+     >fabio.marccdimage.__package__</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#logger"
+     >fabio.marccdimage.logger</a><br />    <a target="mainFrame" href="fabio.openimage-module.html#MAGIC_NUMBERS"
+     >fabio.openimage.MAGIC_NUMBERS</a><br />    <a target="mainFrame" href="fabio.openimage-module.html#__package__"
+     >fabio.openimage.__package__</a><br />    <a target="mainFrame" href="fabio.openimage-module.html#logger"
+     >fabio.openimage.logger</a><br />    <a target="mainFrame" href="fabio.pilatusimage-module.html#__package__"
+     >fabio.pilatusimage.__package__</a><br />    <a target="mainFrame" href="fabio.pnmimage-module.html#HEADERITEMS"
+     >fabio.pnmimage.HEADERITEMS</a><br />    <a target="mainFrame" href="fabio.pnmimage-module.html#P7HEADERITEMS"
+     >fabio.pnmimage.P7HEADERITEMS</a><br />    <a target="mainFrame" href="fabio.pnmimage-module.html#SUBFORMATS"
+     >fabio.pnmimage.SUBFORMATS</a><br />    <a target="mainFrame" href="fabio.pnmimage-module.html#__package__"
+     >fabio.pnmimage.__package__</a><br />    <a target="mainFrame" href="fabio.pnmimage-module.html#logger"
+     >fabio.pnmimage.logger</a><br />    <a target="mainFrame" href="fabio.readbytestream-module.html#DATATYPES"
+     >fabio.readbytestream.DATATYPES</a><br />    <a target="mainFrame" href="fabio.readbytestream-module.html#__package__"
+     >fabio.readbytestream.__package__</a><br />    <a target="mainFrame" href="fabio.readbytestream-module.html#logger"
+     >fabio.readbytestream.logger</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#BIG_ENDIAN"
+     >fabio.tifimage.BIG_ENDIAN</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#LITTLE_ENDIAN"
+     >fabio.tifimage.LITTLE_ENDIAN</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#PIL_TO_NUMPY"
+     >fabio.tifimage.PIL_TO_NUMPY</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#TYPES"
+     >fabio.tifimage.TYPES</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#TYPESIZES"
+     >fabio.tifimage.TYPESIZES</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#__package__"
+     >fabio.tifimage.__package__</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#baseline_tiff_tags"
+     >fabio.tifimage.baseline_tiff_tags</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#logger"
+     >fabio.tifimage.logger</a><br />    <a target="mainFrame" href="fabio-module.html#version"
+     >fabio.version</a><br />    <a target="mainFrame" href="fabio.xsdimage-module.html#__package__"
+     >fabio.xsdimage.__package__</a><br />    <a target="mainFrame" href="fabio.xsdimage-module.html#logger"
+     >fabio.xsdimage.logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio-module.html b/doc/html/toc-fabio-module.html
new file mode 100644
index 0000000..4edd786
--- /dev/null
+++ b/doc/html/toc-fabio-module.html
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabio</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module fabio</h1>
+<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio-module.html#version"
+     >version</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.GEimage-module.html b/doc/html/toc-fabio.GEimage-module.html
new file mode 100644
index 0000000..bc6d60b
--- /dev/null
+++ b/doc/html/toc-fabio.GEimage-module.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>GEimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module GEimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.GEimage.GEimage-class.html"
+     >GEimage</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.GEimage-module.html#demo"
+     >demo</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.GEimage-module.html#GE_HEADER_INFO"
+     >GE_HEADER_INFO</a><br />    <a target="mainFrame" href="fabio.GEimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.GEimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.GEimage_old-module.html b/doc/html/toc-fabio.GEimage_old-module.html
new file mode 100644
index 0000000..28f09b6
--- /dev/null
+++ b/doc/html/toc-fabio.GEimage_old-module.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>GEimage_old</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module GEimage_old</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.GEimage_old.GEimage-class.html"
+     >GEimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.GEimage_old-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.HiPiCimage-module.html b/doc/html/toc-fabio.HiPiCimage-module.html
new file mode 100644
index 0000000..cc5c419
--- /dev/null
+++ b/doc/html/toc-fabio.HiPiCimage-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>HiPiCimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module HiPiCimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.HiPiCimage.HiPiCimage-class.html"
+     >HiPiCimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.HiPiCimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.HiPiCimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.OXDimage-module.html b/doc/html/toc-fabio.OXDimage-module.html
new file mode 100644
index 0000000..9b84e5a
--- /dev/null
+++ b/doc/html/toc-fabio.OXDimage-module.html
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>OXDimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module OXDimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.OXDimage.OXDimage-class.html"
+     >OXDimage</a><br />    <a target="mainFrame" href="fabio.OXDimage.Section-class.html"
+     >Section</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.OXDimage-module.html#DEFAULT_HEADERS"
+     >DEFAULT_HEADERS</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#DETECTOR_TYPES"
+     >DETECTOR_TYPES</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#__doc__"
+     >__doc__</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#deg2rad"
+     >deg2rad</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#logger"
+     >logger</a><br />    <a target="mainFrame" href="fabio.OXDimage-module.html#rad2deg"
+     >rad2deg</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.TiffIO-module.html b/doc/html/toc-fabio.TiffIO-module.html
new file mode 100644
index 0000000..12e2d56
--- /dev/null
+++ b/doc/html/toc-fabio.TiffIO-module.html
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>TiffIO</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module TiffIO</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.TiffIO.TiffIO-class.html"
+     >TiffIO</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.TiffIO-module.html#ALLOW_MULTIPLE_STRIPS"
+     >ALLOW_MULTIPLE_STRIPS</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#DEBUG"
+     >DEBUG</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#FIELD_TYPE"
+     >FIELD_TYPE</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#FIELD_TYPE_OUT"
+     >FIELD_TYPE_OUT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_COMPLEXIEEEFP"
+     >SAMPLE_FORMAT_COMPLEXIEEEFP</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_COMPLEXINT"
+     >SAMPLE_FORMAT_COMPLEXINT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_FLOAT"
+     >SAMPLE_FORMAT_FLOAT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_INT"
+     >SAMPLE_FORMAT_INT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_UINT"
+     >SAMPLE_FORMAT_UINT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#SAMPLE_FORMAT_VOID"
+     >SAMPLE_FORMAT_VOID</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_BITS_PER_SAMPLE"
+     >TAG_BITS_PER_SAMPLE</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_COLORMAP"
+     >TAG_COLORMAP</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_COMPRESSION"
+     >TAG_COMPRESSION</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_DATE"
+     >TAG_DATE</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_ID"
+     >TAG_ID</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_IMAGE_DESCRIPTION"
+     >TAG_IMAGE_DESCRIPTION</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_NUMBER_OF_COLUMNS"
+     >TAG_NUMBER_OF_COLUMNS</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_NUMBER_OF_ROWS"
+     >TAG_NUMBER_OF_ROWS</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_PHOTOMETRIC_INTERPRETATION"
+     >TAG_PHOTOMETRIC_INTERPRETATION</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_ROWS_PER_STRIP"
+     >TAG_ROWS_PER_STRIP</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_SAMPLE_FORMAT"
+     >TAG_SAMPLE_FORMAT</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_SOFTWARE"
+     >TAG_SOFTWARE</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_STRIP_BYTE_COUNTS"
+     >TAG_STRIP_BYTE_COUNTS</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#TAG_STRIP_OFFSETS"
+     >TAG_STRIP_OFFSETS</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.TiffIO-module.html#__revision__"
+     >__revision__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.adscimage-module.html b/doc/html/toc-fabio.adscimage-module.html
new file mode 100644
index 0000000..c837781
--- /dev/null
+++ b/doc/html/toc-fabio.adscimage-module.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>adscimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module adscimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.adscimage.adscimage-class.html"
+     >adscimage</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.adscimage-module.html#test"
+     >test</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.adscimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.adscimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.binaryimage-module.html b/doc/html/toc-fabio.binaryimage-module.html
new file mode 100644
index 0000000..489969f
--- /dev/null
+++ b/doc/html/toc-fabio.binaryimage-module.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>binaryimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module binaryimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.binaryimage.binaryimage-class.html"
+     >binaryimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.binaryimage-module.html#__doc__"
+     >__doc__</a><br />    <a target="mainFrame" href="fabio.binaryimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.binaryimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.bruker100image-module.html b/doc/html/toc-fabio.bruker100image-module.html
new file mode 100644
index 0000000..32be6de
--- /dev/null
+++ b/doc/html/toc-fabio.bruker100image-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>bruker100image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module bruker100image</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.bruker100image.bruker100image-class.html"
+     >bruker100image</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.bruker100image-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.bruker100image-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.brukerimage-module.html b/doc/html/toc-fabio.brukerimage-module.html
new file mode 100644
index 0000000..2a4c0f2
--- /dev/null
+++ b/doc/html/toc-fabio.brukerimage-module.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>brukerimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module brukerimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.brukerimage.brukerimage-class.html"
+     >brukerimage</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.brukerimage-module.html#test"
+     >test</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.brukerimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.brukerimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.byte_offset-module.html b/doc/html/toc-fabio.byte_offset-module.html
new file mode 100644
index 0000000..11fc7d1
--- /dev/null
+++ b/doc/html/toc-fabio.byte_offset-module.html
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>byte_offset</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module byte_offset</h1>
+<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.byte_offset-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.byte_offset-module.html#__test__"
+     >__test__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.cbfimage-module.html b/doc/html/toc-fabio.cbfimage-module.html
new file mode 100644
index 0000000..e6ccd0b
--- /dev/null
+++ b/doc/html/toc-fabio.cbfimage-module.html
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>cbfimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module cbfimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.cbfimage.CIF-class.html"
+     >CIF</a><br />    <a target="mainFrame" href="fabio.cbfimage.cbfimage-class.html"
+     >cbfimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.cbfimage-module.html#DATA_TYPES"
+     >DATA_TYPES</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#MINIMUM_KEYS"
+     >MINIMUM_KEYS</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#PADDING"
+     >PADDING</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#STARTER"
+     >STARTER</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.cbfimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.cf_io-module.html b/doc/html/toc-fabio.cf_io-module.html
new file mode 100644
index 0000000..ca8b439
--- /dev/null
+++ b/doc/html/toc-fabio.cf_io-module.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>cf_io</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module cf_io</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.cf_io-module.html#read"
+     >read</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.cf_io-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.compression-module.html b/doc/html/toc-fabio.compression-module.html
new file mode 100644
index 0000000..cf6c258
--- /dev/null
+++ b/doc/html/toc-fabio.compression-module.html
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>compression</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module compression</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="str-class.html"
+     >str</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.compression-module.html#compByteOffet_numpy"
+     >compByteOffet_numpy</a><br />    <a target="mainFrame" href="fabio.compression-module.html#compPCK"
+     >compPCK</a><br />    <a target="mainFrame" href="fabio.compression-module.html#compTY1"
+     >compTY1</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decByteOffet_cython"
+     >decByteOffet_cython</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decByteOffet_numpy"
+     >decByteOffet_numpy</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decByteOffet_python"
+     >decByteOffet_python</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decByteOffet_weave"
+     >decByteOffet_weave</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decBzip2"
+     >decBzip2</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decGzip"
+     >decGzip</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decKM4CCD"
+     >decKM4CCD</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decPCK"
+     >decPCK</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decTY1"
+     >decTY1</a><br />    <a target="mainFrame" href="fabio.compression-module.html#decZlib"
+     >decZlib</a><br />    <a target="mainFrame" href="fabio.compression-module.html#endianness"
+     >endianness</a><br />    <a target="mainFrame" href="fabio.compression-module.html#md5sum"
+     >md5sum</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.compression-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.compression-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.converters-module.html b/doc/html/toc-fabio.converters-module.html
new file mode 100644
index 0000000..f6a6929
--- /dev/null
+++ b/doc/html/toc-fabio.converters-module.html
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>converters</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module converters</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.converters-module.html#convert_data"
+     >convert_data</a><br />    <a target="mainFrame" href="fabio.converters-module.html#convert_data_integer"
+     >convert_data_integer</a><br />    <a target="mainFrame" href="fabio.converters-module.html#convert_header"
+     >convert_header</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.converters-module.html#CONVERSION_DATA"
+     >CONVERSION_DATA</a><br />    <a target="mainFrame" href="fabio.converters-module.html#CONVERSION_HEADER"
+     >CONVERSION_HEADER</a><br />    <a target="mainFrame" href="fabio.converters-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.converters-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.datIO-module.html b/doc/html/toc-fabio.datIO-module.html
new file mode 100644
index 0000000..375065c
--- /dev/null
+++ b/doc/html/toc-fabio.datIO-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>datIO</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module datIO</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.datIO.columnfile-class.html"
+     >columnfile</a><br />    <a target="mainFrame" href="fabio.datIO.fabiodata-class.html"
+     >fabiodata</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.datIO-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.dm3image-module.html b/doc/html/toc-fabio.dm3image-module.html
new file mode 100644
index 0000000..9a3d539
--- /dev/null
+++ b/doc/html/toc-fabio.dm3image-module.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>dm3image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module dm3image</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.dm3image.dm3image-class.html"
+     >dm3image</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.dm3image-module.html#DATA_BYTES"
+     >DATA_BYTES</a><br />    <a target="mainFrame" href="fabio.dm3image-module.html#DATA_TYPES"
+     >DATA_TYPES</a><br />    <a target="mainFrame" href="fabio.dm3image-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.dm3image-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.edfimage-module.html b/doc/html/toc-fabio.edfimage-module.html
new file mode 100644
index 0000000..7605ba3
--- /dev/null
+++ b/doc/html/toc-fabio.edfimage-module.html
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>edfimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module edfimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.edfimage.Frame-class.html"
+     >Frame</a><br />    <a target="mainFrame" href="fabio.edfimage.edfimage-class.html"
+     >edfimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.edfimage-module.html#BLOCKSIZE"
+     >BLOCKSIZE</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#DATA_TYPES"
+     >DATA_TYPES</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#DEFAULT_VALUES"
+     >DEFAULT_VALUES</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#MINIMUM_KEYS"
+     >MINIMUM_KEYS</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#NUMPY_EDF_DTYPE"
+     >NUMPY_EDF_DTYPE</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.edfimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.fabioimage-module.html b/doc/html/toc-fabio.fabioimage-module.html
new file mode 100644
index 0000000..8534cbb
--- /dev/null
+++ b/doc/html/toc-fabio.fabioimage-module.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabioimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module fabioimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.fabioimage.fabioStream-class.html"
+     >fabioStream</a><br />    <a target="mainFrame" href="fabio.fabioimage.fabioimage-class.html"
+     >fabioimage</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.fabioimage-module.html#test"
+     >test</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.fabioimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.fabioimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.fabioutils-module.html b/doc/html/toc-fabio.fabioutils-module.html
new file mode 100644
index 0000000..946d52b
--- /dev/null
+++ b/doc/html/toc-fabio.fabioutils-module.html
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fabioutils</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module fabioutils</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.fabioutils.filename_object-class.html"
+     >filename_object</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.fabioutils-module.html#construct_filename"
+     >construct_filename</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#deconstruct_filename"
+     >deconstruct_filename</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#extract_filenumber"
+     >extract_filenumber</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#getnum"
+     >getnum</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#isAscii"
+     >isAscii</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#jump_filename"
+     >jump_filename</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#next_filename"
+     >next_filename</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#numstem"
+     >numstem</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#previous_filename"
+     >previous_filename</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#toAscii"
+     >toAscii</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.fabioutils-module.html#COMPRESSORS"
+     >COMPRESSORS</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#FILETYPES"
+     >FILETYPES</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#dictAscii"
+     >dictAscii</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#i"
+     >i</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#key"
+     >key</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#lines"
+     >lines</a><br />    <a target="mainFrame" href="fabio.fabioutils-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.file_series-module.html b/doc/html/toc-fabio.file_series-module.html
new file mode 100644
index 0000000..f847eeb
--- /dev/null
+++ b/doc/html/toc-fabio.file_series-module.html
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>file_series</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module file_series</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.file_series.file_series-class.html"
+     >file_series</a><br />    <a target="mainFrame" href="fabio.file_series.filename_series-class.html"
+     >filename_series</a><br />    <a target="mainFrame" href="fabio.file_series.numbered_file_series-class.html"
+     >numbered_file_series</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.file_series-module.html#new_file_series"
+     >new_file_series</a><br />    <a target="mainFrame" href="fabio.file_series-module.html#new_file_series0"
+     >new_file_series0</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.file_series-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.file_series-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.fit2dmaskimage-module.html b/doc/html/toc-fabio.fit2dmaskimage-module.html
new file mode 100644
index 0000000..119c864
--- /dev/null
+++ b/doc/html/toc-fabio.fit2dmaskimage-module.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fit2dmaskimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module fit2dmaskimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.fit2dmaskimage.fit2dmaskimage-class.html"
+     >fit2dmaskimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.fit2dmaskimage-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.fit2dspreadsheetimage-module.html b/doc/html/toc-fabio.fit2dspreadsheetimage-module.html
new file mode 100644
index 0000000..51801c4
--- /dev/null
+++ b/doc/html/toc-fabio.fit2dspreadsheetimage-module.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>fit2dspreadsheetimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module fit2dspreadsheetimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html"
+     >fit2dspreadsheetimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.fit2dspreadsheetimage-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.kcdimage-module.html b/doc/html/toc-fabio.kcdimage-module.html
new file mode 100644
index 0000000..1b0d855
--- /dev/null
+++ b/doc/html/toc-fabio.kcdimage-module.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>kcdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module kcdimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.kcdimage.kcdimage-class.html"
+     >kcdimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.kcdimage-module.html#DATA_TYPES"
+     >DATA_TYPES</a><br />    <a target="mainFrame" href="fabio.kcdimage-module.html#DEFAULT_VALUES"
+     >DEFAULT_VALUES</a><br />    <a target="mainFrame" href="fabio.kcdimage-module.html#MINIMUM_KEYS"
+     >MINIMUM_KEYS</a><br />    <a target="mainFrame" href="fabio.kcdimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.kcdimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.mar345_IO-module.html b/doc/html/toc-fabio.mar345_IO-module.html
new file mode 100644
index 0000000..4cd76e4
--- /dev/null
+++ b/doc/html/toc-fabio.mar345_IO-module.html
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>mar345_IO</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module mar345_IO</h1>
+<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.mar345_IO-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.mar345_IO-module.html#__test__"
+     >__test__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.mar345image-module.html b/doc/html/toc-fabio.mar345image-module.html
new file mode 100644
index 0000000..2144ac2
--- /dev/null
+++ b/doc/html/toc-fabio.mar345image-module.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>mar345image</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module mar345image</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.mar345image.mar345image-class.html"
+     >mar345image</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.mar345image-module.html#__doc__"
+     >__doc__</a><br />    <a target="mainFrame" href="fabio.mar345image-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.mar345image-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.marccdimage-module.html b/doc/html/toc-fabio.marccdimage-module.html
new file mode 100644
index 0000000..d2286c3
--- /dev/null
+++ b/doc/html/toc-fabio.marccdimage-module.html
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>marccdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module marccdimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.marccdimage.marccdimage-class.html"
+     >marccdimage</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.marccdimage-module.html#interpret_header"
+     >interpret_header</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#make_format"
+     >make_format</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.marccdimage-module.html#CDEFINITION"
+     >CDEFINITION</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#C_SIZES"
+     >C_SIZES</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#C_TO_STRUCT"
+     >C_TO_STRUCT</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#HEADER_FORMAT"
+     >HEADER_FORMAT</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#HEADER_NAMES"
+     >HEADER_NAMES</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#MAXIMAGES"
+     >MAXIMAGES</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.marccdimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.openimage-module.html b/doc/html/toc-fabio.openimage-module.html
new file mode 100644
index 0000000..bf07e0a
--- /dev/null
+++ b/doc/html/toc-fabio.openimage-module.html
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>openimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module openimage</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+  <div class="private">
+    <a target="mainFrame" href="fabio.openimage-module.html#_openimage"
+     >_openimage</a><br />  </div>
+    <a target="mainFrame" href="fabio.openimage-module.html#do_magic"
+     >do_magic</a><br />    <a target="mainFrame" href="fabio.openimage-module.html#openheader"
+     >openheader</a><br />    <a target="mainFrame" href="fabio.openimage-module.html#openimage"
+     >openimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.openimage-module.html#MAGIC_NUMBERS"
+     >MAGIC_NUMBERS</a><br />    <a target="mainFrame" href="fabio.openimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.openimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.pilatusimage-module.html b/doc/html/toc-fabio.pilatusimage-module.html
new file mode 100644
index 0000000..98c2a52
--- /dev/null
+++ b/doc/html/toc-fabio.pilatusimage-module.html
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>pilatusimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module pilatusimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.pilatusimage.pilatusimage-class.html"
+     >pilatusimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.pilatusimage-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.pnmimage-module.html b/doc/html/toc-fabio.pnmimage-module.html
new file mode 100644
index 0000000..71b6a0d
--- /dev/null
+++ b/doc/html/toc-fabio.pnmimage-module.html
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>pnmimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module pnmimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.pnmimage.pnmimage-class.html"
+     >pnmimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.pnmimage-module.html#HEADERITEMS"
+     >HEADERITEMS</a><br />    <a target="mainFrame" href="fabio.pnmimage-module.html#P7HEADERITEMS"
+     >P7HEADERITEMS</a><br />    <a target="mainFrame" href="fabio.pnmimage-module.html#SUBFORMATS"
+     >SUBFORMATS</a><br />    <a target="mainFrame" href="fabio.pnmimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.pnmimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.readbytestream-module.html b/doc/html/toc-fabio.readbytestream-module.html
new file mode 100644
index 0000000..b62c3c8
--- /dev/null
+++ b/doc/html/toc-fabio.readbytestream-module.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>readbytestream</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module readbytestream</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="fabio.readbytestream-module.html#readbytestream"
+     >readbytestream</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.readbytestream-module.html#DATATYPES"
+     >DATATYPES</a><br />    <a target="mainFrame" href="fabio.readbytestream-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.readbytestream-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.tifimage-module.html b/doc/html/toc-fabio.tifimage-module.html
new file mode 100644
index 0000000..775d3af
--- /dev/null
+++ b/doc/html/toc-fabio.tifimage-module.html
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>tifimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module tifimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.tifimage.Image_File_Directory-class.html"
+     >Image_File_Directory</a><br />    <a target="mainFrame" href="fabio.tifimage.Image_File_Directory_entry-class.html"
+     >Image_File_Directory_entry</a><br />    <a target="mainFrame" href="fabio.tifimage.Tiff_header-class.html"
+     >Tiff_header</a><br />    <a target="mainFrame" href="fabio.tifimage.tifimage-class.html"
+     >tifimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.tifimage-module.html#BIG_ENDIAN"
+     >BIG_ENDIAN</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#LITTLE_ENDIAN"
+     >LITTLE_ENDIAN</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#PIL_TO_NUMPY"
+     >PIL_TO_NUMPY</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#TYPES"
+     >TYPES</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#TYPESIZES"
+     >TYPESIZES</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#baseline_tiff_tags"
+     >baseline_tiff_tags</a><br />    <a target="mainFrame" href="fabio.tifimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc-fabio.xsdimage-module.html b/doc/html/toc-fabio.xsdimage-module.html
new file mode 100644
index 0000000..e01dfc3
--- /dev/null
+++ b/doc/html/toc-fabio.xsdimage-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>xsdimage</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module xsdimage</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="fabio.xsdimage.xsdimage-class.html"
+     >xsdimage</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="fabio.xsdimage-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="fabio.xsdimage-module.html#logger"
+     >logger</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/html/toc.html b/doc/html/toc.html
new file mode 100644
index 0000000..54acdda
--- /dev/null
+++ b/doc/html/toc.html
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Table of Contents</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Table of Contents</h1>
+<hr />
+  <a target="moduleFrame" href="toc-everything.html">Everything</a>
+  <br />
+  <h2 class="toc">Modules</h2>
+    <a target="moduleFrame" href="toc-fabio-module.html"
+     onclick="setFrame('toc-fabio-module.html','fabio-module.html');"     >fabio</a><br />    <a target="moduleFrame" href="toc-fabio.GEimage-module.html"
+     onclick="setFrame('toc-fabio.GEimage-module.html','fabio.GEimage-module.html');"     >fabio.GEimage</a><br />    <a target="moduleFrame" href="toc-fabio.GEimage_old-module.html"
+     onclick="setFrame('toc-fabio.GEimage_old-module.html','fabio.GEimage_old-module.html');"     >fabio.GEimage_old</a><br />    <a target="moduleFrame" href="toc-fabio.HiPiCimage-module.html"
+     onclick="setFrame('toc-fabio.HiPiCimage-module.html','fabio.HiPiCimage-module.html');"     >fabio.HiPiCimage</a><br />    <a target="moduleFrame" href="toc-fabio.OXDimage-module.html"
+     onclick="setFrame('toc-fabio.OXDimage-module.html','fabio.OXDimage-module.html');"     >fabio.OXDimage</a><br />    <a target="moduleFrame" href="toc-fabio.TiffIO-module.html"
+     onclick="setFrame('toc-fabio.TiffIO-module.html','fabio.TiffIO-module.html');"     >fabio.TiffIO</a><br />    <a target="moduleFrame" href="toc-fabio.adscimage-module.html"
+     onclick="setFrame('toc-fabio.adscimage-module.html','fabio.adscimage-module.html');"     >fabio.adscimage</a><br />    <a target="moduleFrame" href="toc-fabio.binaryimage-module.html"
+     onclick="setFrame('toc-fabio.binaryimage-module.html','fabio.binaryimage-module.html');"     >fabio.binaryimage</a><br />    <a target="moduleFrame" href="toc-fabio.bruker100image-module.html"
+     onclick="setFrame('toc-fabio.bruker100image-module.html','fabio.bruker100image-module.html');"     >fabio.bruker100image</a><br />    <a target="moduleFrame" href="toc-fabio.brukerimage-module.html"
+     onclick="setFrame('toc-fabio.brukerimage-module.html','fabio.brukerimage-module.html');"     >fabio.brukerimage</a><br />    <a target="moduleFrame" href="toc-fabio.byte_offset-module.html"
+     onclick="setFrame('toc-fabio.byte_offset-module.html','fabio.byte_offset-module.html');"     >fabio.byte_offset</a><br />    <a target="moduleFrame" href="toc-fabio.cbfimage-module.html"
+     onclick="setFrame('toc-fabio.cbfimage-module.html','fabio.cbfimage-module.html');"     >fabio.cbfimage</a><br />    <a target="moduleFrame" href="toc-fabio.cf_io-module.html"
+     onclick="setFrame('toc-fabio.cf_io-module.html','fabio.cf_io-module.html');"     >fabio.cf_io</a><br />    <a target="moduleFrame" href="toc-fabio.compression-module.html"
+     onclick="setFrame('toc-fabio.compression-module.html','fabio.compression-module.html');"     >fabio.compression</a><br />    <a target="moduleFrame" href="toc-fabio.converters-module.html"
+     onclick="setFrame('toc-fabio.converters-module.html','fabio.converters-module.html');"     >fabio.converters</a><br />    <a target="moduleFrame" href="toc-fabio.datIO-module.html"
+     onclick="setFrame('toc-fabio.datIO-module.html','fabio.datIO-module.html');"     >fabio.datIO</a><br />    <a target="moduleFrame" href="toc-fabio.dm3image-module.html"
+     onclick="setFrame('toc-fabio.dm3image-module.html','fabio.dm3image-module.html');"     >fabio.dm3image</a><br />    <a target="moduleFrame" href="toc-fabio.edfimage-module.html"
+     onclick="setFrame('toc-fabio.edfimage-module.html','fabio.edfimage-module.html');"     >fabio.edfimage</a><br />    <a target="moduleFrame" href="toc-fabio.fabioimage-module.html"
+     onclick="setFrame('toc-fabio.fabioimage-module.html','fabio.fabioimage-module.html');"     >fabio.fabioimage</a><br />    <a target="moduleFrame" href="toc-fabio.fabioutils-module.html"
+     onclick="setFrame('toc-fabio.fabioutils-module.html','fabio.fabioutils-module.html');"     >fabio.fabioutils</a><br />    <a target="moduleFrame" href="toc-fabio.file_series-module.html"
+     onclick="setFrame('toc-fabio.file_series-module.html','fabio.file_series-module.html');"     >fabio.file_series</a><br />    <a target="moduleFrame" href="toc-fabio.fit2dmaskimage-module.html"
+     onclick="setFrame('toc-fabio.fit2dmaskimage-module.html','fabio.fit2dmaskimage-module.html');"     >fabio.fit2dmaskimage</a><br />    <a target="moduleFrame" href="toc-fabio.fit2dspreadsheetimage-module.html"
+     onclick="setFrame('toc-fabio.fit2dspreadsheetimage-module.html','fabio.fit2dspreadsheetimage-module.html');"     >fabio.fit2dspreadsheetimage</a><br />    <a target="moduleFrame" href="toc-fabio.kcdimage-module.html"
+     onclick="setFrame('toc-fabio.kcdimage-module.html','fabio.kcdimage-module.html');"     >fabio.kcdimage</a><br />    <a target="moduleFrame" href="toc-fabio.mar345_IO-module.html"
+     onclick="setFrame('toc-fabio.mar345_IO-module.html','fabio.mar345_IO-module.html');"     >fabio.mar345_IO</a><br />    <a target="moduleFrame" href="toc-fabio.mar345image-module.html"
+     onclick="setFrame('toc-fabio.mar345image-module.html','fabio.mar345image-module.html');"     >fabio.mar345image</a><br />    <a target="moduleFrame" href="toc-fabio.marccdimage-module.html"
+     onclick="setFrame('toc-fabio.marccdimage-module.html','fabio.marccdimage-module.html');"     >fabio.marccdimage</a><br />    <a target="moduleFrame" href="toc-fabio.openimage-module.html"
+     onclick="setFrame('toc-fabio.openimage-module.html','fabio.openimage-module.html');"     >fabio.openimage</a><br />    <a target="moduleFrame" href="toc-fabio.pilatusimage-module.html"
+     onclick="setFrame('toc-fabio.pilatusimage-module.html','fabio.pilatusimage-module.html');"     >fabio.pilatusimage</a><br />    <a target="moduleFrame" href="toc-fabio.pnmimage-module.html"
+     onclick="setFrame('toc-fabio.pnmimage-module.html','fabio.pnmimage-module.html');"     >fabio.pnmimage</a><br />    <a target="moduleFrame" href="toc-fabio.readbytestream-module.html"
+     onclick="setFrame('toc-fabio.readbytestream-module.html','fabio.readbytestream-module.html');"     >fabio.readbytestream</a><br />    <a target="moduleFrame" href="toc-fabio.tifimage-module.html"
+     onclick="setFrame('toc-fabio.tifimage-module.html','fabio.tifimage-module.html');"     >fabio.tifimage</a><br />    <a target="moduleFrame" href="toc-fabio.xsdimage-module.html"
+     onclick="setFrame('toc-fabio.xsdimage-module.html','fabio.xsdimage-module.html');"     >fabio.xsdimage</a><br /><hr />
+  <span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/fabio/GEimage.py b/fabio-src/GEimage.py
similarity index 95%
rename from fabio/GEimage.py
rename to fabio-src/GEimage.py
index 1ece909..28e36ed 100644
--- a/fabio/GEimage.py
+++ b/fabio-src/GEimage.py
@@ -195,11 +195,13 @@ class GEimage(fabioimage):
                 self.header[ name ] = struct.unpack(format,
                                                      infile.read(nbytes))[0]
 
-    def read(self, fname, frame=0):
+    def read(self, fname, frame=None):
         """
         Read in header into self.header and
         the data   into self.data
         """
+        if frame is None:
+            frame = 0
         self.header = {}
         self.resetvals()
         infile = self._open(fname, "rb")
@@ -322,9 +324,8 @@ def demo():
             sequence1 = sequence1.next()
             print sequence1.currentframe, sequence1.data.ravel().mean(), \
                   time.time() - start
-        except:
-            raise
-            break
+        except Exception, ex:
+            raise ex
 
 
 
diff --git a/fabio/GEimage_old.py b/fabio-src/GEimage_old.py
similarity index 97%
rename from fabio/GEimage_old.py
rename to fabio-src/GEimage_old.py
index 36b677a..2d4c511 100644
--- a/fabio/GEimage_old.py
+++ b/fabio-src/GEimage_old.py
@@ -457,7 +457,7 @@ class GEimage(fabioimage):
 
 
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """
         Read in header into self.header and
             the data   into self.data
diff --git a/fabio/HiPiCimage.py b/fabio-src/HiPiCimage.py
similarity index 99%
rename from fabio/HiPiCimage.py
rename to fabio-src/HiPiCimage.py
index b184a61..9ab9817 100644
--- a/fabio/HiPiCimage.py
+++ b/fabio-src/HiPiCimage.py
@@ -59,7 +59,7 @@ class HiPiCimage(fabioimage):
                     self.header[key] = val.lstrip().rstrip()
                     self.header[key] = val.lstrip('"').rstrip('"')
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """
         Read in header into self.header and
             the data   into self.data
diff --git a/fabio-src/OXDimage.py b/fabio-src/OXDimage.py
new file mode 100644
index 0000000..d3e1d68
--- /dev/null
+++ b/fabio-src/OXDimage.py
@@ -0,0 +1,442 @@
+#!/usr/bin/env python
+#coding: utf8
+
+from __future__ import with_statement
+__doc__ = """
+Reads Oxford Diffraction Sapphire 3 images
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+
+        + Jon Wright, ESRF
+        + Gaël Goret, ESRF
+        + Jérôme Kieffer, ESRF
+
+"""
+
+import time, logging, struct
+logger = logging.getLogger("OXDimage")
+import numpy
+from fabioimage import fabioimage
+from compression import decTY1, compTY1
+
+try:
+    from numpy import rad2deg, deg2rad
+except ImportError: #naive implementation for very old numpy (v1.0.1 on MacOSX from Risoe)
+    rad2deg = lambda x: 180.0 * x / numpy.pi
+    deg2rad = lambda x: x * numpy.pi / 180.
+
+DETECTOR_TYPES = {0: 'Sapphire/KM4CCD (1x1: 0.06mm, 2x2: 0.12mm)',
+1: 'Sapphire2-Kodak (1x1: 0.06mm, 2x2: 0.12mm)',
+2: 'Sapphire3-Kodak (1x1: 0.03mm, 2x2: 0.06mm, 4x4: 0.12mm)',
+3: 'Onyx-Kodak (1x1: 0.06mm, 2x2: 0.12mm, 4x4: 0.24mm)',
+4: 'Unknown Oxford diffraction detector'}
+
+DEFAULT_HEADERS = {'Header Version':  'OD SAPPHIRE  3.0',
+                   'Compression': "TY1",
+                   'Header Size In Bytes': 5120,
+                   "ASCII Section size in Byte": 256,
+                   "General Section size in Byte": 512,
+                   "Special Section size in Byte": 768,
+                   "KM4 Section size in Byte": 1024,
+                   "Statistic Section in Byte": 512,
+                   "History Section in Byte": 2048,
+                   'NSUPPLEMENT':0
+                   }
+
+class OXDimage(fabioimage):
+    """
+    Oxford Diffraction Sapphire 3 images reader/writer class
+    """
+    def _readheader(self, infile):
+
+        infile.seek(0)
+
+        # Ascii header part 256 byes long
+        self.header['Header Version'] = infile.readline()[:-2]
+        block = infile.readline()
+        self.header['Compression'] = block[12:15]
+        block = infile.readline()
+        self.header['NX'] = int(block[3:7])
+        self.header['NY'] = int(block[11:15])
+        self.header['OI'] = int(block[19:26])
+        self.header['OL'] = int(block[30:37])
+        block = infile.readline()
+        self.header['Header Size In Bytes'] = int(block[8:15])
+        self.header['General Section size in Byte'] = int(block[19:26])
+        self.header['Special Section size in Byte'] = int(block[30:37])
+        self.header['KM4 Section size in Byte'] = int(block[41:48])
+        self.header['Statistic Section in Byte'] = int(block[52:59])
+        self.header['History Section in Byte'] = int(block[63:])
+        block = infile.readline()
+        self.header['NSUPPLEMENT'] = int(block[12:19])
+        block = infile.readline()
+        self.header['Time'] = block[5:29]
+        self.header["ASCII Section size in Byte"] = self.header['Header Size In Bytes']\
+                                                - self.header['General Section size in Byte']\
+                                                - self.header['Special Section size in Byte'] \
+                                                - self.header['KM4 Section size in Byte']\
+                                                - self.header['Statistic Section in Byte']\
+                                                - self.header['History Section in Byte']\
+        # Skip to general section (NG) 512 byes long <<<<<<"
+        infile.seek(self.header["ASCII Section size in Byte"])
+        block = infile.read(self.header['General Section size in Byte'])
+        self.header['Binning in x'] = numpy.fromstring(block[0:2], numpy.uint16)[0]
+        self.header['Binning in y'] = numpy.fromstring(block[2:4], numpy.uint16)[0]
+        self.header['Detector size x'] = numpy.fromstring(block[22:24], numpy.uint16)[0]
+        self.header['Detector size y'] = numpy.fromstring(block[24:26], numpy.uint16)[0]
+        self.header['Pixels in x'] = numpy.fromstring(block[26:28], numpy.uint16)[0]
+        self.header['Pixels in y'] = numpy.fromstring(block[28:30], numpy.uint16)[0]
+        self.header['No of pixels'] = numpy.fromstring(block[36:40], numpy.uint32)[0]
+
+        # Speciel section (NS) 768 bytes long
+        block = infile.read(self.header['Special Section size in Byte'])
+        self.header['Gain'] = numpy.fromstring(block[56:64], numpy.float)[0]
+        self.header['Overflows flag'] = numpy.fromstring(block[464:466], numpy.int16)[0]
+        self.header['Overflow after remeasure flag'] = numpy.fromstring(block[466:468], numpy.int16)[0]
+        self.header['Overflow threshold'] = numpy.fromstring(block[472:476], numpy.int32)[0]
+        self.header['Exposure time in sec'] = numpy.fromstring(block[480:488], numpy.float)[0]
+        self.header['Overflow time in sec'] = numpy.fromstring(block[488:496], numpy.float)[0]
+        self.header['Monitor counts of raw image 1'] = numpy.fromstring(block[528:532], numpy.int32)[0]
+        self.header['Monitor counts of raw image 2'] = numpy.fromstring(block[532:536], numpy.int32)[0]
+        self.header['Monitor counts of overflow raw image 1'] = numpy.fromstring(block[536:540], numpy.int32)[0]
+        self.header['Monitor counts of overflow raw image 2'] = numpy.fromstring(block[540:544], numpy.int32)[0]
+        self.header['Unwarping'] = numpy.fromstring(block[544:548], numpy.int32)[0]
+        self.header['Detector type'] = DETECTOR_TYPES[numpy.fromstring(block[548:552], numpy.int32)[0]]
+        self.header['Real pixel size x (mm)'] = numpy.fromstring(block[568:576], numpy.float)[0]
+        self.header['Real pixel size y (mm)'] = numpy.fromstring(block[576:584], numpy.float)[0]
+
+        # KM4 goniometer section (NK) 1024 bytes long
+        block = infile.read(self.header['KM4 Section size in Byte'])
+        # Spatial correction file
+        self.header['Spatial correction file'] = block[26:272].strip("\x00")
+        self.header['Spatial correction file date'] = block[0:26].strip("\x00")
+        # Angles are in steps due to stepper motors - conversion factor RAD
+        # angle[0] = omega, angle[1] = theta, angle[2] = kappa, angle[3] = phi,   
+        start_angles_step = numpy.fromstring(block[284:304], numpy.int32)
+        end_angles_step = numpy.fromstring(block[324:344], numpy.int32)
+        step2rad = numpy.fromstring(block[368:408], numpy.float)
+        step_angles_deg = rad2deg(step2rad)
+        # calc angles
+        start_angles_deg = start_angles_step * step_angles_deg
+        end_angles_deg = end_angles_step * step_angles_deg
+        self.header['Omega start in deg'] = start_angles_deg[0]
+        self.header['Theta start in deg'] = start_angles_deg[1]
+        self.header['Kappa start in deg'] = start_angles_deg[2]
+        self.header['Phi start in deg'] = start_angles_deg[3]
+        self.header['Omega end in deg'] = end_angles_deg[0]
+        self.header['Theta end in deg'] = end_angles_deg[1]
+        self.header['Kappa end in deg'] = end_angles_deg[2]
+        self.header['Phi end in deg'] = end_angles_deg[3]
+        self.header['Omega step in deg'] = step_angles_deg[0]
+        self.header['Theta step in deg'] = step_angles_deg[1]
+        self.header['Kappa step in deg'] = step_angles_deg[2]
+        self.header['Phi step in deg'] = step_angles_deg[3]
+
+
+        zero_correction_soft_step = numpy.fromstring(block[512:532], numpy.int32)
+        zero_correction_soft_deg = zero_correction_soft_step * step_angles_deg
+        self.header['Omega zero corr. in deg'] = zero_correction_soft_deg[0]
+        self.header['Theta zero corr. in deg'] = zero_correction_soft_deg[1]
+        self.header['Kappa zero corr. in deg'] = zero_correction_soft_deg[2]
+        self.header['Phi zero corr. in deg'] = zero_correction_soft_deg[3]
+        # Beam rotation about e2,e3
+        self.header['Beam rot in deg (e2)'] = numpy.fromstring(block[552:560], numpy.float)[0]
+        self.header['Beam rot in deg (e3)'] = numpy.fromstring(block[560:568], numpy.float)[0]
+        # Wavelenghts alpha1, alpha2, beta
+        self.header['Wavelength alpha1'] = numpy.fromstring(block[568:576], numpy.float)[0]
+        self.header['Wavelength alpha2'] = numpy.fromstring(block[576:584], numpy.float)[0]
+        self.header['Wavelength alpha'] = numpy.fromstring(block[584:592], numpy.float)[0]
+        self.header['Wavelength beta'] = numpy.fromstring(block[592:600], numpy.float)[0]
+
+        # Detector tilts around e1,e2,e3 in deg
+        self.header['Detector tilt e1 in deg'] = numpy.fromstring(block[640:648], numpy.float)[0]
+        self.header['Detector tilt e2 in deg'] = numpy.fromstring(block[648:656], numpy.float)[0]
+        self.header['Detector tilt e3 in deg'] = numpy.fromstring(block[656:664], numpy.float)[0]
+
+
+        # Beam center
+        self.header['Beam center x'] = numpy.fromstring(block[664:672], numpy.float)[0]
+        self.header['Beam center y'] = numpy.fromstring(block[672:680], numpy.float)[0]
+        # Angle (alpha) between kappa rotation axis and e3 (ideally 50 deg)
+        self.header['Alpha angle in deg'] = numpy.fromstring(block[672:680], numpy.float)[0]
+        # Angle (beta) between phi rotation axis and e3 (ideally 0 deg)
+        self.header['Beta angle in deg'] = numpy.fromstring(block[672:680], numpy.float)[0]
+
+        # Detector distance
+        self.header['Distance in mm'] = numpy.fromstring(block[712:720], numpy.float)[0]
+        # Statistics section (NS) 512 bytes long
+        block = infile.read(self.header['Statistic Section in Byte'])
+        self.header['Stat: Min '] = numpy.fromstring(block[0:4], numpy.int32)[0]
+        self.header['Stat: Max '] = numpy.fromstring(block[4:8], numpy.int32)[0]
+        self.header['Stat: Average '] = numpy.fromstring(block[24:32], numpy.float)[0]
+        self.header['Stat: Stddev '] = numpy.sqrt(numpy.fromstring(block[32:40], numpy.float)[0])
+        self.header['Stat: Skewness '] = numpy.fromstring(block[40:48], numpy.float)[0]
+
+        # History section (NH) 2048 bytes long
+        block = infile.read(self.header['History Section in Byte'])
+        self.header['Flood field image'] = block[99:126].strip("\x00")
+
+    def read(self, fname, frame=None):
+        """
+        Read in header into self.header and
+            the data   into self.data
+        """
+        self.header = {}
+        self.resetvals()
+        infile = self._open(fname)
+        self._readheader(infile)
+
+        infile.seek(self.header['Header Size In Bytes'])
+
+        # Compute image size
+        try:
+            self.dim1 = int(self.header['NX'])
+            self.dim2 = int(self.header['NY'])
+        except:
+            raise Exception("Oxford  file", str(fname) + \
+                                "is corrupt, cannot read it")
+        #
+        if self.header['Compression'] == 'TY1':
+            #Compressed with the KM4CCD compression
+            raw8 = infile.read(self.dim1 * self.dim2)
+            raw16 = None
+            raw32 = None
+            if self.header['OI'] > 0:
+                raw16 = infile.read(self.header['OI'] * 2)
+            if self.header['OL'] > 0:
+                raw32 = infile.read(self.header['OL'] * 4)
+            #DEBUG stuff ... 
+            self.raw8 = raw8
+            self.raw16 = raw16
+            self.raw32 = raw32
+            #END DEBUG
+            block = decTY1(raw8, raw16, raw32)
+            bytecode = block.dtype
+
+        else:
+            bytecode = numpy.int32
+            self.bpp = len(numpy.array(0, bytecode).tostring())
+            ReadBytes = self.dim1 * self.dim2 * self.bpp
+            block = numpy.fromstring(infile.read(ReadBytes), bytecode)
+
+        logger.debug('OVER_SHORT2: %s', block.dtype)
+        logger.debug("%s" % (block < 0).sum())
+        infile.close()
+        logger.debug("BYTECODE: %s", bytecode)
+        self.data = block.reshape((self.dim2, self.dim1))
+        self.bytecode = self.data.dtype.type
+        self.pilimage = None
+        return self
+
+    def _writeheader(self):
+        """
+        @return a string containing the header for Oxford images
+        """
+        linesep = "\r\n"
+        for key in DEFAULT_HEADERS:
+            if key not in self.header_keys:
+                self.header_keys.append(key)
+                self.header[key] = DEFAULT_HEADERS[key]
+
+        if "NX" not in self.header.keys() or "NY" not in self.header.keys():
+			self.header['NX'] = self.dim1
+			self.header['NY'] = self.dim2
+        ascii_headers = [self.header['Header Version'],
+                       "COMPRESSION=%s (%5.1f)" % (self.header["Compression"], self.getCompressionRatio()),
+                       "NX=%4i NY=%4i OI=%7i OL=%7i " % (self.header["NX"], self.header["NY"], self.header["OI"], self.header["OL"]),
+                       "NHEADER=%7i NG=%7i NS=%7i NK=%7i NS=%7i NH=%7i" % (self.header['Header Size In Bytes'],
+                                                                                 self.header['General Section size in Byte'],
+                                                                                 self.header['Special Section size in Byte'],
+                                                                                 self.header['KM4 Section size in Byte'],
+                                                                                 self.header['Statistic Section in Byte'],
+                                                                                 self.header['History Section in Byte']),
+                        "NSUPPLEMENT=%7i" % (self.header["NSUPPLEMENT"])]
+        if "Time" in self.header:
+            ascii_headers.append("TIME=%s" % self.header["Time"])
+        else:
+
+            ascii_headers.append("TIME=%s" % time.ctime)
+
+        header = (linesep.join(ascii_headers)).ljust(256)
+
+
+        NG = Section(self.header['General Section size in Byte'], self.header)
+        NG.setData('Binning in x', 0, numpy.uint16)
+        NG.setData('Binning in y', 2, numpy.uint16)
+        NG.setData('Detector size x', 22, numpy.uint16)
+        NG.setData('Detector size y', 24, numpy.uint16)
+        NG.setData('Pixels in x', 26, numpy.uint16)
+        NG.setData('Pixels in y', 28, numpy.uint16)
+        NG.setData('No of pixels', 36, numpy.uint32)
+        header += NG.__repr__()
+
+        NS = Section(self.header['Special Section size in Byte'], self.header)
+        NS.setData('Gain', 56, numpy.float)
+        NS.setData('Overflows flag', 464, numpy.int16)
+        NS.setData('Overflow after remeasure flag', 466, numpy.int16)
+        NS.setData('Overflow threshold', 472, numpy.int32)
+        NS.setData('Exposure time in sec', 480, numpy.float)
+        NS.setData('Overflow time in sec', 488, numpy.float)
+        NS.setData('Monitor counts of raw image 1', 528, numpy.int32)
+        NS.setData('Monitor counts of raw image 2', 532, numpy.int32)
+        NS.setData('Monitor counts of overflow raw image 1', 536, numpy.int32)
+        NS.setData('Monitor counts of overflow raw image 2', 540, numpy.int32)
+        NS.setData('Unwarping', 544, numpy.int32)
+        if 'Detector type' in  self.header:
+            for key, value in  DETECTOR_TYPES.items():
+                if value == self.header['Detector type']:
+                    NS.setData(None, 548, numpy.int32, default=key)
+        NS.setData('Real pixel size x (mm)', 568, numpy.float)
+        NS.setData('Real pixel size y (mm)', 576, numpy.float)
+        header += NS.__repr__()
+
+        KM = Section(self.header['KM4 Section size in Byte'], self.header)
+        KM.setData('Spatial correction file date', 0, "|S26")
+        KM.setData('Spatial correction file', 26, "|S246")
+        # Angles are in steps due to stepper motors - conversion factor RAD
+        # angle[0] = omega, angle[1] = theta, angle[2] = kappa, angle[3] = phi,
+        if self.header.get('Omega step in deg', None):
+            KM.setData(None, 368, numpy.float64, deg2rad(self.header["Omega step in deg"]))
+            if self.header.get('Omega start in deg', None):
+                KM.setData(None, 284, numpy.int32, self.header["Omega start in deg"] / self.header["Omega step in deg"])
+            if self.header.get('Omega end in deg', None):
+                KM.setData(None, 324, numpy.int32, self.header["Omega end in deg"] / self.header["Omega step in deg"])
+            if self.header.get('Omega zero corr. in deg', None):
+                KM.setData(None, 512, numpy.int32, self.header['Omega zero corr. in deg'] / self.header["Omega step in deg"])
+
+        if self.header.get('Theta step in deg', None):
+            KM.setData(None, 368 + 8, numpy.float64, deg2rad(self.header["Theta step in deg"]))
+            if self.header.get('Theta start in deg', None):
+                KM.setData(None, 284 + 4, numpy.int32, self.header["Theta start in deg"] / self.header["Theta step in deg"])
+            if self.header.get('Theta end in deg', None):
+                KM.setData(None, 324 + 4, numpy.int32, self.header["Theta end in deg"] / self.header["Theta step in deg"])
+            if self.header.get('Theta zero corr. in deg', None):
+                KM.setData(None, 512 + 4, numpy.int32, self.header['Theta zero corr. in deg'] / self.header["Theta step in deg"])
+
+        if self.header.get('Kappa step in deg', None):
+            KM.setData(None, 368 + 16, numpy.float64, deg2rad(self.header["Kappa step in deg"]))
+            if self.header.get('Kappa start in deg', None):
+                KM.setData(None, 284 + 8, numpy.int32, self.header["Kappa start in deg"] / self.header["Kappa step in deg"])
+            if self.header.get('Kappa end in deg', None):
+                KM.setData(None, 324 + 8, numpy.int32, self.header["Kappa end in deg"] / self.header["Kappa step in deg"])
+            if self.header.get('Kappa zero corr. in deg', None):
+                KM.setData(None, 512 + 8, numpy.int32, self.header['Kappa zero corr. in deg'] / self.header["Kappa step in deg"])
+
+        if self.header.get('Phi step in deg', None):
+            KM.setData(None, 368 + 24, numpy.float64, deg2rad(self.header["Phi step in deg"]))
+            if self.header.get('Phi start in deg', None):
+                KM.setData(None, 284 + 12, numpy.int32, self.header["Phi start in deg"] / self.header["Phi step in deg"])
+            if self.header.get('Phi end in deg', None):
+                KM.setData(None, 324 + 12, numpy.int32, self.header["Phi end in deg"] / self.header["Phi step in deg"])
+            if self.header.get('Phi zero corr. in deg', None):
+                KM.setData(None, 512 + 12, numpy.int32, self.header['Phi zero corr. in deg'] / self.header["Phi step in deg"])
+
+        # Beam rotation about e2,e3
+        KM.setData('Beam rot in deg (e2)', 552, numpy.float64)
+        KM.setData('Beam rot in deg (e3)', 560, numpy.float64)
+        # Wavelenghts alpha1, alpha2, beta
+        KM.setData('Wavelength alpha1', 568, numpy.float64)
+        KM.setData('Wavelength alpha2', 576, numpy.float64)
+        KM.setData('Wavelength alpha', 584, numpy.float64)
+        KM.setData('Wavelength beta', 592, numpy.float64)
+
+        # Detector tilts around e1,e2,e3 in deg
+        KM.setData('Detector tilt e1 in deg', 640, numpy.float64)
+        KM.setData('Detector tilt e2 in deg', 648, numpy.float64)
+        KM.setData('Detector tilt e3 in deg', 656, numpy.float64)
+
+        # Beam center
+        KM.setData('Beam center x', 664, numpy.float64)
+        KM.setData('Beam center y', 672, numpy.float64)
+        # Angle (alpha) between kappa rotation axis and e3 (ideally 50 deg)
+        KM.setData('Alpha angle in deg', 672, numpy.float64)
+        # Angle (beta) between phi rotation axis and e3 (ideally 0 deg)
+        KM.setData('Beta angle in deg', 672, numpy.float64)
+
+        # Detector distance
+        KM.setData('Distance in mm', 712, numpy.float64)
+        header += KM.__repr__()
+
+        SS = Section(self.header['Statistic Section in Byte'], self.header)
+        SS.setData('Stat: Min ', 0, numpy.int32)
+        SS.setData('Stat: Max ', 4, numpy.int32)
+        SS.setData('Stat: Average ', 24, numpy.float64)
+        if self.header.get('Stat: Stddev ', None):
+            SS.setData(None, 32, numpy.float64, self.header['Stat: Stddev '] ** 2)
+        SS.setData('Stat: Skewness ', 40, numpy.float64)
+        header += SS.__repr__()
+
+        HS = Section(self.header['History Section in Byte'], self.header)
+        HS.setData('Flood field image', 99, "|S27")
+        header += HS.__repr__()
+
+        return header
+
+
+    def write(self, fname):
+        """Write Oxford diffraction images: this is still beta
+        @param fname: output filename 
+        """
+        datablock8, datablock16, datablock32 = compTY1(self.data)
+        self.header["OI"] = len(datablock16) / 2
+        self.header["OL"] = len(datablock32) / 4
+        with self._open(fname, mode="wb") as outfile:
+            outfile.write(self._writeheader())
+            outfile.write(datablock8)
+            outfile.write(datablock16)
+            outfile.write(datablock32)
+
+    def getCompressionRatio(self):
+        "calculate the compression factor obtained vs raw data"
+        return 100.0 * (self.data.size + 2 * self.header["OI"] + 4 * self.header["OL"]) / (self.data.size * 4)
+
+    @staticmethod
+    def checkData(data=None):
+        if data is None:
+            return None
+        else:
+            return data.astype(int)
+
+class Section(object):
+    """
+    Small helper class for writing binary headers
+    """
+    def __init__(self, size, dictHeader):
+        """
+        @param size: size of the header section in bytes
+        @param dictHeader: headers of the image
+        """
+        self.size = size
+        self.header = dictHeader
+        self.lstChr = ["\x00"] * size
+        self._dictSize = {}
+    def __repr__(self):
+        return "".join(self.lstChr)
+
+    def getSize(self, dtype):
+        if not dtype in self._dictSize:
+            self._dictSize[dtype] = len(numpy.zeros(1, dtype=dtype).tostring())
+        return self._dictSize[dtype]
+
+    def setData(self, key, offset, dtype, default=None):
+        """
+        @param offset: int, starting position in the section
+        @param key: name of the header key
+        @param dtype: type of the data to insert (defines the size!)
+        """
+        if key in self.header:
+            value = self.header[key]
+        elif key in DEFAULT_HEADERS:
+            value = DEFAULT_HEADERS[key]
+        else:
+            value = default
+        if value is None:
+            value = "\x00" * self.getSize(dtype)
+        else:
+            value = numpy.array(value).astype(dtype).tostring()
+        self.lstChr[offset:offset + self.getSize(dtype)] = value
diff --git a/fabio/TiffIO.py b/fabio-src/TiffIO.py
similarity index 80%
rename from fabio/TiffIO.py
rename to fabio-src/TiffIO.py
index 7b08cda..c9f0d96 100644
--- a/fabio/TiffIO.py
+++ b/fabio-src/TiffIO.py
@@ -1,8 +1,8 @@
 #/*##########################################################################
-# Copyright (C) 2011 European Synchrotron Radiation Facility
+# Copyright (C) 2012 European Synchrotron Radiation Facility
 #
 # This file is part of the PyMca X-ray Fluorescence Toolkit developed at
-# the ESRF by the Beamline Instrumentation Software Support (BLISS) group.
+# the ESRF by the Software group.
 #
 # This file is free software; you can redistribute it and/or modify it 
 # under the terms of the GNU Lesser General Public License as published by the Free
@@ -16,17 +16,14 @@
 #
 #############################################################################*/
 __author__ = "V.A. Sole - ESRF Data Analysis"
-__revision__ = 1422
+__revision__ = 1501
 
 import sys
 import os
 import struct
-import string
 import numpy
-import logging
-logger = logging.getLogger("TiffIO")
-#import time
 
+DEBUG = 0
 ALLOW_MULTIPLE_STRIPS = False
 
 TAG_ID = { 256:"NumberOfColumns", # S or L ImageWidth
@@ -40,6 +37,7 @@ TAG_ID = { 256:"NumberOfColumns", # S or L ImageWidth
             279:"StripByteCounts", # S or L, The number of bytes in the strip AFTER any compression
             305:"Software", # ASCII
             306:"Date", # ASCII
+            320:"Colormap", # Colormap of Palette-color Images 
             339:"SampleFormat", # SHORT Interpretation of data in each pixel
             }
 
@@ -55,6 +53,7 @@ TAG_ROWS_PER_STRIP = 278
 TAG_STRIP_BYTE_COUNTS = 279
 TAG_SOFTWARE = 305
 TAG_DATE = 306
+TAG_COLORMAP = 320
 TAG_SAMPLE_FORMAT = 339
 
 FIELD_TYPE = {1:('BYTE', "B"),
@@ -92,8 +91,8 @@ SAMPLE_FORMAT_COMPLEXIEEEFP = 6
 
 
 
-class TiffIO:
-    def __init__(self, filename, mode=None, cache_length=20):
+class TiffIO(object):
+    def __init__(self, filename, mode=None, cache_length=20, mono_output=False):
         if mode is None:
             mode = 'rb'
         if 'b' not in mode:
@@ -114,6 +113,7 @@ class TiffIO:
 
         self._initInternalVariables(fd)
         self._maxImageCacheLength = cache_length
+        self._forceMonoOutput = mono_output
 
     def _initInternalVariables(self, fd=None):
         if fd is None:
@@ -139,7 +139,8 @@ class TiffIO:
             if fortyTwo != 42:
                 raise IOError("Invalid TIFF version %d" % fortyTwo)
             else:
-                logger.debug("VALID TIFF VERSION")
+                if DEBUG:
+                    print("VALID TIFF VERSION")
             if sys.byteorder != fileOrder:
                 swap = True
             else:
@@ -161,7 +162,8 @@ class TiffIO:
     def __makeSureFileIsOpen(self):
         if not self.fd.closed:
             return
-        logger.debug("Reopening closed file")
+        if DEBUG:
+            print("Reopening closed file")
         fileName = self.fd.name
         if self._access is None:
             #we do not own the file
@@ -174,7 +176,8 @@ class TiffIO:
     def __makeSureFileIsClosed(self):
         if self._access is None:
             #we do not own the file
-            logger.info("Not closing not owned file")
+            if DEBUG:
+                print("Not closing not owned file")
             return
 
         if not self.fd.closed:
@@ -205,21 +208,25 @@ class TiffIO:
             offsetToIFD = 0
         else:
             offsetToIFD = struct.unpack(fmt, inStr)[0]
-        logger.debug("Offset to first IFD = %d" % offsetToIFD)
+        if DEBUG:
+            print("Offset to first IFD = %d" % offsetToIFD)
         while offsetToIFD != 0:
             self._IFD.append(offsetToIFD)
             nImages += 1
             fd.seek(offsetToIFD)
             fmt = st + 'H'
             numberOfDirectoryEntries = struct.unpack(fmt, fd.read(struct.calcsize(fmt)))[0]
-            logger.debug("Number of directory entries = %d" % numberOfDirectoryEntries)
+            if DEBUG:
+                print("Number of directory entries = %d" % numberOfDirectoryEntries)
 
             fmt = st + 'I'
             fd.seek(offsetToIFD + 2 + 12 * numberOfDirectoryEntries)
             offsetToIFD = struct.unpack(fmt, fd.read(struct.calcsize(fmt)))[0]
-            logger.debug("Next Offset to IFD = %d" % offsetToIFD)
+            if DEBUG:
+                print("Next Offset to IFD = %d" % offsetToIFD)
             #offsetToIFD = 0 
-        logger.info("Number of images found = %d" % nImages)
+        if DEBUG:
+            print("Number of images found = %d" % nImages)
         return nImages
 
     def _parseImageFileDirectory(self, nImage):
@@ -229,7 +236,8 @@ class TiffIO:
         fd.seek(offsetToIFD)
         fmt = st + 'H'
         numberOfDirectoryEntries = struct.unpack(fmt, fd.read(struct.calcsize(fmt)))[0]
-        logger.info("Number of directory entries = %d" % numberOfDirectoryEntries)
+        if DEBUG:
+            print("Number of directory entries = %d" % numberOfDirectoryEntries)
 
         fmt = st + 'HHI4s'
         tagIDList = []
@@ -256,14 +264,15 @@ class TiffIO:
                 valueOffsetList.append(actualValue)
             else:
                 valueOffsetList.append(valueOffset)
-            if tagID in TAG_ID:
-                logger.debug("tagID = %s" % TAG_ID[tagID])
-            else:
-                logger.info("tagID        = %d" % tagID)
-            logger.info("fieldType    = %s" % FIELD_TYPE[fieldType][0])
-            logger.info("nValues      = %d" % nValues)
+            if DEBUG:
+                if tagID in TAG_ID:
+                    print("tagID = %s" % TAG_ID[tagID])
+                else:
+                    print("tagID        = %d" % tagID)
+                print("fieldType    = %s" % FIELD_TYPE[fieldType][0])
+                print("nValues      = %d" % nValues)
                 #if nValues == 1:
-                #    logger.info("valueOffset =  %s" % valueOffset)
+                #    print("valueOffset =  %s" % valueOffset)
         return tagIDList, fieldTypeList, nValuesList, valueOffsetList
 
 
@@ -304,7 +313,8 @@ class TiffIO:
 
     def _readInfo(self, nImage, close=True):
         if nImage in self._imageInfoCacheIndex:
-            logger.debug("Reading info from cache")
+            if DEBUG:
+                print("Reading info from cache")
             return self._imageInfoCache[self._imageInfoCacheIndex.index(nImage)]
 
         #read the header
@@ -323,6 +333,23 @@ class TiffIO:
             nBits = self._readIFDEntry(TAG_BITS_PER_SAMPLE,
                                           tagIDList, fieldTypeList, nValuesList, valueOffsetList)
 
+
+        if TAG_COLORMAP in tagIDList:
+            idx = tagIDList.index(TAG_COLORMAP)
+            tmpColormap = self._readIFDEntry(TAG_COLORMAP,
+                                          tagIDList, fieldTypeList, nValuesList, valueOffsetList)
+            if max(tmpColormap) > 255:
+                tmpColormap = numpy.array(tmpColormap, dtype=numpy.uint16)
+                tmpColormap = (tmpColormap / 256.).astype(numpy.uint8)
+            else:
+                tmpColormap = numpy.array(tmpColormap, dtype=numpy.uint8)
+            tmpColormap.shape = 3, -1
+            colormap = numpy.zeros((tmpColormap.shape[-1], 3), tmpColormap.dtype)
+            colormap[:, :] = tmpColormap.T
+            tmpColormap = None
+        else:
+            colormap = None
+
         #sample format
         if TAG_SAMPLE_FORMAT in tagIDList:
             sampleFormat = valueOffsetList[tagIDList.index(TAG_SAMPLE_FORMAT)]
@@ -345,7 +372,7 @@ class TiffIO:
         if TAG_PHOTOMETRIC_INTERPRETATION in tagIDList:
             interpretation = valueOffsetList[tagIDList.index(TAG_PHOTOMETRIC_INTERPRETATION)]
         else:
-            logger.warning("Non standard TIFF. Photometric interpretation TAG missing")
+            print("WARNING: Non standard TIFF. Photometric interpretation TAG missing")
         helpString = ""
         if sys.version > '2.6':
             helpString = eval('b""')
@@ -394,23 +421,42 @@ class TiffIO:
 
         stripOffsets = self._readIFDEntry(TAG_STRIP_OFFSETS,
                         tagIDList, fieldTypeList, nValuesList, valueOffsetList)
-        rowsPerStrip = nRows
         if TAG_ROWS_PER_STRIP in tagIDList:
             rowsPerStrip = self._readIFDEntry(TAG_ROWS_PER_STRIP,
                         tagIDList, fieldTypeList, nValuesList, valueOffsetList)[0]
         else:
-            logger.warning("Non standard TIFF. Rows per strip TAG missing")
+            rowsPerStrip = nRows
+            print("WARNING: Non standard TIFF. Rows per strip TAG missing")
 
-        stripByteCounts = [int(nRows * nColumns * nBits / 8)]
         if TAG_STRIP_BYTE_COUNTS in tagIDList:
             stripByteCounts = self._readIFDEntry(TAG_STRIP_BYTE_COUNTS,
                         tagIDList, fieldTypeList, nValuesList, valueOffsetList)
         else:
-            logger.warning("Non standard TIFF. Strip byte counts TAG missing")
+            print("WARNING: Non standard TIFF. Strip byte counts TAG missing")
+            if hasattr(nBits, 'index'):
+                expectedSum = 0
+                for n in nBits:
+                    expectedSum += int(nRows * nColumns * n / 8)
+            else:
+                expectedSum = int(nRows * nColumns * nBits / 8)
+            stripByteCounts = [expectedSum]
 
         if close:
             self.__makeSureFileIsClosed()
 
+        if self._forceMonoOutput and (interpretation > 1):
+            #color image but asked monochrome output
+            nBits = 32
+            colormap = None
+            sampleFormat = SAMPLE_FORMAT_FLOAT
+            interpretation = 1
+            #we cannot rely on any cache in this case
+            useInfoCache = False
+            if DEBUG:
+                print("FORCED MONO")
+        else:
+            useInfoCache = True
+
         info = {}
         info["nRows"] = nRows
         info["nColumns"] = nColumns
@@ -423,6 +469,7 @@ class TiffIO:
         info["stripByteCounts"] = stripByteCounts #bytes in strip since I do not support compression
         info["software"] = software
         info["date"] = date
+        info["colormap"] = colormap
         info["sampleFormat"] = sampleFormat
         info["photometricInterpretation"] = interpretation
         infoDict = {}
@@ -446,15 +493,17 @@ class TiffIO:
                 infoDict[key] = value
         info['info'] = infoDict
 
-        self._imageInfoCacheIndex.insert(0, nImage)
-        self._imageInfoCache.insert(0, info)
-        if len(self._imageInfoCacheIndex) > self._maxImageCacheLength:
-            self._imageInfoCacheIndex = self._imageInfoCacheIndex[:self._maxImageCacheLength]
-            self._imageInfoCache = self._imageInfoCache[:self._maxImageCacheLength]
+        if (self._maxImageCacheLength > 0) and useInfoCache:
+            self._imageInfoCacheIndex.insert(0, nImage)
+            self._imageInfoCache.insert(0, info)
+            if len(self._imageInfoCacheIndex) > self._maxImageCacheLength:
+                self._imageInfoCacheIndex = self._imageInfoCacheIndex[:self._maxImageCacheLength]
+                self._imageInfoCache = self._imageInfoCache[:self._maxImageCacheLength]
         return info
 
     def _readImage(self, nImage, **kw):
-        logger.debug("Reading image %d" % nImage)
+        if DEBUG:
+            print("Reading image %d" % nImage)
         if 'close' in kw:
             close = kw['close']
         else:
@@ -462,11 +511,22 @@ class TiffIO:
         rowMin = kw.get('rowMin', None)
         rowMax = kw.get('rowMax', None)
         if nImage in self._imageDataCacheIndex:
-            logger.debug("Reading image data from cache")
+            if DEBUG:
+                print("Reading image data from cache")
             return self._imageDataCache[self._imageDataCacheIndex.index(nImage)]
 
         self.__makeSureFileIsOpen()
-        info = self._readInfo(nImage, close=False)
+        if self._forceMonoOutput:
+            oldMono = True
+        else:
+            oldMono = False
+        try:
+            self._forceMonoOutput = False
+            info = self._readInfo(nImage, close=False)
+            self._forceMonoOutput = oldMono
+        except:
+            self._forceMonoOutput = oldMono
+            raise
         compression = info['compression']
         compression_type = info['compression_type']
         if compression:
@@ -474,15 +534,26 @@ class TiffIO:
                 raise IOError("Compressed TIFF images not supported except packbits")
             else:
                 #PackBits compression
-                logger.debug("Using PackBits compression")
+                if DEBUG:
+                    print("Using PackBits compression")
 
         interpretation = info["photometricInterpretation"]
-        if interpretation > 2:
-            raise IOError("Only grey scale images supported")
+        if interpretation == 2:
+            #RGB
+            pass
+            #raise IOError("RGB Image. Only grayscale images supported")
+        elif interpretation == 3:
+            #Palette Color Image
+            pass
+            #raise IOError("Palette-color Image. Only grayscale images supported")
+        elif interpretation > 2:
+            #Palette Color Image
+            raise IOError("Only grayscale images supported")
 
         nRows = info["nRows"]
         nColumns = info["nColumns"]
         nBits = info["nBits"]
+        colormap = info["colormap"]
         sampleFormat = info["sampleFormat"]
 
         if rowMin is None:
@@ -515,30 +586,36 @@ class TiffIO:
             else:
                 raise ValueError("Unsupported number of bits for a float: %d" % nBits)
         elif sampleFormat in [SAMPLE_FORMAT_UINT, SAMPLE_FORMAT_VOID]:
-            if nBits == 8:
+            if nBits in [8, (8, 8, 8), [8, 8, 8]]:
                 dtype = numpy.uint8
-            elif nBits == 16:
+            elif nBits in [16, (16, 16, 16), [16, 16, 16]]:
                 dtype = numpy.uint16
-            elif nBits == 32:
+            elif nBits in [32, (32, 32, 32), [32, 32, 32]]:
                 dtype = numpy.uint32
-            elif nBits == 64:
+            elif nBits in [64, (64, 64, 64), [64, 64, 64]]:
                 dtype = numpy.uint64
             else:
-                raise ValueError("Unsupported number of bits for unsigned int: %d" % nBits)
+                raise ValueError("Unsupported number of bits for unsigned int: %s" % (nBits,))
         elif sampleFormat == SAMPLE_FORMAT_INT:
-            if nBits == 8:
+            if nBits in [8, (8, 8, 8), [8, 8, 8]]:
                 dtype = numpy.int8
-            elif nBits == 16:
+            elif nBits in [16, (16, 16, 16), [16, 16, 16]]:
                 dtype = numpy.int16
-            elif nBits == 32:
+            elif nBits in [32, (32, 32, 32), [32, 32, 32]]:
                 dtype = numpy.int32
-            elif nBits == 64:
+            elif nBits in [64, (64, 64, 64), [64, 64, 64]]:
                 dtype = numpy.int64
             else:
-                raise ValueError("Unsupported number of bits for signed int: %d" % nBits)
+                raise ValueError("Unsupported number of bits for signed int: %s" % (nBits,))
+        else:
+            raise ValueError("Unsupported combination. Bits = %s  Format = %d" % (nBits, sampleFormat))
+        if hasattr(nBits, 'index'):
+            image = numpy.zeros((nRows, nColumns, len(nBits)), dtype=dtype)
+        elif colormap is not None:
+            #should I use colormap dtype?
+            image = numpy.zeros((nRows, nColumns, 3), dtype=dtype)
         else:
-            raise ValueError("Unsupported combination. Bits = %d  Format = %d" % (nBits, sampleFormat))
-        image = numpy.zeros((nRows, nColumns), dtype=dtype)
+            image = numpy.zeros((nRows, nColumns), dtype=dtype)
 
         fd = self.fd
         st = self._structChar
@@ -551,12 +628,17 @@ class TiffIO:
             bytesPerRow = int(stripByteCounts[0] / rowsPerStrip)
             fd.seek(stripOffsets[0] + rowMin * bytesPerRow)
             nBytes = (rowMax - rowMin + 1) * bytesPerRow
-            readout = numpy.fromstring(fd.read(nBytes), dtype)
-            readout.shape = -1, nColumns
             if self._swap:
-                image[rowMin:rowMax + 1, :] = readout.byteswap()
+                readout = numpy.fromstring(fd.read(nBytes), dtype).byteswap()
             else:
-                image[rowMin:rowMax + 1, :] = readout
+                readout = numpy.fromstring(fd.read(nBytes), dtype)
+            if hasattr(nBits, 'index'):
+                readout.shape = -1, nColumns, len(nBits)
+            elif info['colormap'] is not None:
+                readout = colormap[readout]
+            else:
+                readout.shape = -1, nColumns
+            image[rowMin:rowMax + 1, :] = readout
         else:
             for i in range(len(stripOffsets)):
                 #the amount of rows
@@ -592,38 +674,69 @@ class TiffIO:
                                                       readBytes + (n + 1)]
                             readBytes += (n + 1)
                         elif n > -128:
-                            readBytes += 1
                             bufferBytes += (-n + 1) * tmpBuffer[readBytes:(readBytes + 1)]
+                            readBytes += 1
                         else:
                             #if read -128 ignore the byte
                             continue
-                    readout = numpy.fromstring(bufferBytes, dtype)
-                    readout.shape = -1, nColumns
+                    if self._swap:
+                        readout = numpy.fromstring(bufferBytes, dtype).byteswap()
+                    else:
+                        readout = numpy.fromstring(bufferBytes, dtype)
+                    if hasattr(nBits, 'index'):
+                        readout.shape = -1, nColumns, len(nBits)
+                    elif info['colormap'] is not None:
+                        readout = colormap[readout]
+                        readout.shape = -1, nColumns, 3
+                    else:
+                        readout.shape = -1, nColumns
                     image[rowStart:rowEnd, :] = readout
                 else:
                     if 1:
                         #use numpy
-                        readout = numpy.fromstring(fd.read(nBytes), dtype)
-                        readout.shape = -1, nColumns
                         if self._swap:
-                            image[rowStart:rowEnd, :] = readout.byteswap()
+                            readout = numpy.fromstring(fd.read(nBytes), dtype).byteswap()
+                        else:
+                            readout = numpy.fromstring(fd.read(nBytes), dtype)
+                        if hasattr(nBits, 'index'):
+                            readout.shape = -1, nColumns, len(nBits)
+                        elif colormap is not None:
+                            readout = colormap[readout]
+                            readout.shape = -1, nColumns, 3
                         else:
-                            image[rowStart:rowEnd, :] = readout
+                            readout.shape = -1, nColumns
+                        image[rowStart:rowEnd, :] = readout
                     else:
                         #using struct
                         readout = numpy.array(struct.unpack(st + "%df" % int(nBytes / 4), fd.read(nBytes)),
                                               dtype=dtype)
-                        readout.shape = -1, nColumns
+                        if hasattr(nBits, 'index'):
+                            readout.shape = -1, nColumns, len(nBits)
+                        elif colormap is not None:
+                            readout = colormap[readout]
+                            readout.shape = -1, nColumns, 3
+                        else:
+                            readout.shape = -1, nColumns
                         image[rowStart:rowEnd, :] = readout
                 rowStart += nRowsToRead
         if close:
             self.__makeSureFileIsClosed()
+
+        if len(image.shape) == 3:
+            #color image
+            if self._forceMonoOutput:
+                #color image, convert to monochrome
+                image = (image[:, :, 0] * 0.114 + \
+                         image[:, :, 1] * 0.587 + \
+                         image[:, :, 2] * 0.299).astype(numpy.float32)
+
         if (rowMin == 0) and (rowMax == (nRows - 1)):
             self._imageDataCacheIndex.insert(0, nImage)
             self._imageDataCache.insert(0, image)
             if len(self._imageDataCacheIndex) > self._maxImageCacheLength:
                 self._imageDataCacheIndex = self._imageDataCacheIndex[:self._maxImageCacheLength]
                 self._imageDataCache = self._imageDataCache[:self._maxImageCacheLength]
+
         return image
 
     def writeImage(self, image0, info=None, software=None, date=None):
@@ -675,7 +788,8 @@ class TiffIO:
 
         #get the image file directories
         nImages = self.getImageFileDirectories()
-        logger.debug("File contains %d images" % nImages)
+        if DEBUG:
+            print("File contains %d images" % nImages)
         if nImages == 0:
             fd.seek(4)
             fmt = st + 'I'
@@ -774,6 +888,18 @@ class TiffIO:
                 descriptionLength = len(description)
             if sys.version >= '3.0':
                 description = bytes(description, 'utf-8')
+            elif type(description) != type(""):
+                try:
+                    description = description.decode('utf-8')
+                except UnicodeDecodeError:
+                    try:
+                        description = description.decode('latin-1')
+                    except UnicodeDecodeError:
+                        description = "%s" % description
+                if sys.version > '2.6':
+                    description = description.encode('utf-8', errors="ignore")
+                description = "%s" % description
+            descriptionLength = len(description)
             imageDescription = struct.pack("%ds" % descriptionLength, description)
             nDirectoryEntries += 1
 
@@ -880,7 +1006,8 @@ class TiffIO:
                     stripOffsetsString += struct.pack(fmt, value)
                     stripByteCountsString += struct.pack(fmt, stripByteCounts)
 
-        logger.debug("IMAGE WILL START AT %d" % stripOffsets[0])
+        if DEBUG:
+            print("IMAGE WILL START AT %d" % stripOffsets[0])
 
         #sample format
         if dtype in [numpy.float32, numpy.float64] or\
@@ -1043,23 +1170,28 @@ if __name__ == "__main__":
     filename = sys.argv[1]
     dtype = numpy.uint16
     if not os.path.exists(filename):
-        logger.info("Testing file creation")
+        print("Testing file creation")
         tif = TiffIO(filename, mode='wb+')
         data = numpy.arange(10000).astype(dtype)
         data.shape = 100, 100
         tif.writeImage(data, info={'Title':'1st'})
         tif = None
         if os.path.exists(filename):
-            logger.info("Testing image appending")
+            print("Testing image appending")
             tif = TiffIO(filename, mode='rb+')
             tif.writeImage((data * 2).astype(dtype), info={'Title':'2nd'})
             tif = None
     tif = TiffIO(filename)
-    logger.info("Number of images = %d" % tif.getNumberOfImages())
+    print("Number of images = %d" % tif.getNumberOfImages())
     for i in range(tif.getNumberOfImages()):
         info = tif.getInfo(i)
         for key in info:
-            logger.info("%s = %s" % (key, info[key]))
+            if key not in ["colormap"]:
+                print("%s = %s" % (key, info[key]))
+            elif info['colormap'] is not None:
+                print("RED   %s = %s" % (key, info[key][0:10, 0]))
+                print("GREEN %s = %s" % (key, info[key][0:10, 1]))
+                print("BLUE  %s = %s" % (key, info[key][0:10, 2]))
         data = tif.getImage(i)[0, 0:10]
-        print ("data [0, 0:10] = ", data)
+        print("data [0, 0:10] = ", data)
 
diff --git a/fabio/__init__.py b/fabio-src/__init__.py
similarity index 65%
rename from fabio/__init__.py
rename to fabio-src/__init__.py
index 203a53d..162cd9e 100644
--- a/fabio/__init__.py
+++ b/fabio-src/__init__.py
@@ -1,9 +1,10 @@
-version = "0.0.8"
-
+version = "0.1.0"
+import logging
+logging.basicConfig()
 import fabioimage
 import openimage
 from fabioutils import filename_object, COMPRESSORS, jump_filename, \
         previous_filename, next_filename, deconstruct_filename, \
-        extract_filenumber, getnum
+        extract_filenumber, getnum, construct_filename
 from openimage import openimage as open
 
diff --git a/fabio/adscimage.py b/fabio-src/adscimage.py
similarity index 96%
rename from fabio/adscimage.py
rename to fabio-src/adscimage.py
index 24bc564..8af5283 100644
--- a/fabio/adscimage.py
+++ b/fabio-src/adscimage.py
@@ -1,7 +1,5 @@
-
-## Automatically adapted for numpy.oldnumeric Oct 05, 2007 by alter_code1.py
-
 #!/usr/bin/env python
+#coding: utf8
 """
 
 Authors: Henning O. Sorensen & Erik Knudsen
@@ -21,8 +19,10 @@ logger = logging.getLogger("adscimage")
 
 class adscimage(fabioimage):
     """ Read an image in ADSC format (quite similar to edf?) """
+    def __init__(self, *args, **kwargs):
+        fabioimage.__init__(self, *args, **kwargs)
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """ read in the file """
         infile = self._open(fname, "rb")
         try:
diff --git a/fabio-src/binaryimage.py b/fabio-src/binaryimage.py
new file mode 100644
index 0000000..6c3a339
--- /dev/null
+++ b/fabio-src/binaryimage.py
@@ -0,0 +1,87 @@
+#!/usr/bin/env python
+#coding: utf8 
+from __future__ import with_statement
+__doc__ = """
+Authors: Gael Goret, Jerome Kieffer, ESRF, France
+Emails: gael.goret at esrf.fr, jerome.kieffer at esrf.fr
+
+Binary files images are simple none-compressed 2D images only defined by their : 
+data-type, dimensions, byte order and offset
+
+This simple library has been made for manipulating exotic/unknown files format.  
+"""
+
+__authors__ = ["Gaël Goret", "Jérôme Kieffer"]
+__contact__ = "gael.goret at esrf.fr"#, jerome.kieffer at esrf.eu"
+__license__ = "GPLv3+"
+__copyright__ = "European Synchrotron Radiation Facility, Grenoble, France"
+__version__ = "17 Apr 2012"
+
+from fabioimage import fabioimage
+import numpy, logging
+logger = logging.getLogger("binaryimage")
+
+class binaryimage(fabioimage):
+    """
+    This simple library has been made for manipulating exotic/unknown files format.
+    
+    Binary files images are simple none-compressed 2D images only defined by their : 
+    data-type, dimensions, byte order and offset
+    """
+
+    def __init__(self, *args, **kwargs):
+        fabioimage.__init__(self, *args, **kwargs)
+
+    @staticmethod
+    def swap_needed(endian):
+        """
+        Decide if we need to byteswap
+        """
+        if (endian == '<' and numpy.little_endian) or (endian == '>' and not numpy.little_endian):
+            return False
+        if (endian == '>' and numpy.little_endian) or (endian == '<' and not numpy.little_endian):
+            return True
+
+    def read(self, fname, dim1, dim2, offset=0, bytecode="int32", endian="<"):
+        """ 
+        Read a binary image
+        Parameters : fname, dim1, dim2, offset, bytecode, endian
+        fname : file name : str
+        dim1,dim2 : image dimensions : int
+        offset : size of the : int 
+        bytecode among : "int8","int16","int32","int64","uint8","uint16","uint32","uint64","float32","float64",...
+        endian among short or long endian ("<" or ">")
+        """
+        self.filename = fname
+        self.dim1 = dim1
+        self.dim2 = dim2
+        self.bytecode = bytecode
+        f = open(self.filename, "rb")
+        dims = [dim2, dim1]
+        bpp = len(numpy.array(0, bytecode).tostring())
+        size = dims[0] * dims[1] * bpp
+
+        f.seek(offset)
+        rawData = f.read(size)
+        if  self.swap_needed(endian):
+            data = numpy.fromstring(rawData, bytecode).byteswap().reshape(tuple(dims))
+        else:
+            data = numpy.fromstring(rawData, bytecode).reshape(tuple(dims))
+        self.data = data
+        return self
+
+    def estimate_offset_value(self, fname, dim1, dim2, bytecode="int32"):
+        "Estimates the size of a file"
+        with open(fname, "rb") as f:
+            bpp = len(numpy.array(0, bytecode).tostring())
+            size = dim1 * dim2 * bpp
+            totsize = len(f.read())
+        logger.info('total size (bytes): %s', totsize)
+        logger.info('expected data size given parameters (bytes): %s', size)
+        logger.info('estimation of the offset value (bytes): %s', totsize - size)
+
+    def write(self, fname):
+        with open(fname, mode="wb") as outfile:
+            outfile.write(self.data.tostring())
+
+
diff --git a/fabio/bruker100image.py b/fabio-src/bruker100image.py
similarity index 85%
rename from fabio/bruker100image.py
rename to fabio-src/bruker100image.py
index c8117cd..c30233d 100644
--- a/fabio/bruker100image.py
+++ b/fabio-src/bruker100image.py
@@ -1,7 +1,13 @@
-
-import numpy as N
+import numpy
 import math
-import Image
+import logging
+logger = logging.getLogger("bruker100image")
+try:
+    import Image
+except ImportError:
+    logger.warning("PIL is not installed ... trying to do without")
+    Image = None
+
 from brukerimage import brukerimage
 import readbytestream
 
@@ -9,24 +15,19 @@ class bruker100image(brukerimage):
 
 
     def toPIL16(self, filename=None):
-        # FIXME - why is this different for bruker100images?
+        if not Image:
+            raise RuntimeError("PIL is not installed !!! ")
+
         if filename:
             self.read(filename)
-            PILimage = Image.frombuffer("F",
-                                        (self.dim1, self.dim2),
-                                        self.data,
-                                        "raw",
-                                        "F;16", 0, -1)
-            return PILimage
-        else:
-            PILimage = Image.frombuffer("F",
+        PILimage = Image.frombuffer("F",
                                         (self.dim1, self.dim2),
                                         self.data,
                                         "raw",
                                         "F;16", 0, -1)
-            return PILimage
+        return PILimage
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         f = open(fname, "rb")
         try:
             self._readheader(f)
diff --git a/fabio/brukerimage.py b/fabio-src/brukerimage.py
similarity index 99%
rename from fabio/brukerimage.py
rename to fabio-src/brukerimage.py
index 156392e..6120442 100644
--- a/fabio/brukerimage.py
+++ b/fabio-src/brukerimage.py
@@ -78,7 +78,7 @@ class brukerimage(fabioimage):
         self.dim1 = int(self.header['NROWS'])
         self.dim2 = int(self.header['NCOLS'])
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """
         Read in and unpack the pixels (including overflow table
         """
diff --git a/fabio/cbfimage.py b/fabio-src/cbfimage.py
similarity index 69%
rename from fabio/cbfimage.py
rename to fabio-src/cbfimage.py
index a81ea5f..6a65d05 100644
--- a/fabio/cbfimage.py
+++ b/fabio-src/cbfimage.py
@@ -14,7 +14,7 @@ __author__ = "Jérôme Kieffer"
 __contact__ = "jerome.kieffer at esrf.eu"
 __license__ = "GPLv3+"
 __copyright__ = "European Synchrotron Radiation Facility, Grenoble, France"
-__version__ = ["Generated by CIF.py: Jan 2005 - December 2010",
+__version__ = ["Generated by CIF.py: Jan 2005 - April 2012",
               "Written by Jerome Kieffer: Jerome.Kieffer at esrf.eu",
               "On-line data analysis / ISDD ", "ESRF Grenoble (France)"]
 
@@ -23,11 +23,13 @@ import os, logging, struct
 logger = logging.getLogger("cbfimage")
 import numpy
 from fabioimage import fabioimage
+from compression import decByteOffet_python, decByteOffet_weave, decByteOffet_numpy, md5sum, compByteOffet_numpy
 #import time
 
 DATA_TYPES = { "signed 8-bit integer"   : numpy.int8,
                "signed 16-bit integer"  : numpy.int16,
-               "signed 32-bit integer"  : numpy.int32
+               "signed 32-bit integer"  : numpy.int32,
+               "signed 64-bit integer"  : numpy.int64
                 }
 
 MINIMUM_KEYS = ["X-Binary-Size-Fastest-Dimension",
@@ -37,32 +39,33 @@ MINIMUM_KEYS = ["X-Binary-Size-Fastest-Dimension",
                 'Y dimension',
                 'Number of readouts']
 
-DEFAULT_VALUES = {
-                  "Data type": "signed 32-bit integer",
-                  "X-Binary-Size-Fastest-Dimension": 2463,
-                  "X-Binary-Element-Byte-Order": "LITTLE_ENDIAN"
-
-                  }
-
-
 
+STARTER = "\x0c\x1a\x04\xd5"
+PADDING = 512
 
 class cbfimage(fabioimage):
     """ 
     Read the Cif Binary File data format 
     """
-    def __init__(self, fname=None):
+    def __init__(self, data=None , header=None, fname=None):
         """
         Constructor of the class CIF Binary File reader.
 
         @param _strFilename: the name of the file to open
         @type  _strFilename: string
         """
-        fabioimage.__init__(self)
+        fabioimage.__init__(self, data, header)
         self.cif = CIF()
         if fname is not None: #load the file)
             self.read(fname)
 
+    @staticmethod
+    def checkData(data=None):
+        if data is None:
+            return None
+        else:
+            return data.astype(int)
+
 
     def _readheader(self, inStream):
         """
@@ -107,7 +110,7 @@ class cbfimage(fabioimage):
             logger.debug("CBF file misses the keys " + " ".join(missing))
 
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """
         Read in header into self.header and
             the data   into self.data
@@ -144,145 +147,6 @@ class cbfimage(fabioimage):
 
 
 
-    @staticmethod
-    def analysePython(stream, size):
-        """
-        Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
-        @param stream: string representing the compressed data
-        @param size: the size of the output array (of longInts)
-        @return :NParrays 
-        """
-#cimport numpy
-#import cython
-#        cdef int i,j 
-#        cdef char key = 0x80
-#        cdef  numpy.ndarray[double, ndim = 1] dataOut
-        logger.debug("CBF decompression using Python with Cython loops")
-        dataOut = numpy.zeros((size), dtype=numpy.int64)
-        i = 0
-        j = 0
-        last = 0
-        current = 0
-        while ((i < len(stream)) and (j < size)):
-            if (stream[i] == '\x80'):
-                if (stream[i + 1:i + 3] == "\x00\x80"):
-                    if (stream[i + 3:i + 7] == "\x00\x00\x00\x80"):
-                        current = struct.unpack("<q", stream[i + 7:i + 15])[0]
-                        i += 15
-                    else:
-                        current = struct.unpack("<i", stream[i + 3:i + 7])[0]
-                        i += 7
-                else:
-                    current = struct.unpack("<h", stream[i + 1:i + 3])[0]
-                    i += 3
-            else:
-                current = struct.unpack("<b", stream[i])[0]
-                i += 1
-            last += current
-            dataOut[j] = last
-            j += 1
-        return dataOut
-
-    @staticmethod
-    def analyseWeave(stream, size):
-        """
-        Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
-
-        @return list of NParrays
-        """
-        logger.debug("CBF decompression using Weave")
-        from scipy import weave
-        from scipy.weave import converters
-        dataIn = numpy.fromstring(stream, dtype="uint8")
-        n = dataIn.size
-        dataOut = numpy.zeros(size, dtype="int64")
-        codeC = """
-unsigned char key = 0x80;
-long   j = 0;
-long   last=0;
-long   current=0;
-for (int i=0; i< n; i++){
-    if (j>=size){
-    //printf("i= %i<%i, j=%i < size= %i %i\\n",i,n,j,size,dataIn(i));
-        break;
-   }
-   if (dataIn(i) == key){
-       if ( (dataIn(i+1)==0) and (dataIn(i+2)==key) ){
-           if ( (dataIn(i+3)==0) and (dataIn(i+4)==0) and (dataIn(i+5)==0) and (dataIn(i+6)==key) )  {
-                // 64 bits mode
-                char tmp = dataIn(i+14) ;
-                current = (long(tmp)<<56) | (long(dataIn(i+13))<<48) | (long(dataIn(i+12))<<40) | (long(dataIn(i+11))<<32) | (long(dataIn(i+10))<<24) | (long(dataIn(i+9))<<16) | (long(dataIn(i+8))<<8) | (long(dataIn(i+7)));
-//                printf("64 bit int at pos %i, %i, value=%ld \\n",i,j,current);
-                i+=14;
-            }else{
-                // 32 bits mode
-                char tmp = dataIn(i+6) ;
-                current = (long(tmp)<<24) | (long(dataIn(i+5))<<16) | (long(dataIn(i+4))<<8) | (long(dataIn(i+3)));
-//                printf("32 bit int at pos %i, %i, value=%ld was %i %i %i %i %i %i %i\\n",i,j,current,dataIn(i),dataIn(i+1),dataIn(i+2),dataIn(i+3),dataIn(i+4),dataIn(i+5),dataIn(i+6));
-//                printf("%ld %ld %ld %ld\\n",(long(tmp)<<24) , (long(dataIn(i+5))<<16) , (long(dataIn(i+4))<<8) ,long(dataIn(i+3)));
-                i+=6;
-            }
-       }else{
-            // 16 bit mode
-            char tmp = dataIn(i+2);
-            current = (long(tmp)<<8) | (long (dataIn(i+1)));
- //           printf("16 bit int at pos %i, %i, value=%ld was %i %i %i\\n",i,j,current,dataIn(i),dataIn(i+1),dataIn(i+2));
-            i+=2;
-       }
-   }else{
-       // 8 bit mode
-       char tmp = dataIn(i) ;
-       current= long(tmp) ;
-   }
-   last+=current;
-   dataOut(j)=last;
-   j++ ;
-}
-return_val=0;
-      """
-        rc = weave.inline(codeC, ["dataIn", "dataOut", "n", "size" ], verbose=2, type_converters=converters.blitz)
-        return dataOut
-
-
-    @staticmethod
-    def analyseNumpy(stream, size=None):
-        """
-        Analyze a stream of char with any length of exception: 
-                    2, 4, or 8 bytes integers
-
-        @return list of NParrays
-        """
-        logger.debug("CBF decompression using Numpy")
-        listnpa = []
-        key16 = "\x80"
-        key32 = "\x00\x80"
-        key64 = "\x00\x00\x00\x80"
-        shift = 1
-        while True:
-            idx = stream.find(key16)
-            if idx == -1:
-                listnpa.append(numpy.fromstring(stream, dtype="int8"))
-                break
-            listnpa.append(numpy.fromstring(stream[:idx], dtype="int8"))
-
-            if stream[idx + 1:idx + 3] == key32:
-                if stream[idx + 3:idx + 7] == key64:
-#                        long int 64 bits
-                    listnpa.append(numpy.fromstring(stream[idx + 7:idx + 15],
-                                                 dtype="int64"))
-                    shift = 15
-                else: #32 bit int
-                    listnpa.append(numpy.fromstring(stream[idx + 3:idx + 7],
-                                                 dtype="int32"))
-                    shift = 7
-            else: #int16 
-                listnpa.append(numpy.fromstring(stream[idx + 1:idx + 3],
-                                             dtype="int16"))
-                shift = 3
-            stream = stream[idx + shift:]
-        return  (numpy.hstack(listnpa)).astype("int64").cumsum()
-
-
     def _readbinary_byte_offset(self, inStream):
         """
         Read in a binary part of an x-CBF_BYTE_OFFSET compressed image 
@@ -292,15 +156,13 @@ return_val=0;
         @return: a linear numpy array without shape and dtype set
         @rtype: numpy array
         """
-
-        starter = "\x0c\x1a\x04\xd5"
-        startPos = inStream.find(starter) + 4
+        startPos = inStream.find(STARTER) + 4
         data = inStream[ startPos: startPos + int(self.header["X-Binary-Size"])]
         try:
             import byte_offset
         except ImportError:
             logger.warning("Error in byte_offset part: Falling back to Numpy implementation")
-            myData = cbfimage.analyseNumpy(data, size=self.dim1 * self.dim2)
+            myData = decByteOffet_numpy(data, size=self.dim1 * self.dim2)
         else:
             myData = byte_offset.analyseCython(data, size=self.dim1 * self.dim2)
 
@@ -308,13 +170,79 @@ return_val=0;
         return myData
 
 
+    def write(self, fname):
+        """
+        write the file in CBF format
+        @param fname: name of the file
+        @type: string
+        """
+        if self.data is not None:
+            self.dim2, self.dim1 = self.data.shape
+        else:
+            raise RuntimeError("CBF image contains no data")
+        binary_blob = compByteOffet_numpy(self.data)
+#        l = len(binary_blob)
+#        if (l % PADDING) != 0:
+#            rem = PADDING - (l % PADDING)
+#            binary_blob += "\x00" * rem
+        dtype = "Unknown"
+        for key, value in DATA_TYPES.iteritems():
+            if value == self.data.dtype:
+                dtype = key
+        binary_block = [
+                        "--CIF-BINARY-FORMAT-SECTION--",
+                        "Content-Type: application/octet-stream;",
+                        '     conversions="x-CBF_BYTE_OFFSET"',
+                        'Content-Transfer-Encoding: BINARY',
+                        "X-Binary-Size: %d" % (len(binary_blob)),
+                        "X-Binary-ID: 1",
+                        'X-Binary-Element-Type: "%s"' % (dtype),
+                        "X-Binary-Element-Byte-Order: LITTLE_ENDIAN" ,
+                        "Content-MD5: %s" % md5sum(binary_blob),
+                        "X-Binary-Number-of-Elements: %s" % (self.dim1 * self.dim2),
+                        "X-Binary-Size-Fastest-Dimension: %d" % self.dim1,
+                        "X-Binary-Size-Second-Dimension: %d" % self.dim2,
+                        "X-Binary-Size-Padding: %d" % 1,
+                        "",
+                        STARTER + binary_blob,
+                        "",
+                        "--CIF-BINARY-FORMAT-SECTION----"
+                        ]
+
+        if "_array_data.header_contents" not in self.header:
+            nonCifHeaders = []
+        else:
+            nonCifHeaders = [i.strip()[2:] for i in self.header["_array_data.header_contents"].split("\n") if i.find("# ") >= 0]
 
-
-
-
+        for key in self.header:
+            if (key not in self.header_keys):
+                self.header_keys.append(key)
+        for key in self.header_keys:
+            if key.startswith("_") :
+                if key not in self.cif or self.cif[key] != self.header[key]:
+                    self.cif[key] = self.header[key]
+            elif key.startswith("X-Binary-"):
+                pass
+            elif key.startswith("Content-"):
+                pass
+            elif key.startswith("conversions"):
+                pass
+            elif key.startswith("filename"):
+                pass
+            elif key in self.header:
+                nonCifHeaders.append("%s %s" % (key, self.header[key]))
+        if len(nonCifHeaders) > 0:
+            self.cif["_array_data.header_contents"] = "\r\n".join(["# %s" % i for i in nonCifHeaders])
+
+        self.cif["_array_data.data"] = "\r\n".join(binary_block)
+        self.cif.saveCIF(fname, linesep="\r\n", binary=True)
+
+################################################################################
+# CIF class 
+################################################################################
 class CIF(dict):
     """
-    This is the CIF class, it represents the CIF dictionary; 
+    This is the CIF class, it represents the CIF dictionary;
     and as a a python dictionary thus inherits from the dict built in class.
     """
     EOL = ["\r", "\n", "\r\n", "\n\r"]
@@ -326,30 +254,37 @@ class CIF(dict):
         """
         Constructor of the class.
 
-        @param _strFilename: the name of the file to open 
+        @param _strFilename: the name of the file to open
         @type  _strFilename: filename (str) or file object
         """
         dict.__init__(self)
+        self._ordered = []
         if _strFilename is not None: #load the file)
             self.loadCIF(_strFilename)
 
-    def readCIF(self, _strFilename):
-        """
-        Just call loadCIF:
-        Load the CIF file and sets the CIF dictionnary into the object
-        
-        @param _strFilename: the name of the file to open
-        @type  _strFilename: string
-        """
-        self.loadCIF(_strFilename)
+    def __setitem__(self, key, value):
+        if key not in self._ordered:
+            self._ordered.append(key)
+        return dict.__setitem__(self, key, value)
+
+    def pop(self, key):
+        if key  in self._ordered:
+            self._ordered.remove(key)
+        return dict.pop(self, key)
+
+    def popitem(self, key):
+        if key  in self._ordered:
+            self._ordered.remove(key)
+        return dict.popitem(self, key)
+
 
     def loadCIF(self, _strFilename, _bKeepComment=False):
-        """Load the CIF file and returns the CIF dictionnary into the object
+        """Load the CIF file and populates the CIF dictionary into the object
         @param _strFilename: the name of the file to open
         @type  _strFilename: string
         @param _strFilename: the name of the file to open
         @type  _strFilename: string
-        @return the 
+        @return: None
         """
 
         if isinstance(_strFilename, (str, unicode)):
@@ -366,16 +301,16 @@ class CIF(dict):
             self._parseCIF(infile.read())
         else:
             self._parseCIF(CIF._readCIF(infile))
-
+    readCIF = loadCIF
 
     @staticmethod
     def isAscii(_strIn):
         """
         Check if all characters in a string are ascii,
-        
+
         @param _strIn: input string
         @type _strIn: python string
-        @return: boolean 
+        @return: boolean
         @rtype: boolean
         """
         bIsAcii = True
@@ -389,10 +324,10 @@ class CIF(dict):
     @staticmethod
     def _readCIF(_instream):
         """
-        -Check if the filename containing the CIF data exists 
-        -read the cif file
-        -removes the comments 
-        
+        - Check if the filename containing the CIF data exists
+        - read the cif file
+        - removes the comments
+
         @param _instream: the file containing the CIF data
         @type _instream: open file in read mode
         @return: a string containing the raw data
@@ -410,25 +345,25 @@ class CIF(dict):
                     sText += sLine[:iPos] + os.linesep
 
                 if iPos > 80 :
-                    print("Warning, this line is too long and could cause problems in PreQuest", os.linesep, sLine)
+                    logger.warning("This line is too long and could cause problems in PreQuest: %s", sLine)
             else :
                 sText += sLine
                 if len(sLine.strip()) > 80 :
-                    print("Warning, this line is too long and could cause problems in PreQues", os.linesep, sLine)
+                    logger.warning("This line is too long and could cause problems in PreQues: %s", sLine)
         return sText
 
 
     def _parseCIF(self, sText):
-        """ 
-        -Parses the text of a CIF file   
-        -Cut it in fields
-        -Find all the loops and process    
-        -Find all the keys and values      
-        
-        @param sText: the content of the CIF-file
+        """
+        - Parses the text of a CIF file
+        - Cut it in fields
+        - Find all the loops and process
+        - Find all the keys and values
+
+        @param sText: the content of the CIF - file
         @type sText: string
         @return: Nothing, the data are incorporated at the CIF object dictionary
-        @rtype: dictionary
+        @rtype: None
         """
         loopidx = []
         looplen = []
@@ -458,13 +393,12 @@ class CIF(dict):
             if lFields[i][0] == "_" and lFields[i + 1][0] != "_":
                 self[lFields[i]] = lFields[i + 1]
 
-
     @staticmethod
     def _splitCIF(sText):
         """
         Separate the text in fields as defined in the CIF
-        
-        @param sText: the content of the CIF-file
+
+        @param sText: the content of the CIF - file
         @type sText: string
         @return: list of all the fields of the CIF
         @rtype: list
@@ -543,9 +477,9 @@ class CIF(dict):
         """Processes one loop in the data extraction of the CIF file
         @param lFields: list of all the words contained in the cif file
         @type lFields: list
-        @param iStart: the starting index corresponding to the "loop_" key 
+        @param iStart: the starting index corresponding to the "loop_" key
         @type iStart: integer
-        @return: the list of loop dictionaries, the length of the data 
+        @return: the list of loop dictionaries, the length of the data
             extracted from the lFields and the list of all the keys of the loop.
         @rtype: tuple
         """
@@ -611,19 +545,24 @@ class CIF(dict):
 ########     everything needed to  write a cif file #########################################
 #############################################################################################
 
-    def saveCIF(self, _strFilename="test.cif"):
+    def saveCIF(self, _strFilename="test.cif", linesep=os.linesep, binary=False):
         """Transforms the CIF object in string then write it into the given file
         @param _strFilename: the of the file to be written
+        @param linesep: line separation used (to force compatibility with windows/unix)
+        @param binary: Shall we write the data as binary (True only for imageCIF/CBF)
         @type param: string
         """
-
+        if binary:
+            mode = "wb"
+        else:
+            mode = "w"
         try:
-            fFile = open(_strFilename, "w")
+            fFile = open(_strFilename, mode)
         except IOError:
             print("Error during the opening of file for write: %s" %
                                                             _strFilename)
             return
-        fFile.write(self._cif2str(_strFilename))
+        fFile.write(self.tostring(_strFilename, linesep))
         try:
             fFile.close()
         except IOError:
@@ -631,73 +570,80 @@ class CIF(dict):
                                                              _strFilename)
 
 
-    def _cif2str(self, _strFilename):
+    def tostring(self, _strFilename=None, linesep=os.linesep):
         """converts a cif dictionnary to a string according to the CIF syntax
-        @param _strFilename: the name of the filename to be appended in the 
-                                header of the CIF file 
+        @param _strFilename: the name of the filename to be appended in the
+                                header of the CIF file
         @type _strFilename: string
-        @return : a sting that corresponds to the content of the CIF-file.
+        @return : a sting that corresponds to the content of the CIF - file.
         @rtype: string
         """
-        sCifText = ""
-        for i in __version__:
-            sCifText += "# " + i + os.linesep
-        if self.exists("_chemical_name_common"):
+#        sCifText = ""
+        lstStrCif = ["# " + i for i in __version__]
+        if "_chemical_name_common" in self:
             t = self["_chemical_name_common"].split()[0]
-        else:
+        elif _strFilename is not None:
             t = os.path.splitext(os.path.split(_strFilename.strip())[1])[0]
-        sCifText += "data_%s%s" % (t, os.linesep)
+        else:
+            t = ""
+        lstStrCif.append("data_%s" % (t))
         #first of all get all the keys :
         lKeys = self.keys()
         lKeys.sort()
-        for sKey in lKeys:
+        for key in lKeys[:]:
+            if key in self._ordered:
+                lKeys.remove(key)
+        self._ordered += lKeys
+
+        for sKey in self._ordered:
             if sKey == "loop_":
                 continue
+            if sKey not in self:
+                self._ordered.remove(sKey)
+                logger.debug("Skipping key %s from ordered list as no more present in dict")
+                continue
             sValue = str(self[sKey])
             if sValue.find("\n") > -1: #should add value  between ;;
-                sLine = "%s %s;%s %s %s;%s" % (sKey, os.linesep, os.linesep,
-                                               sValue, os.linesep, os.linesep)
+                lLine = [sKey, ";", sValue, ";", ""]
             elif len(sValue.split()) > 1: #should add value between ''
-                sLine = "%s        '%s' \n" % (sKey, sValue)
+                sLine = "%s        '%s'" % (sKey, sValue)
                 if len(sLine) > 80:
-                    sLine = "%s %s '%s' %s" % (sKey, os.linesep,
-                                               sValue, os.linesep)
+                    lLine = [str(sKey), sValue]
+                else:
+                    lLine = [sLine]
             else:
-                sLine = "%s        %s %s" % (sKey, sValue, os.linesep)
+                sLine = "%s        %s" % (sKey, sValue)
                 if len(sLine) > 80:
-                    sLine = "%s %s  %s %s" % (sKey, os.linesep,
-                                                sValue, os.linesep)
-            sCifText += sLine
+                    lLine = [str(sKey), sValue]
+                else:
+                    lLine = [sLine]
+            lstStrCif += lLine
         if self.has_key("loop_"):
             for loop in self["loop_"]:
-                sCifText += "loop_ " + os.linesep
+                lstStrCif.append("loop_ ")
                 lKeys = loop[0]
                 llData = loop[1]
-                for sKey in lKeys:
-                    sCifText += " %s %s" % (sKey, os.linesep)
+                lstStrCif += [" %s" % (sKey) for sKey in lKeys]
                 for lData in llData:
-                    sLine = ""
+                    sLine = " "
                     for key in lKeys:
                         sRawValue = lData[key]
                         if sRawValue.find("\n") > -1: #should add value  between ;;
-                            sLine += "%s; %s %s;%s" % (os.linesep, sRawValue,
-                                                  os.linesep, os.linesep)
-                            sCifText += sLine
-                            sLine = ""
+                            lstStrCif += [sLine, ";", str(sRawValue), ";"]
+                            sLine = " "
                         else:
                             if len(sRawValue.split()) > 1: #should add value between ''
                                 value = "'%s'" % (sRawValue)
                             else:
-                                value = sRawValue
+                                value = str(sRawValue)
                             if len(sLine) + len(value) > 78:
-                                sCifText += sLine + " " + os.linesep
+                                lstStrCif += [sLine]
                                 sLine = " " + value
                             else:
                                 sLine += " " + value
-                    sCifText += sLine + " " + os.linesep
-                sCifText += os.linesep
-        #print sCifText
-        return sCifText
+                    lstStrCif.append(sLine)
+                lstStrCif.append("")
+        return linesep.join(lstStrCif)
 
 
     def exists(self, sKey):
@@ -739,9 +685,9 @@ class CIF(dict):
 
     def loadCHIPLOT(self, _strFilename):
         """
-        Load the powder diffraction CHIPLOT file and returns the 
+        Load the powder diffraction CHIPLOT file and returns the
         pd_CIF dictionary in the object
-        
+
         @param _strFilename: the name of the file to open
         @type  _strFilename: string
         @return: the CIF object corresponding to the powder diffraction
diff --git a/fabio-src/compression.py b/fabio-src/compression.py
new file mode 100644
index 0000000..d585a77
--- /dev/null
+++ b/fabio-src/compression.py
@@ -0,0 +1,388 @@
+#!/usr/bin/env python
+# coding: utf8
+"""
+Authors: Jérôme Kieffer, ESRF 
+         email:jerome.kieffer at esrf.fr
+
+FabIO library containing compression and decompression algorithm for various  
+"""
+__author__ = "Jérôme Kieffer"
+__contact__ = "jerome.kieffer at esrf.eu"
+__license__ = "GPLv3+"
+__copyright__ = "European Synchrotron Radiation Facility, Grenoble, France"
+
+
+import os, logging, struct, hashlib, base64, StringIO, sys
+if sys.version_info >= (3,):
+    str = bytes
+logger = logging.getLogger("compression")
+import numpy
+
+try:
+    import gzip
+except ImportError:
+    logger.error("Unable to import gzip module: disabling gzip compression")
+    gzip = None
+
+try:
+    import bz2
+except ImportError:
+    logger.error("Unable to import bz2 module: disabling bz2 compression")
+    bz2 = None
+
+try:
+    import zlib
+except ImportError:
+    logger.error("Unable to import zlib module: disabling zlib compression")
+    zlib = None
+
+def md5sum(blob):
+    """
+    returns the md5sum of an object... 
+    """
+    return base64.b64encode(hashlib.md5(blob).digest())
+
+
+def endianness():
+    if numpy.little_endian:
+        return "LITTLE_ENDIAN"
+    else:
+        return "BIG_ENDIAN"
+
+
+def decGzip(stream):
+    if gzip is None:
+        raise ImportError("gzip module is not available")
+    fileobj = StringIO.StringIO(stream)
+    try:
+        rawData = gzip.GzipFile(fileobj=fileobj).read()
+    except IOError:
+        logger.warning("Encounter the python-gzip bug with trailing garbage, trying subprocess gzip")
+        try:
+            #This is as an ugly hack against a bug in Python gzip
+            import subprocess
+            sub = subprocess.Popen(["gzip", "-d", "-f"], stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
+            rawData, err = sub.communicate(input=stream)
+            logger.debug("Gzip subprocess ended with %s err= %s; I got %s bytes back" % (sub.wait(), err, len(rawData)))
+        except Exception, error: #IGNORE:W0703
+            logger.warning("Unable to use the subprocess gzip (%s). Is gzip available? " % error)
+            for i in range(1, 513):
+                try:
+                    fileobj = StringIO.StringIO(stream[:-i])
+                    rawData = gzip.GzipFile(fileobj=fileobj).read()
+                except IOError:
+                    logger.debug("trying with %s bytes less, doesn't work" % i)
+                else:
+                    break
+            else:
+                logger.error("I am totally unable to read this gzipped compressed data block, giving up")
+    return rawData
+
+
+def decBzip2(stream):
+    """
+    decompress a chunk of data using the bzip2 algorithm
+    """
+    if bz2 is None:
+        raise ImportError("bz2 module is not available")
+    return bz2.decompress(stream)
+
+
+def decZlib(stream):
+    """
+    decompress a chunk of data using the zlib algorithm
+    """
+    if zlib is None:
+        raise ImportError("zlib module is not available")
+    return zlib.decompress(stream)
+
+
+def decByteOffet_python(stream, size):
+    """
+    Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
+    @param stream: string representing the compressed data
+    @param size: the size of the output array (of longInts)
+    @return :NParrays 
+    """
+    logger.debug("CBF decompression using Python with Cython loops")
+    dataOut = numpy.zeros((size), dtype=numpy.int64)
+    i = 0
+    j = 0
+    last = 0
+    current = 0
+    while ((i < len(stream)) and (j < size)):
+        if (stream[i] == '\x80'):
+            if (stream[i + 1:i + 3] == "\x00\x80"):
+                if (stream[i + 3:i + 7] == "\x00\x00\x00\x80"):
+                    current = struct.unpack("<q", stream[i + 7:i + 15])[0]
+                    i += 15
+                else:
+                    current = struct.unpack("<i", stream[i + 3:i + 7])[0]
+                    i += 7
+            else:
+                current = struct.unpack("<h", stream[i + 1:i + 3])[0]
+                i += 3
+        else:
+            current = struct.unpack("<b", stream[i])[0]
+            i += 1
+        last += current
+        dataOut[j] = last
+        j += 1
+    return dataOut
+
+def decByteOffet_weave(stream, size):
+    """
+    Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
+
+    @return list of NParrays
+    """
+    logger.debug("CBF decompression using Weave")
+    from scipy import weave
+    from scipy.weave import converters
+    dataIn = numpy.fromstring(stream, dtype="uint8")
+    n = dataIn.size
+    dataOut = numpy.zeros(size, dtype="int64")
+    codeC = """
+unsigned char key = 0x80;
+long   j = 0;
+long   last=0;
+long   current=0;
+for (int i=0; i< n; i++){
+   if (j>=size){
+   //printf("i= %i<%i, j=%i < size= %i %i\\n",i,n,j,size,dataIn(i));
+       break;
+  }
+  if (dataIn(i) == key){
+      if ( (dataIn(i+1)==0) and (dataIn(i+2)==key) ){
+          if ( (dataIn(i+3)==0) and (dataIn(i+4)==0) and (dataIn(i+5)==0) and (dataIn(i+6)==key) )  {
+               // 64 bits mode
+               char tmp = dataIn(i+14) ;
+               current = (long(tmp)<<56) | (long(dataIn(i+13))<<48) | (long(dataIn(i+12))<<40) | (long(dataIn(i+11))<<32) | (long(dataIn(i+10))<<24) | (long(dataIn(i+9))<<16) | (long(dataIn(i+8))<<8) | (long(dataIn(i+7)));
+//                printf("64 bit int at pos %i, %i, value=%ld \\n",i,j,current);
+               i+=14;
+           }else{
+               // 32 bits mode
+               char tmp = dataIn(i+6) ;
+               current = (long(tmp)<<24) | (long(dataIn(i+5))<<16) | (long(dataIn(i+4))<<8) | (long(dataIn(i+3)));
+//                printf("32 bit int at pos %i, %i, value=%ld was %i %i %i %i %i %i %i\\n",i,j,current,dataIn(i),dataIn(i+1),dataIn(i+2),dataIn(i+3),dataIn(i+4),dataIn(i+5),dataIn(i+6));
+//                printf("%ld %ld %ld %ld\\n",(long(tmp)<<24) , (long(dataIn(i+5))<<16) , (long(dataIn(i+4))<<8) ,long(dataIn(i+3)));
+               i+=6;
+           }
+      }else{
+           // 16 bit mode
+           char tmp = dataIn(i+2);
+           current = (long(tmp)<<8) | (long (dataIn(i+1)));
+//           printf("16 bit int at pos %i, %i, value=%ld was %i %i %i\\n",i,j,current,dataIn(i),dataIn(i+1),dataIn(i+2));
+           i+=2;
+      }
+  }else{
+      // 8 bit mode
+      char tmp = dataIn(i) ;
+      current= long(tmp) ;
+  }
+  last+=current;
+  dataOut(j)=last;
+  j++ ;
+}
+return_val=0;
+     """
+    rc = weave.inline(codeC, ["dataIn", "dataOut", "n", "size" ], verbose=2, type_converters=converters.blitz)
+    if rc != 0:
+        logger.warning("weave binary module return error code %s" % rc)
+    return dataOut
+
+
+
+def decByteOffet_numpy(stream, size=None):
+    """
+    Analyze a stream of char with any length of exception: 
+                2, 4, or 8 bytes integers
+
+    @return list of NParrays
+    """
+    logger.debug("CBF decompression using Numpy")
+    listnpa = []
+    key16 = "\x80"
+    key32 = "\x00\x80"
+    key64 = "\x00\x00\x00\x80"
+    shift = 1
+    while True:
+        idx = stream.find(key16)
+        if idx == -1:
+            listnpa.append(numpy.fromstring(stream, dtype="int8"))
+            break
+        listnpa.append(numpy.fromstring(stream[:idx], dtype="int8"))
+
+        if stream[idx + 1:idx + 3] == key32:
+            if stream[idx + 3:idx + 7] == key64:
+#                        long int 64 bits
+                listnpa.append(numpy.fromstring(stream[idx + 7:idx + 15],
+                                             dtype="int64"))
+                shift = 15
+            else: #32 bit int
+                listnpa.append(numpy.fromstring(stream[idx + 3:idx + 7],
+                                             dtype="int32"))
+                shift = 7
+        else: #int16 
+            listnpa.append(numpy.fromstring(stream[idx + 1:idx + 3],
+                                         dtype="int16"))
+            shift = 3
+        stream = stream[idx + shift:]
+    return  (numpy.hstack(listnpa)).astype("int64").cumsum()
+
+
+def decByteOffet_cython(stream, size=None):
+    """
+    Analyze a stream of char with any length of exception: 
+                2, 4, or 8 bytes integers
+
+    @return list of NParrays
+    """
+    logger.debug("CBF decompression using cython")
+    try:
+        from fabio.byte_offset import analyseCython
+    except ImportError, error:
+        logger.error("Failed to import byte_offset cython module, falling back on numpy method")
+        return decByteOffet_numpy(stream, size)
+    else:
+        return analyseCython(stream, size)
+
+def compByteOffet_numpy(data):
+    """
+    Compress a dataset into a string using the byte_offet algorithm
+    @param data: ndarray
+    @return: string/bytes with compressed data
+    
+    test = numpy.array([0,1,2,127,0,1,2,128,0,1,2,32767,0,1,2,32768,0,1,2,2147483647,0,1,2,2147483648,0,1,2,128,129,130,32767,32768,128,129,130,32768,2147483647,2147483648])
+    
+    
+    """
+    flat = data.astype("int64").ravel()
+    delta = numpy.zeros_like(flat)
+    delta[0] = flat[0]
+    delta[1:] = flat[1:] - flat[:-1]
+    mask = ((delta > 127) + (delta < -127))
+    exceptions = numpy.nonzero(mask)[0]
+    if numpy.little_endian:
+        byteswap = False
+    else:
+        byteswap = True
+    start = 0
+    binary_blob = ""
+    for stop in exceptions:
+        if stop - start > 0:
+            binary_blob += delta[start:stop].astype("int8").tostring()
+        exc = delta[stop]
+        if (exc > 2147483647) or (exc < -2147483647): #2**31-1
+            binary_blob += "\x80\x00\x80\x00\x00\x00\x80"
+            if byteswap:
+                binary_blob += delta[stop:stop + 1].byteswap().tostring()
+            else:
+                binary_blob += delta[stop:stop + 1].tostring()
+        elif (exc > 32767) or (exc < -32767): #2**15-1
+            binary_blob += "\x80\x00\x80"
+            if byteswap:
+                binary_blob += delta[stop:stop + 1].astype("int32").byteswap().tostring()
+            else:
+                binary_blob += delta[stop:stop + 1].astype("int32").tostring()
+        else: #>127
+            binary_blob += "\x80"
+            if byteswap:
+                binary_blob += delta[stop:stop + 1].astype("int16").byteswap().tostring()
+            else:
+                binary_blob += delta[stop:stop + 1].astype("int16").tostring()
+        start = stop + 1
+    if start < delta.size:
+        binary_blob += delta[start:].astype("int8").tostring()
+    return binary_blob
+
+
+def decTY1(raw_8, raw_16=None, raw_32=None):
+    """
+    Modified byte offset decompressor used in Oxford Diffraction images
+    @param raw_8,raw_16,raw_32: strings containing raw data with integer of the given size
+    @return numpy.ndarray 
+    """
+    data = numpy.fromstring(raw_8, dtype="uint8").astype(int)
+    data -= 127
+    if raw_32 is not None:
+        int32 = numpy.fromstring(raw_32, dtype="int32").astype(int)
+        exception32 = numpy.nonzero(data == 128)
+    if raw_16 is not None:
+        int16 = numpy.fromstring(raw_16, dtype="int16").astype(int)
+        exception16 = numpy.nonzero(data == 127)
+        data[exception16] = int16
+    if raw_32:
+        data[exception32] = int32
+    summed = data.cumsum()
+    smax = summed.max()
+    if (smax > (2 ** 31 - 1)):
+        bytecode = "int64"
+    elif (smax > (2 ** 15 - 1)):
+        bytecode = "int32"
+    elif (smax > (2 ** 7 - 1)):
+        bytecode = "int16"
+    else:
+        bytecode = "int8"
+    return summed.astype(bytecode)
+decKM4CCD = decTY1
+
+def compTY1(data):
+    """
+    Modified byte offset compressor used in Oxford Diffraction images
+    
+    @param data numpy.ndarray
+    @return  raw_8,raw_16,raw_32: strings containing raw data with integer of the given size 
+    """
+    fdata = data.flatten()
+    diff = numpy.zeros_like(fdata)
+    diff[0] = fdata[0]
+    diff[1:] = fdata[1:] - fdata[:-1]
+    adiff = abs(diff)
+    exception32 = (adiff > 32767)#2**15-1
+    exception16 = (adiff >= 127) - exception32 #2**7-1)
+    we16 = numpy.where(exception16)
+    we32 = numpy.where(exception32)
+    raw_16 = diff[we16].astype("int16").tostring()
+    raw_32 = diff[we32].astype("int32").tostring()
+    diff[we16] = 127
+    diff[we32] = 128
+    diff += 127
+    raw_8 = diff.astype("uint8").tostring()
+    return  raw_8, raw_16, raw_32
+
+def decPCK(stream, dim1=None, dim2=None, overflowPix=None):
+    """
+    Modified CCP4  pck decompressor used in MAR345 images
+    
+    @param stream: string or file 
+    @return numpy.ndarray (square array) 
+    """
+
+    try:
+        from mar345_IO import uncompress_pck
+    except ImportError, error:
+        raise RuntimeError("Unable to import mar345_IO to read compressed dataset")
+    if "seek" in dir(stream):
+        stream.seek(0)
+        raw = stream.read()
+    else:
+        raw = str(stream)
+
+    return uncompress_pck(raw, dim1, dim2, overflowPix)
+
+
+def compPCK(data):
+    """
+    Modified CCP4  pck compressor used in MAR345 images
+    
+    @param data numpy.ndarray (square array)
+    @return  compressed stream 
+    """
+    try:
+        from mar345_IO import compress_pck
+    except ImportError, error:
+        raise RuntimeError("Unable to import mar345_IO to write compressed dataset")
+    return compress_pck(data)
+
+
diff --git a/fabio-src/converters.py b/fabio-src/converters.py
new file mode 100644
index 0000000..c541f27
--- /dev/null
+++ b/fabio-src/converters.py
@@ -0,0 +1,54 @@
+#!/usr/bin/env python 
+#coding: utf8
+"""
+Converter module. 
+This is for the moment empty (populated only with almost pass through anonymous functions)
+but aims to be populated with more sofisticated translators ...  
+
+"""
+__author__ = "Jérôme Kieffer"
+__contact__ = "jerome.kieffer at esrf.eu"
+__license__ = "GPLv3+"
+__copyright__ = "European Synchrotron Radiation Facility, Grenoble, France"
+
+import types, logging
+logger = logging.getLogger("converter")
+
+def convert_data_integer(data):
+    """
+    convert data to integer
+    """
+    if data is not None:
+        return data.astype(int)
+    else:
+        return data
+
+
+CONVERSION_HEADER = {
+                     ("edfimage", "edfimage"): lambda header:header,
+                     }
+CONVERSION_DATA = {
+                   ("edfimage", "edfimage"): lambda data:data,
+                   ("edfimage", "cbfimage"): convert_data_integer,
+                   ("edfimage", "mar345image"): convert_data_integer,
+                   ("edfimage", "fit2dmaskimage"): convert_data_integer,
+                   ("edfimage", "kcdimage"): convert_data_integer,
+                   ("edfimage", "OXDimage"): convert_data_integer,
+                   ("edfimage", "pnmimage"): convert_data_integer,
+                   }
+
+def convert_data(inp, outp, data):
+    """
+    Return data converted to the output format ... over-simplistic implementation for the moment ...
+    @param inp,outp: input/output format like "cbfimage"
+    @param data(ndarray): the actual dataset to be transformed
+    """
+    return CONVERSION_DATA.get((inp, outp), lambda data:data)(data)
+
+def convert_header(inp, outp, header):
+    """
+    return header converted to the output format
+    @param inp,outp: input/output format like "cbfimage"
+    @param header(dict):the actual set of headers to be transformed 
+    """
+    return CONVERSION_HEADER.get((inp, outp), lambda header:header)(header)
diff --git a/fabio/datIO.py b/fabio-src/datIO.py
similarity index 87%
rename from fabio/datIO.py
rename to fabio-src/datIO.py
index c6b4527..4af2d0e 100644
--- a/fabio/datIO.py
+++ b/fabio-src/datIO.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+#coding: utf8
 """
 Authors: Henning O. Sorensen & Erik Knudsen
          Center for Fundamental Research: Metal Structures in Four Dimensions
@@ -22,7 +23,7 @@ class fabiodata(object):
         set up initial values
         """
         if type(data) == type("string"):
-                raise Exception("fabioimage.__init__ bad argument - " + \
+            raise Exception("fabioimage.__init__ bad argument - " + \
                                 "data should be numpy array")
         self.data = data
         if (self.data):
@@ -32,7 +33,7 @@ class fabiodata(object):
         if (fname):
             self.read(fname)
 
-    def read(self, fname=None):
+    def read(self, fname=None, frame=None):
         """
         To be overridden by format specific subclasses
         """
@@ -41,9 +42,9 @@ class fabiodata(object):
 #import stuff from Jon's columnfile things
 
 
-class columnfile (fabiodata):
-
-    def read(self, fname):
+class columnfile(fabiodata):
+    "Concrete fabiodata class"
+    def read(self, fname, frame=None):
         import cf_io
         try:
             infile = open(fname, 'rb')
diff --git a/fabio/dm3image.py b/fabio-src/dm3image.py
similarity index 82%
rename from fabio/dm3image.py
rename to fabio-src/dm3image.py
index 752f928..e876767 100644
--- a/fabio/dm3image.py
+++ b/fabio-src/dm3image.py
@@ -8,9 +8,10 @@ Authors: Henning O. Sorensen & Erik Knudsen
 
         + Jon Wright, ESRF
 """
-
+import logging
 import numpy
 from fabioimage import fabioimage
+logger = logging.getLogger("dm3image")
 
 DATA_TYPES = {  2     :  numpy.int16,
                 4     :  numpy.uint16,
@@ -44,7 +45,19 @@ DATA_BYTES = {  2     :  2,
 
 class dm3image(fabioimage):
     """ Read and try to write the dm3 data format """
-
+    def __init__(self, *args, **kwargs):
+        fabioimage.__init__(self, *args, **kwargs)
+        self.encoded_datatype = None
+        self.no_data_elements = None
+        self.grouptag_is_sorted = None
+        self.grouptag_is_open = None
+        self.tag_encoded_type = None
+        self.tag_data_type = None
+        self.tag_is_data = None
+        self.grouptag_no_tags = None
+        self.bytes_in_file = None
+        self.tag_label_length = None
+        self.go_on = None
 
     def _readheader(self):
         self.infile.seek(0)
@@ -63,7 +76,7 @@ class dm3image(fabioimage):
         else:
             raise ValueError
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         self.header = {}
         self.resetvals()
         self.infile = self._open(fname, "rb")
@@ -107,16 +120,16 @@ class dm3image(fabioimage):
         self.grouptag_is_sorted = self.readbytes(1, numpy.uint8)[0]
         self.grouptag_is_open = self.readbytes(1, numpy.uint8)[0]
         self.grouptag_no_tags = self.readbytes(4, numpy.uint32)[0]
-        #print 'TagGroup is sorted? ',self.grouptag_is_sorted
-        #print 'TagGroup is open? ',self.grouptag_is_open
-        #print 'no of tags in TagGroup', self.grouptag_no_tags
+        logger.debug('TagGroup is sorted? %s', self.grouptag_is_sorted)
+        logger.debug('TagGroup is open? %s', self.grouptag_is_open)
+        logger.debug('no of tags in TagGroup %s', self.grouptag_no_tags)
 
     def read_tag_entry(self):
 
         self.tag_is_data = self.readbytes(1, numpy.uint8)[0]
         self.tag_label_length = self.readbytes(2, numpy.uint16)[0]
-        #print 'does Tag have data ?' , self.tag_is_data, ' -  20 = Tag group , 21 = data '
-        #print 'length of tag_label ', self.tag_label_length
+        logger.debug('does Tag have data ? %s  -  20 = Tag group , 21 = data ', self.tag_is_data)
+        logger.debug('length of tag_label ', self.tag_label_length)
         if self.tag_label_length != 0:
             tag_label = self.infile.read(self.tag_label_length)
         else:
@@ -125,16 +138,16 @@ class dm3image(fabioimage):
         if self.tag_is_data == 21:
             # This is data
             self.header[tag_label] = self.read_tag_type()
-            #print self.header[tag_label]
+            logger.debug("%s: %s", tag_label, self.header[tag_label])
 
 
     def read_tag_type(self):
         if self.infile.read(4) != '%%%%':
             raise IOError
         self.tag_data_type = self.readbytes(4, numpy.uint32)[0]
-        #print 'data is of type :', self.tag_data_type , '  - 1 = simple, 2= string, 3 = array, >3 structs'
+        logger.debug('data is of type : %s  - 1 = simple, 2= string, 3 = array, >3 structs', self.tag_data_type)
         self.tag_encoded_type = self.readbytes(4, numpy.uint32)[0]
-        # print 'encode type: ', self.tag_encoded_type, DATA_TYPES[ self.tag_encoded_type] 
+        logger.debug('encode type: %s %s', self.tag_encoded_type, DATA_TYPES[ self.tag_encoded_type])
         if self.tag_data_type == 1:
             # simple type
             return self.readbytes(DATA_BYTES[ self.tag_encoded_type],
@@ -145,12 +158,12 @@ class dm3image(fabioimage):
             self.data_type = self.readbytes(4, numpy.uint32)[0]
             self.no_data_elements = self.readbytes(4, numpy.uint32)[0]
             if self.data_type == 10:
-                #print 'skip bytes', self.no_data_elements
+                logger.debug('skip bytes %s', self.no_data_elements)
                 dump = self.infile.read(self.no_data_elements)
                 return None
 
-            # print 'Data are stored as a simple a array -'
-            # print '%i data elemets stored as ' %self.no_data_elements, self.data_type
+            logger.debug('Data are stored as a simple a array -')
+            logger.debug('%s data elemets stored as %s', self.no_data_elements, self.data_type)
             read_no_bytes = DATA_BYTES[self.data_type] * self.no_data_elements
             format = DATA_TYPES[self.data_type]
             return self.readbytes(read_no_bytes, format, swap=self.swap)
@@ -161,7 +174,7 @@ class dm3image(fabioimage):
         #print self.tag_encoded_type , self.tag_data_type 
         if self.tag_encoded_type == 20 and self.tag_data_type > 3 :
             self.tag_encoded_type = self.readbytes(4, numpy.uint32)[0]
-            #print 'found array - new tag_encoded_type', self.tag_encoded_type
+            logger.debug('found array - new tag_encoded_type %s', self.tag_encoded_type)
             if self.tag_encoded_type == 15:            # struct type
                  ###type = self.readbytes(4,numpy.int32)
                 struct_name_length = self.readbytes(4, numpy.int32)[0]
@@ -177,7 +190,7 @@ class dm3image(fabioimage):
                 bytes_in_struct = 0
                 for i in range(struct_number_fields):
                     bytes_in_struct += DATA_BYTES[field_info[i][1]]
-                #print 'skip bytes', self.no_data_elements* bytes_in_struct
+                logger.debug('skip bytes %s', self.no_data_elements * bytes_in_struct)
                 dump = self.infile.read(self.no_data_elements * bytes_in_struct)
                 return None
 
diff --git a/fabio/edfimage.py b/fabio-src/edfimage.py
similarity index 93%
rename from fabio/edfimage.py
rename to fabio-src/edfimage.py
index 3e4f098..2c60e1b 100644
--- a/fabio/edfimage.py
+++ b/fabio-src/edfimage.py
@@ -19,11 +19,12 @@ Authors: Henning O. Sorensen & Erik Knudsen
 
 """
 
-import gzip, bz2, zlib, os, StringIO
-import numpy, logging
+import os, logging, types
 logger = logging.getLogger("edfimage")
+import numpy
 from fabioimage import fabioimage
-from fabioutils import isAscii
+from fabioutils import isAscii, toAscii
+from compression import decBzip2, decGzip, decZlib
 
 BLOCKSIZE = 512
 DATA_TYPES = {  "SignedByte"    :  numpy.int8,
@@ -203,7 +204,7 @@ class Frame(object):
                 self.size = calcsize
 
         for i, n in enumerate(self.dims):
-            exec "self.dim%i=%i" % (i + 1, n)
+            setattr(self, "dim%i" % (i + 1), n)
 
         return self.size
 
@@ -260,36 +261,13 @@ class Frame(object):
                 elif compression == "NONE":
                     rawData = self.rawData
                 elif "GZIP" in compression:
-                    fileobj = StringIO.StringIO(self.rawData)
-                    try:
-                        rawData = gzip.GzipFile(fileobj=fileobj).read()
-                    except IOError:
-                        logger.warning("Encounter the python-gzip bug with trailing garbage, trying subprocess gzip")
-                        try:
-                            #This is as an ugly hack against a bug in Python gzip
-                            import subprocess
-                            sub = subprocess.Popen(["gzip", "-d", "-f"], stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
-                            rawData, err = sub.communicate(input=self.rawData)
-                            logger.debug("Gzip subprocess ended with %s err= %s; I got %s bytes back" % (sub.wait(), err, len(rawData)))
-                        except Exception, error: #IGNORE:W0703
-                            logger.warning("Unable to use the subprocess gzip (%s). Is gzip available? " % error)
-                            for i in range(1, 513):
-                                try:
-                                    fileobj = StringIO.StringIO(self.rawData[:-i])
-                                    rawData = gzip.GzipFile(fileobj=fileobj).read()
-                                except IOError:
-                                    logger.debug("trying with %s bytes less, doesn't work" % i)
-                                else:
-                                    break
-                            else:
-                                logger.error("I am totally unable to read this gzipped compressed data block, giving up")
-
+                    rawData = decGzip(self.rawData)
                     self.size = uncompressed_size
                 elif "BZ" in compression :
-                    rawData = bz2.decompress(self.rawData)
+                    rawData = decBzip2(self.rawData)
                     self.size = uncompressed_size
                 elif "Z" in compression :
-                    rawData = zlib.decompress(self.rawData)
+                    rawData = decZlib(self.rawData)
                     self.size = uncompressed_size
                 else:
                     logger.warning("Unknown compression scheme %s" % compression)
@@ -306,7 +284,6 @@ class Frame(object):
             elif expected < len(rawData):
                 logger.info("Data stream contains trailing junk : %s > expected %s bytes" % (obtained, expected))
                 rawData = rawData[:expected]
-    #        logger.debug("dims = %s, bpp = %s, expected= %s obtained = %s" % (dims, self.bpp, expected, obtained))
             if self.swap_needed():
                 data = numpy.fromstring(rawData, self.bytecode).byteswap().reshape(tuple(dims))
             else:
@@ -442,6 +419,7 @@ class edfimage(fabioimage):
             logger.debug("Data don't look like a numpy array (%s), resetting all!!" % error)
             data = None
             dim = 0
+            fabioimage.__init__(self, data, header)
         if dim == 2:
             fabioimage.__init__(self, data, header)
         elif dim == 1 :
@@ -455,7 +433,7 @@ class edfimage(fabioimage):
             fabioimage.__init__(self, data[0, 0, 0, :, :], header)
 
         if frames is None:
-            frame = Frame(data=data, header=header,
+            frame = Frame(data=self.data, header=self.header,
                           header_keys=header_keys ,
                           number=self.currentframe)
             self.__frames = [frame]
@@ -463,6 +441,18 @@ class edfimage(fabioimage):
             self.__frames = frames
 
     @staticmethod
+    def checkHeader(header=None):
+        """
+        Empty for fabioimage but may be populated by others classes
+        """
+        if type(header) != types.DictionaryType:
+            return {}
+        new = {}
+        for key, value in header.items():
+            new[toAscii(key, ";{}")] = toAscii(value, ";{}")
+        return new
+
+    @staticmethod
     def _readHeaderBlock(infile):
         """
         Read in a header in some EDF format from an already open file
@@ -538,7 +528,7 @@ class edfimage(fabioimage):
         self.currentframe = 0
 
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """
         Read in header into self.header and
             the data   into self.data
@@ -548,9 +538,14 @@ class edfimage(fabioimage):
 
         infile = self._open(fname, "rb")
         self._readheader(infile)
-        if self.data is None:
-            self.data = self.unpack()
-#            self.bytecode = self.data.dtype.type
+        if frame is None:
+            if self.data is None:
+                self.data = self.unpack()
+    #            self.bytecode = self.data.dtype.type
+        elif frame < self.nframes:
+            self = self.getframe(frame)
+        else:
+            logger.error("Reading file %s You requested frame %s but only %s frames are available", fname, frame, self.nframes)
         self.resetvals()
         # ensure the PIL image is reset
         self.pilimage = None
diff --git a/fabio/fabioimage.py b/fabio-src/fabioimage.py
similarity index 74%
rename from fabio/fabioimage.py
rename to fabio-src/fabioimage.py
index 74497f2..3a5b097 100644
--- a/fabio/fabioimage.py
+++ b/fabio-src/fabioimage.py
@@ -12,10 +12,15 @@ Authors: Henning O. Sorensen & Erik Knudsen
          and Jon Wright, Jerome Kieffer: ESRF
 
 """
-
-import numpy, os, gzip, bz2, StringIO
-import Image
-import fabioutils
+import os, gzip, bz2, StringIO, types, logging, sys
+logger = logging.getLogger("fabioimage")
+import numpy
+try:
+    import Image
+except ImportError:
+    logger.warning("PIL is not installed ... trying to do without")
+    Image = None
+import fabioutils, converters
 
 
 class fabioStream(StringIO.StringIO):
@@ -47,18 +52,19 @@ class fabioimage(object):
         """
         Set up initial values
         """
-        if type(data) == type("string"):
+        self._classname = None
+        if type(data) in types.StringTypes:
             raise Exception("fabioimage.__init__ bad argument - " + \
                             "data should be numpy array")
-        self.data = data
+        self.data = self.checkData(data)
         self.pilimage = None
         if header is None:
             self.header = {}
         else:
-            self.header = header
+            self.header = self.checkHeader(header)
         self.header_keys = self.header.keys() # holds key ordering
-        if data is not None:
-            self.dim1, self.dim2 = data.shape
+        if self.data is not None:
+            self.dim1, self.dim2 = self.data.shape
         else:
             self.dim1 = self.dim2 = 0
         self.bytecode = None     # numpy typecode
@@ -66,6 +72,7 @@ class fabioimage(object):
         # cache for image statistics
         self.mean = self.maxval = self.stddev = self.minval = None
         # Cache roi
+        self.roi = None
         self.area_sum = None
         self.slice = None
         # New for multiframe files
@@ -73,6 +80,34 @@ class fabioimage(object):
         self.currentframe = 0
         self.filename = None
 
+    @staticmethod
+    def checkHeader(header=None):
+        """
+        Empty for fabioimage but may be populated by others classes
+        """
+        if header is None:
+            return {}
+        else:
+            return header
+
+    @staticmethod
+    def checkData(data=None):
+        """
+        Empty for fabioimage but may be populated by others classes, especially for format accepting only integers
+        """
+        return data
+
+
+    def getclassname(self):
+        """
+        Retrieves the name of the class
+        @return: the name of the class 
+        """
+        if self._classname is None:
+            self._classname = str(self.__class__).replace("<class '", "").replace("'>", "").split(".")[-1]
+        return self._classname
+    classname = property(getclassname)
+
     def getframe(self, num):
         """ returns the file numbered 'num' in the series as a fabioimage """
         if self.nframes == 1:
@@ -100,6 +135,8 @@ class fabioimage(object):
 
         FIXME - this should be handled by the libraries now
         """
+        if not Image:
+            raise RuntimeError("PIL is not installed !!! ")
         if filename:
             self.read(filename)
         if self.pilimage is not None:
@@ -195,12 +232,15 @@ class fabioimage(object):
         elif len(coords) == 2 and isinstance(coords[0], slice) and \
                                   isinstance(coords[1], slice):
             sli = coords
+
         if sli == self.slice and self.area_sum is not None:
-            return self.area_sum
-        self.slice = sli
-        self.area_sum = numpy.sum(
-                            numpy.ravel(
-                                self.data[ self.slice ].astype(numpy.float)))
+            pass
+        elif sli == self.slice and self.roi is not None:
+            self.area_sum = self.roi.sum(dtype=numpy.float)
+        else:
+            self.slice = sli
+            self.roi = self.data[ self.slice ]
+            self.area_sum = self.roi.sum(dtype=numpy.float)
         return self.area_sum
 
     def getmean(self):
@@ -217,11 +257,11 @@ class fabioimage(object):
 
     def add(self, other):
         """
-        Add another Image - warnign, does not clip to 16 bit images by default
+        Add another Image - warning, does not clip to 16 bit images by default
         """
         if not hasattr(other, 'data'):
-            print 'edfimage.add() called with something that ' + \
-                'does not have a data field'
+            logger.warning('edfimage.add() called with something that ' + \
+                'does not have a data field')
         assert self.data.shape == other.data.shape , \
                   'incompatible images - Do they have the same size?'
         self.data = self.data + other.data
@@ -231,7 +271,7 @@ class fabioimage(object):
     def resetvals(self):
         """ Reset cache - call on changing data """
         self.mean = self.stddev = self.maxval = self.minval = None
-        self.area_sum = None
+        self.roi = self.slice = self.area_sum = None
 
     def rebin(self, x_rebin_fact, y_rebin_fact, keep_I=True):
         """ 
@@ -283,6 +323,10 @@ class fabioimage(object):
         """
         raise Exception("Class has not implemented readheader method yet")
 
+    def save(self, fname):
+        'wrapper for write'
+        self.write(fname)
+
     def readheader(self, filename):
         """
         Call the _readheader function...
@@ -308,11 +352,32 @@ class fabioimage(object):
         """
         self.header.update(kwds)
 
-    def read(self, filename):
+    def read(self, filename, frame=None):
         """
         To be overridden - fill in self.header and self.data
         """
         raise Exception("Class has not implemented read method yet")
+#        return self
+
+    def load(self, *arg, **kwarg):
+        "Wrapper for read"
+        return self.read(*arg, **kwarg)
+
+    def readROI(self, filename, frame=None, coords=None):
+        """
+        Method reading Region of Interest.
+        This implementation is the trivial one, just doing read and crop
+        """
+        self.read(filename, frame)
+        if len(coord) == 4:
+            self.slice = self.make_slice(coords)
+        elif len(coords) == 2 and isinstance(coords[0], slice) and \
+                                  isinstance(coords[1], slice):
+            self.slice = coords
+        else:
+            logger.warning('readROI: Unable to understand Region Of Interest: got %s', coords)
+        self.roi = self.data[ self.slice ]
+        return self.roi
 
 
     def _open(self, fname, mode="rb"):
@@ -346,7 +411,7 @@ class fabioimage(object):
             else:
                 fileObject = open(fname, mode)
             if "name" not in dir(fileObject):
-                    fileObject.name = fname
+                fileObject.name = fname
 
         return fileObject
 
@@ -375,6 +440,51 @@ class fabioimage(object):
             fobj = python_uncompress(fname, mode)
         return fobj
 
+    def convert(self, dest):
+        """
+        Convert a fabioimage object into another fabioimage object (with possible conversions)
+        @param dest: destination type "EDF", "edfimage" or the class itself 
+        """
+        if type(dest) in types.StringTypes:
+            dest = dest.lower()
+            modules = []
+            for val  in fabioutils.FILETYPES.values():
+                modules += [i + "image" for i in val if i not in modules]
+            klass = None
+            module = None
+            klass_name = None
+            for klass_name in modules:
+                if  klass_name.startswith(dest):
+                    try:
+                        module = sys.modules["fabio." + klass_name]
+                    except KeyError:
+                        try:
+                            module = __import__(klass_name)
+                        except:
+                            logger.error("Failed to import %s", klass_name)
+                        else:
+                            logger.debug("imported %simage", klass_name)
+                    if module is not None:
+                        break
+            if module is not None:
+                if hasattr(module, klass_name):
+                    klass = getattr(module, klass_name)
+                else:
+                    logger.error("Module %s has no image class" % module)
+        elif isinstance(dest, self.__class__):
+            klass = dest.__class__
+        elif ("__new__" in dir(dest)) and isinstance(dest(), fabioimage):
+            klass = dest
+        else:
+            logger.warning("Unrecognized destination format: %s " % dest)
+            return self
+        if klass is None:
+            logger.warning("Unrecognized destination format: %s " % dest)
+            return self
+        other = klass() #temporary instance (to be overwritten)
+        other = klass(data=converters.convert_data(self.classname, other.classname, self.data),
+                    header=converters.convert_header(self.classname, other.classname, self.header))
+        return other
 
 def test():
     """
diff --git a/fabio/fabioutils.py b/fabio-src/fabioutils.py
similarity index 86%
rename from fabio/fabioutils.py
rename to fabio-src/fabioutils.py
index e0c73b8..3897ee3 100644
--- a/fabio/fabioutils.py
+++ b/fabio-src/fabioutils.py
@@ -1,8 +1,12 @@
-import re, os
+#!/usr/bin/env python
+#coding: utf8
 
-def construct_filename(*args, **kwds):
-    raise Exception("You probably want fabio.jump_filename")
+"""
+General purpose utilities functions for fabio
+"""
 
+import re, os, logging
+logger = logging.getLogger("fabioutils")
 
 
 FILETYPES = {
@@ -38,6 +42,10 @@ for key in FILETYPES.keys():
 
 COMPRESSORS = {}
 
+
+dictAscii = {None:[chr(i) for i in range(32, 127)],
+           }
+
 try:
     lines = os.popen("gzip -h 2>&1").read()
     # Looking for "usage"
@@ -199,9 +207,13 @@ def deconstruct_filename(filename):
             extension=extn,
             postnum=postnum,
             digits=ndigit)
-
     return obj
 
+def construct_filename(filename, frame):
+    "Try to construct the filename for a given frame"
+    fo = deconstruct_filename(filename)
+    fo.num = frame
+    return fo.tostring()
 
 def next_filename(name, padding=True):
     """ increment number """
@@ -249,5 +261,24 @@ def isAscii(name, listExcluded=None):
             isascii = not(any(bad in  name for bad in listExcluded))
         else:
             isascii = True
-
     return isascii
+
+def toAscii(name, excluded=None):
+    """
+    @param name: string to check
+    @param excluded: tuple of char or string excluded (not list: they are mutable).
+    @return: the name with all non valid char removed
+    """
+    if excluded not in dictAscii:
+        ascii = dictAscii[None][:]
+        for i in excluded:
+            if i in ascii:
+                ascii.remove(i)
+            else:
+                logger.error("toAscii: % not in ascii table" % i)
+        dictAscii[excluded] = ascii
+    else:
+        ascii = dictAscii[excluded]
+    out = [i for i in str(name) if i in ascii]
+    return "".join(out)
+
diff --git a/fabio/file_series.py b/fabio-src/file_series.py
similarity index 93%
rename from fabio/file_series.py
rename to fabio-src/file_series.py
index 601fca1..b2bca1f 100644
--- a/fabio/file_series.py
+++ b/fabio-src/file_series.py
@@ -11,8 +11,12 @@ Authors: Henning O. Sorensen & Erik Knudsen
 
         + Jon Wright, ESRF
 """
+import logging, sys
+logger = logging.getLogger("fileseries")
+import traceback as pytraceback
+
 from fabioutils import filename_object, next_filename
-#import fabioutils
+
 from openimage import openimage
 
 
@@ -36,17 +40,17 @@ def new_file_series0(first_object, first=None, last=None, step=1):
         try:
             newim = im.next()
             im = newim
-        except:
-            import traceback
-            traceback.print_exc()
+        except Exception, error:
+            pytraceback.print_exc()
 
             # Skip bad images
-            print "Got a problem here"
+            logger.warning("Got a problem here: %s", error)
             try:
                 im.filename = next_filename(im.filename)
-            except:
+            except Exception, error:
                 # KE: This will not work and will throw an exception
                 # fabio.next_filename doesn't understand %nnnn on the end
+                logger.warning("Got another problem here: %s", error)
                 im.filename = next_filename(im.sequencefilename)
             yield None
         yield im
@@ -91,18 +95,16 @@ def new_file_series(first_object, nimages=0, step=1, traceback=False):
             im = newim
             retVal = im
         except Exception, ex:
-            import sys
             retVal = sys.exc_info()
             if(traceback):
-                import traceback
-                traceback.print_exc()
+                pytraceback.print_exc()
                 # Skip bad images
-                print "Got a problem here: next() failed"
+                logger.warning("Got a problem here: next() failed %s", ex)
             # Skip bad images
             try:
                 im.filename = next_filename(im.filename)
-            except:
-                pass
+            except Exception, ex:
+                logger.warning("Got another problem here: next_filename(im.filename) %s", ex)
         if nprocessed % step == 0:
             yield retVal
             # Avoid cyclic references with exc_info ?
diff --git a/fabio/fit2dmaskimage.py b/fabio-src/fit2dmaskimage.py
similarity index 92%
rename from fabio/fit2dmaskimage.py
rename to fabio-src/fit2dmaskimage.py
index df612f6..1e0e44f 100644
--- a/fabio/fit2dmaskimage.py
+++ b/fabio-src/fit2dmaskimage.py
@@ -33,7 +33,7 @@ class fit2dmaskimage(fabioimage):
         self.dim2 = fit2dhdr[5]
 
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """
         Read in header into self.header and
             the data   into self.data
@@ -74,6 +74,7 @@ class fit2dmaskimage(fabioimage):
         self.data = numpy.reshape(self.data.astype(numpy.uint16),
                                     (self.dim2, self.dim1))
         self.pilimage = None
+        return self
 
 
 
@@ -84,3 +85,10 @@ class fit2dmaskimage(fabioimage):
         mimics that fabian was writing uint16 (we sometimes want floats)
         """
         raise Exception("Not implemented yet")
+
+    @staticmethod
+    def checkData(data=None):
+        if data is None:
+            return None
+        else:
+            return data.astype(int)
diff --git a/fabio/fit2dspreadsheetimage.py b/fabio-src/fit2dspreadsheetimage.py
similarity index 98%
rename from fabio/fit2dspreadsheetimage.py
rename to fabio-src/fit2dspreadsheetimage.py
index 671b2b5..8f9ef1e 100644
--- a/fabio/fit2dspreadsheetimage.py
+++ b/fabio-src/fit2dspreadsheetimage.py
@@ -33,7 +33,7 @@ class fit2dspreadsheetimage(fabioimage):
         self.header['Dim_1'] = xdim
         self.header['Dim_2'] = ydim
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """
         Read in header into self.header and
             the data   into self.data
diff --git a/fabio/kcdimage.py b/fabio-src/kcdimage.py
similarity index 95%
rename from fabio/kcdimage.py
rename to fabio-src/kcdimage.py
index a64aef6..e087bba 100644
--- a/fabio/kcdimage.py
+++ b/fabio-src/kcdimage.py
@@ -71,7 +71,7 @@ class kcdimage(fabioimage):
             logger.debug("KCD file misses the keys " + " ".join(missing))
 
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """
         Read in header into self.header and
             the data   into self.data
@@ -123,3 +123,9 @@ class kcdimage(fabioimage):
         return self
 
 
+    @staticmethod
+    def checkData(data=None):
+        if data is None:
+            return None
+        else:
+            return data.astype(int)
diff --git a/fabio-src/mar345image.py b/fabio-src/mar345image.py
new file mode 100644
index 0000000..48e5a2f
--- /dev/null
+++ b/fabio-src/mar345image.py
@@ -0,0 +1,317 @@
+#!/usr/bin/env python
+#coding: utf8 
+from __future__ import with_statement
+__doc__ = """
+
+Authors: Henning O. Sorensen & Erik Knudsen
+         Center for Fundamental Research: Metal Structures in Four Dimensions
+         Risoe National Laboratory
+         Frederiksborgvej 399
+         DK-4000 Roskilde
+         email:erik.knudsen at risoe.dk
+          +
+         Jon Wright, Jerome Kieffer, Gael Goret ESRF, France
+"""
+
+from fabioimage import fabioimage
+import numpy, struct, time, sys
+import logging
+logger = logging.getLogger("mar345image")
+from compression import compPCK, decPCK
+
+class mar345image(fabioimage):
+    _need_a_real_file = True
+    def __init__(self, *args, **kwargs):
+        fabioimage.__init__(self, *args, **kwargs)
+        self.numhigh = None
+        self.numpixels = None
+
+    def read(self, fname, frame=None):
+        """ Read a mar345 image"""
+        self.filename = fname
+        f = self._open(self.filename, "rb")
+        self._readheader(f)
+        if 'compressed' in self.header['Format']:
+            try:
+                self.data = decPCK(f, self.dim1, self.dim2, self.numhigh)
+            except Exception, error:
+                logger.error('%s. importing the mar345_io backend: generate an empty 1x1 picture' % error)
+                f.close()
+                self.dim1 = 1
+                self.dim2 = 1
+                self.bytecode = numpy.int #
+                self.data = numpy.resize(numpy.array([0], numpy.int), [1, 1])
+                return self
+
+        else:
+            logger.error("cannot handle these formats yet " + \
+                "due to lack of documentation")
+            return None
+        self.bytecode = numpy.uint
+        f.close()
+        return self
+
+    def _readheader(self, infile=None):
+        """ Read a mar345 image header """
+        # clip was not used anywhere - commented out
+        # clip = '\x00'
+        #using a couple of local variables inside this function
+        f = infile
+        h = {}
+
+        #header is 4096 bytes long
+        l = f.read(64)
+        #the contents of the mar345 header is taken to be as
+        # described in
+        # http://www.mar-usa.com/support/downloads/mar345_formats.pdf
+        #the first 64 bytes are 4-byte integers (but in the CBFlib
+        # example image it seems to 128 bytes?)
+        #first 4-byte integer is a marker to check endianness
+        if struct.unpack("<i", l[0:4])[0] == 1234:
+            fs = '<i'
+        else:
+            fs = '>i'
+
+        #image dimensions
+        self.dim1 = self.dim2 = int(struct.unpack(fs, l[4:8])[0])
+        #number of high intensity pixels
+        self.numhigh = struct.unpack(fs, l[2 * 4 : (2 + 1) * 4])[0]
+        h['NumHigh'] = self.numhigh
+        #Image format
+        i = struct.unpack(fs, l[3 * 4 : (3 + 1) * 4])[0]
+        if i == 1:
+            h['Format'] = 'compressed'
+        elif i == 2:
+            h['Format'] = 'spiral'
+        else:
+            h['Format'] = 'compressed'
+            logger.warning("image format could not be detetermined" + \
+                "- assuming compressed mar345")
+        #collection mode
+        h['Mode'] = {0:'Dose', 1: 'Time'}[struct.unpack(fs, l[4 * 4:(4 + 1) * 4])[0]]
+        #total number of pixels
+        self.numpixels = struct.unpack(fs, l[5 * 4:(5 + 1) * 4])[0]
+        h['NumPixels'] = str(self.numpixels)
+        #pixel dimensions (length,height) in mm
+        h['PixelLength'] = struct.unpack(fs, l[6 * 4:(6 + 1) * 4])[0] / 1000.0
+        h['PixelHeight'] = struct.unpack(fs, l[7 * 4:(7 + 1) * 4])[0] / 1000.0
+        #x-ray wavelength in AA
+        h['Wavelength'] = struct.unpack(fs, l[8 * 4:(8 + 1) * 4])[0] / 1000000.0
+        #used distance
+        h['Distance'] = struct.unpack(fs, l[9 * 4:(9 + 1) * 4])[0] / 1000.0
+        #starting and ending phi
+        h['StartPhi'] = struct.unpack(fs, l[10 * 4:11 * 4])[0] / 1000.0
+        h['EndPhi'] = struct.unpack(fs, l[11 * 4:12 * 4])[0] / 1000.0
+        #starting and ending omega
+        h['StartOmega'] = struct.unpack(fs, l[12 * 4:13 * 4])[0] / 1000.0
+        h['EndOmega'] = struct.unpack(fs, l[13 * 4:14 * 4])[0] / 1000.0
+        #Chi and Twotheta angles
+        h['Chi'] = struct.unpack(fs, l[14 * 4:15 * 4])[0] / 1000.0
+        h['TwoTheta'] = struct.unpack(fs, l[15 * 4:16 * 4])[0] / 1000.0
+
+        #the rest of the header is ascii
+        # TODO: validate these values against the binaries already read
+        l = f.read(128)
+        if not 'mar research' in l:
+            logger.warning("the string \"mar research\" should be in " + \
+                "bytes 65-76 of the header but was not")
+            start = 128
+        else:
+            start = l.index('mar research')
+            f.seek(64 + start)
+        l = f.read(4096 - start - 64).strip()
+        for m in l.splitlines():
+            if m == 'END OF HEADER':
+                break
+            n = m.split(' ', 1)
+            if n[0] == '':
+                continue
+            if n[0] in ('PROGRAM', 'DATE', 'SCANNER', 'HIGH', 'MULTIPLIER',
+                        'GAIN', 'WAVELENGTH', 'DISTANCE', 'RESOLUTION',
+                        'CHI', 'TWOTHETA', 'MODE', 'TIME', 'GENERATOR',
+                        'MONOCHROMATOR', 'REMARK'):
+                logger.debug("reading: %s %s", n[0], n[1])
+                h[n[0]] = n[1].strip()
+                continue
+            if n[0] in ('FORMAT'):
+                (h['DIM'], h['FORMAT_TYPE'], h['NO_PIXELS']) = n[1].split()
+                continue
+            if n[0] in ('PIXEL', 'OFFSET', 'PHI', 'OMEGA', 'COUNTS',
+                        'CENTER', 'INTENSITY', 'HISTOGRAM', 'COLLIMATOR'):
+                n = m.split()
+                h.update([(n[0] + '_' + n[j], n[j + 1]) for j in range(1, len(n), 2)])
+                continue
+        self.header = h
+        return h
+
+    def write(self, fname):
+        """Try to write mar345 file. This is still in beta version.
+        It uses CCP4 (LGPL) PCK1 algo from JPA"""
+        try:
+            outfile = self._open(fname, mode="wb")
+            outfile.write(self._writeheader())
+            outfile.write(self._high_intensity_pixel_records())
+            outfile.write(compPCK(self.data))
+            outfile.close()
+        except Exception, error:
+            logger.error("Error in writing file %s: %s" % (fname, error))
+
+    def _writeheader(self, linesep="\n", size=4096):#the standard padding does not inclued
+        """
+        @param linesep: end of line separator
+        @return string/bytes containing the mar345 header
+        """
+        try:
+            version = sys.modules["fabio"].version
+        except (KeyError, AttributeError):
+            version = "0.0.9"
+        lnsep = len(linesep)
+
+        self.header["HIGH"] = str(self.nb_overflow_pixels())
+        binheader = numpy.zeros(16, "int32")
+        binheader[:4] = numpy.array([1234, self.dim1, int(self.header["HIGH"]), 1])
+        binheader[4] = (self.header.get("MODE", "TIME") == "TIME")
+        binheader[5] = self.dim1 * self.dim2
+        binheader[6] = int(self.header.get("PIXEL_LENGTH", 1))
+        binheader[7] = int(self.header.get("PIXEL_HEIGHT", 1))
+        binheader[8] = int(float(self.header.get("WAVELENGTH", 1)) * 1e6)
+        binheader[9] = int(float(self.header.get("DISTANCE", 1)) * 1e3)
+        binheader[10] = int(float(self.header.get("PHI_START", 1)) * 1e3)
+        binheader[11] = int(float(self.header.get("PHI_END", 1)) * 1e3)
+        binheader[12] = int(float(self.header.get("OMEGA_START", 1)) * 1e3)
+        binheader[13] = int(float(self.header.get("OMEGA_END", 1)) * 1e3)
+        binheader[14] = int(float(self.header.get("CHI", 1)) * 1e3)
+        binheader[15] = int(float(self.header.get("TWOTHETA", 1)) * 1e3)
+        lstout = [binheader.tostring() + 'mar research'.ljust(64 - lnsep)]
+        lstout.append("PROGRAM".ljust(15) + (str(self.header.get("PROGRAM", "FabIO Version %s" % (version))).ljust(49 - lnsep)))
+        lstout.append("DATE".ljust(15) + (str(self.header.get("DATE", time.ctime()))).ljust(49 - lnsep))
+        key = "SCANNER"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key = "FORMAT_TYPE"
+        if key in self.header:
+            lstout.append("FORMAT".ljust(15) + ("%s  %s %s" % (self.dim1, self.header[key], self.dim1 * self.dim2)).ljust(49 - lnsep))
+        key = "HIGH"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key1 = "PIXEL_LENGTH"
+        key2 = "PIXEL_HEIGHT"
+        if (key1 in self.header) and (key2 in self.header):
+            lstout.append("PIXEL".ljust(15) + ("LENGTH %s  HEIGHT %s" % (self.header[key1], self.header[key2])).ljust(49 - lnsep))
+        key1 = "OFFSET_ROFF"
+        key2 = "OFFSET_TOFF"
+        if key1 in self.header and key2 in self.header:
+            lstout.append("OFFSET".ljust(15) + ("ROFF %s  TOFF %s" % (self.header[key1], self.header[key2])).ljust(49 - lnsep))
+        key = "MULTIPLIER"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key = "GAIN"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key = "WAVELENGTH"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key = "DISTANCE"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key = "RESOLUTION"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key1 = "PHI_START"
+        key2 = "PHI_END"
+        key3 = "PHI_OSC"
+        if (key1 in self.header) and (key2 in self.header) and (key3 in self.header):
+            lstout.append("PHI".ljust(15) + ("START %s  END %s  OSC %s" % (self.header[key1], self.header[key2], self.header[key3])).ljust(49 - lnsep))
+        key1 = "OMEGA_START"
+        key2 = "OMEGA_END"
+        key3 = "OMEGA_OSC"
+        if (key1 in self.header) and (key2 in self.header) and (key3 in self.header):
+            lstout.append("OMEGA".ljust(15) + ("START %s  END %s  OSC %s" % (self.header[key1], self.header[key2], self.header[key3])).ljust(49 - lnsep))
+        key = "CHI"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key = "TWOTHETA"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key1 = "CENTER_X"
+        key2 = "CENTER_Y"
+        if (key1 in self.header) and (key2 in self.header):
+            lstout.append("CENTER".ljust(15) + ("X %s  Y %s" % (self.header[key1], self.header[key2])).ljust(49 - lnsep))
+        key = "MODE"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key = "TIME"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key1 = "COUNTS_START"
+        key2 = "COUNTS_END"
+        key3 = "COUNTS_NMEAS"
+        if key1 in self.header and key2 in self.header and key3 in self.header:
+            lstout.append("COUNTS".ljust(15) + ("START %s  END %s  NMEAS %s" % (self.header[key1], self.header[key2], self.header[key3])).ljust(49 - lnsep))
+        key1 = "COUNTS_MIN"
+        key2 = "COUNTS_MAX"
+        if key1 in self.header and key2 in self.header:
+            lstout.append("COUNTS".ljust(15) + ("MIN %s  MAX %s" % (self.header[key1], self.header[key2])).ljust(49 - lnsep))
+        key1 = "COUNTS_AVE"
+        key2 = "COUNTS_SIG"
+        if key1 in self.header and key2 in self.header:
+            lstout.append("COUNTS".ljust(15) + ("AVE %s  SIG %s" % (self.header[key1], self.header[key2])).ljust(49 - lnsep))
+        key1 = "INTENSITY_MIN"
+        key2 = "INTENSITY_MAX"
+        key3 = "INTENSITY_AVE"
+        key4 = "INTENSITY_SIG"
+        if key1 in self.header and key2 in self.header and key3 in self.header and key4 in self.header:
+            lstout.append("INTENSITY".ljust(15) + ("MIN %s  MAX %s  AVE %s  SIG %s" % (self.header[key1], self.header[key2], self.header[key3], self.header[key4])).ljust(49 - lnsep))
+        key1 = "HISTOGRAM_START"
+        key2 = "HISTOGRAM_END"
+        key3 = "HISTOGRAM_MAX"
+        if key1 in self.header and key2 in self.header and key3 in self.header:
+            lstout.append("HISTOGRAM".ljust(15) + ("START %s  END %s  MAX %s" % (self.header[key1], self.header[key2], self.header[key3])).ljust(49 - lnsep))
+        key = "GENERATOR"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key = "MONOCHROMATOR"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        key1 = "COLLIMATOR_WIDTH"
+        key2 = "COLLIMATOR_HEIGHT"
+        if key1 in self.header and key2 in self.header:
+            lstout.append("COLLIMATOR".ljust(15) + ("WIDTH %s  HEIGHT %s" % (self.header[key1], self.header[key2])).ljust(49 - lnsep))
+        key = "REMARK"
+        if key in self.header:
+            lstout.append(key.ljust(15) + str(self.header[key]).ljust(49 - lnsep))
+        else:
+            lstout.append(key.ljust(64 - lnsep))
+        key = "END OF HEADER"
+        lstout.append(key)
+        return linesep.join(lstout).ljust(size)
+
+
+    def _high_intensity_pixel_records(self):
+        flt_data = self.data.flatten()
+        pix_location = numpy.where(flt_data > 65535)[0]
+        nb_pix = pix_location.size
+        if nb_pix % 8 == 0:
+            tmp = numpy.zeros((nb_pix, 2), dtype="int32")
+        else:
+            tmp = numpy.zeros(((nb_pix // 8 + 1) * 8, 2), dtype="int32")
+        tmp[:nb_pix, 0] = pix_location + 1
+        tmp[:nb_pix, 1] = flt_data[pix_location]
+        return tmp.tostring()
+
+    def nb_overflow_pixels(self):
+        return (self.data > 65535).sum()
+
+    @staticmethod
+    def checkData(data=None):
+        if data is None:
+            return None
+        else:
+#            enforce square image 
+            shape = data.shape
+            assert len(shape) == 2, "image has 2 dimensions"
+            mshape = max(shape)
+            z = numpy.zeros((mshape, mshape), dtype=int)
+            z[:shape[0], :shape[1]] = data
+            return z
+
diff --git a/fabio/marccdimage.py b/fabio-src/marccdimage.py
similarity index 100%
rename from fabio/marccdimage.py
rename to fabio-src/marccdimage.py
diff --git a/fabio/openimage.py b/fabio-src/openimage.py
similarity index 77%
rename from fabio/openimage.py
rename to fabio-src/openimage.py
index 4e62bd0..17d3f62 100644
--- a/fabio/openimage.py
+++ b/fabio-src/openimage.py
@@ -12,7 +12,7 @@ mods for fabio by JPW
 """
 import sys, logging
 logger = logging.getLogger("openimage")
-from fabioutils  import deconstruct_filename, getnum, filename_object
+from fabioutils  import deconstruct_filename, filename_object
 from fabioimage import fabioimage
 import edfimage
 import adscimage
@@ -32,6 +32,7 @@ import fit2dspreadsheetimage
 import kcdimage
 import cbfimage
 import xsdimage
+import binaryimage
 
 MAGIC_NUMBERS = [
     # "\42\5a" : 'bzipped'
@@ -53,7 +54,9 @@ MAGIC_NUMBERS = [
     ("OD"                 , 'OXD'),
     ("IM"                 , 'HiPiC'),
     ('\x2d\x04'           , 'mar345'),
+    ('\xd2\x04'           , 'mar345'),
     ('\x04\x2d'           , 'mar345'), #some machines may need byteswapping
+    ('\x04\xd2'           , 'mar345'),
     # hint : MASK in 32 bit
     ('M\x00\x00\x00A\x00\x00\x00S\x00\x00\x00K\x00\x00\x00' , 'fit2dmask') ,
     ('\x00\x00\x00\x03'   , 'dm3'),
@@ -63,11 +66,11 @@ MAGIC_NUMBERS = [
 
 def do_magic(byts):
     """ Try to interpret the bytes starting the file as a magic number """
-    for magic, format in MAGIC_NUMBERS:
+    for magic, format_type in MAGIC_NUMBERS:
         if byts.find(magic) == 0:
-            return format
+            return format_type
         if 0: # debugging - bruker needed 18 bytes below
-            logger.debug("m: %s f: %s", magic, format)
+            logger.debug("m: %s f: %s", magic, format_type)
             logger.debug("bytes: %s len(bytes) %s", magic, len(magic))
             logger.debug("found: %s", byts.find(magic))
             for i in range(len(magic)):
@@ -75,21 +78,28 @@ def do_magic(byts):
     raise Exception("Could not interpret magic string")
 
 
-def openimage(filename):
+def openimage(filename, frame=None):
     """ Try to open an image """
     if isinstance(filename, filename_object):
         try:
+            logger.debug("Attempting to open %s" % (filename.tostring()))
             obj = _openimage(filename.tostring())
-            obj.read(filename.tostring())
-        except:
+            logger.debug("Attempting to read frame %s from %s" % (frame,
+                filename.tostring()))
+            obj = obj.read(filename.tostring(), frame)
+        except Exception, ex:
             # multiframe file
             #logger.debug( "DEBUG: multiframe file, start # %d"%(
             #    filename.num)
+            logger.debug("Exception %s, trying name %s" % (ex, filename.stem))
             obj = _openimage(filename.stem)
+            logger.debug("Reading frame %s from %s" % (filename.num, filename.stem))
             obj.read(filename.stem, frame=filename.num)
     else:
+        logger.debug("Attempting to open %s" % (filename))
         obj = _openimage(filename)
-        obj.read(filename)
+        logger.debug("Attempting to read frame %s from %s" % (frame, filename))
+        obj = obj.read(filename, frame)
     return obj
 
 
@@ -120,16 +130,18 @@ def _openimage(filename):
         try:
             file_obj = deconstruct_filename(filename)
             if file_obj == None:
-                raise Exception
-            if len(file_obj.format) != 1 and \
-                    type(file_obj.format) != type(["list"]):
+                raise Exception("Unable to deconstruct filename")
+            if (file_obj.format is not None) and\
+                len(file_obj.format) != 1 and \
+                type(file_obj.format) != type(["list"]):
                 # one of OXD/ ADSC - should have got in previous
                 raise Exception("openimage failed on magic bytes & name guess")
             filetype = file_obj.format
             #UNUSED filenumber = file_obj.num
-        except:
-            #import traceback
-            #traceback.print_exc()
+        except Exception, error:
+            logger.error(error)
+            import traceback
+            traceback.print_exc()
             raise Exception("Fabio could not identify " + filename)
     klass_name = "".join(filetype) + 'image'
     module = sys.modules.get("fabio." + klass_name, None)
diff --git a/fabio/pilatusimage.py b/fabio-src/pilatusimage.py
similarity index 97%
rename from fabio/pilatusimage.py
rename to fabio-src/pilatusimage.py
index f110dec..c31d292 100644
--- a/fabio/pilatusimage.py
+++ b/fabio-src/pilatusimage.py
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+#coding: utf8
 """
 
 Authors: Henning O. Sorensen & Erik Knudsen
@@ -49,11 +50,9 @@ class pilatusimage(tifimage):
         while go_on:
             try:
                 hstr.remove('')
-            except:
+            except Exception:
                 go_on = False
 
-
-
         for line in hstr:
             line = line[1:line.index('\r\n')]
             if line.find(':') > -1:
diff --git a/fabio/pnmimage.py b/fabio-src/pnmimage.py
similarity index 72%
rename from fabio/pnmimage.py
rename to fabio-src/pnmimage.py
index ca17ecf..7c9c618 100644
--- a/fabio/pnmimage.py
+++ b/fabio-src/pnmimage.py
@@ -1,6 +1,5 @@
-## Automatically adapted for numpy.oldnumeric Oct 05, 2007 by alter_code1.py
-
 #!/usr/bin/env python
+#coding: utf8
 """
 
 Authors: Henning O. Sorensen & Erik Knudsen
@@ -79,22 +78,29 @@ class pnmimage(fabioimage):
         else:
             raise IOError, 'could not figure out what kind of pixels you have'
 
-    def read(self, fname, verbose=0):
+    def read(self, fname, frame=None):
+        """
+        try to read PNM images
+        @param fname: name of the file
+        @param frame: not relevant here! PNM is always single framed
+        """
         self.header = {}
         self.resetvals()
         infile = self._open(fname)
         self._readheader(infile)
 
         #read the image data
-        try:
-            #let the Subformat header field pick the right decoder
-            self.data = eval('self.' + self.header['SUBFORMAT'] + 'dec(infile,self.bytecode)')
-        except ValueError:
-            raise IOError
+        decoder_name = "%sdec" % self.header['SUBFORMAT']
+        if decoder_name in dir(pnmimage):
+            decoder = getattr(pnmimage, decoder_name)
+            self.data = decoder(infile, self.bytecode)
+        else:
+            raise IOError("No decoder named %s for file %s" % (decoder_name, fname))
         self.resetvals()
         return self
 
-    def P1dec(self, buf, bytecode):
+    @staticmethod
+    def P1dec(buf, bytecode):
         data = numpy.zeros((self.dim2, self.dim1))
         i = 0
         for l in buf.readlines():
@@ -104,10 +110,14 @@ class pnmimage(fabioimage):
                 raise IOError, 'Size spec in pnm-header does not match size of image data field'
         return data
 
-    def P4dec(self, buf, bytecode):
-        logger.warning('single bit (pbm) images are not supported - yet')
+    @staticmethod
+    def P4dec(buf, bytecode):
+        err = 'single bit (pbm) images are not supported - yet'
+        logger.error(err)
+        raise NotImplementedError(err)
 
-    def P2dec(self, buf, bytecode):
+    @staticmethod
+    def P2dec(buf, bytecode):
         data = numpy.zeros((self.dim2, self.dim1))
         i = 0
         for l in buf.readlines():
@@ -117,7 +127,8 @@ class pnmimage(fabioimage):
                 raise IOError, 'Size spec in pnm-header does not match size of image data field'
         return data
 
-    def P5dec(self, buf, bytecode):
+    @staticmethod
+    def P5dec(buf, bytecode):
         l = buf.read()
         try:
             data = numpy.reshape(numpy.fromstring(l, bytecode), [self.dim2, self.dim1]).byteswap()
@@ -125,17 +136,30 @@ class pnmimage(fabioimage):
             raise IOError, 'Size spec in pnm-header does not match size of image data field'
         return data
 
-    def P3dec(self, buf, bytecode):
-        #decode (plain-ppm) rgb image
-        pass
+    @staticmethod
+    def P3dec(buf, bytecode):
+        err = '(plain-ppm) RGB images are not supported - yet'
+        logger.error(err)
+        raise NotImplementedError(err)
 
-    def P6dec(self, buf, bytecode):
-        #decode (ppm) rgb image
-        pass
+    @staticmethod
+    def P6dec(buf, bytecode):
+        err = '(ppm) RGB images are not supported - yet'
+        logger.error(err)
+        raise NotImplementedError(err)
 
-    def P7dec(self, buf, bytecode):
-        #decode pam images, i.e. call one of the other decoders
-        pass
+    @staticmethod
+    def P7dec(buf, bytecode):
+        err = '(pam) images are not supported - yet'
+        logger.error(err)
+        raise NotImplementedError(err)
 
     def write(self, filename):
-        logger.warning('write pnm images is not implemented yet.')
+        raise NotImplementedError('write pnm images is not implemented yet.')
+
+    @staticmethod
+    def checkData(data=None):
+        if data is None:
+            return None
+        else:
+            return data.astype(int)
diff --git a/fabio/readbytestream.py b/fabio-src/readbytestream.py
similarity index 96%
rename from fabio/readbytestream.py
rename to fabio-src/readbytestream.py
index 2ad7dc2..84c3d53 100644
--- a/fabio/readbytestream.py
+++ b/fabio-src/readbytestream.py
@@ -1,6 +1,5 @@
-## Automatically adapted for numpy.oldnumeric Oct 05, 2007 by alter_code1.py
-
-
+#!/usr/bin/env python
+#coding: utf8
 
 """
 Reads a bytestream
diff --git a/fabio/tifimage.py b/fabio-src/tifimage.py
similarity index 83%
rename from fabio/tifimage.py
rename to fabio-src/tifimage.py
index e506c4a..8369f05 100644
--- a/fabio/tifimage.py
+++ b/fabio-src/tifimage.py
@@ -20,7 +20,11 @@ __copyright__ = "ESRF, Grenoble & Risoe National Laboratory"
 
 import time, logging, struct
 logger = logging.getLogger("tifimage")
-import Image
+try:
+    import Image
+except ImportError:
+    logger.warning("PIL is not installed ... trying to do without")
+    Image = None
 import numpy
 from fabioimage import fabioimage
 from TiffIO     import TiffIO
@@ -42,7 +46,6 @@ TYPESIZES = {0:0, 1:1, 2:1, 3:2, 4:4, 5:8, 6:1, 7:1, 8:2, 9:4, 10:8, 11:4, 12:8}
 baseline_tiff_tags = {
   256:'ImageWidth',
   257:'ImageLength',
-  296:'ResolutionUnit',
   306:'DateTime',
   315:'Artist',
   258:'BitsPerSample',
@@ -104,39 +107,53 @@ class tifimage(fabioimage):
 #         nbits is not a fabioimage attribute...
         self.nbits = int(header[21]) # number of bits
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """
         Wrapper for TiffIO.
         """
         infile = self._open(fname, "rb")
         self._readheader(infile)
         infile.seek(0)
-        tiffIO = TiffIO(infile)
-        if tiffIO.getNumberOfImages() > 0:
-            try:
+        self.lib = None
+        try:
+            tiffIO = TiffIO(infile)
+            if tiffIO.getNumberOfImages() > 0:
+                #No support for now of multi-frame tiff images
                 self.data = tiffIO.getImage(0)
-            except IOError:
-                logger.warning("Unable to read %s with TiffIO" % fname)
-            else:
-                infile.seek(0)
-                self.lib = "TiffIO"
                 self.header = tiffIO.getInfo(0)
+        except Exception, error:
+            logger.warning("Unable to read %s with TiffIO due to %s, trying PIL" % (fname, error))
+        else:
+            if self.data.ndim == 2:
                 self.dim2, self.dim1 = self.data.shape
-        if self.lib is None:
-            try:
-                infile.seek(0)
-                self.pilimage = Image.open(infile)
-            except:
-                logger.error("Error in opening %s  with PIL" % fname)
+            elif self.data.ndim == 3:
+                self.dim2, self.dim1, ncol = self.data.shape
+                logger.warning("Third dimension is the color")
+            else:
+                logger.warning("dataset has %s dimensions (%s), check for errors !!!!", self.data.ndim, self.data.shape)
+            self.lib = "TiffIO"
+
+        if (self.lib is None):
+            if Image:
+                try:
+                    infile.seek(0)
+                    self.pilimage = Image.open(infile)
+                except Exception:
+                    logger.error("Error in opening %s  with PIL" % fname)
+                    self.lib = None
+                    infile.seek(0)
+                else:
+                    self.lib = "PIL"
+                    self.dim1, self.dim2 = self.pilimage.size
+                    if self.pilimage.mode in PIL_TO_NUMPY:
+                        self.data = numpy.fromstring(self.pilimage.tostring(), PIL_TO_NUMPY[self.pilimage.mode])
+                    else: #probably RGB or RGBA images: rely on PIL to convert it to greyscale float.
+                        self.data = numpy.fromstring(self.pilimage.convert("F").tostring(), numpy.float32)
+                    self.data.shape = (self.dim2, self.dim1)
+            else:
+                logger.error("Error in opening %s: no tiff reader managed to read the file.", fname)
                 self.lib = None
                 infile.seek(0)
-            else:
-                self.dim1, self.dim2 = self.pilimage.size
-                if self.pilimage.mode in PIL_TO_NUMPY:
-                    self.data = numpy.fromstring(self.pilimage.tostring(), PIL_TO_NUMPY[self.pilimage.mode])
-                else: #probably RGB or RGBA images: rely on PIL to convert it to greyscale float.
-                    self.data = numpy.fromstring(self.pilimage.convert("F").tostring(), numpy.float32)
-                self.data.shape = (self.dim2, self.dim1)
 
         self.bpp = len(numpy.zeros(1, dtype=self.data.dtype).tostring())
         self.bytecode = self.data.dtype.name
diff --git a/fabio/xsdimage.py b/fabio-src/xsdimage.py
similarity index 99%
rename from fabio/xsdimage.py
rename to fabio-src/xsdimage.py
index 0af6b38..0c6c1da 100644
--- a/fabio/xsdimage.py
+++ b/fabio-src/xsdimage.py
@@ -43,7 +43,7 @@ class xsdimage(fabioimage):
             self.filename = fname
             self.read(fname)
 
-    def read(self, fname):
+    def read(self, fname, frame=None):
         """
         """
         self.header = {}
diff --git a/fabio.egg-info/SOURCES.txt b/fabio.egg-info/SOURCES.txt
new file mode 100644
index 0000000..25d13b1
--- /dev/null
+++ b/fabio.egg-info/SOURCES.txt
@@ -0,0 +1,222 @@
+MANIFEST.in
+README.TXT
+build-deb.sh
+setup.py
+stdeb.cfg
+doc/fabio-api.pdf
+doc/html/api-objects.txt
+doc/html/class-tree.html
+doc/html/crarr.png
+doc/html/epydoc.css
+doc/html/epydoc.js
+doc/html/fabio-module.html
+doc/html/fabio-pysrc.html
+doc/html/fabio.GEimage-module.html
+doc/html/fabio.GEimage-pysrc.html
+doc/html/fabio.GEimage.GEimage-class.html
+doc/html/fabio.GEimage_old-module.html
+doc/html/fabio.GEimage_old-pysrc.html
+doc/html/fabio.GEimage_old.GEimage-class.html
+doc/html/fabio.HiPiCimage-module.html
+doc/html/fabio.HiPiCimage-pysrc.html
+doc/html/fabio.HiPiCimage.HiPiCimage-class.html
+doc/html/fabio.OXDimage-module.html
+doc/html/fabio.OXDimage-pysrc.html
+doc/html/fabio.OXDimage.OXDimage-class.html
+doc/html/fabio.OXDimage.Section-class.html
+doc/html/fabio.TiffIO-module.html
+doc/html/fabio.TiffIO-pysrc.html
+doc/html/fabio.TiffIO.TiffIO-class.html
+doc/html/fabio.adscimage-module.html
+doc/html/fabio.adscimage-pysrc.html
+doc/html/fabio.adscimage.adscimage-class.html
+doc/html/fabio.binaryimage-module.html
+doc/html/fabio.binaryimage-pysrc.html
+doc/html/fabio.binaryimage.binaryimage-class.html
+doc/html/fabio.bruker100image-module.html
+doc/html/fabio.bruker100image-pysrc.html
+doc/html/fabio.bruker100image.bruker100image-class.html
+doc/html/fabio.brukerimage-module.html
+doc/html/fabio.brukerimage-pysrc.html
+doc/html/fabio.brukerimage.brukerimage-class.html
+doc/html/fabio.byte_offset-module.html
+doc/html/fabio.cbfimage-module.html
+doc/html/fabio.cbfimage-pysrc.html
+doc/html/fabio.cbfimage.CIF-class.html
+doc/html/fabio.cbfimage.cbfimage-class.html
+doc/html/fabio.cf_io-module.html
+doc/html/fabio.compression-module.html
+doc/html/fabio.compression-pysrc.html
+doc/html/fabio.converters-module.html
+doc/html/fabio.converters-pysrc.html
+doc/html/fabio.datIO-module.html
+doc/html/fabio.datIO-pysrc.html
+doc/html/fabio.datIO.columnfile-class.html
+doc/html/fabio.datIO.fabiodata-class.html
+doc/html/fabio.dm3image-module.html
+doc/html/fabio.dm3image-pysrc.html
+doc/html/fabio.dm3image.dm3image-class.html
+doc/html/fabio.edfimage-module.html
+doc/html/fabio.edfimage-pysrc.html
+doc/html/fabio.edfimage.Frame-class.html
+doc/html/fabio.edfimage.edfimage-class.html
+doc/html/fabio.fabioimage-module.html
+doc/html/fabio.fabioimage-pysrc.html
+doc/html/fabio.fabioimage.fabioStream-class.html
+doc/html/fabio.fabioimage.fabioimage-class.html
+doc/html/fabio.fabioutils-module.html
+doc/html/fabio.fabioutils-pysrc.html
+doc/html/fabio.fabioutils.filename_object-class.html
+doc/html/fabio.file_series-module.html
+doc/html/fabio.file_series-pysrc.html
+doc/html/fabio.file_series.file_series-class.html
+doc/html/fabio.file_series.filename_series-class.html
+doc/html/fabio.file_series.numbered_file_series-class.html
+doc/html/fabio.fit2dmaskimage-module.html
+doc/html/fabio.fit2dmaskimage-pysrc.html
+doc/html/fabio.fit2dmaskimage.fit2dmaskimage-class.html
+doc/html/fabio.fit2dspreadsheetimage-module.html
+doc/html/fabio.fit2dspreadsheetimage-pysrc.html
+doc/html/fabio.fit2dspreadsheetimage.fit2dspreadsheetimage-class.html
+doc/html/fabio.kcdimage-module.html
+doc/html/fabio.kcdimage-pysrc.html
+doc/html/fabio.kcdimage.kcdimage-class.html
+doc/html/fabio.mar345_IO-module.html
+doc/html/fabio.mar345image-module.html
+doc/html/fabio.mar345image-pysrc.html
+doc/html/fabio.mar345image.mar345image-class.html
+doc/html/fabio.marccdimage-module.html
+doc/html/fabio.marccdimage-pysrc.html
+doc/html/fabio.marccdimage.marccdimage-class.html
+doc/html/fabio.openimage-module.html
+doc/html/fabio.openimage-pysrc.html
+doc/html/fabio.pilatusimage-module.html
+doc/html/fabio.pilatusimage-pysrc.html
+doc/html/fabio.pilatusimage.pilatusimage-class.html
+doc/html/fabio.pnmimage-module.html
+doc/html/fabio.pnmimage-pysrc.html
+doc/html/fabio.pnmimage.pnmimage-class.html
+doc/html/fabio.readbytestream-module.html
+doc/html/fabio.readbytestream-pysrc.html
+doc/html/fabio.tifimage-module.html
+doc/html/fabio.tifimage-pysrc.html
+doc/html/fabio.tifimage.Image_File_Directory-class.html
+doc/html/fabio.tifimage.Image_File_Directory_entry-class.html
+doc/html/fabio.tifimage.Tiff_header-class.html
+doc/html/fabio.tifimage.tifimage-class.html
+doc/html/fabio.xsdimage-module.html
+doc/html/fabio.xsdimage-pysrc.html
+doc/html/fabio.xsdimage.xsdimage-class.html
+doc/html/frames.html
+doc/html/help.html
+doc/html/identifier-index.html
+doc/html/index.html
+doc/html/module-tree.html
+doc/html/redirect.html
+doc/html/str-class.html
+doc/html/toc-everything.html
+doc/html/toc-fabio-module.html
+doc/html/toc-fabio.GEimage-module.html
+doc/html/toc-fabio.GEimage_old-module.html
+doc/html/toc-fabio.HiPiCimage-module.html
+doc/html/toc-fabio.OXDimage-module.html
+doc/html/toc-fabio.TiffIO-module.html
+doc/html/toc-fabio.adscimage-module.html
+doc/html/toc-fabio.binaryimage-module.html
+doc/html/toc-fabio.bruker100image-module.html
+doc/html/toc-fabio.brukerimage-module.html
+doc/html/toc-fabio.byte_offset-module.html
+doc/html/toc-fabio.cbfimage-module.html
+doc/html/toc-fabio.cf_io-module.html
+doc/html/toc-fabio.compression-module.html
+doc/html/toc-fabio.converters-module.html
+doc/html/toc-fabio.datIO-module.html
+doc/html/toc-fabio.dm3image-module.html
+doc/html/toc-fabio.edfimage-module.html
+doc/html/toc-fabio.fabioimage-module.html
+doc/html/toc-fabio.fabioutils-module.html
+doc/html/toc-fabio.file_series-module.html
+doc/html/toc-fabio.fit2dmaskimage-module.html
+doc/html/toc-fabio.fit2dspreadsheetimage-module.html
+doc/html/toc-fabio.kcdimage-module.html
+doc/html/toc-fabio.mar345_IO-module.html
+doc/html/toc-fabio.mar345image-module.html
+doc/html/toc-fabio.marccdimage-module.html
+doc/html/toc-fabio.openimage-module.html
+doc/html/toc-fabio.pilatusimage-module.html
+doc/html/toc-fabio.pnmimage-module.html
+doc/html/toc-fabio.readbytestream-module.html
+doc/html/toc-fabio.tifimage-module.html
+doc/html/toc-fabio.xsdimage-module.html
+doc/html/toc.html
+fabio-src/GEimage.py
+fabio-src/GEimage_old.py
+fabio-src/HiPiCimage.py
+fabio-src/OXDimage.py
+fabio-src/TiffIO.py
+fabio-src/__init__.py
+fabio-src/adscimage.py
+fabio-src/binaryimage.py
+fabio-src/bruker100image.py
+fabio-src/brukerimage.py
+fabio-src/cbfimage.py
+fabio-src/compression.py
+fabio-src/converters.py
+fabio-src/datIO.py
+fabio-src/dm3image.py
+fabio-src/edfimage.py
+fabio-src/fabioimage.py
+fabio-src/fabioutils.py
+fabio-src/file_series.py
+fabio-src/fit2dmaskimage.py
+fabio-src/fit2dspreadsheetimage.py
+fabio-src/kcdimage.py
+fabio-src/mar345image.py
+fabio-src/marccdimage.py
+fabio-src/openimage.py
+fabio-src/pilatusimage.py
+fabio-src/pnmimage.py
+fabio-src/readbytestream.py
+fabio-src/tifimage.py
+fabio-src/xsdimage.py
+src/byte_offset.c
+src/byte_offset.html
+src/byte_offset.pyx
+src/ccp4_pack.c
+src/ccp4_pack.h
+src/cf_iomodule.c
+src/columnfile.c
+src/columnfile.h
+src/mar345_IO.c
+src/mar345_IO.html
+src/mar345_IO.pyx
+src/setup.py
+src/stdint.h
+test/__init__.py
+test/benchheader.py
+test/profile_compressed.py
+test/testGEimage.py
+test/testOXDimage.py
+test/testXSDimage.py
+test/test_all.py
+test/test_all_images.py
+test/test_file_series.py
+test/test_filename_steps.py
+test/test_flat_binary.py
+test/testadscimage.py
+test/testbrukerimage.py
+test/testcbfimage.py
+test/testcompression.py
+test/testedfimage.py
+test/testfabioimage.py
+test/testfilenames.py
+test/testfit2dmaskimage.py
+test/testheadernotsingleton.py
+test/testkcdimage.py
+test/testmar345image.py
+test/testmccdimage.py
+test/testopenheader.py
+test/testopenimage.py
+test/testtifgz.py
+test/testtifimage.py
+test/utilstest.py
\ No newline at end of file
diff --git a/fabio/OXDimage.py b/fabio/OXDimage.py
deleted file mode 100644
index b90e4f5..0000000
--- a/fabio/OXDimage.py
+++ /dev/null
@@ -1,233 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Reads Oxford Diffraction Sapphire 3 images
-
-Authors: Henning O. Sorensen & Erik Knudsen
-         Center for Fundamental Research: Metal Structures in Four Dimensions
-         Risoe National Laboratory
-         Frederiksborgvej 399
-         DK-4000 Roskilde
-         email:erik.knudsen at risoe.dk
-
-        + Jon Wright, ESRF
-
-"""
-
-import numpy, logging
-logger = logging.getLogger("OXDimage")
-from fabioimage import fabioimage
-
-DETECTOR_TYPES = {0: 'Sapphire/KM4CCD (1x1: 0.06mm, 2x2: 0.12mm)',
-1: 'Sapphire2-Kodak (1x1: 0.06mm, 2x2: 0.12mm)',
-2: 'Sapphire3-Kodak (1x1: 0.03mm, 2x2: 0.06mm, 4x4: 0.12mm)',
-3: 'Onyx-Kodak (1x1: 0.06mm, 2x2: 0.12mm, 4x4: 0.24mm)',
-4: 'Unknown Oxford diffraction detector'}
-
-
-class OXDimage(fabioimage):
-    def _readheader(self, infile):
-
-        infile.seek(0)
-
-        # Ascii header part 512 byes long 
-        self.header['Header Version'] = infile.readline()[:-2]
-        block = infile.readline()
-        self.header['Compression'] = block[12:15]
-        block = infile.readline()
-        self.header['NX'] = int(block[3:7])
-        self.header['NY'] = int(block[11:15])
-        self.header['OI'] = int(block[19:26])
-        self.header['OL'] = int(block[30:37])
-        block = infile.readline()
-        self.header['Header Size In Bytes'] = int(block[8:15])
-        #self.header['NG'] = int(block[19:26])
-        #self.header['NK'] = int(block[30:37])
-        #self.header['NS'] = int(block[41:48])
-        #self.header['NH'] = int(block[52:59])
-        block = infile.readline()
-        #self.header['NSUPPLEMENT'] = int(block[12:19])
-        block = infile.readline()
-        self.header['Time'] = block[5:29]
-
-        # Skip to general section (NG) 512 byes long <<<<<<"
-        infile.seek(256)
-        block = infile.read(512)
-        self.header['Binning in x'] = numpy.fromstring(block[0:2], numpy.uint16)[0]
-        self.header['Binning in y'] = numpy.fromstring(block[2:4], numpy.uint16)[0]
-        self.header['Detector size x'] = numpy.fromstring(block[22:24], numpy.uint16)[0]
-        self.header['Detector size y'] = numpy.fromstring(block[24:26], numpy.uint16)[0]
-        self.header['Pixels in x'] = numpy.fromstring(block[26:28], numpy.uint16)[0]
-        self.header['Pixels in y'] = numpy.fromstring(block[28:30], numpy.uint16)[0]
-        self.header['No of pixels'] = numpy.fromstring(block[36:40], numpy.uint32)[0]
-
-        # Speciel section (NS) 768 bytes long
-        block = infile.read(768)
-        self.header['Gain'] = numpy.fromstring(block[56:64], numpy.float)[0]
-        self.header['Overflows flag'] = numpy.fromstring(block[464:466], numpy.int16)[0]
-        self.header['Overflow after remeasure flag'] = numpy.fromstring(block[466:468], numpy.int16)[0]
-        self.header['Overflow threshold'] = numpy.fromstring(block[472:476], numpy.int32)[0]
-        self.header['Exposure time in sec'] = numpy.fromstring(block[480:488], numpy.float)[0]
-        self.header['Overflow time in sec'] = numpy.fromstring(block[488:496], numpy.float)[0]
-        self.header['Monitor counts of raw image 1'] = numpy.fromstring(block[528:532], numpy.int32)[0]
-        self.header['Monitor counts of raw image 2'] = numpy.fromstring(block[532:536], numpy.int32)[0]
-        self.header['Monitor counts of overflow raw image 1'] = numpy.fromstring(block[536:540], numpy.int32)[0]
-        self.header['Monitor counts of overflow raw image 2'] = numpy.fromstring(block[540:544], numpy.int32)[0]
-        self.header['Unwarping'] = numpy.fromstring(block[544:548], numpy.int32)[0]
-        self.header['Detector type'] = DETECTOR_TYPES[numpy.fromstring(block[548:552], numpy.int32)[0]]
-        self.header['Real pixel size x (mm)'] = numpy.fromstring(block[568:576], numpy.float)[0]
-        self.header['Real pixel size y (mm)'] = numpy.fromstring(block[576:584], numpy.float)[0]
-
-        # KM4 goniometer section (NK) 1024 bytes long
-        block = infile.read(1024)
-        # Spatial correction file
-        self.header['Spatial correction file'] = block[26:272]
-        self.header['Spatial correction file date'] = block[0:26]
-        # Angles are in steps due to stepper motors - conversion factor RAD
-        # angle[0] = omega, angle[1] = theta, angle[2] = kappa, angle[3] = phi,   
-        start_angles_step = numpy.fromstring(block[284:304], numpy.int32)
-        end_angles_step = numpy.fromstring(block[324:344], numpy.int32)
-        step2rad = numpy.fromstring(block[368:408], numpy.float)
-        # calc angles
-        start_angles_deg = start_angles_step * step2rad * 180.0 / numpy.pi
-
-        end_angles_deg = end_angles_step * step2rad * 180.0 / numpy.pi
-        self.header['Omega start in deg'] = start_angles_deg[0]
-        self.header['Theta start in deg'] = start_angles_deg[1]
-        self.header['Kappa start in deg'] = start_angles_deg[2]
-        self.header['Phi start in deg'] = start_angles_deg[3]
-        self.header['Omega end in deg'] = end_angles_deg[0]
-        self.header['Theta end in deg'] = end_angles_deg[1]
-        self.header['Kappa end in deg'] = end_angles_deg[2]
-        self.header['Phi end in deg'] = end_angles_deg[3]
-
-        zero_correction_soft_step = numpy.fromstring(block[512:532], numpy.int32)
-        zero_correction_soft_deg = zero_correction_soft_step * step2rad * 180.0 / numpy.pi
-        self.header['Omega zero corr. in deg'] = zero_correction_soft_deg[0]
-        self.header['Theta zero corr. in deg'] = zero_correction_soft_deg[1]
-        self.header['Kappa zero corr. in deg'] = zero_correction_soft_deg[2]
-        self.header['Phi zero corr. in deg'] = zero_correction_soft_deg[3]
-        # Beam rotation about e2,e3
-        self.header['Beam rot in deg (e2)'] = numpy.fromstring(block[552:560], numpy.float)[0]
-        self.header['Beam rot in deg (e3)'] = numpy.fromstring(block[560:568], numpy.float)[0]
-        # Wavelenghts alpha1, alpha2, beta
-        self.header['Wavelength alpha1'] = numpy.fromstring(block[568:576], numpy.float)[0]
-        self.header['Wavelength alpha2'] = numpy.fromstring(block[576:584], numpy.float)[0]
-        self.header['Wavelength alpha'] = numpy.fromstring(block[584:592], numpy.float)[0]
-        self.header['Wavelength beta'] = numpy.fromstring(block[592:600], numpy.float)[0]
-
-        # Detector tilts around e1,e2,e3 in deg
-        self.header['Detector tilt e1 in deg'] = numpy.fromstring(block[640:648], numpy.float)[0]
-        self.header['Detector tilt e2 in deg'] = numpy.fromstring(block[648:656], numpy.float)[0]
-        self.header['Detector tilt e3 in deg'] = numpy.fromstring(block[656:664], numpy.float)[0]
-
-
-        # Beam center
-        self.header['Beam center x'] = numpy.fromstring(block[664:672], numpy.float)[0]
-        self.header['Beam center y'] = numpy.fromstring(block[672:680], numpy.float)[0]
-        # Angle (alpha) between kappa rotation axis and e3 (ideally 50 deg)
-        self.header['Alpha angle in deg'] = numpy.fromstring(block[672:680], numpy.float)[0]
-        # Angle (beta) between phi rotation axis and e3 (ideally 0 deg)
-        self.header['Beta angle in deg'] = numpy.fromstring(block[672:680], numpy.float)[0]
-
-        # Detector distance
-        self.header['Distance in mm'] = numpy.fromstring(block[712:720], numpy.float)[0]
-        # Statistics section (NS) 512 bytes long
-        block = infile.read(512)
-        self.header['Stat: Min '] = numpy.fromstring(block[0:4], numpy.int32)[0]
-        self.header['Stat: Max '] = numpy.fromstring(block[4:8], numpy.int32)[0]
-        self.header['Stat: Average '] = numpy.fromstring(block[24:32], numpy.float)[0]
-        self.header['Stat: Stddev '] = numpy.sqrt(numpy.fromstring(block[32:40], numpy.float)[0])
-        self.header['Stat: Skewness '] = numpy.fromstring(block[40:48], numpy.float)[0]
-
-        # History section (NH) 2048 bytes long - only reads first 256 bytes
-        block = infile.read(256)
-        self.header['Flood field image'] = block[99:126]
-
-    def read(self, fname):
-        """
-        Read in header into self.header and
-            the data   into self.data
-        """
-        self.header = {}
-        self.resetvals()
-        infile = self._open(fname)
-        self._readheader(infile)
-
-        infile.seek(self.header['Header Size In Bytes'])
-
-        # Compute image size
-        try:
-            self.dim1 = int(self.header['NX'])
-            self.dim2 = int(self.header['NY'])
-        except:
-            raise Exception("Oxford  file", str(fname) + \
-                                "is corrupt, cannot read it")
-        #
-        if self.header['Compression'] == 'TY1':
-            #Compressed with the KM4CCD compression
-            bytecode = numpy.uint8
-            self.bpp = len(numpy.array(0, bytecode).tostring())
-            ReadBytes = self.dim1 * self.dim2 * self.bpp
-            diffs = infile.read(ReadBytes)
-            diffs = numpy.fromstring(diffs, bytecode)
-            offset = -127
-            diffs = diffs.astype(numpy.int32) + offset
-
-            if self.header['OI'] > 0:
-                bytecode = numpy.int16
-                self.bpp = len(numpy.array(0, bytecode).tostring())
-                ReadBytes = self.header['OI'] * self.bpp
-                over_short = infile.read(ReadBytes)
-                over_short = numpy.fromstring(over_short, bytecode)
-            if self.header['OL'] > 0:
-                bytecode = numpy.int32
-                self.bpp = len(numpy.array(0, bytecode).tostring())
-                ReadBytes = self.header['OL'] * self.bpp
-                over_long = infile.read(ReadBytes)
-                over_long = numpy.fromstring(over_long, bytecode)
-            block = diffs.copy()
-            old_val = 0
-            js = 0
-            jl = 0
-            logger.warning('OVER_SHORT: %s', block.dtype)
-
-            for i in range(self.dim1 * self.dim2):
-                if diffs[i] < 127:
-                    #print 'DIFF < 127:' , diffs[i] 
-                    d = diffs[i]
-                elif diffs[i] == 127:
-                    #print 'DIFF == 127:' , diffs[i] 
-                    d = over_short[js]
-                    #print 'd ' , d
-                    js = js + 1
-                elif diffs[i] == 128:
-                    #print 'DIFF == 128:' , diffs[i] 
-                    d = over_long[jl]
-                    jl = jl + 1
-                old_val = old_val + d
-                block[i] = old_val
-        else:
-            bytecode = numpy.int32
-            self.bpp = len(numpy.array(0, bytecode).tostring())
-            ReadBytes = self.dim1 * self.dim2 * self.bpp
-            block = numpy.fromstring(infile.read(ReadBytes), bytecode)
-
-        logger.warning('OVER_SHORT2: %s', block.dtype)
-        logger.warning("%s" % (block < 0).sum())
-        #
-        infile.close()
-        logger.warning("BYTECODE: %s", bytecode)
-        try:
-            # avoid int64 for x86_64 with astype
-            bytecode = numpy.int32
-
-            self.data = numpy.reshape(block.astype(bytecode), [self.dim2, self.dim1])
-            #self.data = numpy.reshape(block,[self.dim2, self.dim1])
-        except:
-            print len(block), self.dim2, self.dim1
-            raise IOError('Size spec in OD-header does not match size of image data field')
-
-        self.bytecode = self.data.dtype.type
-        self.pilimage = None
-        return self
diff --git a/fabio/mar345image.py b/fabio/mar345image.py
deleted file mode 100644
index ce4c292..0000000
--- a/fabio/mar345image.py
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/usr/bin/env python
-"""
-
-Authors: Henning O. Sorensen & Erik Knudsen
-         Center for Fundamental Research: Metal Structures in Four Dimensions
-         Risoe National Laboratory
-         Frederiksborgvej 399
-         DK-4000 Roskilde
-         email:erik.knudsen at risoe.dk
-          +
-         Jon Wright, ESRF, France
-"""
-
-from fabioimage import fabioimage
-import numpy, struct, string
-import logging
-logger = logging.getLogger("mar345image")
-
-class mar345image(fabioimage):
-    _need_a_real_file = True
-    def __init__(self, *args, **kwargs):
-        fabioimage.__init__(self, *args, **kwargs)
-        self.numhigh = None
-        self.numpixels = None
-
-    def read(self, fname):
-        """ Read a mar345 image"""
-        self.filename = fname
-        f = self._open(self.filename, "rb")
-        self._readheader(f)
-
-        try:
-            import mar345_io #IGNORE:F0401
-        except ImportError, error:
-            logger.error('%s. importing the mar345_io backend: generate an empty 1x1 picture' % error)
-            f.close()
-            self.dim1 = 1
-            self.dim2 = 1
-            self.bytecode = numpy.int #
-            self.data = numpy.resize(numpy.array([0], numpy.int), [1, 1])
-            return self
-
-        if 'compressed' in self.header['Format']:
-            self.data = mar345_io.unpack(f, self.dim1, self.dim2, self.numhigh)
-        else:
-            logger.error("cannot handle these formats yet " + \
-                "due to lack of documentation")
-            return None
-        self.bytecode = numpy.uint
-        f.close()
-        return self
-
-    def _readheader(self, infile=None):
-        """ Read a mar345 image header """
-        # clip was not used anywhere - commented out
-        # clip = '\x00'
-        #using a couple of local variables inside this function
-        f = infile
-        h = {}
-
-        #header is 4096 bytes long
-        l = f.read(64)
-        #the contents of the mar345 header is taken to be as
-        # described in
-        # http://www.mar-usa.com/support/downloads/mar345_formats.pdf
-        #the first 64 bytes are 4-byte integers (but in the CBFlib
-        # example image it seems to 128 bytes?)
-        #first 4-byte integer is a marker to check endianness
-        # TODO: turn this into a real check
-        if (l[0:4] == '1234'):
-            fs = 'I'
-        # unsigned integer, was using unsigned long (64 bit?)
-        fs = 'i'
-        #image dimensions
-        self.dim1 = self.dim2 = int(struct.unpack(fs, l[4:8])[0])
-        #number of high intensity pixels
-        self.numhigh = struct.unpack(fs, l[2 * 4 : (2 + 1) * 4])[0]
-        h['NumHigh'] = self.numhigh
-        #Image format
-        i = struct.unpack(fs, l[3 * 4 : (3 + 1) * 4])[0]
-        if i == 1:
-            h['Format'] = 'compressed'
-        elif i == 2:
-            h['Format'] = 'spiral'
-        else:
-            h['Format'] = 'compressed'
-            logger.warning("image format could not be detetermined" + \
-                "- assuming compressed mar345")
-        #collection mode
-        h['Mode'] = {0:'Dose', 1: 'Time'}[struct.unpack(fs, l[4 * 4:(4 + 1) * 4])[0]]
-        #total number of pixels
-        self.numpixels = struct.unpack(fs, l[5 * 4:(5 + 1) * 4])[0]
-        h['NumPixels'] = str(self.numpixels)
-        #pixel dimensions (length,height) in mm
-        h['PixelLength'] = struct.unpack(fs, l[6 * 4:(6 + 1) * 4])[0] / 1000.0
-        h['PixelHeight'] = struct.unpack(fs, l[7 * 4:(7 + 1) * 4])[0] / 1000.0
-        #x-ray wavelength in AA
-        h['Wavelength'] = struct.unpack(fs, l[8 * 4:(8 + 1) * 4])[0] / 1000000.0
-        #used distance
-        h['Distance'] = struct.unpack(fs, l[9 * 4:(9 + 1) * 4])[0] / 1000.0
-        #starting and ending phi
-        h['StartPhi'] = struct.unpack(fs, l[10 * 4:11 * 4])[0] / 1000.0
-        h['EndPhi'] = struct.unpack(fs, l[11 * 4:12 * 4])[0] / 1000.0
-        #starting and ending omega
-        h['StartOmega'] = struct.unpack(fs, l[12 * 4:13 * 4])[0] / 1000.0
-        h['EndOmega'] = struct.unpack(fs, l[13 * 4:14 * 4])[0] / 1000.0
-        #Chi and Twotheta angles
-        h['Chi'] = struct.unpack(fs, l[14 * 4:15 * 4])[0] / 1000.0
-        h['TwoTheta'] = struct.unpack(fs, l[15 * 4:16 * 4])[0] / 1000.0
-
-        #the rest of the header is ascii
-        # TODO: validate these values against the binaries already read
-        l = f.read(128)
-        if not 'mar research' in l:
-            logger.warning("the string \"mar research\" should be in " + \
-                "bytes 65-76 of the header but was not")
-        l = string.strip(f.read(4096 - 128 - 64))
-        for m in l.splitlines():
-            if m == 'END OF HEADER': break
-            n = m.split(' ', 1)
-            if n[0] == '':
-                continue
-            if n[0] in ('PROGRAM', 'DATE', 'SCANNER', 'HIGH', 'MULTIPLIER',
-                        'GAIN', 'WAVELENGTH', 'DISTANCE', 'RESOLUTION',
-                        'CHI', 'TWOTHETA', 'MODE', 'TIME', 'GENERATOR',
-                        'MONOCHROMATOR', 'REMARK'):
-                h[n[0]] = n[1].strip()
-                continue
-            if n[0] in ('FORMAT'):
-                (h['DIM'], h['FORMAT_TYPE'], h['NO_PIXELS']) = n[1].split()
-                continue
-            if n[0] in ('PIXEL', 'OFFSET', 'PHI', 'OMEGA', 'COUNTS',
-                        'CENTER', 'INTENSITY', 'HISTOGRAM', 'COLLIMATOR'):
-                n = m.split()
-                h.update([(n[0] + '_' + n[j], n[j + 1]) for j in range(1, len(n), 2)])
-                continue
-        self.header = h
-        return h
-
-    def write(self, fname):
-        logger.warning("write method not (yet?) implemented !!!!")
-
-
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..861a9f5
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,5 @@
+[egg_info]
+tag_build = 
+tag_date = 0
+tag_svn_revision = 0
+
diff --git a/setup.py b/setup.py
index be14ac0..d18c87a 100644
--- a/setup.py
+++ b/setup.py
@@ -3,27 +3,17 @@
 
 """
 Setup script for python distutils package and fabio
-
-Added Erik Knudsen's mar 345 code
 """
+import os.path as op
 try:
     from setuptools import setup
 except ImportError:
     from distutils.core import setup
-
-from distutils.core import  Extension
-
-
-# for numpy
+from distutils.core import Extension
 from numpy.distutils.misc_util import get_numpy_include_dirs
 
 
 
-mar345_backend = Extension('mar345_io',
-                           include_dirs=get_numpy_include_dirs(),
-                           sources=['src/mar345_iomodule.c',
-                                      'src/ccp4_pack.c'])
-
 cf_backend = Extension('cf_io', include_dirs=get_numpy_include_dirs(),
       sources=['src/cf_iomodule.c', 'src/columnfile.c'])
 
@@ -31,19 +21,28 @@ byteOffset_backend = Extension("byte_offset",
                        include_dirs=get_numpy_include_dirs(),
                            sources=['src/byte_offset.c'])
 
+mar345_backend = Extension('mar345_IO',
+                           include_dirs=get_numpy_include_dirs(),
+                           sources=['src/mar345_IO.c',
+                                    'src/ccp4_pack.c',
+                                      ])
+
+version = [eval(l.split("=")[1])
+           for l in open(op.join(op.dirname(op.abspath(__file__)), "fabio-src", "__init__.py"))
+           if l.strip().startswith("version")][0]
+
+
 # See the distutils docs...
 setup(name='fabio',
-      version="0.0.8",
-      author="Henning Sorensen, Erik Knudsen, Jon Wright, Régis Perdreau and Jérôme Kieffer",
+      version=version,
+      author="Henning Sorensen, Erik Knudsen, Jon Wright, Regis Perdreau, Jérôme Kieffer and Gael Goret",
       author_email="fable-talk at lists.sourceforge.net",
       description='Image IO for fable',
       url="http://fable.wiki.sourceforge.net/fabio",
-      download_url="http://sourceforge.net/projects/fable/files/fabio/0.0.8",
+      download_url="http://sourceforge.net/projects/fable/files/fabio/0.0.9",
       ext_package="fabio",
-#      cmdclass = {'build_ext': build_ext},
-      ext_modules=[mar345_backend, cf_backend, byteOffset_backend ],
+      ext_modules=[mar345_backend, cf_backend, byteOffset_backend],
       packages=["fabio"],
-      package_dir={"fabio": "fabio" }
+      package_dir={"fabio": "fabio-src" },
+      test_suite="test"
       )
-
-
diff --git a/src/byte_offset.c b/src/byte_offset.c
index 705ec47..49d4e42 100644
--- a/src/byte_offset.c
+++ b/src/byte_offset.c
@@ -1,9 +1,11 @@
-/* Generated by Cython 0.14 on Wed Dec 15 09:33:51 2010 */
+/* Generated by Cython 0.15.1+ on Fri Dec  9 12:19:09 2011 */
 
 #define PY_SSIZE_T_CLEAN
 #include "Python.h"
 #ifndef Py_PYTHON_H
     #error Python headers needed to compile C extensions, please install development version of Python.
+#elif PY_VERSION_HEX < 0x02040000
+    #error Cython requires Python 2.4+.
 #else
 
 #include <stddef.h> /* For offsetof */
@@ -34,19 +36,13 @@
   #define PY_LONG_LONG LONG_LONG
 #endif
 
-#if PY_VERSION_HEX < 0x02040000
-  #define METH_COEXIST 0
-  #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
-  #define PyDict_Contains(d,o)   PySequence_Contains(d,o)
-#endif
-
 #if PY_VERSION_HEX < 0x02050000
   typedef int Py_ssize_t;
   #define PY_SSIZE_T_MAX INT_MAX
   #define PY_SSIZE_T_MIN INT_MIN
   #define PY_FORMAT_SIZE_T ""
   #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
-  #define PyInt_AsSsize_t(o)   PyInt_AsLong(o)
+  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
   #define PyNumber_Index(o)    PyNumber_Int(o)
   #define PyIndex_Check(o)     PyNumber_Check(o)
   #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
@@ -88,8 +84,18 @@
 
 #if PY_MAJOR_VERSION < 3
   #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
+  #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s)
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
+          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
 #else
   #define __Pyx_BUILTIN_MODULE_NAME "builtins"
+  #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s)
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
+          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+#endif
+
+#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
+  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
 #endif
 
 #if PY_MAJOR_VERSION >= 3
@@ -101,6 +107,16 @@
   #define Py_TPFLAGS_HAVE_NEWBUFFER 0
 #endif
 
+/* new Py3.3 unicode representation (PEP 393) */
+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_GET_LENGTH)
+  #define CYTHON_PEP393_ENABLED
+  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
+#else
+  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
+#endif
+
 #if PY_MAJOR_VERSION >= 3
   #define PyBaseString_Type            PyUnicode_Type
   #define PyStringObject               PyUnicodeObject
@@ -126,14 +142,18 @@
   #define PyBytes_Repr                 PyString_Repr
   #define PyBytes_Concat               PyString_Concat
   #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
+#endif
+
+#if PY_VERSION_HEX < 0x02060000
   #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
   #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
 #endif
-
 #ifndef PySet_CheckExact
-#  define PySet_CheckExact(obj)          (Py_TYPE(obj) == &PySet_Type)
+  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
 #endif
 
+#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
+
 #if PY_MAJOR_VERSION >= 3
   #define PyIntObject                  PyLongObject
   #define PyInt_Type                   PyLong_Type
@@ -152,7 +172,16 @@
 #endif
 
 #if PY_MAJOR_VERSION >= 3
-  #define PyBoolObject PyLongObject
+  #define PyBoolObject                 PyLongObject
+#endif
+
+#if PY_VERSION_HEX < 0x03020000
+  typedef long Py_hash_t;
+  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
+  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
+#else
+  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
+  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
 #endif
 
 
@@ -205,21 +234,27 @@
   #define __Pyx_DOCSTR(n)  (n)
 #endif
 
-#ifdef __cplusplus
-#define __PYX_EXTERN_C extern "C"
-#else
-#define __PYX_EXTERN_C extern
+#ifndef __PYX_EXTERN_C
+  #ifdef __cplusplus
+    #define __PYX_EXTERN_C extern "C"
+  #else
+    #define __PYX_EXTERN_C extern
+  #endif
 #endif
 
 #if defined(WIN32) || defined(MS_WINDOWS)
 #define _USE_MATH_DEFINES
 #endif
 #include <math.h>
+#define __PYX_HAVE__byte_offset
 #define __PYX_HAVE_API__byte_offset
 #include "stdio.h"
 #include "stdlib.h"
 #include "numpy/arrayobject.h"
 #include "numpy/ufuncobject.h"
+#ifdef _OPENMP
+#include <omp.h>
+#endif /* _OPENMP */
 
 #ifdef PYREX_WITHOUT_ASSERTIONS
 #define CYTHON_WITHOUT_ASSERTIONS
@@ -247,7 +282,7 @@
 #   else
 #     define CYTHON_UNUSED
 #   endif
-# elif defined(__ICC) || defined(__INTEL_COMPILER)
+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
 #   define CYTHON_UNUSED __attribute__ ((__unused__))
 # else
 #   define CYTHON_UNUSED
@@ -262,6 +297,7 @@ typedef struct {PyObject **p; char *s; const long n; const char* encoding; const
 #define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
 #define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
 
+#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
 #define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
 static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
@@ -274,17 +310,17 @@ static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
 
 
 #ifdef __GNUC__
-/* Test for GCC > 2.95 */
-#if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
-#define likely(x)   __builtin_expect(!!(x), 1)
-#define unlikely(x) __builtin_expect(!!(x), 0)
-#else /* __GNUC__ > 2 ... */
-#define likely(x)   (x)
-#define unlikely(x) (x)
-#endif /* __GNUC__ > 2 ... */
+  /* Test for GCC > 2.95 */
+  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
+    #define likely(x)   __builtin_expect(!!(x), 1)
+    #define unlikely(x) __builtin_expect(!!(x), 0)
+  #else /* __GNUC__ > 2 ... */
+    #define likely(x)   (x)
+    #define unlikely(x) (x)
+  #endif /* __GNUC__ > 2 ... */
 #else /* __GNUC__ */
-#define likely(x)   (x)
-#define unlikely(x) (x)
+  #define likely(x)   (x)
+  #define unlikely(x) (x)
 #endif /* __GNUC__ */
     
 static PyObject *__pyx_m;
@@ -325,42 +361,193 @@ static const char *__pyx_f[] = {
   "numpy.pxd",
 };
 
+/* "numpy.pxd":719
+ * # in Cython to enable them only on the right systems.
+ * 
+ * ctypedef npy_int8       int8_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t
+ */
 typedef npy_int8 __pyx_t_5numpy_int8_t;
 
+/* "numpy.pxd":720
+ * 
+ * ctypedef npy_int8       int8_t
+ * ctypedef npy_int16      int16_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int32      int32_t
+ * ctypedef npy_int64      int64_t
+ */
 typedef npy_int16 __pyx_t_5numpy_int16_t;
 
+/* "numpy.pxd":721
+ * ctypedef npy_int8       int8_t
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int64      int64_t
+ * #ctypedef npy_int96      int96_t
+ */
 typedef npy_int32 __pyx_t_5numpy_int32_t;
 
+/* "numpy.pxd":722
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t
+ * ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_int96      int96_t
+ * #ctypedef npy_int128     int128_t
+ */
 typedef npy_int64 __pyx_t_5numpy_int64_t;
 
+/* "numpy.pxd":726
+ * #ctypedef npy_int128     int128_t
+ * 
+ * ctypedef npy_uint8      uint8_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t
+ */
 typedef npy_uint8 __pyx_t_5numpy_uint8_t;
 
+/* "numpy.pxd":727
+ * 
+ * ctypedef npy_uint8      uint8_t
+ * ctypedef npy_uint16     uint16_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint32     uint32_t
+ * ctypedef npy_uint64     uint64_t
+ */
 typedef npy_uint16 __pyx_t_5numpy_uint16_t;
 
+/* "numpy.pxd":728
+ * ctypedef npy_uint8      uint8_t
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint64     uint64_t
+ * #ctypedef npy_uint96     uint96_t
+ */
 typedef npy_uint32 __pyx_t_5numpy_uint32_t;
 
+/* "numpy.pxd":729
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t
+ * ctypedef npy_uint64     uint64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_uint96     uint96_t
+ * #ctypedef npy_uint128    uint128_t
+ */
 typedef npy_uint64 __pyx_t_5numpy_uint64_t;
 
+/* "numpy.pxd":733
+ * #ctypedef npy_uint128    uint128_t
+ * 
+ * ctypedef npy_float32    float32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_float64    float64_t
+ * #ctypedef npy_float80    float80_t
+ */
 typedef npy_float32 __pyx_t_5numpy_float32_t;
 
+/* "numpy.pxd":734
+ * 
+ * ctypedef npy_float32    float32_t
+ * ctypedef npy_float64    float64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_float80    float80_t
+ * #ctypedef npy_float128   float128_t
+ */
 typedef npy_float64 __pyx_t_5numpy_float64_t;
 
+/* "numpy.pxd":743
+ * # The int types are mapped a bit surprising --
+ * # numpy.int corresponds to 'l' and numpy.long to 'q'
+ * ctypedef npy_long       int_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longlong   long_t
+ * ctypedef npy_longlong   longlong_t
+ */
 typedef npy_long __pyx_t_5numpy_int_t;
 
+/* "numpy.pxd":744
+ * # numpy.int corresponds to 'l' and numpy.long to 'q'
+ * ctypedef npy_long       int_t
+ * ctypedef npy_longlong   long_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longlong   longlong_t
+ * 
+ */
 typedef npy_longlong __pyx_t_5numpy_long_t;
 
-typedef npy_intp __pyx_t_5numpy_intp_t;
-
-typedef npy_uintp __pyx_t_5numpy_uintp_t;
+/* "numpy.pxd":745
+ * ctypedef npy_long       int_t
+ * ctypedef npy_longlong   long_t
+ * ctypedef npy_longlong   longlong_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_ulong      uint_t
+ */
+typedef npy_longlong __pyx_t_5numpy_longlong_t;
 
+/* "numpy.pxd":747
+ * ctypedef npy_longlong   longlong_t
+ * 
+ * ctypedef npy_ulong      uint_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_ulonglong  ulong_t
+ * ctypedef npy_ulonglong  ulonglong_t
+ */
 typedef npy_ulong __pyx_t_5numpy_uint_t;
 
+/* "numpy.pxd":748
+ * 
+ * ctypedef npy_ulong      uint_t
+ * ctypedef npy_ulonglong  ulong_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_ulonglong  ulonglong_t
+ * 
+ */
 typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
 
+/* "numpy.pxd":749
+ * ctypedef npy_ulong      uint_t
+ * ctypedef npy_ulonglong  ulong_t
+ * ctypedef npy_ulonglong  ulonglong_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_intp       intp_t
+ */
+typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
+
+/* "numpy.pxd":751
+ * ctypedef npy_ulonglong  ulonglong_t
+ * 
+ * ctypedef npy_intp       intp_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uintp      uintp_t
+ * 
+ */
+typedef npy_intp __pyx_t_5numpy_intp_t;
+
+/* "numpy.pxd":752
+ * 
+ * ctypedef npy_intp       intp_t
+ * ctypedef npy_uintp      uintp_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_double     float_t
+ */
+typedef npy_uintp __pyx_t_5numpy_uintp_t;
+
+/* "numpy.pxd":754
+ * ctypedef npy_uintp      uintp_t
+ * 
+ * ctypedef npy_double     float_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_double     double_t
+ * ctypedef npy_longdouble longdouble_t
+ */
 typedef npy_double __pyx_t_5numpy_float_t;
 
+/* "numpy.pxd":755
+ * 
+ * ctypedef npy_double     float_t
+ * ctypedef npy_double     double_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longdouble longdouble_t
+ * 
+ */
 typedef npy_double __pyx_t_5numpy_double_t;
 
+/* "numpy.pxd":756
+ * ctypedef npy_double     float_t
+ * ctypedef npy_double     double_t
+ * ctypedef npy_longdouble longdouble_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_cfloat      cfloat_t
+ */
 typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
 
 #if CYTHON_CCOMPLEX
@@ -383,14 +570,42 @@ typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
     typedef struct { double real, imag; } __pyx_t_double_complex;
 #endif
 
-/* Type declarations */
+/*--- Type declarations ---*/
 
+/* "numpy.pxd":758
+ * ctypedef npy_longdouble longdouble_t
+ * 
+ * ctypedef npy_cfloat      cfloat_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_cdouble     cdouble_t
+ * ctypedef npy_clongdouble clongdouble_t
+ */
 typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
 
+/* "numpy.pxd":759
+ * 
+ * ctypedef npy_cfloat      cfloat_t
+ * ctypedef npy_cdouble     cdouble_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_clongdouble clongdouble_t
+ * 
+ */
 typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
 
+/* "numpy.pxd":760
+ * ctypedef npy_cfloat      cfloat_t
+ * ctypedef npy_cdouble     cdouble_t
+ * ctypedef npy_clongdouble clongdouble_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_cdouble     complex_t
+ */
 typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
 
+/* "numpy.pxd":762
+ * ctypedef npy_clongdouble clongdouble_t
+ * 
+ * ctypedef npy_cdouble     complex_t             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):
+ */
 typedef npy_cdouble __pyx_t_5numpy_complex_t;
 
 #ifndef CYTHON_REFNANNY
@@ -407,58 +622,63 @@ typedef npy_cdouble __pyx_t_5numpy_complex_t;
     void (*FinishContext)(void**);
   } __Pyx_RefNannyAPIStruct;
   static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
-  static __Pyx_RefNannyAPIStruct * __Pyx_RefNannyImportAPI(const char *modname) {
-    PyObject *m = NULL, *p = NULL;
-    void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
-    if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
-    if (!p) goto end;
-    r = PyLong_AsVoidPtr(p);
-  end:
-    Py_XDECREF(p);
-    Py_XDECREF(m);
-    return (__Pyx_RefNannyAPIStruct *)r;
-  }
-  #define __Pyx_RefNannySetupContext(name)           void *__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
+  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
+  #define __Pyx_RefNannySetupContext(name)           __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
   #define __Pyx_RefNannyFinishContext()           __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
-  #define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
   #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
-  #define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r);} } while(0)
+  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
+  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
+  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
+  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
 #else
+  #define __Pyx_RefNannyDeclarations
   #define __Pyx_RefNannySetupContext(name)
   #define __Pyx_RefNannyFinishContext()
   #define __Pyx_INCREF(r) Py_INCREF(r)
   #define __Pyx_DECREF(r) Py_DECREF(r)
   #define __Pyx_GOTREF(r)
   #define __Pyx_GIVEREF(r)
+  #define __Pyx_XINCREF(r) Py_XINCREF(r)
   #define __Pyx_XDECREF(r) Py_XDECREF(r)
+  #define __Pyx_XGOTREF(r)
+  #define __Pyx_XGIVEREF(r)
 #endif /* CYTHON_REFNANNY */
-#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);} } while(0)
-#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r);} } while(0)
+
+#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
+#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
 
 static void __Pyx_RaiseDoubleKeywordsError(
     const char* func_name, PyObject* kw_name); /*proto*/
 
+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],     PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,     const char* function_name); /*proto*/
+
 static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
     Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
 
-static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[],     PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,     const char* function_name); /*proto*/
+static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
+    const char *name, int exact); /*proto*/
 
 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
 
 static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
+#define IS_UNSIGNED(type) (((type) -1) > 0)
 
 /* Run-time type information about structs used with buffers */
 struct __Pyx_StructField_;
 
+#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)
+
 typedef struct {
   const char* name; /* for error messages only */
   struct __Pyx_StructField_* fields;
   size_t size;     /* sizeof(type) */
   char typegroup; /* _R_eal, _C_omplex, Signed _I_nt, _U_nsigned int, _S_truct, _P_ointer, _O_bject */
+  char is_unsigned;
+  int flags;
 } __Pyx_TypeInfo;
 
 typedef struct __Pyx_StructField_ {
@@ -472,23 +692,53 @@ typedef struct {
   size_t parent_offset;
 } __Pyx_BufFmt_StackElem;
 
+typedef struct {
+  __Pyx_StructField root;
+  __Pyx_BufFmt_StackElem* head;
+  size_t fmt_offset;
+  size_t new_count, enc_count;
+  int is_complex;
+  char enc_type;
+  char new_packmode;
+  char enc_packmode;
+} __Pyx_BufFmt_Context;
+
 
-static CYTHON_INLINE int  __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack);
+static CYTHON_INLINE int  __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* obj,
+    __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack);
 static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info);
 
-static void __Pyx_RaiseBufferFallbackError(void); /*proto*/
 #define __Pyx_BufPtrStrided1d(type, buf, i0, s0) (type)((char*)buf + i0 * s0)
 
 static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
 static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
 
-static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
 
 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
 
 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
 
+static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
+
 static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); /*proto*/
+/* structs for buffer access */
+
+typedef struct {
+  Py_ssize_t shape, strides, suboffsets;
+} __Pyx_Buf_DimInfo;
+
+typedef struct {
+  size_t refcount;
+  Py_buffer pybuffer;
+} __Pyx_Buffer;
+
+typedef struct {
+  __Pyx_Buffer *rcbuffer;
+  char *data;
+  __Pyx_Buf_DimInfo diminfo[32];
+} __Pyx_LocalBuf_ND;
+
 #if PY_MAJOR_VERSION < 3
 static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags);
 static void __Pyx_ReleaseBuffer(Py_buffer *view);
@@ -497,17 +747,13 @@ static void __Pyx_ReleaseBuffer(Py_buffer *view);
 #define __Pyx_ReleaseBuffer PyBuffer_Release
 #endif
 
-Py_ssize_t __Pyx_zeros[] = {0};
-Py_ssize_t __Pyx_minusones[] = {-1};
+Py_ssize_t __Pyx_zeros[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+Py_ssize_t __Pyx_minusones[] = {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1};
 
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list); /*proto*/
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/
 
 #ifndef __PYX_FORCE_INIT_THREADS
-  #if PY_VERSION_HEX < 0x02040200
-    #define __PYX_FORCE_INIT_THREADS 1
-  #else
-    #define __PYX_FORCE_INIT_THREADS 0
-  #endif
+  #define __PYX_FORCE_INIT_THREADS 0
 #endif
 
 #if CYTHON_CCOMPLEX
@@ -609,8 +855,6 @@ static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(do
     #endif
 #endif
 
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
-
 static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
 
 static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
@@ -643,49 +887,45 @@ static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
 
 static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
 
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, long size, int strict);  /*proto*/
+static int __Pyx_check_binary_version(void);
+
+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
 
 static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
 
-static void __Pyx_AddTraceback(const char *funcname); /*proto*/
+static void __Pyx_AddTraceback(const char *funcname, int __pyx_clineno,
+                               int __pyx_lineno, const char *__pyx_filename); /*proto*/
 
 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
-/* Module declarations from cpython.buffer */
 
-/* Module declarations from cpython.ref */
+/* Module declarations from 'cpython.buffer' */
 
-/* Module declarations from libc.stdio */
+/* Module declarations from 'cpython.ref' */
 
-/* Module declarations from cpython.object */
+/* Module declarations from 'libc.stdio' */
 
-/* Module declarations from libc.stdlib */
+/* Module declarations from 'cpython.object' */
 
-/* Module declarations from numpy */
+/* Module declarations from 'libc.stdlib' */
 
-/* Module declarations from numpy */
+/* Module declarations from 'numpy' */
 
+/* Module declarations from 'numpy' */
 static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;
 static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;
 static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;
 static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;
 static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *); /*proto*/
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *, PyObject *); /*proto*/
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *, PyObject *, PyObject *); /*proto*/
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *, PyObject *, PyObject *, PyObject *); /*proto*/
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *, PyObject *, PyObject *, PyObject *, PyObject *); /*proto*/
 static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/
-static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *, PyObject *); /*proto*/
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *); /*proto*/
-/* Module declarations from cython */
 
-/* Module declarations from byte_offset */
+/* Module declarations from 'cython' */
 
-static __Pyx_TypeInfo __Pyx_TypeInfo_PY_LONG_LONG = { "long long", NULL, sizeof(PY_LONG_LONG), 'I' };
+/* Module declarations from 'byte_offset' */
+static __Pyx_TypeInfo __Pyx_TypeInfo_PY_LONG_LONG = { "long long", NULL, sizeof(PY_LONG_LONG), 'I', IS_UNSIGNED(PY_LONG_LONG), 0 };
 #define __Pyx_MODULE_NAME "byte_offset"
 int __pyx_module_is_main_byte_offset = 0;
 
-/* Implementation of byte_offset */
+/* Implementation of 'byte_offset' */
 static PyObject *__pyx_builtin_ValueError;
 static PyObject *__pyx_builtin_range;
 static PyObject *__pyx_builtin_RuntimeError;
@@ -695,11 +935,12 @@ static char __pyx_k_5[] = "Non-native byte order not supported";
 static char __pyx_k_7[] = "unknown dtype code in numpy.pxd (%d)";
 static char __pyx_k_8[] = "Format string allocated too short, see comment in numpy.pxd";
 static char __pyx_k_11[] = "Format string allocated too short.";
-static char __pyx_k_13[] = "\nAuthors:      J\303\251r\303\264me Kieffer, ESRF \nEmail:        jerome.kieffer at esrf.eu\n\nCif Binary Files images are 2D images written by the Pilatus detector and others.\nThey use a modified (simplified) byte-offset algorithm.  This file contains the \ndecompression function from a string to an int64 numpy array. \n\nThis is Cython: convert it to pure C then compile it with gcc\n$ cython byte_offset.pyx \n\n";
+static char __pyx_k_13[] = "\nAuthors:      Jerome Kieffer, ESRF \nEmail:        jerome.kieffer at esrf.eu\n\nCif Binary Files images are 2D images written by the Pilatus detector and others.\nThey use a modified (simplified) byte-offset algorithm.  This file contains the \ndecompression function from a string to an int64 numpy array. \n\nThis is Cython: convert it to pure C then compile it with gcc\n$ cython byte_offset.pyx \n\n";
 static char __pyx_k_14[] = "J\303\251r\303\264me Kieffer";
 static char __pyx_k_15[] = "jerome.kieffer at esrf.eu";
 static char __pyx_k_16[] = "GPLv3+";
 static char __pyx_k_17[] = "2010, European Synchrotron Radiation Facility, Grenoble, France";
+static char __pyx_k_20[] = "/home/kieffer/workspace-ssd/fabio/trunk/src/byte_offset.pyx";
 static char __pyx_k__B[] = "B";
 static char __pyx_k__H[] = "H";
 static char __pyx_k__I[] = "I";
@@ -712,37 +953,47 @@ static char __pyx_k__f[] = "f";
 static char __pyx_k__g[] = "g";
 static char __pyx_k__h[] = "h";
 static char __pyx_k__i[] = "i";
+static char __pyx_k__j[] = "j";
 static char __pyx_k__l[] = "l";
 static char __pyx_k__q[] = "q";
 static char __pyx_k__Zd[] = "Zd";
 static char __pyx_k__Zf[] = "Zf";
 static char __pyx_k__Zg[] = "Zg";
-static char __pyx_k__buf[] = "buf";
-static char __pyx_k__obj[] = "obj";
-static char __pyx_k__base[] = "base";
-static char __pyx_k__ndim[] = "ndim";
+static char __pyx_k__key0[] = "key0";
+static char __pyx_k__key8[] = "key8";
+static char __pyx_k__last[] = "last";
 static char __pyx_k__size[] = "size";
-static char __pyx_k__descr[] = "descr";
+static char __pyx_k__tmp8[] = "tmp8";
+static char __pyx_k__csize[] = "csize";
 static char __pyx_k__dtype[] = "dtype";
 static char __pyx_k__int64[] = "int64";
-static char __pyx_k__names[] = "names";
 static char __pyx_k__numpy[] = "numpy";
 static char __pyx_k__range[] = "range";
-static char __pyx_k__shape[] = "shape";
+static char __pyx_k__tmp64[] = "tmp64";
 static char __pyx_k__zeros[] = "zeros";
-static char __pyx_k__fields[] = "fields";
-static char __pyx_k__format[] = "format";
 static char __pyx_k__stream[] = "stream";
-static char __pyx_k__strides[] = "strides";
+static char __pyx_k__tmp64a[] = "tmp64a";
+static char __pyx_k__tmp64b[] = "tmp64b";
+static char __pyx_k__tmp64c[] = "tmp64c";
+static char __pyx_k__tmp64d[] = "tmp64d";
+static char __pyx_k__tmp64e[] = "tmp64e";
+static char __pyx_k__tmp64f[] = "tmp64f";
+static char __pyx_k__tmp64g[] = "tmp64g";
+static char __pyx_k__utmp8a[] = "utmp8a";
+static char __pyx_k__utmp8b[] = "utmp8b";
+static char __pyx_k__utmp8c[] = "utmp8c";
+static char __pyx_k__utmp8d[] = "utmp8d";
+static char __pyx_k__utmp8e[] = "utmp8e";
+static char __pyx_k__utmp8f[] = "utmp8f";
+static char __pyx_k__utmp8g[] = "utmp8g";
+static char __pyx_k__cstream[] = "cstream";
+static char __pyx_k__current[] = "current";
+static char __pyx_k__dataOut[] = "dataOut";
 static char __pyx_k____main__[] = "__main__";
 static char __pyx_k____test__[] = "__test__";
-static char __pyx_k__itemsize[] = "itemsize";
-static char __pyx_k__readonly[] = "readonly";
-static char __pyx_k__type_num[] = "type_num";
-static char __pyx_k__byteorder[] = "byteorder";
+static char __pyx_k__lenStream[] = "lenStream";
 static char __pyx_k__ValueError[] = "ValueError";
 static char __pyx_k____author__[] = "__author__";
-static char __pyx_k__suboffsets[] = "suboffsets";
 static char __pyx_k____contact__[] = "__contact__";
 static char __pyx_k____license__[] = "__license__";
 static char __pyx_k__byte_offset[] = "byte_offset";
@@ -755,6 +1006,7 @@ static PyObject *__pyx_kp_s_14;
 static PyObject *__pyx_kp_s_15;
 static PyObject *__pyx_kp_s_16;
 static PyObject *__pyx_kp_s_17;
+static PyObject *__pyx_kp_s_20;
 static PyObject *__pyx_kp_u_3;
 static PyObject *__pyx_kp_u_5;
 static PyObject *__pyx_kp_u_7;
@@ -768,28 +1020,39 @@ static PyObject *__pyx_n_s____license__;
 static PyObject *__pyx_n_s____main__;
 static PyObject *__pyx_n_s____test__;
 static PyObject *__pyx_n_s__analyseCython;
-static PyObject *__pyx_n_s__base;
-static PyObject *__pyx_n_s__buf;
 static PyObject *__pyx_n_s__byte_offset;
-static PyObject *__pyx_n_s__byteorder;
-static PyObject *__pyx_n_s__descr;
+static PyObject *__pyx_n_s__csize;
+static PyObject *__pyx_n_s__cstream;
+static PyObject *__pyx_n_s__current;
+static PyObject *__pyx_n_s__dataOut;
 static PyObject *__pyx_n_s__dtype;
-static PyObject *__pyx_n_s__fields;
-static PyObject *__pyx_n_s__format;
+static PyObject *__pyx_n_s__i;
 static PyObject *__pyx_n_s__int64;
-static PyObject *__pyx_n_s__itemsize;
-static PyObject *__pyx_n_s__names;
-static PyObject *__pyx_n_s__ndim;
+static PyObject *__pyx_n_s__j;
+static PyObject *__pyx_n_s__key0;
+static PyObject *__pyx_n_s__key8;
+static PyObject *__pyx_n_s__last;
+static PyObject *__pyx_n_s__lenStream;
 static PyObject *__pyx_n_s__numpy;
-static PyObject *__pyx_n_s__obj;
 static PyObject *__pyx_n_s__range;
-static PyObject *__pyx_n_s__readonly;
-static PyObject *__pyx_n_s__shape;
 static PyObject *__pyx_n_s__size;
 static PyObject *__pyx_n_s__stream;
-static PyObject *__pyx_n_s__strides;
-static PyObject *__pyx_n_s__suboffsets;
-static PyObject *__pyx_n_s__type_num;
+static PyObject *__pyx_n_s__tmp64;
+static PyObject *__pyx_n_s__tmp64a;
+static PyObject *__pyx_n_s__tmp64b;
+static PyObject *__pyx_n_s__tmp64c;
+static PyObject *__pyx_n_s__tmp64d;
+static PyObject *__pyx_n_s__tmp64e;
+static PyObject *__pyx_n_s__tmp64f;
+static PyObject *__pyx_n_s__tmp64g;
+static PyObject *__pyx_n_s__tmp8;
+static PyObject *__pyx_n_s__utmp8a;
+static PyObject *__pyx_n_s__utmp8b;
+static PyObject *__pyx_n_s__utmp8c;
+static PyObject *__pyx_n_s__utmp8d;
+static PyObject *__pyx_n_s__utmp8e;
+static PyObject *__pyx_n_s__utmp8f;
+static PyObject *__pyx_n_s__utmp8g;
 static PyObject *__pyx_n_s__zeros;
 static PyObject *__pyx_int_15;
 static PyObject *__pyx_k_tuple_2;
@@ -798,21 +1061,23 @@ static PyObject *__pyx_k_tuple_6;
 static PyObject *__pyx_k_tuple_9;
 static PyObject *__pyx_k_tuple_10;
 static PyObject *__pyx_k_tuple_12;
+static PyObject *__pyx_k_tuple_18;
+static PyObject *__pyx_k_codeobj_19;
 
-/* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":26
+/* "byte_offset.pyx":25
  * 
  * @cython.boundscheck(False)
- * def analyseCython(char * stream, int size):             # <<<<<<<<<<<<<<
+ * def analyseCython(bytes stream not None, size=None):             # <<<<<<<<<<<<<<
  *     """
  *     Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
  */
 
-static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
-static char __pyx_doc_11byte_offset_0analyseCython[] = "\n    Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)\n    @param stream: string representing the compressed data\n    @param size: the size of the output array (of longInts)\n    @return : int64 ndArrays \n    ";
-static PyMethodDef __pyx_mdef_11byte_offset_0analyseCython = {__Pyx_NAMESTR("analyseCython"), (PyCFunction)__pyx_pf_11byte_offset_0analyseCython, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_11byte_offset_0analyseCython)};
-static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
-  char *__pyx_v_stream;
-  int __pyx_v_size;
+static PyObject *__pyx_pf_11byte_offset_analyseCython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_11byte_offset_analyseCython[] = "\n    Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)\n    @param stream: string representing the compressed data\n    @param size: the size of the output array (of longInts)\n    @return : int64 ndArrays \n    ";
+static PyMethodDef __pyx_mdef_11byte_offset_analyseCython = {__Pyx_NAMESTR("analyseCython"), (PyCFunction)__pyx_pf_11byte_offset_analyseCython, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_11byte_offset_analyseCython)};
+static PyObject *__pyx_pf_11byte_offset_analyseCython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_stream = 0;
+  PyObject *__pyx_v_size = 0;
   int __pyx_v_i;
   int __pyx_v_j;
   PY_LONG_LONG __pyx_v_last;
@@ -835,83 +1100,99 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
   PY_LONG_LONG __pyx_v_tmp64g;
   char __pyx_v_key8;
   char __pyx_v_key0;
-  PyArrayObject *__pyx_v_dataOut;
-  Py_buffer __pyx_bstruct_dataOut;
-  Py_ssize_t __pyx_bstride_0_dataOut = 0;
-  Py_ssize_t __pyx_bshape_0_dataOut = 0;
+  int __pyx_v_csize;
+  int __pyx_v_lenStream;
+  char *__pyx_v_cstream;
+  PyArrayObject *__pyx_v_dataOut = 0;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_dataOut;
+  __Pyx_Buffer __pyx_pybuffer_dataOut;
   PyObject *__pyx_r = NULL;
-  PyObject *__pyx_t_1 = NULL;
-  PyObject *__pyx_t_2 = NULL;
-  PyObject *__pyx_t_3 = NULL;
-  PyObject *__pyx_t_4 = NULL;
+  __Pyx_RefNannyDeclarations
+  Py_ssize_t __pyx_t_1;
+  char *__pyx_t_2;
+  int __pyx_t_3;
+  int __pyx_t_4;
   PyObject *__pyx_t_5 = NULL;
-  PyArrayObject *__pyx_t_6 = NULL;
-  int __pyx_t_7;
+  PyObject *__pyx_t_6 = NULL;
+  PyObject *__pyx_t_7 = NULL;
   PyObject *__pyx_t_8 = NULL;
   PyObject *__pyx_t_9 = NULL;
-  PyObject *__pyx_t_10 = NULL;
+  PyArrayObject *__pyx_t_10 = NULL;
   int __pyx_t_11;
   int __pyx_t_12;
   int __pyx_t_13;
   int __pyx_t_14;
-  int __pyx_t_15;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
   static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__stream,&__pyx_n_s__size,0};
   __Pyx_RefNannySetupContext("analyseCython");
   __pyx_self = __pyx_self;
-  if (unlikely(__pyx_kwds)) {
-    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
+  {
     PyObject* values[2] = {0,0};
-    switch (PyTuple_GET_SIZE(__pyx_args)) {
-      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
-      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
-      case  0: break;
-      default: goto __pyx_L5_argtuple_error;
-    }
-    switch (PyTuple_GET_SIZE(__pyx_args)) {
-      case  0:
-      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__stream);
-      if (likely(values[0])) kw_args--;
-      else goto __pyx_L5_argtuple_error;
-      case  1:
-      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size);
-      if (likely(values[1])) kw_args--;
-      else {
-        __Pyx_RaiseArgtupleInvalid("analyseCython", 1, 2, 2, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    values[1] = ((PyObject *)Py_None);
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__stream);
+        if (likely(values[0])) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        case  1:
+        if (kw_args > 0) {
+          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__size);
+          if (value) { values[1] = value; kw_args--; }
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "analyseCython") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+      }
+      __pyx_v_stream = ((PyObject*)values[0]);
+      __pyx_v_size = values[1];
+    } else {
+      switch (PyTuple_GET_SIZE(__pyx_args)) {
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        break;
+        default: goto __pyx_L5_argtuple_error;
       }
     }
-    if (unlikely(kw_args > 0)) {
-      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "analyseCython") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    }
-    __pyx_v_stream = PyBytes_AsString(values[0]); if (unlikely((!__pyx_v_stream) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_size = __Pyx_PyInt_AsInt(values[1]); if (unlikely((__pyx_v_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-  } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
-    goto __pyx_L5_argtuple_error;
-  } else {
-    __pyx_v_stream = PyBytes_AsString(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely((!__pyx_v_stream) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_size = __Pyx_PyInt_AsInt(PyTuple_GET_ITEM(__pyx_args, 1)); if (unlikely((__pyx_v_size == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_stream = ((PyObject*)values[0]);
+    __pyx_v_size = values[1];
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("analyseCython", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("analyseCython", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
-  __Pyx_AddTraceback("byte_offset.analyseCython");
+  __Pyx_AddTraceback("byte_offset.analyseCython", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
   return NULL;
   __pyx_L4_argument_unpacking_done:;
-  __pyx_v_dataOut = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None);
-  __pyx_bstruct_dataOut.buf = NULL;
+  __pyx_pybuffer_dataOut.pybuffer.buf = NULL;
+  __pyx_pybuffer_dataOut.refcount = 0;
+  __pyx_pybuffernd_dataOut.data = NULL;
+  __pyx_pybuffernd_dataOut.rcbuffer = &__pyx_pybuffer_dataOut;
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_stream), (&PyBytes_Type), 0, "stream", 1))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":33
- *     @return : int64 ndArrays
+  /* "byte_offset.pyx":33
  *     """
+ * 
  *     cdef int                i = 0             # <<<<<<<<<<<<<<
  *     cdef int                j = 0
  *     cdef long long          last = 0
  */
   __pyx_v_i = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":34
- *     """
+  /* "byte_offset.pyx":34
+ * 
  *     cdef int                i = 0
  *     cdef int                j = 0             # <<<<<<<<<<<<<<
  *     cdef long long          last = 0
@@ -919,7 +1200,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_j = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":35
+  /* "byte_offset.pyx":35
  *     cdef int                i = 0
  *     cdef int                j = 0
  *     cdef long long          last = 0             # <<<<<<<<<<<<<<
@@ -928,7 +1209,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_last = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":36
+  /* "byte_offset.pyx":36
  *     cdef int                j = 0
  *     cdef long long          last = 0
  *     cdef long long          current = 0             # <<<<<<<<<<<<<<
@@ -937,7 +1218,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_current = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":37
+  /* "byte_offset.pyx":37
  *     cdef long long          last = 0
  *     cdef long long          current = 0
  *     cdef char               tmp8 = 0             # <<<<<<<<<<<<<<
@@ -946,7 +1227,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_tmp8 = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":39
+  /* "byte_offset.pyx":39
  *     cdef char               tmp8 = 0
  * 
  *     cdef unsigned char      utmp8a = 0             # <<<<<<<<<<<<<<
@@ -955,7 +1236,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_utmp8a = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":40
+  /* "byte_offset.pyx":40
  * 
  *     cdef unsigned char      utmp8a = 0
  *     cdef unsigned char      utmp8b = 0             # <<<<<<<<<<<<<<
@@ -964,7 +1245,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_utmp8b = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":41
+  /* "byte_offset.pyx":41
  *     cdef unsigned char      utmp8a = 0
  *     cdef unsigned char      utmp8b = 0
  *     cdef unsigned char      utmp8c = 0             # <<<<<<<<<<<<<<
@@ -973,7 +1254,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_utmp8c = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":42
+  /* "byte_offset.pyx":42
  *     cdef unsigned char      utmp8b = 0
  *     cdef unsigned char      utmp8c = 0
  *     cdef unsigned char      utmp8d = 0             # <<<<<<<<<<<<<<
@@ -982,7 +1263,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_utmp8d = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":43
+  /* "byte_offset.pyx":43
  *     cdef unsigned char      utmp8c = 0
  *     cdef unsigned char      utmp8d = 0
  *     cdef unsigned char      utmp8e = 0             # <<<<<<<<<<<<<<
@@ -991,7 +1272,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_utmp8e = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":44
+  /* "byte_offset.pyx":44
  *     cdef unsigned char      utmp8d = 0
  *     cdef unsigned char      utmp8e = 0
  *     cdef unsigned char      utmp8f = 0             # <<<<<<<<<<<<<<
@@ -1000,7 +1281,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_utmp8f = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":45
+  /* "byte_offset.pyx":45
  *     cdef unsigned char      utmp8e = 0
  *     cdef unsigned char      utmp8f = 0
  *     cdef unsigned char      utmp8g = 0             # <<<<<<<<<<<<<<
@@ -1009,7 +1290,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_utmp8g = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":47
+  /* "byte_offset.pyx":47
  *     cdef unsigned char      utmp8g = 0
  * 
  *     cdef long long          tmp64 = 0             # <<<<<<<<<<<<<<
@@ -1018,7 +1299,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_tmp64 = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":48
+  /* "byte_offset.pyx":48
  * 
  *     cdef long long          tmp64 = 0
  *     cdef long long          tmp64a = 0             # <<<<<<<<<<<<<<
@@ -1027,7 +1308,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_tmp64a = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":49
+  /* "byte_offset.pyx":49
  *     cdef long long          tmp64 = 0
  *     cdef long long          tmp64a = 0
  *     cdef long long          tmp64b = 0             # <<<<<<<<<<<<<<
@@ -1036,7 +1317,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_tmp64b = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":50
+  /* "byte_offset.pyx":50
  *     cdef long long          tmp64a = 0
  *     cdef long long          tmp64b = 0
  *     cdef long long          tmp64c = 0             # <<<<<<<<<<<<<<
@@ -1045,7 +1326,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_tmp64c = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":51
+  /* "byte_offset.pyx":51
  *     cdef long long          tmp64b = 0
  *     cdef long long          tmp64c = 0
  *     cdef long long          tmp64d = 0             # <<<<<<<<<<<<<<
@@ -1054,7 +1335,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_tmp64d = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":52
+  /* "byte_offset.pyx":52
  *     cdef long long          tmp64c = 0
  *     cdef long long          tmp64d = 0
  *     cdef long long          tmp64e = 0             # <<<<<<<<<<<<<<
@@ -1063,7 +1344,7 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_tmp64e = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":53
+  /* "byte_offset.pyx":53
  *     cdef long long          tmp64d = 0
  *     cdef long long          tmp64e = 0
  *     cdef long long          tmp64f = 0             # <<<<<<<<<<<<<<
@@ -1072,595 +1353,646 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  */
   __pyx_v_tmp64f = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":54
+  /* "byte_offset.pyx":54
  *     cdef long long          tmp64e = 0
  *     cdef long long          tmp64f = 0
  *     cdef long long          tmp64g = 0             # <<<<<<<<<<<<<<
  * 
- * 
+ *     cdef char               key8 = 0x80
  */
   __pyx_v_tmp64g = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":59
- * 
+  /* "byte_offset.pyx":56
+ *     cdef long long          tmp64g = 0
  * 
  *     cdef char               key8 = 0x80             # <<<<<<<<<<<<<<
  *     cdef char               key0 = 0x00
- *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut
+ * 
  */
   __pyx_v_key8 = 0x80;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":60
+  /* "byte_offset.pyx":57
  * 
  *     cdef char               key8 = 0x80
  *     cdef char               key0 = 0x00             # <<<<<<<<<<<<<<
- *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut
- *     dataOut = numpy.zeros(size, dtype=numpy.int64)
+ * 
+ *     cdef int csize
  */
   __pyx_v_key0 = 0x00;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":62
- *     cdef char               key0 = 0x00
- *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut
- *     dataOut = numpy.zeros(size, dtype=numpy.int64)             # <<<<<<<<<<<<<<
+  /* "byte_offset.pyx":60
  * 
+ *     cdef int csize
+ *     cdef int lenStream = < int > len(stream)             # <<<<<<<<<<<<<<
+ *     cdef char * cstream = stream
+ *     if size is None:
+ */
+  __pyx_t_1 = PyBytes_GET_SIZE(((PyObject *)__pyx_v_stream)); 
+  __pyx_v_lenStream = ((int)__pyx_t_1);
+
+  /* "byte_offset.pyx":61
+ *     cdef int csize
+ *     cdef int lenStream = < int > len(stream)
+ *     cdef char * cstream = stream             # <<<<<<<<<<<<<<
+ *     if size is None:
+ *         csize = lenStream
+ */
+  __pyx_t_2 = PyBytes_AsString(((PyObject *)__pyx_v_stream)); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_v_cstream = __pyx_t_2;
+
+  /* "byte_offset.pyx":62
+ *     cdef int lenStream = < int > len(stream)
+ *     cdef char * cstream = stream
+ *     if size is None:             # <<<<<<<<<<<<<<
+ *         csize = lenStream
+ *     else:
+ */
+  __pyx_t_3 = (__pyx_v_size == Py_None);
+  if (__pyx_t_3) {
+
+    /* "byte_offset.pyx":63
+ *     cdef char * cstream = stream
+ *     if size is None:
+ *         csize = lenStream             # <<<<<<<<<<<<<<
+ *     else:
+ *         csize = < int > size
+ */
+    __pyx_v_csize = __pyx_v_lenStream;
+    goto __pyx_L6;
+  }
+  /*else*/ {
+
+    /* "byte_offset.pyx":65
+ *         csize = lenStream
+ *     else:
+ *         csize = < int > size             # <<<<<<<<<<<<<<
+ *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)
  *     with nogil:
  */
-  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__numpy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__zeros); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_2);
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-  __pyx_t_1 = PyInt_FromLong(__pyx_v_size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_3));
-  PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
-  __Pyx_GIVEREF(__pyx_t_1);
-  __pyx_t_1 = 0;
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
-  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__numpy); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__int64); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = __Pyx_PyInt_AsInt(__pyx_v_size); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_v_csize = ((int)__pyx_t_4);
+  }
+  __pyx_L6:;
+
+  /* "byte_offset.pyx":66
+ *     else:
+ *         csize = < int > size
+ *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)             # <<<<<<<<<<<<<<
+ *     with nogil:
+ *         while (i < lenStream) and (j < csize):
+ */
+  __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__numpy); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-  if (PyDict_SetItem(__pyx_t_1, ((PyObject *)__pyx_n_s__dtype), __pyx_t_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_6 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__zeros); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_6);
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __pyx_t_5 = PyEval_CallObjectWithKeywords(__pyx_t_2, ((PyObject *)__pyx_t_3), ((PyObject *)__pyx_t_1)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_5 = PyInt_FromLong(__pyx_v_csize); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_5);
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
-  if (!(likely(((__pyx_t_5) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_5, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_6 = ((PyArrayObject *)__pyx_t_5);
+  __pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_7);
+  PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_5);
+  __pyx_t_5 = 0;
+  __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(((PyObject *)__pyx_t_5));
+  __pyx_t_8 = __Pyx_GetName(__pyx_m, __pyx_n_s__numpy); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_8);
+  __pyx_t_9 = PyObject_GetAttr(__pyx_t_8, __pyx_n_s__int64); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  if (PyDict_SetItem(__pyx_t_5, ((PyObject *)__pyx_n_s__dtype), __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_7), ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __Pyx_DECREF(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
+  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+  if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_10 = ((PyArrayObject *)__pyx_t_9);
   {
     __Pyx_BufFmt_StackElem __pyx_stack[1];
-    __Pyx_SafeReleaseBuffer(&__pyx_bstruct_dataOut);
-    __pyx_t_7 = __Pyx_GetBufferAndValidate(&__pyx_bstruct_dataOut, (PyObject*)__pyx_t_6, &__Pyx_TypeInfo_PY_LONG_LONG, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack);
-    if (unlikely(__pyx_t_7 < 0)) {
-      PyErr_Fetch(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10);
-      if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_dataOut, (PyObject*)__pyx_v_dataOut, &__Pyx_TypeInfo_PY_LONG_LONG, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) {
-        Py_XDECREF(__pyx_t_8); Py_XDECREF(__pyx_t_9); Py_XDECREF(__pyx_t_10);
-        __Pyx_RaiseBufferFallbackError();
-      } else {
-        PyErr_Restore(__pyx_t_8, __pyx_t_9, __pyx_t_10);
-      }
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_dataOut.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_PY_LONG_LONG, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) {
+      __pyx_v_dataOut = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_dataOut.rcbuffer->pybuffer.buf = NULL;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    } else {__pyx_pybuffernd_dataOut.diminfo[0].strides = __pyx_pybuffernd_dataOut.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dataOut.diminfo[0].shape = __pyx_pybuffernd_dataOut.rcbuffer->pybuffer.shape[0];
     }
-    __pyx_bstride_0_dataOut = __pyx_bstruct_dataOut.strides[0];
-    __pyx_bshape_0_dataOut = __pyx_bstruct_dataOut.shape[0];
-    if (unlikely(__pyx_t_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
-  __pyx_t_6 = 0;
-  __Pyx_DECREF(((PyObject *)__pyx_v_dataOut));
-  __pyx_v_dataOut = ((PyArrayObject *)__pyx_t_5);
-  __pyx_t_5 = 0;
+  __pyx_t_10 = 0;
+  __pyx_v_dataOut = ((PyArrayObject *)__pyx_t_9);
+  __pyx_t_9 = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":64
- *     dataOut = numpy.zeros(size, dtype=numpy.int64)
- * 
+  /* "byte_offset.pyx":67
+ *         csize = < int > size
+ *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)
  *     with nogil:             # <<<<<<<<<<<<<<
- *         while (j < size):
- *             if (stream[i] == key8):
+ *         while (i < lenStream) and (j < csize):
+ *             if (cstream[i] == key8):
  */
   {
-    #ifdef WITH_THREAD
-    PyThreadState *_save;
-    #endif
-    Py_UNBLOCK_THREADS
-    /*try:*/ {
-
-      /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":65
- * 
+      #ifdef WITH_THREAD
+      PyThreadState *_save = NULL;
+      #endif
+      Py_UNBLOCK_THREADS
+      /*try:*/ {
+
+        /* "byte_offset.pyx":68
+ *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)
  *     with nogil:
- *         while (j < size):             # <<<<<<<<<<<<<<
- *             if (stream[i] == key8):
- *                 if ((stream[i + 1] == key0) and (stream[i + 2] == key8)):
- */
-      while (1) {
-        __pyx_t_11 = (__pyx_v_j < __pyx_v_size);
-        if (!__pyx_t_11) break;
+ *         while (i < lenStream) and (j < csize):             # <<<<<<<<<<<<<<
+ *             if (cstream[i] == key8):
+ *                 if ((cstream[i + 1] == key0) and (cstream[i + 2] == key8)):
+ */
+        while (1) {
+          __pyx_t_3 = (__pyx_v_i < __pyx_v_lenStream);
+          if (__pyx_t_3) {
+            __pyx_t_11 = (__pyx_v_j < __pyx_v_csize);
+            __pyx_t_12 = __pyx_t_11;
+          } else {
+            __pyx_t_12 = __pyx_t_3;
+          }
+          if (!__pyx_t_12) break;
 
-        /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":66
+          /* "byte_offset.pyx":69
  *     with nogil:
- *         while (j < size):
- *             if (stream[i] == key8):             # <<<<<<<<<<<<<<
- *                 if ((stream[i + 1] == key0) and (stream[i + 2] == key8)):
- *                     if (stream[i + 3] == key0) and (stream[i + 4] == key0) and (stream[i + 5] == key0) and (stream[i + 6] == key8):
- */
-        __pyx_t_11 = ((__pyx_v_stream[__pyx_v_i]) == __pyx_v_key8);
-        if (__pyx_t_11) {
-
-          /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":67
- *         while (j < size):
- *             if (stream[i] == key8):
- *                 if ((stream[i + 1] == key0) and (stream[i + 2] == key8)):             # <<<<<<<<<<<<<<
- *                     if (stream[i + 3] == key0) and (stream[i + 4] == key0) and (stream[i + 5] == key0) and (stream[i + 6] == key8):
+ *         while (i < lenStream) and (j < csize):
+ *             if (cstream[i] == key8):             # <<<<<<<<<<<<<<
+ *                 if ((cstream[i + 1] == key0) and (cstream[i + 2] == key8)):
+ *                     if (cstream[i + 3] == key0) and (cstream[i + 4] == key0) and (cstream[i + 5] == key0) and (cstream[i + 6] == key8):
+ */
+          __pyx_t_12 = ((__pyx_v_cstream[__pyx_v_i]) == __pyx_v_key8);
+          if (__pyx_t_12) {
+
+            /* "byte_offset.pyx":70
+ *         while (i < lenStream) and (j < csize):
+ *             if (cstream[i] == key8):
+ *                 if ((cstream[i + 1] == key0) and (cstream[i + 2] == key8)):             # <<<<<<<<<<<<<<
+ *                     if (cstream[i + 3] == key0) and (cstream[i + 4] == key0) and (cstream[i + 5] == key0) and (cstream[i + 6] == key8):
  *                         #Retrieve the interesting Bytes of data
  */
-          __pyx_t_11 = ((__pyx_v_stream[(__pyx_v_i + 1)]) == __pyx_v_key0);
-          if (__pyx_t_11) {
-            __pyx_t_12 = ((__pyx_v_stream[(__pyx_v_i + 2)]) == __pyx_v_key8);
-            __pyx_t_13 = __pyx_t_12;
-          } else {
-            __pyx_t_13 = __pyx_t_11;
-          }
-          if (__pyx_t_13) {
+            __pyx_t_12 = ((__pyx_v_cstream[(__pyx_v_i + 1)]) == __pyx_v_key0);
+            if (__pyx_t_12) {
+              __pyx_t_3 = ((__pyx_v_cstream[(__pyx_v_i + 2)]) == __pyx_v_key8);
+              __pyx_t_11 = __pyx_t_3;
+            } else {
+              __pyx_t_11 = __pyx_t_12;
+            }
+            if (__pyx_t_11) {
 
-            /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":68
- *             if (stream[i] == key8):
- *                 if ((stream[i + 1] == key0) and (stream[i + 2] == key8)):
- *                     if (stream[i + 3] == key0) and (stream[i + 4] == key0) and (stream[i + 5] == key0) and (stream[i + 6] == key8):             # <<<<<<<<<<<<<<
+              /* "byte_offset.pyx":71
+ *             if (cstream[i] == key8):
+ *                 if ((cstream[i + 1] == key0) and (cstream[i + 2] == key8)):
+ *                     if (cstream[i + 3] == key0) and (cstream[i + 4] == key0) and (cstream[i + 5] == key0) and (cstream[i + 6] == key8):             # <<<<<<<<<<<<<<
  *                         #Retrieve the interesting Bytes of data
- *                         tmp8 = stream[i + 14]
+ *                         tmp8 = cstream[i + 14]
  */
-            __pyx_t_13 = ((__pyx_v_stream[(__pyx_v_i + 3)]) == __pyx_v_key0);
-            if (__pyx_t_13) {
-              __pyx_t_11 = ((__pyx_v_stream[(__pyx_v_i + 4)]) == __pyx_v_key0);
+              __pyx_t_11 = ((__pyx_v_cstream[(__pyx_v_i + 3)]) == __pyx_v_key0);
               if (__pyx_t_11) {
-                __pyx_t_12 = ((__pyx_v_stream[(__pyx_v_i + 5)]) == __pyx_v_key0);
+                __pyx_t_12 = ((__pyx_v_cstream[(__pyx_v_i + 4)]) == __pyx_v_key0);
                 if (__pyx_t_12) {
-                  __pyx_t_14 = ((__pyx_v_stream[(__pyx_v_i + 6)]) == __pyx_v_key8);
-                  __pyx_t_15 = __pyx_t_14;
+                  __pyx_t_3 = ((__pyx_v_cstream[(__pyx_v_i + 5)]) == __pyx_v_key0);
+                  if (__pyx_t_3) {
+                    __pyx_t_13 = ((__pyx_v_cstream[(__pyx_v_i + 6)]) == __pyx_v_key8);
+                    __pyx_t_14 = __pyx_t_13;
+                  } else {
+                    __pyx_t_14 = __pyx_t_3;
+                  }
+                  __pyx_t_3 = __pyx_t_14;
                 } else {
-                  __pyx_t_15 = __pyx_t_12;
+                  __pyx_t_3 = __pyx_t_12;
                 }
-                __pyx_t_12 = __pyx_t_15;
+                __pyx_t_12 = __pyx_t_3;
               } else {
                 __pyx_t_12 = __pyx_t_11;
               }
-              __pyx_t_11 = __pyx_t_12;
-            } else {
-              __pyx_t_11 = __pyx_t_13;
-            }
-            if (__pyx_t_11) {
+              if (__pyx_t_12) {
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":70
- *                     if (stream[i + 3] == key0) and (stream[i + 4] == key0) and (stream[i + 5] == key0) and (stream[i + 6] == key8):
+                /* "byte_offset.pyx":73
+ *                     if (cstream[i + 3] == key0) and (cstream[i + 4] == key0) and (cstream[i + 5] == key0) and (cstream[i + 6] == key8):
  *                         #Retrieve the interesting Bytes of data
- *                         tmp8 = stream[i + 14]             # <<<<<<<<<<<<<<
- *                         utmp8a = stream[i + 13]
- *                         utmp8b = stream[i + 12]
+ *                         tmp8 = cstream[i + 14]             # <<<<<<<<<<<<<<
+ *                         utmp8a = cstream[i + 13]
+ *                         utmp8b = cstream[i + 12]
  */
-              __pyx_v_tmp8 = (__pyx_v_stream[(__pyx_v_i + 14)]);
+                __pyx_v_tmp8 = (__pyx_v_cstream[(__pyx_v_i + 14)]);
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":71
+                /* "byte_offset.pyx":74
  *                         #Retrieve the interesting Bytes of data
- *                         tmp8 = stream[i + 14]
- *                         utmp8a = stream[i + 13]             # <<<<<<<<<<<<<<
- *                         utmp8b = stream[i + 12]
- *                         utmp8c = stream[i + 11]
- */
-              __pyx_v_utmp8a = (__pyx_v_stream[(__pyx_v_i + 13)]);
-
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":72
- *                         tmp8 = stream[i + 14]
- *                         utmp8a = stream[i + 13]
- *                         utmp8b = stream[i + 12]             # <<<<<<<<<<<<<<
- *                         utmp8c = stream[i + 11]
- *                         utmp8d = stream[i + 10]
- */
-              __pyx_v_utmp8b = (__pyx_v_stream[(__pyx_v_i + 12)]);
-
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":73
- *                         utmp8a = stream[i + 13]
- *                         utmp8b = stream[i + 12]
- *                         utmp8c = stream[i + 11]             # <<<<<<<<<<<<<<
- *                         utmp8d = stream[i + 10]
- *                         utmp8e = stream[i + 9]
- */
-              __pyx_v_utmp8c = (__pyx_v_stream[(__pyx_v_i + 11)]);
-
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":74
- *                         utmp8b = stream[i + 12]
- *                         utmp8c = stream[i + 11]
- *                         utmp8d = stream[i + 10]             # <<<<<<<<<<<<<<
- *                         utmp8e = stream[i + 9]
- *                         utmp8f = stream[i + 8]
- */
-              __pyx_v_utmp8d = (__pyx_v_stream[(__pyx_v_i + 10)]);
-
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":75
- *                         utmp8c = stream[i + 11]
- *                         utmp8d = stream[i + 10]
- *                         utmp8e = stream[i + 9]             # <<<<<<<<<<<<<<
- *                         utmp8f = stream[i + 8]
- *                         utmp8g = stream[i + 7]
- */
-              __pyx_v_utmp8e = (__pyx_v_stream[(__pyx_v_i + 9)]);
-
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":76
- *                         utmp8d = stream[i + 10]
- *                         utmp8e = stream[i + 9]
- *                         utmp8f = stream[i + 8]             # <<<<<<<<<<<<<<
- *                         utmp8g = stream[i + 7]
+ *                         tmp8 = cstream[i + 14]
+ *                         utmp8a = cstream[i + 13]             # <<<<<<<<<<<<<<
+ *                         utmp8b = cstream[i + 12]
+ *                         utmp8c = cstream[i + 11]
+ */
+                __pyx_v_utmp8a = (__pyx_v_cstream[(__pyx_v_i + 13)]);
+
+                /* "byte_offset.pyx":75
+ *                         tmp8 = cstream[i + 14]
+ *                         utmp8a = cstream[i + 13]
+ *                         utmp8b = cstream[i + 12]             # <<<<<<<<<<<<<<
+ *                         utmp8c = cstream[i + 11]
+ *                         utmp8d = cstream[i + 10]
+ */
+                __pyx_v_utmp8b = (__pyx_v_cstream[(__pyx_v_i + 12)]);
+
+                /* "byte_offset.pyx":76
+ *                         utmp8a = cstream[i + 13]
+ *                         utmp8b = cstream[i + 12]
+ *                         utmp8c = cstream[i + 11]             # <<<<<<<<<<<<<<
+ *                         utmp8d = cstream[i + 10]
+ *                         utmp8e = cstream[i + 9]
+ */
+                __pyx_v_utmp8c = (__pyx_v_cstream[(__pyx_v_i + 11)]);
+
+                /* "byte_offset.pyx":77
+ *                         utmp8b = cstream[i + 12]
+ *                         utmp8c = cstream[i + 11]
+ *                         utmp8d = cstream[i + 10]             # <<<<<<<<<<<<<<
+ *                         utmp8e = cstream[i + 9]
+ *                         utmp8f = cstream[i + 8]
+ */
+                __pyx_v_utmp8d = (__pyx_v_cstream[(__pyx_v_i + 10)]);
+
+                /* "byte_offset.pyx":78
+ *                         utmp8c = cstream[i + 11]
+ *                         utmp8d = cstream[i + 10]
+ *                         utmp8e = cstream[i + 9]             # <<<<<<<<<<<<<<
+ *                         utmp8f = cstream[i + 8]
+ *                         utmp8g = cstream[i + 7]
+ */
+                __pyx_v_utmp8e = (__pyx_v_cstream[(__pyx_v_i + 9)]);
+
+                /* "byte_offset.pyx":79
+ *                         utmp8d = cstream[i + 10]
+ *                         utmp8e = cstream[i + 9]
+ *                         utmp8f = cstream[i + 8]             # <<<<<<<<<<<<<<
+ *                         utmp8g = cstream[i + 7]
  *                         # cast them  in 64 bit
  */
-              __pyx_v_utmp8f = (__pyx_v_stream[(__pyx_v_i + 8)]);
+                __pyx_v_utmp8f = (__pyx_v_cstream[(__pyx_v_i + 8)]);
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":77
- *                         utmp8e = stream[i + 9]
- *                         utmp8f = stream[i + 8]
- *                         utmp8g = stream[i + 7]             # <<<<<<<<<<<<<<
+                /* "byte_offset.pyx":80
+ *                         utmp8e = cstream[i + 9]
+ *                         utmp8f = cstream[i + 8]
+ *                         utmp8g = cstream[i + 7]             # <<<<<<<<<<<<<<
  *                         # cast them  in 64 bit
  *                         tmp64 = tmp8
  */
-              __pyx_v_utmp8g = (__pyx_v_stream[(__pyx_v_i + 7)]);
+                __pyx_v_utmp8g = (__pyx_v_cstream[(__pyx_v_i + 7)]);
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":79
- *                         utmp8g = stream[i + 7]
+                /* "byte_offset.pyx":82
+ *                         utmp8g = cstream[i + 7]
  *                         # cast them  in 64 bit
  *                         tmp64 = tmp8             # <<<<<<<<<<<<<<
  *                         tmp64a = utmp8a
  *                         tmp64b = utmp8b
  */
-              __pyx_v_tmp64 = __pyx_v_tmp8;
+                __pyx_v_tmp64 = __pyx_v_tmp8;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":80
+                /* "byte_offset.pyx":83
  *                         # cast them  in 64 bit
  *                         tmp64 = tmp8
  *                         tmp64a = utmp8a             # <<<<<<<<<<<<<<
  *                         tmp64b = utmp8b
  *                         tmp64c = utmp8c
  */
-              __pyx_v_tmp64a = __pyx_v_utmp8a;
+                __pyx_v_tmp64a = __pyx_v_utmp8a;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":81
+                /* "byte_offset.pyx":84
  *                         tmp64 = tmp8
  *                         tmp64a = utmp8a
  *                         tmp64b = utmp8b             # <<<<<<<<<<<<<<
  *                         tmp64c = utmp8c
  *                         tmp64d = utmp8d
  */
-              __pyx_v_tmp64b = __pyx_v_utmp8b;
+                __pyx_v_tmp64b = __pyx_v_utmp8b;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":82
+                /* "byte_offset.pyx":85
  *                         tmp64a = utmp8a
  *                         tmp64b = utmp8b
  *                         tmp64c = utmp8c             # <<<<<<<<<<<<<<
  *                         tmp64d = utmp8d
  *                         tmp64e = utmp8e
  */
-              __pyx_v_tmp64c = __pyx_v_utmp8c;
+                __pyx_v_tmp64c = __pyx_v_utmp8c;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":83
+                /* "byte_offset.pyx":86
  *                         tmp64b = utmp8b
  *                         tmp64c = utmp8c
  *                         tmp64d = utmp8d             # <<<<<<<<<<<<<<
  *                         tmp64e = utmp8e
  *                         tmp64f = utmp8f
  */
-              __pyx_v_tmp64d = __pyx_v_utmp8d;
+                __pyx_v_tmp64d = __pyx_v_utmp8d;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":84
+                /* "byte_offset.pyx":87
  *                         tmp64c = utmp8c
  *                         tmp64d = utmp8d
  *                         tmp64e = utmp8e             # <<<<<<<<<<<<<<
  *                         tmp64f = utmp8f
  *                         tmp64g = utmp8g
  */
-              __pyx_v_tmp64e = __pyx_v_utmp8e;
+                __pyx_v_tmp64e = __pyx_v_utmp8e;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":85
+                /* "byte_offset.pyx":88
  *                         tmp64d = utmp8d
  *                         tmp64e = utmp8e
  *                         tmp64f = utmp8f             # <<<<<<<<<<<<<<
  *                         tmp64g = utmp8g
  *                         current = (tmp64 << 56) | (tmp64a << 48) | (tmp64b << 40) | (tmp64c << 32) | (tmp64d << 24) | (tmp64e << 16) | (tmp64f << 8) | (tmp64g)
  */
-              __pyx_v_tmp64f = __pyx_v_utmp8f;
+                __pyx_v_tmp64f = __pyx_v_utmp8f;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":86
+                /* "byte_offset.pyx":89
  *                         tmp64e = utmp8e
  *                         tmp64f = utmp8f
  *                         tmp64g = utmp8g             # <<<<<<<<<<<<<<
  *                         current = (tmp64 << 56) | (tmp64a << 48) | (tmp64b << 40) | (tmp64c << 32) | (tmp64d << 24) | (tmp64e << 16) | (tmp64f << 8) | (tmp64g)
  *                         i += 15
  */
-              __pyx_v_tmp64g = __pyx_v_utmp8g;
+                __pyx_v_tmp64g = __pyx_v_utmp8g;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":87
+                /* "byte_offset.pyx":90
  *                         tmp64f = utmp8f
  *                         tmp64g = utmp8g
  *                         current = (tmp64 << 56) | (tmp64a << 48) | (tmp64b << 40) | (tmp64c << 32) | (tmp64d << 24) | (tmp64e << 16) | (tmp64f << 8) | (tmp64g)             # <<<<<<<<<<<<<<
  *                         i += 15
  *                     else:
  */
-              __pyx_v_current = ((((((((__pyx_v_tmp64 << 56) | (__pyx_v_tmp64a << 48)) | (__pyx_v_tmp64b << 40)) | (__pyx_v_tmp64c << 32)) | (__pyx_v_tmp64d << 24)) | (__pyx_v_tmp64e << 16)) | (__pyx_v_tmp64f << 8)) | __pyx_v_tmp64g);
+                __pyx_v_current = ((((((((__pyx_v_tmp64 << 56) | (__pyx_v_tmp64a << 48)) | (__pyx_v_tmp64b << 40)) | (__pyx_v_tmp64c << 32)) | (__pyx_v_tmp64d << 24)) | (__pyx_v_tmp64e << 16)) | (__pyx_v_tmp64f << 8)) | __pyx_v_tmp64g);
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":88
+                /* "byte_offset.pyx":91
  *                         tmp64g = utmp8g
  *                         current = (tmp64 << 56) | (tmp64a << 48) | (tmp64b << 40) | (tmp64c << 32) | (tmp64d << 24) | (tmp64e << 16) | (tmp64f << 8) | (tmp64g)
  *                         i += 15             # <<<<<<<<<<<<<<
  *                     else:
  *                         #Retrieve the interesting Bytes of data
  */
-              __pyx_v_i = (__pyx_v_i + 15);
-              goto __pyx_L13;
-            }
-            /*else*/ {
+                __pyx_v_i = (__pyx_v_i + 15);
+                goto __pyx_L14;
+              }
+              /*else*/ {
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":91
+                /* "byte_offset.pyx":94
  *                     else:
  *                         #Retrieve the interesting Bytes of data
- *                         tmp8 = stream[i + 6]             # <<<<<<<<<<<<<<
- *                         utmp8a = stream[i + 5]
- *                         utmp8b = stream[i + 4]
+ *                         tmp8 = cstream[i + 6]             # <<<<<<<<<<<<<<
+ *                         utmp8a = cstream[i + 5]
+ *                         utmp8b = cstream[i + 4]
  */
-              __pyx_v_tmp8 = (__pyx_v_stream[(__pyx_v_i + 6)]);
+                __pyx_v_tmp8 = (__pyx_v_cstream[(__pyx_v_i + 6)]);
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":92
+                /* "byte_offset.pyx":95
  *                         #Retrieve the interesting Bytes of data
- *                         tmp8 = stream[i + 6]
- *                         utmp8a = stream[i + 5]             # <<<<<<<<<<<<<<
- *                         utmp8b = stream[i + 4]
- *                         utmp8c = stream[i + 3]
- */
-              __pyx_v_utmp8a = (__pyx_v_stream[(__pyx_v_i + 5)]);
-
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":93
- *                         tmp8 = stream[i + 6]
- *                         utmp8a = stream[i + 5]
- *                         utmp8b = stream[i + 4]             # <<<<<<<<<<<<<<
- *                         utmp8c = stream[i + 3]
+ *                         tmp8 = cstream[i + 6]
+ *                         utmp8a = cstream[i + 5]             # <<<<<<<<<<<<<<
+ *                         utmp8b = cstream[i + 4]
+ *                         utmp8c = cstream[i + 3]
+ */
+                __pyx_v_utmp8a = (__pyx_v_cstream[(__pyx_v_i + 5)]);
+
+                /* "byte_offset.pyx":96
+ *                         tmp8 = cstream[i + 6]
+ *                         utmp8a = cstream[i + 5]
+ *                         utmp8b = cstream[i + 4]             # <<<<<<<<<<<<<<
+ *                         utmp8c = cstream[i + 3]
  *                         # cast them  in 64 bit
  */
-              __pyx_v_utmp8b = (__pyx_v_stream[(__pyx_v_i + 4)]);
+                __pyx_v_utmp8b = (__pyx_v_cstream[(__pyx_v_i + 4)]);
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":94
- *                         utmp8a = stream[i + 5]
- *                         utmp8b = stream[i + 4]
- *                         utmp8c = stream[i + 3]             # <<<<<<<<<<<<<<
+                /* "byte_offset.pyx":97
+ *                         utmp8a = cstream[i + 5]
+ *                         utmp8b = cstream[i + 4]
+ *                         utmp8c = cstream[i + 3]             # <<<<<<<<<<<<<<
  *                         # cast them  in 64 bit
  *                         tmp64 = tmp8
  */
-              __pyx_v_utmp8c = (__pyx_v_stream[(__pyx_v_i + 3)]);
+                __pyx_v_utmp8c = (__pyx_v_cstream[(__pyx_v_i + 3)]);
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":96
- *                         utmp8c = stream[i + 3]
+                /* "byte_offset.pyx":99
+ *                         utmp8c = cstream[i + 3]
  *                         # cast them  in 64 bit
  *                         tmp64 = tmp8             # <<<<<<<<<<<<<<
  *                         tmp64a = utmp8a
  *                         tmp64b = utmp8b
  */
-              __pyx_v_tmp64 = __pyx_v_tmp8;
+                __pyx_v_tmp64 = __pyx_v_tmp8;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":97
+                /* "byte_offset.pyx":100
  *                         # cast them  in 64 bit
  *                         tmp64 = tmp8
  *                         tmp64a = utmp8a             # <<<<<<<<<<<<<<
  *                         tmp64b = utmp8b
  *                         tmp64c = utmp8c
  */
-              __pyx_v_tmp64a = __pyx_v_utmp8a;
+                __pyx_v_tmp64a = __pyx_v_utmp8a;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":98
+                /* "byte_offset.pyx":101
  *                         tmp64 = tmp8
  *                         tmp64a = utmp8a
  *                         tmp64b = utmp8b             # <<<<<<<<<<<<<<
  *                         tmp64c = utmp8c
  *                         #Assemble data into a long long
  */
-              __pyx_v_tmp64b = __pyx_v_utmp8b;
+                __pyx_v_tmp64b = __pyx_v_utmp8b;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":99
+                /* "byte_offset.pyx":102
  *                         tmp64a = utmp8a
  *                         tmp64b = utmp8b
  *                         tmp64c = utmp8c             # <<<<<<<<<<<<<<
  *                         #Assemble data into a long long
  *                         current = (tmp64 << 24) | (tmp64a << 16) | (tmp64b << 8) | (tmp64c);
  */
-              __pyx_v_tmp64c = __pyx_v_utmp8c;
+                __pyx_v_tmp64c = __pyx_v_utmp8c;
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":101
+                /* "byte_offset.pyx":104
  *                         tmp64c = utmp8c
  *                         #Assemble data into a long long
  *                         current = (tmp64 << 24) | (tmp64a << 16) | (tmp64b << 8) | (tmp64c);             # <<<<<<<<<<<<<<
  *                         i += 7
  *                 else:
  */
-              __pyx_v_current = ((((__pyx_v_tmp64 << 24) | (__pyx_v_tmp64a << 16)) | (__pyx_v_tmp64b << 8)) | __pyx_v_tmp64c);
+                __pyx_v_current = ((((__pyx_v_tmp64 << 24) | (__pyx_v_tmp64a << 16)) | (__pyx_v_tmp64b << 8)) | __pyx_v_tmp64c);
 
-              /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":102
+                /* "byte_offset.pyx":105
  *                         #Assemble data into a long long
  *                         current = (tmp64 << 24) | (tmp64a << 16) | (tmp64b << 8) | (tmp64c);
  *                         i += 7             # <<<<<<<<<<<<<<
  *                 else:
- *                     tmp8 = stream[i + 2];
+ *                     tmp8 = cstream[i + 2];
  */
-              __pyx_v_i = (__pyx_v_i + 7);
+                __pyx_v_i = (__pyx_v_i + 7);
+              }
+              __pyx_L14:;
+              goto __pyx_L13;
             }
-            __pyx_L13:;
-            goto __pyx_L12;
-          }
-          /*else*/ {
+            /*else*/ {
 
-            /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":104
+              /* "byte_offset.pyx":107
  *                         i += 7
  *                 else:
- *                     tmp8 = stream[i + 2];             # <<<<<<<<<<<<<<
- *                     utmp8a = stream[i + 1]
+ *                     tmp8 = cstream[i + 2];             # <<<<<<<<<<<<<<
+ *                     utmp8a = cstream[i + 1]
  *                     # cast them  in 64 bit
  */
-            __pyx_v_tmp8 = (__pyx_v_stream[(__pyx_v_i + 2)]);
+              __pyx_v_tmp8 = (__pyx_v_cstream[(__pyx_v_i + 2)]);
 
-            /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":105
+              /* "byte_offset.pyx":108
  *                 else:
- *                     tmp8 = stream[i + 2];
- *                     utmp8a = stream[i + 1]             # <<<<<<<<<<<<<<
+ *                     tmp8 = cstream[i + 2];
+ *                     utmp8a = cstream[i + 1]             # <<<<<<<<<<<<<<
  *                     # cast them  in 64 bit
  *                     tmp64 = tmp8
  */
-            __pyx_v_utmp8a = (__pyx_v_stream[(__pyx_v_i + 1)]);
+              __pyx_v_utmp8a = (__pyx_v_cstream[(__pyx_v_i + 1)]);
 
-            /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":107
- *                     utmp8a = stream[i + 1]
+              /* "byte_offset.pyx":110
+ *                     utmp8a = cstream[i + 1]
  *                     # cast them  in 64 bit
  *                     tmp64 = tmp8             # <<<<<<<<<<<<<<
  *                     tmp64a = utmp8a
  *                     current = (tmp64 << 8) | (tmp64a);
  */
-            __pyx_v_tmp64 = __pyx_v_tmp8;
+              __pyx_v_tmp64 = __pyx_v_tmp8;
 
-            /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":108
+              /* "byte_offset.pyx":111
  *                     # cast them  in 64 bit
  *                     tmp64 = tmp8
  *                     tmp64a = utmp8a             # <<<<<<<<<<<<<<
  *                     current = (tmp64 << 8) | (tmp64a);
  *                     i += 3
  */
-            __pyx_v_tmp64a = __pyx_v_utmp8a;
+              __pyx_v_tmp64a = __pyx_v_utmp8a;
 
-            /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":109
+              /* "byte_offset.pyx":112
  *                     tmp64 = tmp8
  *                     tmp64a = utmp8a
  *                     current = (tmp64 << 8) | (tmp64a);             # <<<<<<<<<<<<<<
  *                     i += 3
  *             else:
  */
-            __pyx_v_current = ((__pyx_v_tmp64 << 8) | __pyx_v_tmp64a);
+              __pyx_v_current = ((__pyx_v_tmp64 << 8) | __pyx_v_tmp64a);
 
-            /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":110
+              /* "byte_offset.pyx":113
  *                     tmp64a = utmp8a
  *                     current = (tmp64 << 8) | (tmp64a);
  *                     i += 3             # <<<<<<<<<<<<<<
  *             else:
- *                 tmp8 = stream[i]
+ *                 tmp8 = cstream[i]
  */
-            __pyx_v_i = (__pyx_v_i + 3);
+              __pyx_v_i = (__pyx_v_i + 3);
+            }
+            __pyx_L13:;
+            goto __pyx_L12;
           }
-          __pyx_L12:;
-          goto __pyx_L11;
-        }
-        /*else*/ {
+          /*else*/ {
 
-          /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":112
+            /* "byte_offset.pyx":115
  *                     i += 3
  *             else:
- *                 tmp8 = stream[i]             # <<<<<<<<<<<<<<
+ *                 tmp8 = cstream[i]             # <<<<<<<<<<<<<<
  *                 current = tmp8
  *                 i += 1
  */
-          __pyx_v_tmp8 = (__pyx_v_stream[__pyx_v_i]);
+            __pyx_v_tmp8 = (__pyx_v_cstream[__pyx_v_i]);
 
-          /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":113
+            /* "byte_offset.pyx":116
  *             else:
- *                 tmp8 = stream[i]
+ *                 tmp8 = cstream[i]
  *                 current = tmp8             # <<<<<<<<<<<<<<
  *                 i += 1
  *             last += current
  */
-          __pyx_v_current = __pyx_v_tmp8;
+            __pyx_v_current = __pyx_v_tmp8;
 
-          /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":114
- *                 tmp8 = stream[i]
+            /* "byte_offset.pyx":117
+ *                 tmp8 = cstream[i]
  *                 current = tmp8
  *                 i += 1             # <<<<<<<<<<<<<<
  *             last += current
  *             dataOut[j] = last
  */
-          __pyx_v_i = (__pyx_v_i + 1);
-        }
-        __pyx_L11:;
+            __pyx_v_i = (__pyx_v_i + 1);
+          }
+          __pyx_L12:;
 
-        /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":115
+          /* "byte_offset.pyx":118
  *                 current = tmp8
  *                 i += 1
  *             last += current             # <<<<<<<<<<<<<<
  *             dataOut[j] = last
  *             j += 1
  */
-        __pyx_v_last = (__pyx_v_last + __pyx_v_current);
+          __pyx_v_last = (__pyx_v_last + __pyx_v_current);
 
-        /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":116
+          /* "byte_offset.pyx":119
  *                 i += 1
  *             last += current
  *             dataOut[j] = last             # <<<<<<<<<<<<<<
  *             j += 1
- * 
+ *     return dataOut[:j]
  */
-        __pyx_t_7 = __pyx_v_j;
-        if (__pyx_t_7 < 0) __pyx_t_7 += __pyx_bshape_0_dataOut;
-        *__Pyx_BufPtrStrided1d(PY_LONG_LONG *, __pyx_bstruct_dataOut.buf, __pyx_t_7, __pyx_bstride_0_dataOut) = __pyx_v_last;
+          __pyx_t_4 = __pyx_v_j;
+          if (__pyx_t_4 < 0) __pyx_t_4 += __pyx_pybuffernd_dataOut.diminfo[0].shape;
+          *__Pyx_BufPtrStrided1d(PY_LONG_LONG *, __pyx_pybuffernd_dataOut.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_dataOut.diminfo[0].strides) = __pyx_v_last;
 
-        /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":117
+          /* "byte_offset.pyx":120
  *             last += current
  *             dataOut[j] = last
  *             j += 1             # <<<<<<<<<<<<<<
- * 
- *     return dataOut
+ *     return dataOut[:j]
  */
-        __pyx_v_j = (__pyx_v_j + 1);
+          __pyx_v_j = (__pyx_v_j + 1);
+        }
       }
-    }
 
-    /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":64
- *     dataOut = numpy.zeros(size, dtype=numpy.int64)
- * 
+      /* "byte_offset.pyx":67
+ *         csize = < int > size
+ *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)
  *     with nogil:             # <<<<<<<<<<<<<<
- *         while (j < size):
- *             if (stream[i] == key8):
+ *         while (i < lenStream) and (j < csize):
+ *             if (cstream[i] == key8):
  */
-    /*finally:*/ {
-      Py_BLOCK_THREADS
-    }
+      /*finally:*/ {
+        Py_BLOCK_THREADS
+      }
   }
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":119
+  /* "byte_offset.pyx":121
+ *             dataOut[j] = last
  *             j += 1
- * 
- *     return dataOut             # <<<<<<<<<<<<<<
+ *     return dataOut[:j]             # <<<<<<<<<<<<<<
  */
   __Pyx_XDECREF(__pyx_r);
-  __Pyx_INCREF(((PyObject *)__pyx_v_dataOut));
-  __pyx_r = ((PyObject *)__pyx_v_dataOut);
+  __pyx_t_9 = __Pyx_PySequence_GetSlice(((PyObject *)__pyx_v_dataOut), 0, __pyx_v_j); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_9);
+  __pyx_r = __pyx_t_9;
+  __pyx_t_9 = 0;
   goto __pyx_L0;
 
   __pyx_r = Py_None; __Pyx_INCREF(Py_None);
   goto __pyx_L0;
   __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_XDECREF(__pyx_t_2);
-  __Pyx_XDECREF(__pyx_t_3);
-  __Pyx_XDECREF(__pyx_t_4);
   __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_XDECREF(__pyx_t_9);
   { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
     __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
-    __Pyx_SafeReleaseBuffer(&__pyx_bstruct_dataOut);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dataOut.rcbuffer->pybuffer);
   __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
-  __Pyx_AddTraceback("byte_offset.analyseCython");
+  __Pyx_AddTraceback("byte_offset.analyseCython", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __pyx_r = NULL;
   goto __pyx_L2;
   __pyx_L0:;
-  __Pyx_SafeReleaseBuffer(&__pyx_bstruct_dataOut);
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_dataOut.rcbuffer->pybuffer);
   __pyx_L2:;
-  __Pyx_DECREF((PyObject *)__pyx_v_dataOut);
+  __Pyx_XDECREF((PyObject *)__pyx_v_dataOut);
   __Pyx_XGIVEREF(__pyx_r);
   __Pyx_RefNannyFinishContext();
   return __pyx_r;
 }
 
-/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":188
+/* "numpy.pxd":190
  *         # experimental exception made for __getbuffer__ and __releasebuffer__
  *         # -- the details of this may change.
  *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
@@ -1668,8 +2000,8 @@ static PyObject *__pyx_pf_11byte_offset_0analyseCython(PyObject *__pyx_self, PyO
  *             # requirements, and does not yet fullfill the PEP.
  */
 
-static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
-static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
+static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray___getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
   int __pyx_v_copy_shape;
   int __pyx_v_i;
   int __pyx_v_ndim;
@@ -1681,6 +2013,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   int __pyx_v_offset;
   int __pyx_v_hasfields;
   int __pyx_r;
+  __Pyx_RefNannyDeclarations
   int __pyx_t_1;
   int __pyx_t_2;
   int __pyx_t_3;
@@ -1690,13 +2023,32 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   int __pyx_t_7;
   PyObject *__pyx_t_8 = NULL;
   char *__pyx_t_9;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("__getbuffer__");
-  if (__pyx_v_info == NULL) return 0;
-  __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
-  __Pyx_GIVEREF(__pyx_v_info->obj);
+  if (__pyx_v_info != NULL) {
+    __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(__pyx_v_info->obj);
+  }
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":194
+  /* "numpy.pxd":196
  *             # of flags
+ * 
+ *             if info == NULL: return             # <<<<<<<<<<<<<<
+ * 
+ *             cdef int copy_shape, i, ndim
+ */
+  __pyx_t_1 = (__pyx_v_info == NULL);
+  if (__pyx_t_1) {
+    __pyx_r = 0;
+    goto __pyx_L0;
+    goto __pyx_L5;
+  }
+  __pyx_L5:;
+
+  /* "numpy.pxd":199
+ * 
  *             cdef int copy_shape, i, ndim
  *             cdef int endian_detector = 1             # <<<<<<<<<<<<<<
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
@@ -1704,7 +2056,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
   __pyx_v_endian_detector = 1;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":195
+  /* "numpy.pxd":200
  *             cdef int copy_shape, i, ndim
  *             cdef int endian_detector = 1
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
@@ -1713,7 +2065,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
   __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":197
+  /* "numpy.pxd":202
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
  * 
  *             ndim = PyArray_NDIM(self)             # <<<<<<<<<<<<<<
@@ -1722,7 +2074,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
   __pyx_v_ndim = PyArray_NDIM(((PyArrayObject *)__pyx_v_self));
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":199
+  /* "numpy.pxd":204
  *             ndim = PyArray_NDIM(self)
  * 
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -1732,7 +2084,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t)));
   if (__pyx_t_1) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":200
+    /* "numpy.pxd":205
  * 
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  *                 copy_shape = 1             # <<<<<<<<<<<<<<
@@ -1740,11 +2092,11 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  *                 copy_shape = 0
  */
     __pyx_v_copy_shape = 1;
-    goto __pyx_L5;
+    goto __pyx_L6;
   }
   /*else*/ {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":202
+    /* "numpy.pxd":207
  *                 copy_shape = 1
  *             else:
  *                 copy_shape = 0             # <<<<<<<<<<<<<<
@@ -1753,9 +2105,9 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
     __pyx_v_copy_shape = 0;
   }
-  __pyx_L5:;
+  __pyx_L6:;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":204
+  /* "numpy.pxd":209
  *                 copy_shape = 0
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -1765,7 +2117,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   __pyx_t_1 = ((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS);
   if (__pyx_t_1) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":205
+    /* "numpy.pxd":210
  * 
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):             # <<<<<<<<<<<<<<
@@ -1779,23 +2131,23 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   }
   if (__pyx_t_3) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":206
+    /* "numpy.pxd":211
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  */
-    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_Raise(__pyx_t_4, 0, 0);
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    {__pyx_filename = __pyx_f[1]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L6;
+    {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    goto __pyx_L7;
   }
-  __pyx_L6:;
+  __pyx_L7:;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":208
+  /* "numpy.pxd":213
  *                 raise ValueError(u"ndarray is not C contiguous")
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
@@ -1805,7 +2157,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   __pyx_t_3 = ((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS);
   if (__pyx_t_3) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":209
+    /* "numpy.pxd":214
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):             # <<<<<<<<<<<<<<
@@ -1819,23 +2171,23 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   }
   if (__pyx_t_2) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":210
+    /* "numpy.pxd":215
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
  * 
  *             info.buf = PyArray_DATA(self)
  */
-    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_4), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
-    __Pyx_Raise(__pyx_t_4, 0, 0);
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    {__pyx_filename = __pyx_f[1]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    goto __pyx_L7;
+    {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    goto __pyx_L8;
   }
-  __pyx_L7:;
+  __pyx_L8:;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":212
+  /* "numpy.pxd":217
  *                 raise ValueError(u"ndarray is not Fortran contiguous")
  * 
  *             info.buf = PyArray_DATA(self)             # <<<<<<<<<<<<<<
@@ -1844,44 +2196,44 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
   __pyx_v_info->buf = PyArray_DATA(((PyArrayObject *)__pyx_v_self));
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":213
+  /* "numpy.pxd":218
  * 
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim             # <<<<<<<<<<<<<<
  *             if copy_shape:
- *                 # Allocate new buffer for strides and shape info. This is allocated
+ *                 # Allocate new buffer for strides and shape info.
  */
   __pyx_v_info->ndim = __pyx_v_ndim;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":214
+  /* "numpy.pxd":219
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim
  *             if copy_shape:             # <<<<<<<<<<<<<<
- *                 # Allocate new buffer for strides and shape info. This is allocated
- *                 # as one block, strides first.
+ *                 # Allocate new buffer for strides and shape info.
+ *                 # This is allocated as one block, strides first.
  */
   if (__pyx_v_copy_shape) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":217
- *                 # Allocate new buffer for strides and shape info. This is allocated
- *                 # as one block, strides first.
- *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2)             # <<<<<<<<<<<<<<
+    /* "numpy.pxd":222
+ *                 # Allocate new buffer for strides and shape info.
+ *                 # This is allocated as one block, strides first.
+ *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)             # <<<<<<<<<<<<<<
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):
  */
-    __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * __pyx_v_ndim) * 2)));
+    __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2)));
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":218
- *                 # as one block, strides first.
- *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2)
+    /* "numpy.pxd":223
+ *                 # This is allocated as one block, strides first.
+ *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
  *                 info.shape = info.strides + ndim             # <<<<<<<<<<<<<<
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]
  */
     __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":219
- *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * ndim * 2)
+    /* "numpy.pxd":224
+ *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):             # <<<<<<<<<<<<<<
  *                     info.strides[i] = PyArray_STRIDES(self)[i]
@@ -1891,7 +2243,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
       __pyx_v_i = __pyx_t_6;
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":220
+      /* "numpy.pxd":225
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]             # <<<<<<<<<<<<<<
@@ -1900,7 +2252,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
       (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(((PyArrayObject *)__pyx_v_self))[__pyx_v_i]);
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":221
+      /* "numpy.pxd":226
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]
  *                     info.shape[i] = PyArray_DIMS(self)[i]             # <<<<<<<<<<<<<<
@@ -1909,11 +2261,11 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
       (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(((PyArrayObject *)__pyx_v_self))[__pyx_v_i]);
     }
-    goto __pyx_L8;
+    goto __pyx_L9;
   }
   /*else*/ {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":223
+    /* "numpy.pxd":228
  *                     info.shape[i] = PyArray_DIMS(self)[i]
  *             else:
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)             # <<<<<<<<<<<<<<
@@ -1922,7 +2274,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
     __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(((PyArrayObject *)__pyx_v_self)));
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":224
+    /* "numpy.pxd":229
  *             else:
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)             # <<<<<<<<<<<<<<
@@ -1931,9 +2283,9 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
     __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(((PyArrayObject *)__pyx_v_self)));
   }
-  __pyx_L8:;
+  __pyx_L9:;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":225
+  /* "numpy.pxd":230
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
  *             info.suboffsets = NULL             # <<<<<<<<<<<<<<
@@ -1942,7 +2294,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
   __pyx_v_info->suboffsets = NULL;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":226
+  /* "numpy.pxd":231
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
  *             info.suboffsets = NULL
  *             info.itemsize = PyArray_ITEMSIZE(self)             # <<<<<<<<<<<<<<
@@ -1951,7 +2303,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
   __pyx_v_info->itemsize = PyArray_ITEMSIZE(((PyArrayObject *)__pyx_v_self));
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":227
+  /* "numpy.pxd":232
  *             info.suboffsets = NULL
  *             info.itemsize = PyArray_ITEMSIZE(self)
  *             info.readonly = not PyArray_ISWRITEABLE(self)             # <<<<<<<<<<<<<<
@@ -1960,7 +2312,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
   __pyx_v_info->readonly = (!PyArray_ISWRITEABLE(((PyArrayObject *)__pyx_v_self)));
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":230
+  /* "numpy.pxd":235
  * 
  *             cdef int t
  *             cdef char* f = NULL             # <<<<<<<<<<<<<<
@@ -1969,7 +2321,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
   __pyx_v_f = NULL;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":231
+  /* "numpy.pxd":236
  *             cdef int t
  *             cdef char* f = NULL
  *             cdef dtype descr = self.descr             # <<<<<<<<<<<<<<
@@ -1979,7 +2331,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   __Pyx_INCREF(((PyObject *)((PyArrayObject *)__pyx_v_self)->descr));
   __pyx_v_descr = ((PyArrayObject *)__pyx_v_self)->descr;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":235
+  /* "numpy.pxd":240
  *             cdef int offset
  * 
  *             cdef bint hasfields = PyDataType_HASFIELDS(descr)             # <<<<<<<<<<<<<<
@@ -1988,7 +2340,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
   __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr);
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":237
+  /* "numpy.pxd":242
  *             cdef bint hasfields = PyDataType_HASFIELDS(descr)
  * 
  *             if not hasfields and not copy_shape:             # <<<<<<<<<<<<<<
@@ -2004,7 +2356,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   }
   if (__pyx_t_1) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":239
+    /* "numpy.pxd":244
  *             if not hasfields and not copy_shape:
  *                 # do not call releasebuffer
  *                 info.obj = None             # <<<<<<<<<<<<<<
@@ -2016,11 +2368,11 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __Pyx_GOTREF(__pyx_v_info->obj);
     __Pyx_DECREF(__pyx_v_info->obj);
     __pyx_v_info->obj = Py_None;
-    goto __pyx_L11;
+    goto __pyx_L12;
   }
   /*else*/ {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":242
+    /* "numpy.pxd":247
  *             else:
  *                 # need to call releasebuffer
  *                 info.obj = self             # <<<<<<<<<<<<<<
@@ -2033,9 +2385,9 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __Pyx_DECREF(__pyx_v_info->obj);
     __pyx_v_info->obj = __pyx_v_self;
   }
-  __pyx_L11:;
+  __pyx_L12:;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":244
+  /* "numpy.pxd":249
  *                 info.obj = self
  * 
  *             if not hasfields:             # <<<<<<<<<<<<<<
@@ -2045,7 +2397,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   __pyx_t_1 = (!__pyx_v_hasfields);
   if (__pyx_t_1) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":245
+    /* "numpy.pxd":250
  * 
  *             if not hasfields:
  *                 t = descr.type_num             # <<<<<<<<<<<<<<
@@ -2054,7 +2406,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
     __pyx_v_t = __pyx_v_descr->type_num;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":246
+    /* "numpy.pxd":251
  *             if not hasfields:
  *                 t = descr.type_num
  *                 if ((descr.byteorder == '>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -2069,7 +2421,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     }
     if (!__pyx_t_2) {
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":247
+      /* "numpy.pxd":252
  *                 t = descr.type_num
  *                 if ((descr.byteorder == '>' and little_endian) or
  *                     (descr.byteorder == '<' and not little_endian)):             # <<<<<<<<<<<<<<
@@ -2089,23 +2441,23 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     }
     if (__pyx_t_1) {
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":248
+      /* "numpy.pxd":253
  *                 if ((descr.byteorder == '>' and little_endian) or
  *                     (descr.byteorder == '<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"
  */
-      __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_6), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_6), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_4);
-      __Pyx_Raise(__pyx_t_4, 0, 0);
+      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      goto __pyx_L13;
+      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      goto __pyx_L14;
     }
-    __pyx_L13:;
+    __pyx_L14:;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":249
+    /* "numpy.pxd":254
  *                     (descr.byteorder == '<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")
  *                 if   t == NPY_BYTE:        f = "b"             # <<<<<<<<<<<<<<
@@ -2115,10 +2467,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_BYTE);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__b;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":250
+    /* "numpy.pxd":255
  *                     raise ValueError(u"Non-native byte order not supported")
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"             # <<<<<<<<<<<<<<
@@ -2128,10 +2480,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_UBYTE);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__B;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":251
+    /* "numpy.pxd":256
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"
  *                 elif t == NPY_SHORT:       f = "h"             # <<<<<<<<<<<<<<
@@ -2141,10 +2493,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_SHORT);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__h;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":252
+    /* "numpy.pxd":257
  *                 elif t == NPY_UBYTE:       f = "B"
  *                 elif t == NPY_SHORT:       f = "h"
  *                 elif t == NPY_USHORT:      f = "H"             # <<<<<<<<<<<<<<
@@ -2154,10 +2506,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_USHORT);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__H;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":253
+    /* "numpy.pxd":258
  *                 elif t == NPY_SHORT:       f = "h"
  *                 elif t == NPY_USHORT:      f = "H"
  *                 elif t == NPY_INT:         f = "i"             # <<<<<<<<<<<<<<
@@ -2167,10 +2519,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_INT);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__i;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":254
+    /* "numpy.pxd":259
  *                 elif t == NPY_USHORT:      f = "H"
  *                 elif t == NPY_INT:         f = "i"
  *                 elif t == NPY_UINT:        f = "I"             # <<<<<<<<<<<<<<
@@ -2180,10 +2532,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_UINT);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__I;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":255
+    /* "numpy.pxd":260
  *                 elif t == NPY_INT:         f = "i"
  *                 elif t == NPY_UINT:        f = "I"
  *                 elif t == NPY_LONG:        f = "l"             # <<<<<<<<<<<<<<
@@ -2193,10 +2545,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_LONG);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__l;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":256
+    /* "numpy.pxd":261
  *                 elif t == NPY_UINT:        f = "I"
  *                 elif t == NPY_LONG:        f = "l"
  *                 elif t == NPY_ULONG:       f = "L"             # <<<<<<<<<<<<<<
@@ -2206,10 +2558,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_ULONG);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__L;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":257
+    /* "numpy.pxd":262
  *                 elif t == NPY_LONG:        f = "l"
  *                 elif t == NPY_ULONG:       f = "L"
  *                 elif t == NPY_LONGLONG:    f = "q"             # <<<<<<<<<<<<<<
@@ -2219,10 +2571,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_LONGLONG);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__q;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":258
+    /* "numpy.pxd":263
  *                 elif t == NPY_ULONG:       f = "L"
  *                 elif t == NPY_LONGLONG:    f = "q"
  *                 elif t == NPY_ULONGLONG:   f = "Q"             # <<<<<<<<<<<<<<
@@ -2232,10 +2584,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_ULONGLONG);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__Q;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":259
+    /* "numpy.pxd":264
  *                 elif t == NPY_LONGLONG:    f = "q"
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  *                 elif t == NPY_FLOAT:       f = "f"             # <<<<<<<<<<<<<<
@@ -2245,10 +2597,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_FLOAT);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__f;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":260
+    /* "numpy.pxd":265
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  *                 elif t == NPY_FLOAT:       f = "f"
  *                 elif t == NPY_DOUBLE:      f = "d"             # <<<<<<<<<<<<<<
@@ -2258,10 +2610,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_DOUBLE);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__d;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":261
+    /* "numpy.pxd":266
  *                 elif t == NPY_FLOAT:       f = "f"
  *                 elif t == NPY_DOUBLE:      f = "d"
  *                 elif t == NPY_LONGDOUBLE:  f = "g"             # <<<<<<<<<<<<<<
@@ -2271,10 +2623,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_LONGDOUBLE);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__g;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":262
+    /* "numpy.pxd":267
  *                 elif t == NPY_DOUBLE:      f = "d"
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  *                 elif t == NPY_CFLOAT:      f = "Zf"             # <<<<<<<<<<<<<<
@@ -2284,10 +2636,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_CFLOAT);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__Zf;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":263
+    /* "numpy.pxd":268
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  *                 elif t == NPY_CDOUBLE:     f = "Zd"             # <<<<<<<<<<<<<<
@@ -2297,10 +2649,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_CDOUBLE);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__Zd;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":264
+    /* "numpy.pxd":269
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"             # <<<<<<<<<<<<<<
@@ -2310,10 +2662,10 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_CLONGDOUBLE);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__Zg;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":265
+    /* "numpy.pxd":270
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
  *                 elif t == NPY_OBJECT:      f = "O"             # <<<<<<<<<<<<<<
@@ -2323,37 +2675,37 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_t == NPY_OBJECT);
     if (__pyx_t_1) {
       __pyx_v_f = __pyx_k__O;
-      goto __pyx_L14;
+      goto __pyx_L15;
     }
     /*else*/ {
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":267
+      /* "numpy.pxd":272
  *                 elif t == NPY_OBJECT:      f = "O"
  *                 else:
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
  *                 info.format = f
  *                 return
  */
-      __pyx_t_4 = PyInt_FromLong(__pyx_v_t); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_4 = PyInt_FromLong(__pyx_v_t); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_4);
-      __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_7), __pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_7), __pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(((PyObject *)__pyx_t_8));
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __Pyx_GOTREF(((PyObject *)__pyx_t_4));
+      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_4);
       PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_8));
       __Pyx_GIVEREF(((PyObject *)__pyx_t_8));
       __pyx_t_8 = 0;
-      __pyx_t_8 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_8 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_8);
       __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
-      __Pyx_Raise(__pyx_t_8, 0, 0);
+      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 267; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 272; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
-    __pyx_L14:;
+    __pyx_L15:;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":268
+    /* "numpy.pxd":273
  *                 else:
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *                 info.format = f             # <<<<<<<<<<<<<<
@@ -2362,7 +2714,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
     __pyx_v_info->format = __pyx_v_f;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":269
+    /* "numpy.pxd":274
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *                 info.format = f
  *                 return             # <<<<<<<<<<<<<<
@@ -2371,11 +2723,11 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
     __pyx_r = 0;
     goto __pyx_L0;
-    goto __pyx_L12;
+    goto __pyx_L13;
   }
   /*else*/ {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":271
+    /* "numpy.pxd":276
  *                 return
  *             else:
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)             # <<<<<<<<<<<<<<
@@ -2384,7 +2736,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
     __pyx_v_info->format = ((char *)malloc(255));
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":272
+    /* "numpy.pxd":277
  *             else:
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
  *                 info.format[0] = '^' # Native data types, manual alignment             # <<<<<<<<<<<<<<
@@ -2393,7 +2745,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
     (__pyx_v_info->format[0]) = '^';
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":273
+    /* "numpy.pxd":278
  *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
  *                 info.format[0] = '^' # Native data types, manual alignment
  *                 offset = 0             # <<<<<<<<<<<<<<
@@ -2402,17 +2754,17 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
     __pyx_v_offset = 0;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":276
+    /* "numpy.pxd":281
  *                 f = _util_dtypestring(descr, info.format + 1,
  *                                       info.format + _buffer_format_string_len,
  *                                       &offset)             # <<<<<<<<<<<<<<
  *                 f[0] = 0 # Terminate format string
  * 
  */
-    __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 279; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_v_f = __pyx_t_9;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":277
+    /* "numpy.pxd":282
  *                                       info.format + _buffer_format_string_len,
  *                                       &offset)
  *                 f[0] = 0 # Terminate format string             # <<<<<<<<<<<<<<
@@ -2421,20 +2773,22 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
  */
     (__pyx_v_f[0]) = 0;
   }
-  __pyx_L12:;
+  __pyx_L13:;
 
   __pyx_r = 0;
   goto __pyx_L0;
   __pyx_L1_error:;
   __Pyx_XDECREF(__pyx_t_4);
   __Pyx_XDECREF(__pyx_t_8);
-  __Pyx_AddTraceback("numpy.ndarray.__getbuffer__");
+  __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __pyx_r = -1;
-  __Pyx_GOTREF(__pyx_v_info->obj);
-  __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = NULL;
+  if (__pyx_v_info != NULL && __pyx_v_info->obj != NULL) {
+    __Pyx_GOTREF(__pyx_v_info->obj);
+    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = NULL;
+  }
   goto __pyx_L2;
   __pyx_L0:;
-  if (__pyx_v_info->obj == Py_None) {
+  if (__pyx_v_info != NULL && __pyx_v_info->obj == Py_None) {
     __Pyx_GOTREF(Py_None);
     __Pyx_DECREF(Py_None); __pyx_v_info->obj = NULL;
   }
@@ -2444,7 +2798,7 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
   return __pyx_r;
 }
 
-/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":279
+/* "numpy.pxd":284
  *                 f[0] = 0 # Terminate format string
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
@@ -2454,10 +2808,11 @@ static CYTHON_UNUSED int __pyx_pf_5numpy_7ndarray_0__getbuffer__(PyObject *__pyx
 
 static CYTHON_UNUSED void __pyx_pf_5numpy_7ndarray_1__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
 static CYTHON_UNUSED void __pyx_pf_5numpy_7ndarray_1__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+  __Pyx_RefNannyDeclarations
   int __pyx_t_1;
   __Pyx_RefNannySetupContext("__releasebuffer__");
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":280
+  /* "numpy.pxd":285
  * 
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
@@ -2467,7 +2822,7 @@ static CYTHON_UNUSED void __pyx_pf_5numpy_7ndarray_1__releasebuffer__(PyObject *
   __pyx_t_1 = PyArray_HASFIELDS(((PyArrayObject *)__pyx_v_self));
   if (__pyx_t_1) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":281
+    /* "numpy.pxd":286
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):
  *                 stdlib.free(info.format)             # <<<<<<<<<<<<<<
@@ -2479,7 +2834,7 @@ static CYTHON_UNUSED void __pyx_pf_5numpy_7ndarray_1__releasebuffer__(PyObject *
   }
   __pyx_L5:;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":282
+  /* "numpy.pxd":287
  *             if PyArray_HASFIELDS(self):
  *                 stdlib.free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -2489,7 +2844,7 @@ static CYTHON_UNUSED void __pyx_pf_5numpy_7ndarray_1__releasebuffer__(PyObject *
   __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t)));
   if (__pyx_t_1) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":283
+    /* "numpy.pxd":288
  *                 stdlib.free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  *                 stdlib.free(info.strides)             # <<<<<<<<<<<<<<
@@ -2504,7 +2859,7 @@ static CYTHON_UNUSED void __pyx_pf_5numpy_7ndarray_1__releasebuffer__(PyObject *
   __Pyx_RefNannyFinishContext();
 }
 
-/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":756
+/* "numpy.pxd":764
  * ctypedef npy_cdouble     complex_t
  * 
  * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
@@ -2514,10 +2869,14 @@ static CYTHON_UNUSED void __pyx_pf_5numpy_7ndarray_1__releasebuffer__(PyObject *
 
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
   PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
   PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew1");
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":757
+  /* "numpy.pxd":765
  * 
  * cdef inline object PyArray_MultiIterNew1(a):
  *     return PyArray_MultiIterNew(1, <void*>a)             # <<<<<<<<<<<<<<
@@ -2525,7 +2884,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
  * cdef inline object PyArray_MultiIterNew2(a, b):
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 757; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_r = __pyx_t_1;
   __pyx_t_1 = 0;
@@ -2535,7 +2894,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
   goto __pyx_L0;
   __pyx_L1_error:;
   __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1");
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __pyx_r = 0;
   __pyx_L0:;
   __Pyx_XGIVEREF(__pyx_r);
@@ -2543,7 +2902,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
   return __pyx_r;
 }
 
-/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":759
+/* "numpy.pxd":767
  *     return PyArray_MultiIterNew(1, <void*>a)
  * 
  * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
@@ -2553,10 +2912,14 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__
 
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
   PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
   PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew2");
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":760
+  /* "numpy.pxd":768
  * 
  * cdef inline object PyArray_MultiIterNew2(a, b):
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)             # <<<<<<<<<<<<<<
@@ -2564,7 +2927,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
  * cdef inline object PyArray_MultiIterNew3(a, b, c):
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_r = __pyx_t_1;
   __pyx_t_1 = 0;
@@ -2574,7 +2937,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
   goto __pyx_L0;
   __pyx_L1_error:;
   __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2");
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __pyx_r = 0;
   __pyx_L0:;
   __Pyx_XGIVEREF(__pyx_r);
@@ -2582,7 +2945,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
   return __pyx_r;
 }
 
-/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":762
+/* "numpy.pxd":770
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
  * 
  * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
@@ -2592,10 +2955,14 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__
 
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
   PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
   PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew3");
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":763
+  /* "numpy.pxd":771
  * 
  * cdef inline object PyArray_MultiIterNew3(a, b, c):
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)             # <<<<<<<<<<<<<<
@@ -2603,7 +2970,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_r = __pyx_t_1;
   __pyx_t_1 = 0;
@@ -2613,7 +2980,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
   goto __pyx_L0;
   __pyx_L1_error:;
   __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3");
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __pyx_r = 0;
   __pyx_L0:;
   __Pyx_XGIVEREF(__pyx_r);
@@ -2621,7 +2988,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
   return __pyx_r;
 }
 
-/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":765
+/* "numpy.pxd":773
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
  * 
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
@@ -2631,10 +2998,14 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__
 
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
   PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
   PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew4");
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":766
+  /* "numpy.pxd":774
  * 
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)             # <<<<<<<<<<<<<<
@@ -2642,7 +3013,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_r = __pyx_t_1;
   __pyx_t_1 = 0;
@@ -2652,7 +3023,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
   goto __pyx_L0;
   __pyx_L1_error:;
   __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4");
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __pyx_r = 0;
   __pyx_L0:;
   __Pyx_XGIVEREF(__pyx_r);
@@ -2660,7 +3031,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
   return __pyx_r;
 }
 
-/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":768
+/* "numpy.pxd":776
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
  * 
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
@@ -2670,10 +3041,14 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__
 
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
   PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
   PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew5");
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":769
+  /* "numpy.pxd":777
  * 
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)             # <<<<<<<<<<<<<<
@@ -2681,7 +3056,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_r = __pyx_t_1;
   __pyx_t_1 = 0;
@@ -2691,7 +3066,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
   goto __pyx_L0;
   __pyx_L1_error:;
   __Pyx_XDECREF(__pyx_t_1);
-  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5");
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __pyx_r = 0;
   __pyx_L0:;
   __Pyx_XGIVEREF(__pyx_r);
@@ -2699,7 +3074,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
   return __pyx_r;
 }
 
-/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":771
+/* "numpy.pxd":779
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
  * 
  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
@@ -2708,16 +3083,17 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__
  */
 
 static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
-  PyArray_Descr *__pyx_v_child;
+  PyArray_Descr *__pyx_v_child = 0;
   int __pyx_v_endian_detector;
   int __pyx_v_little_endian;
-  PyObject *__pyx_v_fields;
-  PyObject *__pyx_v_childname;
-  PyObject *__pyx_v_new_offset;
-  PyObject *__pyx_v_t;
+  PyObject *__pyx_v_fields = 0;
+  PyObject *__pyx_v_childname = NULL;
+  PyObject *__pyx_v_new_offset = NULL;
+  PyObject *__pyx_v_t = NULL;
   char *__pyx_r;
-  Py_ssize_t __pyx_t_1;
-  PyObject *__pyx_t_2 = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  Py_ssize_t __pyx_t_2;
   PyObject *__pyx_t_3 = NULL;
   PyObject *__pyx_t_4 = NULL;
   PyObject *__pyx_t_5 = NULL;
@@ -2727,14 +3103,12 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
   int __pyx_t_9;
   long __pyx_t_10;
   char *__pyx_t_11;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("_util_dtypestring");
-  __pyx_v_child = ((PyArray_Descr *)Py_None); __Pyx_INCREF(Py_None);
-  __pyx_v_fields = ((PyObject*)Py_None); __Pyx_INCREF(Py_None);
-  __pyx_v_childname = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_v_new_offset = Py_None; __Pyx_INCREF(Py_None);
-  __pyx_v_t = Py_None; __Pyx_INCREF(Py_None);
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":778
+  /* "numpy.pxd":786
  *     cdef int delta_offset
  *     cdef tuple i
  *     cdef int endian_detector = 1             # <<<<<<<<<<<<<<
@@ -2743,7 +3117,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
   __pyx_v_endian_detector = 1;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":779
+  /* "numpy.pxd":787
  *     cdef tuple i
  *     cdef int endian_detector = 1
  *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
@@ -2752,103 +3126,110 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
   __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":782
+  /* "numpy.pxd":790
  *     cdef tuple fields
  * 
  *     for childname in descr.names:             # <<<<<<<<<<<<<<
  *         fields = descr.fields[childname]
  *         child, new_offset = fields
  */
-  if (unlikely(__pyx_v_descr->names == Py_None)) {
-    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
+  if (unlikely(((PyObject *)__pyx_v_descr->names) == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
   }
-  __pyx_t_1 = 0; __pyx_t_2 = ((PyObject *)__pyx_v_descr->names); __Pyx_INCREF(__pyx_t_2);
+  __pyx_t_1 = ((PyObject *)__pyx_v_descr->names); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
   for (;;) {
-    if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
-    __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_3); __pyx_t_1++;
-    __Pyx_DECREF(__pyx_v_childname);
+    if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+    __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++;
+    __Pyx_XDECREF(__pyx_v_childname);
     __pyx_v_childname = __pyx_t_3;
     __pyx_t_3 = 0;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":783
+    /* "numpy.pxd":791
  * 
  *     for childname in descr.names:
  *         fields = descr.fields[childname]             # <<<<<<<<<<<<<<
  *         child, new_offset = fields
  * 
  */
-    __pyx_t_3 = PyObject_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (!__pyx_t_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = PyObject_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (!__pyx_t_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
-    if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_DECREF(((PyObject *)__pyx_v_fields));
+    if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_XDECREF(((PyObject *)__pyx_v_fields));
     __pyx_v_fields = ((PyObject*)__pyx_t_3);
     __pyx_t_3 = 0;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":784
+    /* "numpy.pxd":792
  *     for childname in descr.names:
  *         fields = descr.fields[childname]
  *         child, new_offset = fields             # <<<<<<<<<<<<<<
  * 
  *         if (end - f) - (new_offset - offset[0]) < 15:
  */
-    if (likely(((PyObject *)__pyx_v_fields) != Py_None) && likely(PyTuple_GET_SIZE(((PyObject *)__pyx_v_fields)) == 2)) {
-      PyObject* tuple = ((PyObject *)__pyx_v_fields);
-      __pyx_t_3 = PyTuple_GET_ITEM(tuple, 0); __Pyx_INCREF(__pyx_t_3);
-      if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_t_4 = PyTuple_GET_ITEM(tuple, 1); __Pyx_INCREF(__pyx_t_4);
-      __Pyx_DECREF(((PyObject *)__pyx_v_child));
-      __pyx_v_child = ((PyArray_Descr *)__pyx_t_3);
-      __pyx_t_3 = 0;
-      __Pyx_DECREF(__pyx_v_new_offset);
-      __pyx_v_new_offset = __pyx_t_4;
-      __pyx_t_4 = 0;
+    if (likely(PyTuple_CheckExact(((PyObject *)__pyx_v_fields)))) {
+      PyObject* sequence = ((PyObject *)__pyx_v_fields);
+      if (unlikely(PyTuple_GET_SIZE(sequence) != 2)) {
+        if (PyTuple_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
+        else __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(sequence));
+        {__pyx_filename = __pyx_f[1]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      }
+      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
+      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+      __Pyx_INCREF(__pyx_t_3);
+      __Pyx_INCREF(__pyx_t_4);
     } else {
       __Pyx_UnpackTupleError(((PyObject *)__pyx_v_fields), 2);
-      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
+    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_XDECREF(((PyObject *)__pyx_v_child));
+    __pyx_v_child = ((PyArray_Descr *)__pyx_t_3);
+    __pyx_t_3 = 0;
+    __Pyx_XDECREF(__pyx_v_new_offset);
+    __pyx_v_new_offset = __pyx_t_4;
+    __pyx_t_4 = 0;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":786
+    /* "numpy.pxd":794
  *         child, new_offset = fields
  * 
  *         if (end - f) - (new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  * 
  */
-    __pyx_t_4 = PyInt_FromLong((__pyx_v_end - __pyx_v_f)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = PyInt_FromLong((__pyx_v_end - __pyx_v_f)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_3 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_5 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_5 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_5);
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __pyx_t_3 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_int_15, Py_LT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_int_15, Py_LT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_5);
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
     if (__pyx_t_6) {
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":787
+      /* "numpy.pxd":795
  * 
  *         if (end - f) - (new_offset - offset[0]) < 15:
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
  * 
  *         if ((child.byteorder == '>' and little_endian) or
  */
-      __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_9), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_9), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __Pyx_Raise(__pyx_t_5, 0, 0);
+      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       goto __pyx_L5;
     }
     __pyx_L5:;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":789
+    /* "numpy.pxd":797
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  * 
  *         if ((child.byteorder == '>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -2863,7 +3244,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     }
     if (!__pyx_t_7) {
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":790
+      /* "numpy.pxd":798
  * 
  *         if ((child.byteorder == '>' and little_endian) or
  *             (child.byteorder == '<' and not little_endian)):             # <<<<<<<<<<<<<<
@@ -2883,23 +3264,23 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     }
     if (__pyx_t_6) {
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":791
+      /* "numpy.pxd":799
  *         if ((child.byteorder == '>' and little_endian) or
  *             (child.byteorder == '<' and not little_endian)):
  *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
  *             # One could encode it in the format string and have Cython
  *             # complain instead, BUT: < and > in format strings also imply
  */
-      __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_10), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_10), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __Pyx_Raise(__pyx_t_5, 0, 0);
+      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       goto __pyx_L6;
     }
     __pyx_L6:;
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":801
+    /* "numpy.pxd":809
  * 
  *         # Output padding bytes
  *         while offset[0] < new_offset:             # <<<<<<<<<<<<<<
@@ -2907,16 +3288,16 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  *             f += 1
  */
     while (1) {
-      __pyx_t_5 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_new_offset, Py_LT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_new_offset, Py_LT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 801; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       if (!__pyx_t_6) break;
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":802
+      /* "numpy.pxd":810
  *         # Output padding bytes
  *         while offset[0] < new_offset:
  *             f[0] = 120 # "x"; pad byte             # <<<<<<<<<<<<<<
@@ -2925,7 +3306,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
       (__pyx_v_f[0]) = 120;
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":803
+      /* "numpy.pxd":811
  *         while offset[0] < new_offset:
  *             f[0] = 120 # "x"; pad byte
  *             f += 1             # <<<<<<<<<<<<<<
@@ -2934,7 +3315,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
  */
       __pyx_v_f = (__pyx_v_f + 1);
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":804
+      /* "numpy.pxd":812
  *             f[0] = 120 # "x"; pad byte
  *             f += 1
  *             offset[0] += 1             # <<<<<<<<<<<<<<
@@ -2945,7 +3326,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       (__pyx_v_offset[__pyx_t_10]) = ((__pyx_v_offset[__pyx_t_10]) + 1);
     }
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":806
+    /* "numpy.pxd":814
  *             offset[0] += 1
  * 
  *         offset[0] += child.itemsize             # <<<<<<<<<<<<<<
@@ -2955,7 +3336,7 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __pyx_t_10 = 0;
     (__pyx_v_offset[__pyx_t_10]) = ((__pyx_v_offset[__pyx_t_10]) + __pyx_v_child->elsize);
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":808
+    /* "numpy.pxd":816
  *         offset[0] += child.itemsize
  * 
  *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
@@ -2965,20 +3346,20 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     __pyx_t_6 = (!PyDataType_HASFIELDS(__pyx_v_child));
     if (__pyx_t_6) {
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":809
+      /* "numpy.pxd":817
  * 
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num             # <<<<<<<<<<<<<<
  *             if end - f < 5:
  *                 raise RuntimeError(u"Format string allocated too short.")
  */
-      __pyx_t_3 = PyInt_FromLong(__pyx_v_child->type_num); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 809; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyInt_FromLong(__pyx_v_child->type_num); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __Pyx_DECREF(__pyx_v_t);
+      __Pyx_XDECREF(__pyx_v_t);
       __pyx_v_t = __pyx_t_3;
       __pyx_t_3 = 0;
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":810
+      /* "numpy.pxd":818
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num
  *             if end - f < 5:             # <<<<<<<<<<<<<<
@@ -2988,282 +3369,282 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       __pyx_t_6 = ((__pyx_v_end - __pyx_v_f) < 5);
       if (__pyx_t_6) {
 
-        /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":811
+        /* "numpy.pxd":819
  *             t = child.type_num
  *             if end - f < 5:
  *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
  * 
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  */
-        __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_12), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_12), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_3);
-        __Pyx_Raise(__pyx_t_3, 0, 0);
+        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
         __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        {__pyx_filename = __pyx_f[1]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         goto __pyx_L10;
       }
       __pyx_L10:;
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":814
+      /* "numpy.pxd":822
  * 
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"             # <<<<<<<<<<<<<<
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  */
-      __pyx_t_3 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 814; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 98;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":815
+      /* "numpy.pxd":823
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"             # <<<<<<<<<<<<<<
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  */
-      __pyx_t_5 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 815; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 66;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":816
+      /* "numpy.pxd":824
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"             # <<<<<<<<<<<<<<
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  */
-      __pyx_t_3 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 104;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":817
+      /* "numpy.pxd":825
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"             # <<<<<<<<<<<<<<
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  */
-      __pyx_t_5 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 817; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 72;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":818
+      /* "numpy.pxd":826
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"             # <<<<<<<<<<<<<<
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  */
-      __pyx_t_3 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 105;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":819
+      /* "numpy.pxd":827
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"             # <<<<<<<<<<<<<<
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  */
-      __pyx_t_5 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 73;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":820
+      /* "numpy.pxd":828
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"             # <<<<<<<<<<<<<<
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  */
-      __pyx_t_3 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 108;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":821
+      /* "numpy.pxd":829
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"             # <<<<<<<<<<<<<<
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  */
-      __pyx_t_5 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 821; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 76;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":822
+      /* "numpy.pxd":830
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"             # <<<<<<<<<<<<<<
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  */
-      __pyx_t_3 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 113;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":823
+      /* "numpy.pxd":831
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"             # <<<<<<<<<<<<<<
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  */
-      __pyx_t_5 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 823; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 81;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":824
+      /* "numpy.pxd":832
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"             # <<<<<<<<<<<<<<
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  */
-      __pyx_t_3 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 824; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 102;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":825
+      /* "numpy.pxd":833
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"             # <<<<<<<<<<<<<<
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  */
-      __pyx_t_5 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 100;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":826
+      /* "numpy.pxd":834
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"             # <<<<<<<<<<<<<<
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  */
-      __pyx_t_3 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 103;
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":827
+      /* "numpy.pxd":835
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf             # <<<<<<<<<<<<<<
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
  */
-      __pyx_t_5 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 90;
@@ -3272,19 +3653,19 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":828
+      /* "numpy.pxd":836
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd             # <<<<<<<<<<<<<<
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
  */
-      __pyx_t_3 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 90;
@@ -3293,19 +3674,19 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":829
+      /* "numpy.pxd":837
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg             # <<<<<<<<<<<<<<
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
  *             else:
  */
-      __pyx_t_5 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 90;
@@ -3314,19 +3695,19 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
         goto __pyx_L11;
       }
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":830
+      /* "numpy.pxd":838
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"             # <<<<<<<<<<<<<<
  *             else:
  *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  */
-      __pyx_t_3 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       if (__pyx_t_6) {
         (__pyx_v_f[0]) = 79;
@@ -3334,30 +3715,30 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
       }
       /*else*/ {
 
-        /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":832
+        /* "numpy.pxd":840
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
  *             else:
  *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
  *             f += 1
  *         else:
  */
-        __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_7), __pyx_v_t); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_7), __pyx_v_t); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(((PyObject *)__pyx_t_5));
-        __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-        __Pyx_GOTREF(((PyObject *)__pyx_t_3));
+        __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __Pyx_GOTREF(__pyx_t_3);
         PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_5));
         __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
         __pyx_t_5 = 0;
-        __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_5);
         __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
-        __Pyx_Raise(__pyx_t_5, 0, 0);
+        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-        {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       }
       __pyx_L11:;
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":833
+      /* "numpy.pxd":841
  *             else:
  *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *             f += 1             # <<<<<<<<<<<<<<
@@ -3369,21 +3750,21 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
     }
     /*else*/ {
 
-      /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":837
+      /* "numpy.pxd":845
  *             # Cython ignores struct boundary information ("T{...}"),
  *             # so don't output it
  *             f = _util_dtypestring(child, f, end, offset)             # <<<<<<<<<<<<<<
  *     return f
  * 
  */
-      __pyx_t_11 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_11 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_11 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_11 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __pyx_v_f = __pyx_t_11;
     }
     __pyx_L9:;
   }
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":838
+  /* "numpy.pxd":846
  *             # so don't output it
  *             f = _util_dtypestring(child, f, end, offset)
  *     return f             # <<<<<<<<<<<<<<
@@ -3396,23 +3777,23 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
   __pyx_r = 0;
   goto __pyx_L0;
   __pyx_L1_error:;
-  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_1);
   __Pyx_XDECREF(__pyx_t_3);
   __Pyx_XDECREF(__pyx_t_4);
   __Pyx_XDECREF(__pyx_t_5);
-  __Pyx_AddTraceback("numpy._util_dtypestring");
+  __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __pyx_r = NULL;
   __pyx_L0:;
-  __Pyx_DECREF((PyObject *)__pyx_v_child);
-  __Pyx_DECREF(__pyx_v_fields);
-  __Pyx_DECREF(__pyx_v_childname);
-  __Pyx_DECREF(__pyx_v_new_offset);
-  __Pyx_DECREF(__pyx_v_t);
+  __Pyx_XDECREF((PyObject *)__pyx_v_child);
+  __Pyx_XDECREF(__pyx_v_fields);
+  __Pyx_XDECREF(__pyx_v_childname);
+  __Pyx_XDECREF(__pyx_v_new_offset);
+  __Pyx_XDECREF(__pyx_v_t);
   __Pyx_RefNannyFinishContext();
   return __pyx_r;
 }
 
-/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":953
+/* "numpy.pxd":961
  * 
  * 
  * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
@@ -3422,10 +3803,11 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx
 
 static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
   PyObject *__pyx_v_baseptr;
+  __Pyx_RefNannyDeclarations
   int __pyx_t_1;
   __Pyx_RefNannySetupContext("set_array_base");
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":955
+  /* "numpy.pxd":963
  * cdef inline void set_array_base(ndarray arr, object base):
  *      cdef PyObject* baseptr
  *      if base is None:             # <<<<<<<<<<<<<<
@@ -3435,7 +3817,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   __pyx_t_1 = (__pyx_v_base == Py_None);
   if (__pyx_t_1) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":956
+    /* "numpy.pxd":964
  *      cdef PyObject* baseptr
  *      if base is None:
  *          baseptr = NULL             # <<<<<<<<<<<<<<
@@ -3447,7 +3829,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   }
   /*else*/ {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":958
+    /* "numpy.pxd":966
  *          baseptr = NULL
  *      else:
  *          Py_INCREF(base) # important to do this before decref below!             # <<<<<<<<<<<<<<
@@ -3456,7 +3838,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
  */
     Py_INCREF(__pyx_v_base);
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":959
+    /* "numpy.pxd":967
  *      else:
  *          Py_INCREF(base) # important to do this before decref below!
  *          baseptr = <PyObject*>base             # <<<<<<<<<<<<<<
@@ -3467,7 +3849,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   }
   __pyx_L3:;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":960
+  /* "numpy.pxd":968
  *          Py_INCREF(base) # important to do this before decref below!
  *          baseptr = <PyObject*>base
  *      Py_XDECREF(arr.base)             # <<<<<<<<<<<<<<
@@ -3476,7 +3858,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
  */
   Py_XDECREF(__pyx_v_arr->base);
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":961
+  /* "numpy.pxd":969
  *          baseptr = <PyObject*>base
  *      Py_XDECREF(arr.base)
  *      arr.base = baseptr             # <<<<<<<<<<<<<<
@@ -3488,7 +3870,7 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
   __Pyx_RefNannyFinishContext();
 }
 
-/* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":963
+/* "numpy.pxd":971
  *      arr.base = baseptr
  * 
  * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
@@ -3498,10 +3880,11 @@ static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_a
 
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
   PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
   int __pyx_t_1;
   __Pyx_RefNannySetupContext("get_array_base");
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":964
+  /* "numpy.pxd":972
  * 
  * cdef inline object get_array_base(ndarray arr):
  *     if arr.base is NULL:             # <<<<<<<<<<<<<<
@@ -3511,7 +3894,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
   __pyx_t_1 = (__pyx_v_arr->base == NULL);
   if (__pyx_t_1) {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":965
+    /* "numpy.pxd":973
  * cdef inline object get_array_base(ndarray arr):
  *     if arr.base is NULL:
  *         return None             # <<<<<<<<<<<<<<
@@ -3526,7 +3909,7 @@ static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__py
   }
   /*else*/ {
 
-    /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":967
+    /* "numpy.pxd":975
  *         return None
  *     else:
  *         return <object>arr.base             # <<<<<<<<<<<<<<
@@ -3570,6 +3953,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
   {&__pyx_kp_s_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 0, 1, 0},
   {&__pyx_kp_s_16, __pyx_k_16, sizeof(__pyx_k_16), 0, 0, 1, 0},
   {&__pyx_kp_s_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 0, 1, 0},
+  {&__pyx_kp_s_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 0, 1, 0},
   {&__pyx_kp_u_3, __pyx_k_3, sizeof(__pyx_k_3), 0, 1, 0, 0},
   {&__pyx_kp_u_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 1, 0, 0},
   {&__pyx_kp_u_7, __pyx_k_7, sizeof(__pyx_k_7), 0, 1, 0, 0},
@@ -3583,126 +3967,234 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
   {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
   {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
   {&__pyx_n_s__analyseCython, __pyx_k__analyseCython, sizeof(__pyx_k__analyseCython), 0, 0, 1, 1},
-  {&__pyx_n_s__base, __pyx_k__base, sizeof(__pyx_k__base), 0, 0, 1, 1},
-  {&__pyx_n_s__buf, __pyx_k__buf, sizeof(__pyx_k__buf), 0, 0, 1, 1},
   {&__pyx_n_s__byte_offset, __pyx_k__byte_offset, sizeof(__pyx_k__byte_offset), 0, 0, 1, 1},
-  {&__pyx_n_s__byteorder, __pyx_k__byteorder, sizeof(__pyx_k__byteorder), 0, 0, 1, 1},
-  {&__pyx_n_s__descr, __pyx_k__descr, sizeof(__pyx_k__descr), 0, 0, 1, 1},
+  {&__pyx_n_s__csize, __pyx_k__csize, sizeof(__pyx_k__csize), 0, 0, 1, 1},
+  {&__pyx_n_s__cstream, __pyx_k__cstream, sizeof(__pyx_k__cstream), 0, 0, 1, 1},
+  {&__pyx_n_s__current, __pyx_k__current, sizeof(__pyx_k__current), 0, 0, 1, 1},
+  {&__pyx_n_s__dataOut, __pyx_k__dataOut, sizeof(__pyx_k__dataOut), 0, 0, 1, 1},
   {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1},
-  {&__pyx_n_s__fields, __pyx_k__fields, sizeof(__pyx_k__fields), 0, 0, 1, 1},
-  {&__pyx_n_s__format, __pyx_k__format, sizeof(__pyx_k__format), 0, 0, 1, 1},
+  {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1},
   {&__pyx_n_s__int64, __pyx_k__int64, sizeof(__pyx_k__int64), 0, 0, 1, 1},
-  {&__pyx_n_s__itemsize, __pyx_k__itemsize, sizeof(__pyx_k__itemsize), 0, 0, 1, 1},
-  {&__pyx_n_s__names, __pyx_k__names, sizeof(__pyx_k__names), 0, 0, 1, 1},
-  {&__pyx_n_s__ndim, __pyx_k__ndim, sizeof(__pyx_k__ndim), 0, 0, 1, 1},
+  {&__pyx_n_s__j, __pyx_k__j, sizeof(__pyx_k__j), 0, 0, 1, 1},
+  {&__pyx_n_s__key0, __pyx_k__key0, sizeof(__pyx_k__key0), 0, 0, 1, 1},
+  {&__pyx_n_s__key8, __pyx_k__key8, sizeof(__pyx_k__key8), 0, 0, 1, 1},
+  {&__pyx_n_s__last, __pyx_k__last, sizeof(__pyx_k__last), 0, 0, 1, 1},
+  {&__pyx_n_s__lenStream, __pyx_k__lenStream, sizeof(__pyx_k__lenStream), 0, 0, 1, 1},
   {&__pyx_n_s__numpy, __pyx_k__numpy, sizeof(__pyx_k__numpy), 0, 0, 1, 1},
-  {&__pyx_n_s__obj, __pyx_k__obj, sizeof(__pyx_k__obj), 0, 0, 1, 1},
   {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1},
-  {&__pyx_n_s__readonly, __pyx_k__readonly, sizeof(__pyx_k__readonly), 0, 0, 1, 1},
-  {&__pyx_n_s__shape, __pyx_k__shape, sizeof(__pyx_k__shape), 0, 0, 1, 1},
   {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1},
   {&__pyx_n_s__stream, __pyx_k__stream, sizeof(__pyx_k__stream), 0, 0, 1, 1},
-  {&__pyx_n_s__strides, __pyx_k__strides, sizeof(__pyx_k__strides), 0, 0, 1, 1},
-  {&__pyx_n_s__suboffsets, __pyx_k__suboffsets, sizeof(__pyx_k__suboffsets), 0, 0, 1, 1},
-  {&__pyx_n_s__type_num, __pyx_k__type_num, sizeof(__pyx_k__type_num), 0, 0, 1, 1},
+  {&__pyx_n_s__tmp64, __pyx_k__tmp64, sizeof(__pyx_k__tmp64), 0, 0, 1, 1},
+  {&__pyx_n_s__tmp64a, __pyx_k__tmp64a, sizeof(__pyx_k__tmp64a), 0, 0, 1, 1},
+  {&__pyx_n_s__tmp64b, __pyx_k__tmp64b, sizeof(__pyx_k__tmp64b), 0, 0, 1, 1},
+  {&__pyx_n_s__tmp64c, __pyx_k__tmp64c, sizeof(__pyx_k__tmp64c), 0, 0, 1, 1},
+  {&__pyx_n_s__tmp64d, __pyx_k__tmp64d, sizeof(__pyx_k__tmp64d), 0, 0, 1, 1},
+  {&__pyx_n_s__tmp64e, __pyx_k__tmp64e, sizeof(__pyx_k__tmp64e), 0, 0, 1, 1},
+  {&__pyx_n_s__tmp64f, __pyx_k__tmp64f, sizeof(__pyx_k__tmp64f), 0, 0, 1, 1},
+  {&__pyx_n_s__tmp64g, __pyx_k__tmp64g, sizeof(__pyx_k__tmp64g), 0, 0, 1, 1},
+  {&__pyx_n_s__tmp8, __pyx_k__tmp8, sizeof(__pyx_k__tmp8), 0, 0, 1, 1},
+  {&__pyx_n_s__utmp8a, __pyx_k__utmp8a, sizeof(__pyx_k__utmp8a), 0, 0, 1, 1},
+  {&__pyx_n_s__utmp8b, __pyx_k__utmp8b, sizeof(__pyx_k__utmp8b), 0, 0, 1, 1},
+  {&__pyx_n_s__utmp8c, __pyx_k__utmp8c, sizeof(__pyx_k__utmp8c), 0, 0, 1, 1},
+  {&__pyx_n_s__utmp8d, __pyx_k__utmp8d, sizeof(__pyx_k__utmp8d), 0, 0, 1, 1},
+  {&__pyx_n_s__utmp8e, __pyx_k__utmp8e, sizeof(__pyx_k__utmp8e), 0, 0, 1, 1},
+  {&__pyx_n_s__utmp8f, __pyx_k__utmp8f, sizeof(__pyx_k__utmp8f), 0, 0, 1, 1},
+  {&__pyx_n_s__utmp8g, __pyx_k__utmp8g, sizeof(__pyx_k__utmp8g), 0, 0, 1, 1},
   {&__pyx_n_s__zeros, __pyx_k__zeros, sizeof(__pyx_k__zeros), 0, 0, 1, 1},
   {0, 0, 0, 0, 0, 0, 0}
 };
 static int __Pyx_InitCachedBuiltins(void) {
-  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 219; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 224; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   return 0;
   __pyx_L1_error:;
   return -1;
 }
 
 static int __Pyx_InitCachedConstants(void) {
+  __Pyx_RefNannyDeclarations
   __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants");
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":206
+  /* "numpy.pxd":211
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
  * 
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  */
-  __pyx_k_tuple_2 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 206; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_2));
+  __pyx_k_tuple_2 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 211; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_2);
   __Pyx_INCREF(((PyObject *)__pyx_kp_u_1));
   PyTuple_SET_ITEM(__pyx_k_tuple_2, 0, ((PyObject *)__pyx_kp_u_1));
   __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_1));
   __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":210
+  /* "numpy.pxd":215
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
  * 
  *             info.buf = PyArray_DATA(self)
  */
-  __pyx_k_tuple_4 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 210; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_4));
+  __pyx_k_tuple_4 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 215; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_4);
   __Pyx_INCREF(((PyObject *)__pyx_kp_u_3));
   PyTuple_SET_ITEM(__pyx_k_tuple_4, 0, ((PyObject *)__pyx_kp_u_3));
   __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_3));
   __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_4));
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":248
+  /* "numpy.pxd":253
  *                 if ((descr.byteorder == '>' and little_endian) or
  *                     (descr.byteorder == '<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"
  */
-  __pyx_k_tuple_6 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 248; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_6));
+  __pyx_k_tuple_6 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 253; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_6);
   __Pyx_INCREF(((PyObject *)__pyx_kp_u_5));
   PyTuple_SET_ITEM(__pyx_k_tuple_6, 0, ((PyObject *)__pyx_kp_u_5));
   __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_5));
   __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_6));
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":787
+  /* "numpy.pxd":795
  * 
  *         if (end - f) - (new_offset - offset[0]) < 15:
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
  * 
  *         if ((child.byteorder == '>' and little_endian) or
  */
-  __pyx_k_tuple_9 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_9));
+  __pyx_k_tuple_9 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_9)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_9);
   __Pyx_INCREF(((PyObject *)__pyx_kp_u_8));
   PyTuple_SET_ITEM(__pyx_k_tuple_9, 0, ((PyObject *)__pyx_kp_u_8));
   __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_8));
   __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_9));
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":791
+  /* "numpy.pxd":799
  *         if ((child.byteorder == '>' and little_endian) or
  *             (child.byteorder == '<' and not little_endian)):
  *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
  *             # One could encode it in the format string and have Cython
  *             # complain instead, BUT: < and > in format strings also imply
  */
-  __pyx_k_tuple_10 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_10));
+  __pyx_k_tuple_10 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_10)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_10);
   __Pyx_INCREF(((PyObject *)__pyx_kp_u_5));
   PyTuple_SET_ITEM(__pyx_k_tuple_10, 0, ((PyObject *)__pyx_kp_u_5));
   __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_5));
   __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_10));
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":811
+  /* "numpy.pxd":819
  *             t = child.type_num
  *             if end - f < 5:
  *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
  * 
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  */
-  __pyx_k_tuple_12 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(((PyObject *)__pyx_k_tuple_12));
+  __pyx_k_tuple_12 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 819; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_12);
   __Pyx_INCREF(((PyObject *)__pyx_kp_u_11));
   PyTuple_SET_ITEM(__pyx_k_tuple_12, 0, ((PyObject *)__pyx_kp_u_11));
   __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_11));
   __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12));
+
+  /* "byte_offset.pyx":25
+ * 
+ * @cython.boundscheck(False)
+ * def analyseCython(bytes stream not None, size=None):             # <<<<<<<<<<<<<<
+ *     """
+ *     Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
+ */
+  __pyx_k_tuple_18 = PyTuple_New(28); if (unlikely(!__pyx_k_tuple_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_18);
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__stream));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 0, ((PyObject *)__pyx_n_s__stream));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__stream));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__size));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 1, ((PyObject *)__pyx_n_s__size));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__size));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__i));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 2, ((PyObject *)__pyx_n_s__i));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__i));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__j));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 3, ((PyObject *)__pyx_n_s__j));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__j));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__last));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 4, ((PyObject *)__pyx_n_s__last));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__last));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__current));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 5, ((PyObject *)__pyx_n_s__current));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__current));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__tmp8));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 6, ((PyObject *)__pyx_n_s__tmp8));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tmp8));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__utmp8a));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 7, ((PyObject *)__pyx_n_s__utmp8a));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__utmp8a));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__utmp8b));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 8, ((PyObject *)__pyx_n_s__utmp8b));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__utmp8b));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__utmp8c));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 9, ((PyObject *)__pyx_n_s__utmp8c));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__utmp8c));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__utmp8d));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 10, ((PyObject *)__pyx_n_s__utmp8d));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__utmp8d));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__utmp8e));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 11, ((PyObject *)__pyx_n_s__utmp8e));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__utmp8e));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__utmp8f));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 12, ((PyObject *)__pyx_n_s__utmp8f));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__utmp8f));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__utmp8g));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 13, ((PyObject *)__pyx_n_s__utmp8g));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__utmp8g));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__tmp64));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 14, ((PyObject *)__pyx_n_s__tmp64));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tmp64));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__tmp64a));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 15, ((PyObject *)__pyx_n_s__tmp64a));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tmp64a));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__tmp64b));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 16, ((PyObject *)__pyx_n_s__tmp64b));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tmp64b));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__tmp64c));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 17, ((PyObject *)__pyx_n_s__tmp64c));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tmp64c));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__tmp64d));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 18, ((PyObject *)__pyx_n_s__tmp64d));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tmp64d));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__tmp64e));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 19, ((PyObject *)__pyx_n_s__tmp64e));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tmp64e));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__tmp64f));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 20, ((PyObject *)__pyx_n_s__tmp64f));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tmp64f));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__tmp64g));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 21, ((PyObject *)__pyx_n_s__tmp64g));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__tmp64g));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__key8));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 22, ((PyObject *)__pyx_n_s__key8));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__key8));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__key0));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 23, ((PyObject *)__pyx_n_s__key0));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__key0));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__csize));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 24, ((PyObject *)__pyx_n_s__csize));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__csize));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__lenStream));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 25, ((PyObject *)__pyx_n_s__lenStream));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__lenStream));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__cstream));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 26, ((PyObject *)__pyx_n_s__cstream));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__cstream));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__dataOut));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 27, ((PyObject *)__pyx_n_s__dataOut));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dataOut));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_18));
+  __pyx_k_codeobj_19 = (PyObject*)__Pyx_PyCode_New(2, 0, 28, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_18, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_20, __pyx_n_s__analyseCython, 25, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_19)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_RefNannyFinishContext();
   return 0;
   __pyx_L1_error:;
@@ -3727,8 +4219,8 @@ PyMODINIT_FUNC PyInit_byte_offset(void)
 #endif
 {
   PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannyDeclarations
   #if CYTHON_REFNANNY
-  void* __pyx_refnanny = NULL;
   __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
   if (!__Pyx_RefNanny) {
       PyErr_Clear();
@@ -3736,12 +4228,16 @@ PyMODINIT_FUNC PyInit_byte_offset(void)
       if (!__Pyx_RefNanny)
           Py_FatalError("failed to import 'refnanny' module");
   }
-  __pyx_refnanny = __Pyx_RefNanny->SetupContext("PyMODINIT_FUNC PyInit_byte_offset(void)", __LINE__, __FILE__);
   #endif
+  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_byte_offset(void)");
+  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  #ifdef __pyx_binding_PyCFunctionType_USED
-  if (__pyx_binding_PyCFunctionType_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  #ifdef __Pyx_CyFunction_USED
+  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  #endif
+  #ifdef __Pyx_FusedFunction_USED
+  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   #endif
   /*--- Library function declarations ---*/
   /*--- Threads initialization code ---*/
@@ -3773,88 +4269,90 @@ PyMODINIT_FUNC PyInit_byte_offset(void)
   /*--- Constants init code ---*/
   if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   /*--- Global init code ---*/
+  /*--- Variable export code ---*/
   /*--- Function export code ---*/
   /*--- Type init code ---*/
   /*--- Type import code ---*/
-  __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 149; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 159; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 163; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 172; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 151; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 165; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 174; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  /*--- Variable import code ---*/
   /*--- Function import code ---*/
   /*--- Execution code ---*/
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":15
+  /* "byte_offset.pyx":14
  * """
  * 
  * __author__ = "Jrme Kieffer"             # <<<<<<<<<<<<<<
  * __contact__ = "jerome.kieffer at esrf.eu"
  * __license__ = "GPLv3+"
  */
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____author__, ((PyObject *)__pyx_kp_s_14)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____author__, ((PyObject *)__pyx_kp_s_14)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":16
+  /* "byte_offset.pyx":15
  * 
  * __author__ = "Jrme Kieffer"
  * __contact__ = "jerome.kieffer at esrf.eu"             # <<<<<<<<<<<<<<
  * __license__ = "GPLv3+"
  * __copyright__ = "2010, European Synchrotron Radiation Facility, Grenoble, France"
  */
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____contact__, ((PyObject *)__pyx_kp_s_15)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____contact__, ((PyObject *)__pyx_kp_s_15)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":17
+  /* "byte_offset.pyx":16
  * __author__ = "Jrme Kieffer"
  * __contact__ = "jerome.kieffer at esrf.eu"
  * __license__ = "GPLv3+"             # <<<<<<<<<<<<<<
  * __copyright__ = "2010, European Synchrotron Radiation Facility, Grenoble, France"
  * 
  */
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____license__, ((PyObject *)__pyx_kp_s_16)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____license__, ((PyObject *)__pyx_kp_s_16)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":18
+  /* "byte_offset.pyx":17
  * __contact__ = "jerome.kieffer at esrf.eu"
  * __license__ = "GPLv3+"
  * __copyright__ = "2010, European Synchrotron Radiation Facility, Grenoble, France"             # <<<<<<<<<<<<<<
  * 
  * 
  */
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____copyright__, ((PyObject *)__pyx_kp_s_17)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____copyright__, ((PyObject *)__pyx_kp_s_17)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":22
+  /* "byte_offset.pyx":21
  * 
  * cimport numpy
  * import numpy             # <<<<<<<<<<<<<<
  * import cython
  * 
  */
-  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__numpy), 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__numpy), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__numpy, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__numpy, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":26
+  /* "byte_offset.pyx":25
  * 
  * @cython.boundscheck(False)
- * def analyseCython(char * stream, int size):             # <<<<<<<<<<<<<<
+ * def analyseCython(bytes stream not None, size=None):             # <<<<<<<<<<<<<<
  *     """
  *     Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
  */
-  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11byte_offset_0analyseCython, NULL, __pyx_n_s__byte_offset); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11byte_offset_analyseCython, NULL, __pyx_n_s__byte_offset); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__analyseCython, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__analyseCython, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "/home/kieffer/workspace-local/fabio/trunk/src/byte_offset.pyx":1
- * # coding: utf8             # <<<<<<<<<<<<<<
- * """
- * Authors:      Jrme Kieffer, ESRF
+  /* "byte_offset.pyx":1
+ * """             # <<<<<<<<<<<<<<
+ * Authors:      Jerome Kieffer, ESRF
+ * Email:        jerome.kieffer at esrf.eu
  */
   __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(((PyObject *)__pyx_t_1));
   if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
 
-  /* "/usr/lib/pymodules/python2.6/Cython/Includes/numpy.pxd":963
+  /* "numpy.pxd":971
  *      arr.base = baseptr
  * 
  * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
@@ -3865,7 +4363,7 @@ PyMODINIT_FUNC PyInit_byte_offset(void)
   __pyx_L1_error:;
   __Pyx_XDECREF(__pyx_t_1);
   if (__pyx_m) {
-    __Pyx_AddTraceback("init byte_offset");
+    __Pyx_AddTraceback("init byte_offset", __pyx_clineno, __pyx_lineno, __pyx_filename);
     Py_DECREF(__pyx_m); __pyx_m = 0;
   } else if (!PyErr_Occurred()) {
     PyErr_SetString(PyExc_ImportError, "init byte_offset");
@@ -3881,6 +4379,22 @@ PyMODINIT_FUNC PyInit_byte_offset(void)
 
 /* Runtime support code */
 
+#if CYTHON_REFNANNY
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
+    PyObject *m = NULL, *p = NULL;
+    void *r = NULL;
+    m = PyImport_ImportModule((char *)modname);
+    if (!m) goto end;
+    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
+    if (!p) goto end;
+    r = PyLong_AsVoidPtr(p);
+end:
+    Py_XDECREF(p);
+    Py_XDECREF(m);
+    return (__Pyx_RefNannyAPIStruct *)r;
+}
+#endif /* CYTHON_REFNANNY */
+
 static void __Pyx_RaiseDoubleKeywordsError(
     const char* func_name,
     PyObject* kw_name)
@@ -3894,36 +4408,6 @@ static void __Pyx_RaiseDoubleKeywordsError(
         #endif
 }
 
-static void __Pyx_RaiseArgtupleInvalid(
-    const char* func_name,
-    int exact,
-    Py_ssize_t num_min,
-    Py_ssize_t num_max,
-    Py_ssize_t num_found)
-{
-    Py_ssize_t num_expected;
-    const char *number, *more_or_less;
-
-    if (num_found < num_min) {
-        num_expected = num_min;
-        more_or_less = "at least";
-    } else {
-        num_expected = num_max;
-        more_or_less = "at most";
-    }
-    if (exact) {
-        more_or_less = "exactly";
-    }
-    number = (num_expected == 1) ? "" : "s";
-    PyErr_Format(PyExc_TypeError,
-        #if PY_VERSION_HEX < 0x02050000
-            "%s() takes %s %d positional argument%s (%d given)",
-        #else
-            "%s() takes %s %zd positional argument%s (%zd given)",
-        #endif
-        func_name, more_or_less, num_expected, number, num_found);
-}
-
 static int __Pyx_ParseOptionalKeywords(
     PyObject *kwds,
     PyObject **argnames[],
@@ -4003,11 +4487,64 @@ bad:
     return -1;
 }
 
+static void __Pyx_RaiseArgtupleInvalid(
+    const char* func_name,
+    int exact,
+    Py_ssize_t num_min,
+    Py_ssize_t num_max,
+    Py_ssize_t num_found)
+{
+    Py_ssize_t num_expected;
+    const char *more_or_less;
+
+    if (num_found < num_min) {
+        num_expected = num_min;
+        more_or_less = "at least";
+    } else {
+        num_expected = num_max;
+        more_or_less = "at most";
+    }
+    if (exact) {
+        more_or_less = "exactly";
+    }
+    PyErr_Format(PyExc_TypeError,
+                 "%s() takes %s %"PY_FORMAT_SIZE_T"d positional argument%s (%"PY_FORMAT_SIZE_T"d given)",
+                 func_name, more_or_less, num_expected,
+                 (num_expected == 1) ? "" : "s", num_found);
+}
+
+static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
+    const char *name, int exact)
+{
+    if (!type) {
+        PyErr_Format(PyExc_SystemError, "Missing type object");
+        return 0;
+    }
+    if (none_allowed && obj == Py_None) return 1;
+    else if (exact) {
+        if (Py_TYPE(obj) == type) return 1;
+    }
+    else {
+        if (PyObject_TypeCheck(obj, type)) return 1;
+    }
+    PyErr_Format(PyExc_TypeError,
+        "Argument '%s' has incorrect type (expected %s, got %s)",
+        name, type->tp_name, Py_TYPE(obj)->tp_name);
+    return 0;
+}
+
 static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
     PyObject *result;
     result = PyObject_GetAttr(dict, name);
-    if (!result)
-        PyErr_SetObject(PyExc_NameError, name);
+    if (!result) {
+        if (dict != __pyx_b) {
+            PyErr_Clear();
+            result = PyObject_GetAttr(__pyx_b, name);
+        }
+        if (!result) {
+            PyErr_SetObject(PyExc_NameError, name);
+        }
+    }
     return result;
 }
 
@@ -4022,21 +4559,11 @@ static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
                  Py_TYPE(obj)->tp_name, type->tp_name);
     return 0;
 }
-
 static CYTHON_INLINE int __Pyx_IsLittleEndian(void) {
   unsigned int n = 1;
   return *(unsigned char*)(&n) != 0;
 }
 
-typedef struct {
-  __Pyx_StructField root;
-  __Pyx_BufFmt_StackElem* head;
-  size_t fmt_offset;
-  int new_count, enc_count;
-  int is_complex;
-  char enc_type;
-  char packmode;
-} __Pyx_BufFmt_Context;
 
 static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
                               __Pyx_BufFmt_StackElem* stack,
@@ -4050,7 +4577,8 @@ static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
   ctx->head->field = &ctx->root;
   ctx->fmt_offset = 0;
   ctx->head->parent_offset = 0;
-  ctx->packmode = '@';
+  ctx->new_packmode = '@';
+  ctx->enc_packmode = '@';
   ctx->new_count = 1;
   ctx->enc_count = 0;
   ctx->enc_type = 0;
@@ -4080,8 +4608,8 @@ static int __Pyx_BufFmt_ParseNumber(const char** ts) {
 }
 
 static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) {
-  char msg[] = {ch, 0};
-  PyErr_Format(PyExc_ValueError, "Unexpected format string character: '%s'", msg);
+  PyErr_Format(PyExc_ValueError,
+               "Unexpected format string character: '%c'", ch);
 }
 
 static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) {
@@ -4154,7 +4682,7 @@ typedef struct { char c; double x; } __Pyx_st_double;
 typedef struct { char c; long double x; } __Pyx_st_longdouble;
 typedef struct { char c; void *x; } __Pyx_st_void_p;
 #ifdef HAVE_LONG_LONG
-typedef struct { char c; PY_LONG_LONG x; } __Pyx_s_long_long;
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;
 #endif
 
 static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, int is_complex) {
@@ -4164,7 +4692,7 @@ static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, int is_complex) {
     case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int);
     case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long);
 #ifdef HAVE_LONG_LONG
-    case 'q': case 'Q': return sizeof(__Pyx_s_long_long) - sizeof(PY_LONG_LONG);
+    case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG);
 #endif
     case 'f': return sizeof(__Pyx_st_float) - sizeof(float);
     case 'd': return sizeof(__Pyx_st_double) - sizeof(double);
@@ -4176,7 +4704,7 @@ static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, int is_complex) {
     }
 }
 
-static size_t __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {
+static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {
   switch (ch) {
     case 'c': case 'b': case 'h': case 'i': case 'l': case 'q': return 'I';
     case 'B': case 'H': case 'I': case 'L': case 'Q': return 'U';
@@ -4190,6 +4718,7 @@ static size_t __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {
   }
 }
 
+
 static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) {
   if (ctx->head == NULL || ctx->head->field == &ctx->root) {
     const char* expected;
@@ -4224,14 +4753,14 @@ static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {
     __Pyx_StructField* field = ctx->head->field;
     __Pyx_TypeInfo* type = field->type;
 
-    if (ctx->packmode == '@' || ctx->packmode == '^') {
+    if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') {
       size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex);
     } else {
       size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex);
     }
-    if (ctx->packmode == '@') {
-      int align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex);
-      int align_mod_offset;
+    if (ctx->enc_packmode == '@') {
+      size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex);
+      size_t align_mod_offset;
       if (align_at == 0) return -1;
       align_mod_offset = ctx->fmt_offset % align_at;
       if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset;
@@ -4254,8 +4783,8 @@ static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {
     offset = ctx->head->parent_offset + field->offset;
     if (ctx->fmt_offset != offset) {
       PyErr_Format(PyExc_ValueError,
-                   "Buffer dtype mismatch; next field is at offset %"PY_FORMAT_SIZE_T"d "
-                   "but %"PY_FORMAT_SIZE_T"d expected", ctx->fmt_offset, offset);
+                   "Buffer dtype mismatch; next field is at offset %"PY_FORMAT_SIZE_T"d but %"PY_FORMAT_SIZE_T"d expected",
+                   (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset);
       return -1;
     }
 
@@ -4296,14 +4825,6 @@ static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {
   return 0;
 }
 
-static int __Pyx_BufFmt_FirstPack(__Pyx_BufFmt_Context* ctx) {
-  if (ctx->enc_type != 0 || ctx->packmode != '@') {
-    PyErr_SetString(PyExc_ValueError, "Buffer packing mode currently only allowed at beginning of format string (this is a defect)");
-    return -1;
-  }
-  return 0;
-}
-
 static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {
   int got_Z = 0;
   while (1) {
@@ -4329,8 +4850,7 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha
           PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler");
           return NULL;
         }
-        if (__Pyx_BufFmt_FirstPack(ctx) == -1) return NULL;
-        ctx->packmode = '=';
+        ctx->new_packmode = '=';
         ++ts;
         break;
       case '>':
@@ -4339,21 +4859,18 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha
           PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler");
           return NULL;
         }
-        if (__Pyx_BufFmt_FirstPack(ctx) == -1) return NULL;
-        ctx->packmode = '=';
+        ctx->new_packmode = '=';
         ++ts;
         break;
       case '=':
       case '@':
       case '^':
-        if (__Pyx_BufFmt_FirstPack(ctx) == -1) return NULL;
-        ctx->packmode = *ts++;
+        ctx->new_packmode = *ts++;
         break;
       case 'T': /* substruct */
         {
-          int i;
           const char* ts_after_sub;
-          int struct_count = ctx->new_count;
+          size_t i, struct_count = ctx->new_count;
           ctx->new_count = 1;
           ++ts;
           if (*ts != '{') {
@@ -4378,6 +4895,7 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha
         ctx->new_count = 1;
         ctx->enc_count = 0;
         ctx->enc_type = 0;
+        ctx->enc_packmode = ctx->new_packmode;
         ++ts;
         break;
       case 'Z':
@@ -4391,13 +4909,15 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha
       case 'l': case 'L': case 'q': case 'Q':
       case 'f': case 'd': case 'g':
       case 'O':
-        if (ctx->enc_type == *ts && got_Z == ctx->is_complex) {
+        if (ctx->enc_type == *ts && got_Z == ctx->is_complex &&
+            ctx->enc_packmode == ctx->new_packmode) {
           /* Continue pooling same type */
           ctx->enc_count += ctx->new_count;
         } else {
           /* New type */
           if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
           ctx->enc_count = ctx->new_count;
+          ctx->enc_packmode = ctx->new_packmode;
           ctx->enc_type = *ts;
           ctx->is_complex = got_Z;
         }
@@ -4405,17 +4925,21 @@ static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const cha
         ctx->new_count = 1;
         got_Z = 0;
         break;
+      case ':':
+        ++ts;
+        while(*ts != ':') ++ts;
+        ++ts;
+        break;
       default:
         {
-          ctx->new_count = __Pyx_BufFmt_ParseNumber(&ts);
-          if (ctx->new_count == -1) { /* First char was not a digit */
-            char msg[2] = { *ts, 0 };
+          int number = __Pyx_BufFmt_ParseNumber(&ts);
+          if (number == -1) { /* First char was not a digit */
             PyErr_Format(PyExc_ValueError,
-                         "Does not understand character buffer dtype format string ('%s')", msg);
+                         "Does not understand character buffer dtype format string ('%c')", *ts);
             return NULL;
           }
+          ctx->new_count = (size_t)number;
         }
-
     }
   }
 }
@@ -4428,8 +4952,11 @@ static CYTHON_INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) {
   buf->suboffsets = __Pyx_minusones;
 }
 
-static CYTHON_INLINE int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* obj, __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack) {
-  if (obj == Py_None) {
+static CYTHON_INLINE int __Pyx_GetBufferAndValidate(
+        Py_buffer* buf, PyObject* obj,  __Pyx_TypeInfo* dtype, int flags,
+        int nd, int cast, __Pyx_BufFmt_StackElem* stack)
+{
+  if (obj == Py_None || obj == NULL) {
     __Pyx_ZeroBuffer(buf);
     return 0;
   }
@@ -4450,8 +4977,7 @@ static CYTHON_INLINE int __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* ob
     PyErr_Format(PyExc_ValueError,
       "Item size of buffer (%"PY_FORMAT_SIZE_T"d byte%s) does not match size of '%s' (%"PY_FORMAT_SIZE_T"d byte%s)",
       buf->itemsize, (buf->itemsize > 1) ? "s" : "",
-      dtype->name,
-      dtype->size, (dtype->size > 1) ? "s" : "");
+      dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : "");
     goto fail;
   }
   if (buf->suboffsets == NULL) buf->suboffsets = __Pyx_minusones;
@@ -4467,10 +4993,6 @@ static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {
   __Pyx_ReleaseBuffer(info);
 }
 
-static void __Pyx_RaiseBufferFallbackError(void) {
-  PyErr_Format(PyExc_ValueError,
-     "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!");
-}
 
 
 static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
@@ -4500,27 +5022,153 @@ static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyOb
 }
 
 
-static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
-    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+#if PY_MAJOR_VERSION < 3
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
+    /* cause is unused */
+    Py_XINCREF(type);
+    Py_XINCREF(value);
+    Py_XINCREF(tb);
+    /* First, check the traceback argument, replacing None with NULL. */
+    if (tb == Py_None) {
+        Py_DECREF(tb);
+        tb = 0;
+    }
+    else if (tb != NULL && !PyTraceBack_Check(tb)) {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: arg 3 must be a traceback or None");
+        goto raise_error;
+    }
+    /* Next, replace a missing value with None */
+    if (value == NULL) {
+        value = Py_None;
+        Py_INCREF(value);
+    }
+    #if PY_VERSION_HEX < 0x02050000
+    if (!PyClass_Check(type))
+    #else
+    if (!PyType_Check(type))
+    #endif
+    {
+        /* Raising an instance.  The value should be a dummy. */
+        if (value != Py_None) {
+            PyErr_SetString(PyExc_TypeError,
+                "instance exception may not have a separate value");
+            goto raise_error;
+        }
+        /* Normalize to raise <class>, <instance> */
+        Py_DECREF(value);
+        value = type;
+        #if PY_VERSION_HEX < 0x02050000
+            if (PyInstance_Check(type)) {
+                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
+                Py_INCREF(type);
+            }
+            else {
+                type = 0;
+                PyErr_SetString(PyExc_TypeError,
+                    "raise: exception must be an old-style class or instance");
+                goto raise_error;
+            }
+        #else
+            type = (PyObject*) Py_TYPE(type);
+            Py_INCREF(type);
+            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
+                PyErr_SetString(PyExc_TypeError,
+                    "raise: exception class must be a subclass of BaseException");
+                goto raise_error;
+            }
+        #endif
+    }
+
+    __Pyx_ErrRestore(type, value, tb);
+    return;
+raise_error:
+    Py_XDECREF(value);
+    Py_XDECREF(type);
+    Py_XDECREF(tb);
+    return;
 }
 
+#else /* Python 3+ */
+
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
+    if (tb == Py_None) {
+        tb = 0;
+    } else if (tb && !PyTraceBack_Check(tb)) {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: arg 3 must be a traceback or None");
+        goto bad;
+    }
+    if (value == Py_None)
+        value = 0;
+
+    if (PyExceptionInstance_Check(type)) {
+        if (value) {
+            PyErr_SetString(PyExc_TypeError,
+                "instance exception may not have a separate value");
+            goto bad;
+        }
+        value = type;
+        type = (PyObject*) Py_TYPE(value);
+    } else if (!PyExceptionClass_Check(type)) {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: exception class must be a subclass of BaseException");
+        goto bad;
+    }
+
+    if (cause) {
+        PyObject *fixed_cause;
+        if (PyExceptionClass_Check(cause)) {
+            fixed_cause = PyObject_CallObject(cause, NULL);
+            if (fixed_cause == NULL)
+                goto bad;
+        }
+        else if (PyExceptionInstance_Check(cause)) {
+            fixed_cause = cause;
+            Py_INCREF(fixed_cause);
+        }
+        else {
+            PyErr_SetString(PyExc_TypeError,
+                            "exception causes must derive from "
+                            "BaseException");
+            goto bad;
+        }
+        if (!value) {
+            value = PyObject_CallObject(type, NULL);
+        }
+        PyException_SetCause(value, fixed_cause);
+    }
+
+    PyErr_SetObject(type, value);
+
+    if (tb) {
+        PyThreadState *tstate = PyThreadState_GET();
+        PyObject* tmp_tb = tstate->curexc_traceback;
+        if (tb != tmp_tb) {
+            Py_INCREF(tb);
+            tstate->curexc_traceback = tb;
+            Py_XDECREF(tmp_tb);
+        }
+    }
+
+bad:
+    return;
+}
+#endif
+
 static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
     PyErr_Format(PyExc_ValueError,
-        #if PY_VERSION_HEX < 0x02050000
-                 "need more than %d value%s to unpack", (int)index,
-        #else
-                 "need more than %zd value%s to unpack", index,
-        #endif
-                 (index == 1) ? "" : "s");
+                 "need more than %"PY_FORMAT_SIZE_T"d value%s to unpack",
+                 index, (index == 1) ? "" : "s");
 }
 
 static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
     PyErr_Format(PyExc_ValueError,
-        #if PY_VERSION_HEX < 0x02050000
-            "too many values to unpack (expected %d)", (int)expected);
-        #else
-            "too many values to unpack (expected %zd)", expected);
-        #endif
+                 "too many values to unpack (expected %"PY_FORMAT_SIZE_T"d)", expected);
+}
+
+static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
 }
 
 static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
@@ -4536,20 +5184,23 @@ static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
 #if PY_MAJOR_VERSION < 3
 static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) {
   #if PY_VERSION_HEX >= 0x02060000
-  if (Py_TYPE(obj)->tp_flags & Py_TPFLAGS_HAVE_NEWBUFFER)
-      return PyObject_GetBuffer(obj, view, flags);
+  if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags);
   #endif
-  if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) return __pyx_pf_5numpy_7ndarray_0__getbuffer__(obj, view, flags);
-  else {
-  PyErr_Format(PyExc_TypeError, "'%100s' does not have the buffer interface", Py_TYPE(obj)->tp_name);
+  if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) return __pyx_pf_5numpy_7ndarray___getbuffer__(obj, view, flags);
+        else {
+          PyErr_Format(PyExc_TypeError, "'%100s' does not have the buffer interface", Py_TYPE(obj)->tp_name);
   return -1;
     }
-}
+       }
 
 static void __Pyx_ReleaseBuffer(Py_buffer *view) {
   PyObject* obj = view->obj;
   if (obj) {
+    #if PY_VERSION_HEX >= 0x02060000
+    if (PyObject_CheckBuffer(obj)) {PyBuffer_Release(view); return;}
+    #endif
 if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) __pyx_pf_5numpy_7ndarray_1__releasebuffer__(obj, view);
+    
     Py_DECREF(obj);
     view->obj = NULL;
   }
@@ -4557,7 +5208,7 @@ if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) __pyx_pf_5numpy_7ndarra
 
 #endif
 
-static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) {
     PyObject *py_import = 0;
     PyObject *empty_list = 0;
     PyObject *module = 0;
@@ -4581,8 +5232,23 @@ static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list) {
     empty_dict = PyDict_New();
     if (!empty_dict)
         goto bad;
+    #if PY_VERSION_HEX >= 0x02050000
+    {
+        PyObject *py_level = PyInt_FromLong(level);
+        if (!py_level)
+            goto bad;
+        module = PyObject_CallFunctionObjArgs(py_import,
+            name, global_dict, empty_dict, list, py_level, NULL);
+        Py_DECREF(py_level);
+    }
+    #else
+    if (level>0) {
+        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
+        goto bad;
+    }
     module = PyObject_CallFunctionObjArgs(py_import,
         name, global_dict, empty_dict, list, NULL);
+    #endif
 bad:
     Py_XDECREF(empty_list);
     Py_XDECREF(py_import);
@@ -4656,11 +5322,11 @@ bad:
     }
     #if 1
         static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex z) {
-//          #if HAVE_HYPOT
-//            return hypotf(z.real, z.imag);
-//          #else
+          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
             return sqrtf(z.real*z.real + z.imag*z.imag);
-//          #endif
+          #else
+            return hypotf(z.real, z.imag);
+          #endif
         }
         static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_powf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
             __pyx_t_float_complex z;
@@ -4776,11 +5442,11 @@ bad:
     }
     #if 1
         static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex z) {
-//          #if HAVE_HYPOT
-//            return hypot(z.real, z.imag);
-//          #else
+          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
             return sqrt(z.real*z.real + z.imag*z.imag);
-//          #endif
+          #else
+            return hypot(z.real, z.imag);
+          #endif
         }
         static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow(__pyx_t_double_complex a, __pyx_t_double_complex b) {
             __pyx_t_double_complex z;
@@ -4830,116 +5496,6 @@ bad:
     #endif
 #endif
 
-#if PY_MAJOR_VERSION < 3
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
-    Py_XINCREF(type);
-    Py_XINCREF(value);
-    Py_XINCREF(tb);
-    /* First, check the traceback argument, replacing None with NULL. */
-    if (tb == Py_None) {
-        Py_DECREF(tb);
-        tb = 0;
-    }
-    else if (tb != NULL && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto raise_error;
-    }
-    /* Next, replace a missing value with None */
-    if (value == NULL) {
-        value = Py_None;
-        Py_INCREF(value);
-    }
-    #if PY_VERSION_HEX < 0x02050000
-    if (!PyClass_Check(type))
-    #else
-    if (!PyType_Check(type))
-    #endif
-    {
-        /* Raising an instance.  The value should be a dummy. */
-        if (value != Py_None) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto raise_error;
-        }
-        /* Normalize to raise <class>, <instance> */
-        Py_DECREF(value);
-        value = type;
-        #if PY_VERSION_HEX < 0x02050000
-            if (PyInstance_Check(type)) {
-                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
-                Py_INCREF(type);
-            }
-            else {
-                type = 0;
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception must be an old-style class or instance");
-                goto raise_error;
-            }
-        #else
-            type = (PyObject*) Py_TYPE(type);
-            Py_INCREF(type);
-            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
-                PyErr_SetString(PyExc_TypeError,
-                    "raise: exception class must be a subclass of BaseException");
-                goto raise_error;
-            }
-        #endif
-    }
-
-    __Pyx_ErrRestore(type, value, tb);
-    return;
-raise_error:
-    Py_XDECREF(value);
-    Py_XDECREF(type);
-    Py_XDECREF(tb);
-    return;
-}
-
-#else /* Python 3+ */
-
-static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb) {
-    if (tb == Py_None) {
-        tb = 0;
-    } else if (tb && !PyTraceBack_Check(tb)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: arg 3 must be a traceback or None");
-        goto bad;
-    }
-    if (value == Py_None)
-        value = 0;
-
-    if (PyExceptionInstance_Check(type)) {
-        if (value) {
-            PyErr_SetString(PyExc_TypeError,
-                "instance exception may not have a separate value");
-            goto bad;
-        }
-        value = type;
-        type = (PyObject*) Py_TYPE(value);
-    } else if (!PyExceptionClass_Check(type)) {
-        PyErr_SetString(PyExc_TypeError,
-            "raise: exception class must be a subclass of BaseException");
-        goto bad;
-    }
-
-    PyErr_SetObject(type, value);
-
-    if (tb) {
-        PyThreadState *tstate = PyThreadState_GET();
-        PyObject* tmp_tb = tstate->curexc_traceback;
-        if (tb != tmp_tb) {
-            Py_INCREF(tb);
-            tstate->curexc_traceback = tb;
-            Py_XDECREF(tmp_tb);
-        }
-    }
-
-bad:
-    return;
-}
-#endif
-
 static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
     const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
     const int is_unsigned = neg_one > const_zero;
@@ -5151,9 +5707,9 @@ static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
                                 "can't convert negative value to unsigned long");
                 return (unsigned long)-1;
             }
-            return PyLong_AsUnsignedLong(x);
+            return (unsigned long)PyLong_AsUnsignedLong(x);
         } else {
-            return PyLong_AsLong(x);
+            return (unsigned long)PyLong_AsLong(x);
         }
     } else {
         unsigned long val;
@@ -5186,9 +5742,9 @@ static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObje
                                 "can't convert negative value to unsigned PY_LONG_LONG");
                 return (unsigned PY_LONG_LONG)-1;
             }
-            return PyLong_AsUnsignedLongLong(x);
+            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
         } else {
-            return PyLong_AsLongLong(x);
+            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
         }
     } else {
         unsigned PY_LONG_LONG val;
@@ -5221,9 +5777,9 @@ static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
                                 "can't convert negative value to long");
                 return (long)-1;
             }
-            return PyLong_AsUnsignedLong(x);
+            return (long)PyLong_AsUnsignedLong(x);
         } else {
-            return PyLong_AsLong(x);
+            return (long)PyLong_AsLong(x);
         }
     } else {
         long val;
@@ -5256,9 +5812,9 @@ static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
                                 "can't convert negative value to PY_LONG_LONG");
                 return (PY_LONG_LONG)-1;
             }
-            return PyLong_AsUnsignedLongLong(x);
+            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
         } else {
-            return PyLong_AsLongLong(x);
+            return (PY_LONG_LONG)PyLong_AsLongLong(x);
         }
     } else {
         PY_LONG_LONG val;
@@ -5291,9 +5847,9 @@ static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
                                 "can't convert negative value to signed long");
                 return (signed long)-1;
             }
-            return PyLong_AsUnsignedLong(x);
+            return (signed long)PyLong_AsUnsignedLong(x);
         } else {
-            return PyLong_AsLong(x);
+            return (signed long)PyLong_AsLong(x);
         }
     } else {
         signed long val;
@@ -5326,9 +5882,9 @@ static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject*
                                 "can't convert negative value to signed PY_LONG_LONG");
                 return (signed PY_LONG_LONG)-1;
             }
-            return PyLong_AsUnsignedLongLong(x);
+            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
         } else {
-            return PyLong_AsLongLong(x);
+            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
         }
     } else {
         signed PY_LONG_LONG val;
@@ -5340,10 +5896,29 @@ static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject*
     }
 }
 
+static int __Pyx_check_binary_version(void) {
+    char ctversion[4], rtversion[4];
+    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
+    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
+    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
+        char message[200];
+        PyOS_snprintf(message, sizeof(message),
+                      "compiletime version %s of module '%.100s' "
+                      "does not match runtime version %s",
+                      ctversion, __Pyx_MODULE_NAME, rtversion);
+        #if PY_VERSION_HEX < 0x02050000
+        return PyErr_Warn(NULL, message);
+        #else
+        return PyErr_WarnEx(NULL, message, 1);
+        #endif
+    }
+    return 0;
+}
+
 #ifndef __PYX_HAVE_RT_ImportType
 #define __PYX_HAVE_RT_ImportType
 static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
-    long size, int strict)
+    size_t size, int strict)
 {
     PyObject *py_module = 0;
     PyObject *result = 0;
@@ -5353,11 +5928,7 @@ static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class
     py_module = __Pyx_ImportModule(module_name);
     if (!py_module)
         goto bad;
-    #if PY_MAJOR_VERSION < 3
-    py_name = PyString_FromString(class_name);
-    #else
-    py_name = PyUnicode_FromString(class_name);
-    #endif
+    py_name = __Pyx_PyIdentifier_FromString(class_name);
     if (!py_name)
         goto bad;
     result = PyObject_GetAttr(py_module, py_name);
@@ -5373,17 +5944,17 @@ static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class
             module_name, class_name);
         goto bad;
     }
-    if (!strict && ((PyTypeObject *)result)->tp_basicsize > size) {
+    if (!strict && ((PyTypeObject *)result)->tp_basicsize > (Py_ssize_t)size) {
         PyOS_snprintf(warning, sizeof(warning),
             "%s.%s size changed, may indicate binary incompatibility",
             module_name, class_name);
         #if PY_VERSION_HEX < 0x02050000
-        PyErr_Warn(NULL, warning);
+        if (PyErr_Warn(NULL, warning) < 0) goto bad;
         #else
-        PyErr_WarnEx(NULL, warning, 0);
+        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
         #endif
     }
-    else if (((PyTypeObject *)result)->tp_basicsize != size) {
+    else if (((PyTypeObject *)result)->tp_basicsize != (Py_ssize_t)size) {
         PyErr_Format(PyExc_ValueError,
             "%s.%s has the wrong size, try recompiling",
             module_name, class_name);
@@ -5393,7 +5964,7 @@ static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class
 bad:
     Py_XDECREF(py_module);
     Py_XDECREF(result);
-    return 0;
+    return NULL;
 }
 #endif
 
@@ -5403,11 +5974,7 @@ static PyObject *__Pyx_ImportModule(const char *name) {
     PyObject *py_name = 0;
     PyObject *py_module = 0;
 
-    #if PY_MAJOR_VERSION < 3
-    py_name = PyString_FromString(name);
-    #else
-    py_name = PyUnicode_FromString(name);
-    #endif
+    py_name = __Pyx_PyIdentifier_FromString(name);
     if (!py_name)
         goto bad;
     py_module = PyImport_Import(py_name);
@@ -5423,7 +5990,8 @@ bad:
 #include "frameobject.h"
 #include "traceback.h"
 
-static void __Pyx_AddTraceback(const char *funcname) {
+static void __Pyx_AddTraceback(const char *funcname, int __pyx_clineno,
+                               int __pyx_lineno, const char *__pyx_filename) {
     PyObject *py_srcfile = 0;
     PyObject *py_funcname = 0;
     PyObject *py_globals = 0;
@@ -5453,11 +6021,9 @@ static void __Pyx_AddTraceback(const char *funcname) {
     if (!py_funcname) goto bad;
     py_globals = PyModule_GetDict(__pyx_m);
     if (!py_globals) goto bad;
-    py_code = PyCode_New(
+    py_code = __Pyx_PyCode_New(
         0,            /*int argcount,*/
-        #if PY_MAJOR_VERSION >= 3
         0,            /*int kwonlyargcount,*/
-        #endif
         0,            /*int nlocals,*/
         0,            /*int stacksize,*/
         0,            /*int flags,*/
diff --git a/src/byte_offset.html b/src/byte_offset.html
new file mode 100644
index 0000000..d4eaae1
--- /dev/null
+++ b/src/byte_offset.html
@@ -0,0 +1,1240 @@
+<!-- Generated by Cython 0.15.1+ on Fri Dec  9 12:19:09 2011 -->
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<style type="text/css">
+
+body { font-family: courier; font-size: 12; }
+
+.code  { font-size: 9; color: #444444; display: none; margin-left: 20px; }
+.py_c_api  { color: red; }
+.py_macro_api  { color: #FF7000; }
+.pyx_c_api  { color: #FF3000; }
+.pyx_macro_api  { color: #FF7000; }
+.refnanny  { color: #FFA000; }
+
+.error_goto  { color: #FFA000; }
+
+.tag  {  }
+
+.coerce  { color: #008000; border: 1px dotted #008000 }
+
+.py_attr { color: #FF0000; font-weight: bold; }
+.c_attr  { color: #0000FF; }
+
+.py_call { color: #FF0000; font-weight: bold; }
+.c_call  { color: #0000FF; }
+
+.line { margin: 0em }
+
+</style>
+<script>
+function toggleDiv(id) {
+    theDiv = document.getElementById(id);
+    if (theDiv.style.display == 'none') theDiv.style.display = 'block';
+    else theDiv.style.display = 'none';
+}
+</script>
+</head>
+        <body>
+<p>Generated by Cython 0.15.1+ on Fri Dec  9 12:19:09 2011
+<p>Raw output: <a href="byte_offset.c">byte_offset.c</a>
+<pre class='line' style='background-color: #FFFF79' onclick='toggleDiv("line1")'> 1: """</pre>
+<pre id='line1' class='code' style='background-color: #FFFF79'>
+  /* "byte_offset.pyx":1
+ * """             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * Authors:      Jerome Kieffer, ESRF
+ * Email:        jerome.kieffer at esrf.eu
+ */
+  __pyx_t_1 = <span class='py_c_api'>PyDict_New</span>();<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(((PyObject *)__pyx_t_1));
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_1)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line2")'> 2: Authors:      Jerome Kieffer, ESRF</pre>
+<pre id='line2' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line3")'> 3: Email:        jerome.kieffer at esrf.eu</pre>
+<pre id='line3' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line4")'> 4: </pre>
+<pre id='line4' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line5")'> 5: Cif Binary Files images are 2D images written by the Pilatus detector and others.</pre>
+<pre id='line5' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line6")'> 6: They use a modified (simplified) byte-offset algorithm.  This file contains the</pre>
+<pre id='line6' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line7")'> 7: decompression function from a string to an int64 numpy array.</pre>
+<pre id='line7' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line8")'> 8: </pre>
+<pre id='line8' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line9")'> 9: This is Cython: convert it to pure C then compile it with gcc</pre>
+<pre id='line9' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line10")'> 10: $ cython byte_offset.pyx</pre>
+<pre id='line10' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line11")'> 11: </pre>
+<pre id='line11' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line12")'> 12: """</pre>
+<pre id='line12' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line13")'> 13: </pre>
+<pre id='line13' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFaa' onclick='toggleDiv("line14")'> 14: __author__ = "Jérôme Kieffer"</pre>
+<pre id='line14' class='code' style='background-color: #FFFFaa'>
+  /* "byte_offset.pyx":14
+ * """
+ * 
+ * __author__ = "Jrme Kieffer"             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * __contact__ = "jerome.kieffer at esrf.eu"
+ * __license__ = "GPLv3+"
+ */
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s____author__, ((PyObject *)__pyx_kp_s_14)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+</pre><pre class='line' style='background-color: #FFFFaa' onclick='toggleDiv("line15")'> 15: __contact__ = "jerome.kieffer at esrf.eu"</pre>
+<pre id='line15' class='code' style='background-color: #FFFFaa'>
+  /* "byte_offset.pyx":15
+ * 
+ * __author__ = "Jrme Kieffer"
+ * __contact__ = "jerome.kieffer at esrf.eu"             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * __license__ = "GPLv3+"
+ * __copyright__ = "2010, European Synchrotron Radiation Facility, Grenoble, France"
+ */
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s____contact__, ((PyObject *)__pyx_kp_s_15)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+</pre><pre class='line' style='background-color: #FFFFaa' onclick='toggleDiv("line16")'> 16: __license__ = "GPLv3+"</pre>
+<pre id='line16' class='code' style='background-color: #FFFFaa'>
+  /* "byte_offset.pyx":16
+ * __author__ = "Jrme Kieffer"
+ * __contact__ = "jerome.kieffer at esrf.eu"
+ * __license__ = "GPLv3+"             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * __copyright__ = "2010, European Synchrotron Radiation Facility, Grenoble, France"
+ * 
+ */
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s____license__, ((PyObject *)__pyx_kp_s_16)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+</pre><pre class='line' style='background-color: #FFFFaa' onclick='toggleDiv("line17")'> 17: __copyright__ = "2010, European Synchrotron Radiation Facility, Grenoble, France"</pre>
+<pre id='line17' class='code' style='background-color: #FFFFaa'>
+  /* "byte_offset.pyx":17
+ * __contact__ = "jerome.kieffer at esrf.eu"
+ * __license__ = "GPLv3+"
+ * __copyright__ = "2010, European Synchrotron Radiation Facility, Grenoble, France"             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * 
+ * 
+ */
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s____copyright__, ((PyObject *)__pyx_kp_s_17)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line18")'> 18: </pre>
+<pre id='line18' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line19")'> 19: </pre>
+<pre id='line19' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line20")'> 20: cimport numpy</pre>
+<pre id='line20' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF8d' onclick='toggleDiv("line21")'> 21: import numpy</pre>
+<pre id='line21' class='code' style='background-color: #FFFF8d'>
+  /* "byte_offset.pyx":21
+ * 
+ * cimport numpy
+ * import numpy             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * import cython
+ * 
+ */
+  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_Import</span>(((PyObject *)__pyx_n_s__numpy), 0, -1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s__numpy, __pyx_t_1) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line22")'> 22: import cython</pre>
+<pre id='line22' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line23")'> 23: </pre>
+<pre id='line23' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line24")'> 24: @cython.boundscheck(False)</pre>
+<pre id='line24' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF17' onclick='toggleDiv("line25")'> 25: def analyseCython(bytes stream not None, size=None):</pre>
+<pre id='line25' class='code' style='background-color: #FFFF17'>
+/* "byte_offset.pyx":25
+ * 
+ * @cython.boundscheck(False)
+ * def analyseCython(bytes stream not None, size=None):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     """
+ *     Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
+ */
+
+static PyObject *__pyx_pf_11byte_offset_analyseCython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_11byte_offset_analyseCython[] = "\n    Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)\n    @param stream: string representing the compressed data\n    @param size: the size of the output array (of longInts)\n    @return : int64 ndArrays \n    ";
+static PyMethodDef __pyx_mdef_11byte_offset_analyseCython = {<span class='pyx_macro_api'>__Pyx_NAMESTR</span>("analyseCython"), (PyCFunction)__pyx_pf_11byte_offset_analyseCython, METH_VARARGS|METH_KEYWORDS, <span class='pyx_macro_api'>__Pyx_DOCSTR</span>(__pyx_doc_11byte_offset_analyseCython)};
+static PyObject *__pyx_pf_11byte_offset_analyseCython(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_stream = 0;
+  PyObject *__pyx_v_size = 0;
+  int __pyx_v_i;
+  int __pyx_v_j;
+  PY_LONG_LONG __pyx_v_last;
+  PY_LONG_LONG __pyx_v_current;
+  char __pyx_v_tmp8;
+  unsigned char __pyx_v_utmp8a;
+  unsigned char __pyx_v_utmp8b;
+  unsigned char __pyx_v_utmp8c;
+  unsigned char __pyx_v_utmp8d;
+  unsigned char __pyx_v_utmp8e;
+  unsigned char __pyx_v_utmp8f;
+  unsigned char __pyx_v_utmp8g;
+  PY_LONG_LONG __pyx_v_tmp64;
+  PY_LONG_LONG __pyx_v_tmp64a;
+  PY_LONG_LONG __pyx_v_tmp64b;
+  PY_LONG_LONG __pyx_v_tmp64c;
+  PY_LONG_LONG __pyx_v_tmp64d;
+  PY_LONG_LONG __pyx_v_tmp64e;
+  PY_LONG_LONG __pyx_v_tmp64f;
+  PY_LONG_LONG __pyx_v_tmp64g;
+  char __pyx_v_key8;
+  char __pyx_v_key0;
+  int __pyx_v_csize;
+  int __pyx_v_lenStream;
+  char *__pyx_v_cstream;
+  PyArrayObject *__pyx_v_dataOut = 0;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_dataOut;
+  __Pyx_Buffer __pyx_pybuffer_dataOut;
+  PyObject *__pyx_r = NULL;
+  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__stream,&__pyx_n_s__size,0};
+  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannySetupContext</span></span>("analyseCython");
+  __pyx_self = __pyx_self;
+  {
+    PyObject* values[2] = {0,0};
+    values[1] = ((PyObject *)Py_None);
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);
+      switch (pos_args) {
+        case  2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1);
+        case  1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0);
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        values[0] = <span class='py_c_api'>PyDict_GetItem</span>(__pyx_kwds, __pyx_n_s__stream);
+        if (likely(values[0])) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        case  1:
+        if (kw_args > 0) {
+          PyObject* value = <span class='py_c_api'>PyDict_GetItem</span>(__pyx_kwds, __pyx_n_s__size);
+          if (value) { values[1] = value; kw_args--; }
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "analyseCython") <code><</code> 0))<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L3_error;}</span>
+      }
+      __pyx_v_stream = ((PyObject*)values[0]);
+      __pyx_v_size = values[1];
+    } else {
+      switch (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)) {
+        case  2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1);
+        case  1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0);
+        break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+    }
+    __pyx_v_stream = ((PyObject*)values[0]);
+    __pyx_v_size = values[1];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("analyseCython", 0, 1, 2, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args));<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L3_error;}</span>
+  __pyx_L3_error:;
+  <span class='pyx_c_api'>__Pyx_AddTraceback</span>("byte_offset.analyseCython", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannyFinishContext</span></span>();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  __pyx_pybuffer_dataOut.pybuffer.buf = NULL;
+  __pyx_pybuffer_dataOut.refcount = 0;
+  __pyx_pybuffernd_dataOut.data = NULL;
+  __pyx_pybuffernd_dataOut.rcbuffer = &__pyx_pybuffer_dataOut;
+  if (unlikely(!<span class='pyx_c_api'>__Pyx_ArgTypeTest</span>(((PyObject *)__pyx_v_stream), (&PyBytes_Type), 0, "stream", 1)))<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+
+  /* "byte_offset.pyx":25
+ * 
+ * @cython.boundscheck(False)
+ * def analyseCython(bytes stream not None, size=None):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     """
+ *     Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
+ */
+  __pyx_k_tuple_18 = <span class='py_c_api'>PyTuple_New</span>(28);<span class='error_goto'> if (unlikely(!__pyx_k_tuple_18)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_k_tuple_18);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__stream));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 0, ((PyObject *)__pyx_n_s__stream));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__stream));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__size));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 1, ((PyObject *)__pyx_n_s__size));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__size));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__i));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 2, ((PyObject *)__pyx_n_s__i));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__i));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__j));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 3, ((PyObject *)__pyx_n_s__j));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__j));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__last));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 4, ((PyObject *)__pyx_n_s__last));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__last));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__current));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 5, ((PyObject *)__pyx_n_s__current));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__current));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__tmp8));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 6, ((PyObject *)__pyx_n_s__tmp8));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__tmp8));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__utmp8a));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 7, ((PyObject *)__pyx_n_s__utmp8a));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__utmp8a));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__utmp8b));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 8, ((PyObject *)__pyx_n_s__utmp8b));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__utmp8b));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__utmp8c));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 9, ((PyObject *)__pyx_n_s__utmp8c));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__utmp8c));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__utmp8d));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 10, ((PyObject *)__pyx_n_s__utmp8d));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__utmp8d));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__utmp8e));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 11, ((PyObject *)__pyx_n_s__utmp8e));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__utmp8e));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__utmp8f));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 12, ((PyObject *)__pyx_n_s__utmp8f));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__utmp8f));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__utmp8g));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 13, ((PyObject *)__pyx_n_s__utmp8g));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__utmp8g));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__tmp64));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 14, ((PyObject *)__pyx_n_s__tmp64));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__tmp64));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__tmp64a));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 15, ((PyObject *)__pyx_n_s__tmp64a));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__tmp64a));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__tmp64b));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 16, ((PyObject *)__pyx_n_s__tmp64b));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__tmp64b));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__tmp64c));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 17, ((PyObject *)__pyx_n_s__tmp64c));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__tmp64c));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__tmp64d));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 18, ((PyObject *)__pyx_n_s__tmp64d));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__tmp64d));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__tmp64e));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 19, ((PyObject *)__pyx_n_s__tmp64e));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__tmp64e));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__tmp64f));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 20, ((PyObject *)__pyx_n_s__tmp64f));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__tmp64f));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__tmp64g));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 21, ((PyObject *)__pyx_n_s__tmp64g));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__tmp64g));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__key8));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 22, ((PyObject *)__pyx_n_s__key8));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__key8));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__key0));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 23, ((PyObject *)__pyx_n_s__key0));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__key0));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__csize));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 24, ((PyObject *)__pyx_n_s__csize));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__csize));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__lenStream));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 25, ((PyObject *)__pyx_n_s__lenStream));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__lenStream));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__cstream));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 26, ((PyObject *)__pyx_n_s__cstream));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__cstream));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__dataOut));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_18, 27, ((PyObject *)__pyx_n_s__dataOut));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__dataOut));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_k_tuple_18));
+
+  /* "byte_offset.pyx":25
+ * 
+ * @cython.boundscheck(False)
+ * def analyseCython(bytes stream not None, size=None):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     """
+ *     Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_11byte_offset_analyseCython, NULL, __pyx_n_s__byte_offset);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s__analyseCython, __pyx_t_1) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line26")'> 26:     """</pre>
+<pre id='line26' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line27")'> 27:     Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)</pre>
+<pre id='line27' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line28")'> 28:     @param stream: string representing the compressed data</pre>
+<pre id='line28' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line29")'> 29:     @param size: the size of the output array (of longInts)</pre>
+<pre id='line29' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line30")'> 30:     @return : int64 ndArrays</pre>
+<pre id='line30' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line31")'> 31:     """</pre>
+<pre id='line31' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line32")'> 32: </pre>
+<pre id='line32' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line33")'> 33:     cdef int                i = 0</pre>
+<pre id='line33' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":33
+ *     """
+ * 
+ *     cdef int                i = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef int                j = 0
+ *     cdef long long          last = 0
+ */
+  __pyx_v_i = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line34")'> 34:     cdef int                j = 0</pre>
+<pre id='line34' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":34
+ * 
+ *     cdef int                i = 0
+ *     cdef int                j = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef long long          last = 0
+ *     cdef long long          current = 0
+ */
+  __pyx_v_j = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line35")'> 35:     cdef long long          last = 0</pre>
+<pre id='line35' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":35
+ *     cdef int                i = 0
+ *     cdef int                j = 0
+ *     cdef long long          last = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef long long          current = 0
+ *     cdef char               tmp8 = 0
+ */
+  __pyx_v_last = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line36")'> 36:     cdef long long          current = 0</pre>
+<pre id='line36' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":36
+ *     cdef int                j = 0
+ *     cdef long long          last = 0
+ *     cdef long long          current = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef char               tmp8 = 0
+ * 
+ */
+  __pyx_v_current = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line37")'> 37:     cdef char               tmp8 = 0</pre>
+<pre id='line37' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":37
+ *     cdef long long          last = 0
+ *     cdef long long          current = 0
+ *     cdef char               tmp8 = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * 
+ *     cdef unsigned char      utmp8a = 0
+ */
+  __pyx_v_tmp8 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line38")'> 38: </pre>
+<pre id='line38' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line39")'> 39:     cdef unsigned char      utmp8a = 0</pre>
+<pre id='line39' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":39
+ *     cdef char               tmp8 = 0
+ * 
+ *     cdef unsigned char      utmp8a = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef unsigned char      utmp8b = 0
+ *     cdef unsigned char      utmp8c = 0
+ */
+  __pyx_v_utmp8a = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line40")'> 40:     cdef unsigned char      utmp8b = 0</pre>
+<pre id='line40' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":40
+ * 
+ *     cdef unsigned char      utmp8a = 0
+ *     cdef unsigned char      utmp8b = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef unsigned char      utmp8c = 0
+ *     cdef unsigned char      utmp8d = 0
+ */
+  __pyx_v_utmp8b = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line41")'> 41:     cdef unsigned char      utmp8c = 0</pre>
+<pre id='line41' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":41
+ *     cdef unsigned char      utmp8a = 0
+ *     cdef unsigned char      utmp8b = 0
+ *     cdef unsigned char      utmp8c = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef unsigned char      utmp8d = 0
+ *     cdef unsigned char      utmp8e = 0
+ */
+  __pyx_v_utmp8c = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line42")'> 42:     cdef unsigned char      utmp8d = 0</pre>
+<pre id='line42' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":42
+ *     cdef unsigned char      utmp8b = 0
+ *     cdef unsigned char      utmp8c = 0
+ *     cdef unsigned char      utmp8d = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef unsigned char      utmp8e = 0
+ *     cdef unsigned char      utmp8f = 0
+ */
+  __pyx_v_utmp8d = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line43")'> 43:     cdef unsigned char      utmp8e = 0</pre>
+<pre id='line43' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":43
+ *     cdef unsigned char      utmp8c = 0
+ *     cdef unsigned char      utmp8d = 0
+ *     cdef unsigned char      utmp8e = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef unsigned char      utmp8f = 0
+ *     cdef unsigned char      utmp8g = 0
+ */
+  __pyx_v_utmp8e = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line44")'> 44:     cdef unsigned char      utmp8f = 0</pre>
+<pre id='line44' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":44
+ *     cdef unsigned char      utmp8d = 0
+ *     cdef unsigned char      utmp8e = 0
+ *     cdef unsigned char      utmp8f = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef unsigned char      utmp8g = 0
+ * 
+ */
+  __pyx_v_utmp8f = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line45")'> 45:     cdef unsigned char      utmp8g = 0</pre>
+<pre id='line45' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":45
+ *     cdef unsigned char      utmp8e = 0
+ *     cdef unsigned char      utmp8f = 0
+ *     cdef unsigned char      utmp8g = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * 
+ *     cdef long long          tmp64 = 0
+ */
+  __pyx_v_utmp8g = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line46")'> 46: </pre>
+<pre id='line46' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line47")'> 47:     cdef long long          tmp64 = 0</pre>
+<pre id='line47' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":47
+ *     cdef unsigned char      utmp8g = 0
+ * 
+ *     cdef long long          tmp64 = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef long long          tmp64a = 0
+ *     cdef long long          tmp64b = 0
+ */
+  __pyx_v_tmp64 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line48")'> 48:     cdef long long          tmp64a = 0</pre>
+<pre id='line48' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":48
+ * 
+ *     cdef long long          tmp64 = 0
+ *     cdef long long          tmp64a = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef long long          tmp64b = 0
+ *     cdef long long          tmp64c = 0
+ */
+  __pyx_v_tmp64a = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line49")'> 49:     cdef long long          tmp64b = 0</pre>
+<pre id='line49' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":49
+ *     cdef long long          tmp64 = 0
+ *     cdef long long          tmp64a = 0
+ *     cdef long long          tmp64b = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef long long          tmp64c = 0
+ *     cdef long long          tmp64d = 0
+ */
+  __pyx_v_tmp64b = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line50")'> 50:     cdef long long          tmp64c = 0</pre>
+<pre id='line50' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":50
+ *     cdef long long          tmp64a = 0
+ *     cdef long long          tmp64b = 0
+ *     cdef long long          tmp64c = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef long long          tmp64d = 0
+ *     cdef long long          tmp64e = 0
+ */
+  __pyx_v_tmp64c = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line51")'> 51:     cdef long long          tmp64d = 0</pre>
+<pre id='line51' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":51
+ *     cdef long long          tmp64b = 0
+ *     cdef long long          tmp64c = 0
+ *     cdef long long          tmp64d = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef long long          tmp64e = 0
+ *     cdef long long          tmp64f = 0
+ */
+  __pyx_v_tmp64d = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line52")'> 52:     cdef long long          tmp64e = 0</pre>
+<pre id='line52' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":52
+ *     cdef long long          tmp64c = 0
+ *     cdef long long          tmp64d = 0
+ *     cdef long long          tmp64e = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef long long          tmp64f = 0
+ *     cdef long long          tmp64g = 0
+ */
+  __pyx_v_tmp64e = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line53")'> 53:     cdef long long          tmp64f = 0</pre>
+<pre id='line53' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":53
+ *     cdef long long          tmp64d = 0
+ *     cdef long long          tmp64e = 0
+ *     cdef long long          tmp64f = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef long long          tmp64g = 0
+ * 
+ */
+  __pyx_v_tmp64f = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line54")'> 54:     cdef long long          tmp64g = 0</pre>
+<pre id='line54' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":54
+ *     cdef long long          tmp64e = 0
+ *     cdef long long          tmp64f = 0
+ *     cdef long long          tmp64g = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * 
+ *     cdef char               key8 = 0x80
+ */
+  __pyx_v_tmp64g = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line55")'> 55: </pre>
+<pre id='line55' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line56")'> 56:     cdef char               key8 = 0x80</pre>
+<pre id='line56' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":56
+ *     cdef long long          tmp64g = 0
+ * 
+ *     cdef char               key8 = 0x80             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef char               key0 = 0x00
+ * 
+ */
+  __pyx_v_key8 = 0x80;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line57")'> 57:     cdef char               key0 = 0x00</pre>
+<pre id='line57' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":57
+ * 
+ *     cdef char               key8 = 0x80
+ *     cdef char               key0 = 0x00             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * 
+ *     cdef int csize
+ */
+  __pyx_v_key0 = 0x00;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line58")'> 58: </pre>
+<pre id='line58' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line59")'> 59:     cdef int csize</pre>
+<pre id='line59' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFe7' onclick='toggleDiv("line60")'> 60:     cdef int lenStream = < int > len(stream)</pre>
+<pre id='line60' class='code' style='background-color: #FFFFe7'>
+  /* "byte_offset.pyx":60
+ * 
+ *     cdef int csize
+ *     cdef int lenStream = <code><</code> int > len(stream)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef char * cstream = stream
+ *     if size is None:
+ */
+  __pyx_t_1 = <span class='py_macro_api'>PyBytes_GET_SIZE</span>(((PyObject *)__pyx_v_stream)); 
+  __pyx_v_lenStream = ((int)__pyx_t_1);
+</pre><pre class='line' style='background-color: #FFFF7f' onclick='toggleDiv("line61")'> 61:     cdef char * cstream = stream</pre>
+<pre id='line61' class='code' style='background-color: #FFFF7f'>
+  /* "byte_offset.pyx":61
+ *     cdef int csize
+ *     cdef int lenStream = <code><</code> int > len(stream)
+ *     cdef char * cstream = stream             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     if size is None:
+ *         csize = lenStream
+ */
+  __pyx_t_2 = <span class='py_c_api'>PyBytes_AsString</span>(((PyObject *)__pyx_v_stream));<span class='error_goto'> if (unlikely((!__pyx_t_2) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  __pyx_v_cstream = __pyx_t_2;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line62")'> 62:     if size is None:</pre>
+<pre id='line62' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":62
+ *     cdef int lenStream = <code><</code> int > len(stream)
+ *     cdef char * cstream = stream
+ *     if size is None:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         csize = lenStream
+ *     else:
+ */
+  __pyx_t_3 = (__pyx_v_size == Py_None);
+  if (__pyx_t_3) {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line63")'> 63:         csize = lenStream</pre>
+<pre id='line63' class='code' style='background-color: #FFFFff'>
+    /* "byte_offset.pyx":63
+ *     cdef char * cstream = stream
+ *     if size is None:
+ *         csize = lenStream             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     else:
+ *         csize = <code><</code> int > size
+ */
+    __pyx_v_csize = __pyx_v_lenStream;
+    goto __pyx_L6;
+  }
+  /*else*/ {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line64")'> 64:     else:</pre>
+<pre id='line64' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF7f' onclick='toggleDiv("line65")'> 65:         csize = < int > size</pre>
+<pre id='line65' class='code' style='background-color: #FFFF7f'>
+    /* "byte_offset.pyx":65
+ *         csize = lenStream
+ *     else:
+ *         csize = <code><</code> int > size             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)
+ *     with nogil:
+ */
+    __pyx_t_4 = __Pyx_<span class='py_c_api'>PyInt_AsInt</span>(__pyx_v_size);<span class='error_goto'> if (unlikely((__pyx_t_4 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_v_csize = ((int)__pyx_t_4);
+  }
+  __pyx_L6:;
+</pre><pre class='line' style='background-color: #FFFF29' onclick='toggleDiv("line66")'> 66:     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)</pre>
+<pre id='line66' class='code' style='background-color: #FFFF29'>
+  /* "byte_offset.pyx":66
+ *     else:
+ *         csize = <code><</code> int > size
+ *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     with nogil:
+ *         while (i <code><</code> lenStream) and (j <code><</code> csize):
+ */
+  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_GetName</span>(__pyx_m, __pyx_n_s__numpy);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+  __pyx_t_6 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_5, __pyx_n_s__zeros);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = <span class='py_c_api'>PyInt_FromLong</span>(__pyx_v_csize);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+  __pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_7);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_5);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_5);
+  __pyx_t_5 = 0;
+  __pyx_t_5 = <span class='py_c_api'>PyDict_New</span>();<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(((PyObject *)__pyx_t_5));
+  __pyx_t_8 = <span class='pyx_c_api'>__Pyx_GetName</span>(__pyx_m, __pyx_n_s__numpy);<span class='error_goto'> if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_8);
+  __pyx_t_9 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_8, __pyx_n_s__int64);<span class='error_goto'> if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_9);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0;
+  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_t_5, ((PyObject *)__pyx_n_s__dtype), __pyx_t_9) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0;
+  __pyx_t_9 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_6, ((PyObject *)__pyx_t_7), ((PyObject *)__pyx_t_5));<span class='error_goto'> if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_9);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_7)); __pyx_t_7 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+  if (!(likely(((__pyx_t_9) == Py_None) || likely(<span class='pyx_c_api'>__Pyx_TypeTest</span>(__pyx_t_9, __pyx_ptype_5numpy_ndarray)))))<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  __pyx_t_10 = ((PyArrayObject *)__pyx_t_9);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(<span class='pyx_c_api'>__Pyx_GetBufferAndValidate</span>(&__pyx_pybuffernd_dataOut.rcbuffer->pybuffer, (PyObject*)__pyx_t_10, &__Pyx_TypeInfo_PY_LONG_LONG, PyBUF_FORMAT| PyBUF_STRIDES| PyBUF_WRITABLE, 1, 0, __pyx_stack) == -1)) {
+      __pyx_v_dataOut = ((PyArrayObject *)Py_None); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); __pyx_pybuffernd_dataOut.rcbuffer->pybuffer.buf = NULL;
+     <span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    } else {__pyx_pybuffernd_dataOut.diminfo[0].strides = __pyx_pybuffernd_dataOut.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_dataOut.diminfo[0].shape = __pyx_pybuffernd_dataOut.rcbuffer->pybuffer.shape[0];
+    }
+  }
+  __pyx_t_10 = 0;
+  __pyx_v_dataOut = ((PyArrayObject *)__pyx_t_9);
+  __pyx_t_9 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line67")'> 67:     with nogil:</pre>
+<pre id='line67' class='code' style='background-color: #FFFFff'>
+  /* "byte_offset.pyx":67
+ *         csize = <code><</code> int > size
+ *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)
+ *     with nogil:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         while (i <code><</code> lenStream) and (j <code><</code> csize):
+ *             if (cstream[i] == key8):
+ */
+  {
+      #ifdef WITH_THREAD
+      PyThreadState *_save = NULL;
+      #endif
+      Py_UNBLOCK_THREADS
+      /*try:*/ {
+
+      /* "byte_offset.pyx":67
+ *         csize = <code><</code> int > size
+ *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)
+ *     with nogil:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         while (i <code><</code> lenStream) and (j <code><</code> csize):
+ *             if (cstream[i] == key8):
+ */
+      /*finally:*/ {
+        Py_BLOCK_THREADS
+      }
+  }
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line68")'> 68:         while (i < lenStream) and (j < csize):</pre>
+<pre id='line68' class='code' style='background-color: #FFFFff'>
+        /* "byte_offset.pyx":68
+ *     cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)
+ *     with nogil:
+ *         while (i <code><</code> lenStream) and (j <code><</code> csize):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *             if (cstream[i] == key8):
+ *                 if ((cstream[i + 1] == key0) and (cstream[i + 2] == key8)):
+ */
+        while (1) {
+          __pyx_t_3 = (__pyx_v_i <code><</code> __pyx_v_lenStream);
+          if (__pyx_t_3) {
+            __pyx_t_11 = (__pyx_v_j <code><</code> __pyx_v_csize);
+            __pyx_t_12 = __pyx_t_11;
+          } else {
+            __pyx_t_12 = __pyx_t_3;
+          }
+          if (!__pyx_t_12) break;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line69")'> 69:             if (cstream[i] == key8):</pre>
+<pre id='line69' class='code' style='background-color: #FFFFff'>
+          /* "byte_offset.pyx":69
+ *     with nogil:
+ *         while (i <code><</code> lenStream) and (j <code><</code> csize):
+ *             if (cstream[i] == key8):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                 if ((cstream[i + 1] == key0) and (cstream[i + 2] == key8)):
+ *                     if (cstream[i + 3] == key0) and (cstream[i + 4] == key0) and (cstream[i + 5] == key0) and (cstream[i + 6] == key8):
+ */
+          __pyx_t_12 = ((__pyx_v_cstream[__pyx_v_i]) == __pyx_v_key8);
+          if (__pyx_t_12) {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line70")'> 70:                 if ((cstream[i + 1] == key0) and (cstream[i + 2] == key8)):</pre>
+<pre id='line70' class='code' style='background-color: #FFFFff'>
+            /* "byte_offset.pyx":70
+ *         while (i <code><</code> lenStream) and (j <code><</code> csize):
+ *             if (cstream[i] == key8):
+ *                 if ((cstream[i + 1] == key0) and (cstream[i + 2] == key8)):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                     if (cstream[i + 3] == key0) and (cstream[i + 4] == key0) and (cstream[i + 5] == key0) and (cstream[i + 6] == key8):
+ *                         #Retrieve the interesting Bytes of data
+ */
+            __pyx_t_12 = ((__pyx_v_cstream[(__pyx_v_i + 1)]) == __pyx_v_key0);
+            if (__pyx_t_12) {
+              __pyx_t_3 = ((__pyx_v_cstream[(__pyx_v_i + 2)]) == __pyx_v_key8);
+              __pyx_t_11 = __pyx_t_3;
+            } else {
+              __pyx_t_11 = __pyx_t_12;
+            }
+            if (__pyx_t_11) {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line71")'> 71:                     if (cstream[i + 3] == key0) and (cstream[i + 4] == key0) and (cstream[i + 5] == key0) and (cstream[i + 6] == key8):</pre>
+<pre id='line71' class='code' style='background-color: #FFFFff'>
+              /* "byte_offset.pyx":71
+ *             if (cstream[i] == key8):
+ *                 if ((cstream[i + 1] == key0) and (cstream[i + 2] == key8)):
+ *                     if (cstream[i + 3] == key0) and (cstream[i + 4] == key0) and (cstream[i + 5] == key0) and (cstream[i + 6] == key8):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         #Retrieve the interesting Bytes of data
+ *                         tmp8 = cstream[i + 14]
+ */
+              __pyx_t_11 = ((__pyx_v_cstream[(__pyx_v_i + 3)]) == __pyx_v_key0);
+              if (__pyx_t_11) {
+                __pyx_t_12 = ((__pyx_v_cstream[(__pyx_v_i + 4)]) == __pyx_v_key0);
+                if (__pyx_t_12) {
+                  __pyx_t_3 = ((__pyx_v_cstream[(__pyx_v_i + 5)]) == __pyx_v_key0);
+                  if (__pyx_t_3) {
+                    __pyx_t_13 = ((__pyx_v_cstream[(__pyx_v_i + 6)]) == __pyx_v_key8);
+                    __pyx_t_14 = __pyx_t_13;
+                  } else {
+                    __pyx_t_14 = __pyx_t_3;
+                  }
+                  __pyx_t_3 = __pyx_t_14;
+                } else {
+                  __pyx_t_3 = __pyx_t_12;
+                }
+                __pyx_t_12 = __pyx_t_3;
+              } else {
+                __pyx_t_12 = __pyx_t_11;
+              }
+              if (__pyx_t_12) {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line72")'> 72:                         #Retrieve the interesting Bytes of data</pre>
+<pre id='line72' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line73")'> 73:                         tmp8 = cstream[i + 14]</pre>
+<pre id='line73' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":73
+ *                     if (cstream[i + 3] == key0) and (cstream[i + 4] == key0) and (cstream[i + 5] == key0) and (cstream[i + 6] == key8):
+ *                         #Retrieve the interesting Bytes of data
+ *                         tmp8 = cstream[i + 14]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         utmp8a = cstream[i + 13]
+ *                         utmp8b = cstream[i + 12]
+ */
+                __pyx_v_tmp8 = (__pyx_v_cstream[(__pyx_v_i + 14)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line74")'> 74:                         utmp8a = cstream[i + 13]</pre>
+<pre id='line74' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":74
+ *                         #Retrieve the interesting Bytes of data
+ *                         tmp8 = cstream[i + 14]
+ *                         utmp8a = cstream[i + 13]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         utmp8b = cstream[i + 12]
+ *                         utmp8c = cstream[i + 11]
+ */
+                __pyx_v_utmp8a = (__pyx_v_cstream[(__pyx_v_i + 13)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line75")'> 75:                         utmp8b = cstream[i + 12]</pre>
+<pre id='line75' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":75
+ *                         tmp8 = cstream[i + 14]
+ *                         utmp8a = cstream[i + 13]
+ *                         utmp8b = cstream[i + 12]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         utmp8c = cstream[i + 11]
+ *                         utmp8d = cstream[i + 10]
+ */
+                __pyx_v_utmp8b = (__pyx_v_cstream[(__pyx_v_i + 12)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line76")'> 76:                         utmp8c = cstream[i + 11]</pre>
+<pre id='line76' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":76
+ *                         utmp8a = cstream[i + 13]
+ *                         utmp8b = cstream[i + 12]
+ *                         utmp8c = cstream[i + 11]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         utmp8d = cstream[i + 10]
+ *                         utmp8e = cstream[i + 9]
+ */
+                __pyx_v_utmp8c = (__pyx_v_cstream[(__pyx_v_i + 11)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line77")'> 77:                         utmp8d = cstream[i + 10]</pre>
+<pre id='line77' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":77
+ *                         utmp8b = cstream[i + 12]
+ *                         utmp8c = cstream[i + 11]
+ *                         utmp8d = cstream[i + 10]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         utmp8e = cstream[i + 9]
+ *                         utmp8f = cstream[i + 8]
+ */
+                __pyx_v_utmp8d = (__pyx_v_cstream[(__pyx_v_i + 10)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line78")'> 78:                         utmp8e = cstream[i + 9]</pre>
+<pre id='line78' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":78
+ *                         utmp8c = cstream[i + 11]
+ *                         utmp8d = cstream[i + 10]
+ *                         utmp8e = cstream[i + 9]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         utmp8f = cstream[i + 8]
+ *                         utmp8g = cstream[i + 7]
+ */
+                __pyx_v_utmp8e = (__pyx_v_cstream[(__pyx_v_i + 9)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line79")'> 79:                         utmp8f = cstream[i + 8]</pre>
+<pre id='line79' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":79
+ *                         utmp8d = cstream[i + 10]
+ *                         utmp8e = cstream[i + 9]
+ *                         utmp8f = cstream[i + 8]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         utmp8g = cstream[i + 7]
+ *                         # cast them  in 64 bit
+ */
+                __pyx_v_utmp8f = (__pyx_v_cstream[(__pyx_v_i + 8)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line80")'> 80:                         utmp8g = cstream[i + 7]</pre>
+<pre id='line80' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":80
+ *                         utmp8e = cstream[i + 9]
+ *                         utmp8f = cstream[i + 8]
+ *                         utmp8g = cstream[i + 7]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         # cast them  in 64 bit
+ *                         tmp64 = tmp8
+ */
+                __pyx_v_utmp8g = (__pyx_v_cstream[(__pyx_v_i + 7)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line81")'> 81:                         # cast them  in 64 bit</pre>
+<pre id='line81' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line82")'> 82:                         tmp64 = tmp8</pre>
+<pre id='line82' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":82
+ *                         utmp8g = cstream[i + 7]
+ *                         # cast them  in 64 bit
+ *                         tmp64 = tmp8             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         tmp64a = utmp8a
+ *                         tmp64b = utmp8b
+ */
+                __pyx_v_tmp64 = __pyx_v_tmp8;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line83")'> 83:                         tmp64a = utmp8a</pre>
+<pre id='line83' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":83
+ *                         # cast them  in 64 bit
+ *                         tmp64 = tmp8
+ *                         tmp64a = utmp8a             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         tmp64b = utmp8b
+ *                         tmp64c = utmp8c
+ */
+                __pyx_v_tmp64a = __pyx_v_utmp8a;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line84")'> 84:                         tmp64b = utmp8b</pre>
+<pre id='line84' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":84
+ *                         tmp64 = tmp8
+ *                         tmp64a = utmp8a
+ *                         tmp64b = utmp8b             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         tmp64c = utmp8c
+ *                         tmp64d = utmp8d
+ */
+                __pyx_v_tmp64b = __pyx_v_utmp8b;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line85")'> 85:                         tmp64c = utmp8c</pre>
+<pre id='line85' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":85
+ *                         tmp64a = utmp8a
+ *                         tmp64b = utmp8b
+ *                         tmp64c = utmp8c             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         tmp64d = utmp8d
+ *                         tmp64e = utmp8e
+ */
+                __pyx_v_tmp64c = __pyx_v_utmp8c;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line86")'> 86:                         tmp64d = utmp8d</pre>
+<pre id='line86' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":86
+ *                         tmp64b = utmp8b
+ *                         tmp64c = utmp8c
+ *                         tmp64d = utmp8d             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         tmp64e = utmp8e
+ *                         tmp64f = utmp8f
+ */
+                __pyx_v_tmp64d = __pyx_v_utmp8d;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line87")'> 87:                         tmp64e = utmp8e</pre>
+<pre id='line87' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":87
+ *                         tmp64c = utmp8c
+ *                         tmp64d = utmp8d
+ *                         tmp64e = utmp8e             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         tmp64f = utmp8f
+ *                         tmp64g = utmp8g
+ */
+                __pyx_v_tmp64e = __pyx_v_utmp8e;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line88")'> 88:                         tmp64f = utmp8f</pre>
+<pre id='line88' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":88
+ *                         tmp64d = utmp8d
+ *                         tmp64e = utmp8e
+ *                         tmp64f = utmp8f             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         tmp64g = utmp8g
+ *                         current = (tmp64 <code><</code><code><</code> 56) | (tmp64a <code><</code><code><</code> 48) | (tmp64b <code><</code><code><</code> 40) | (tmp64c <code><</code><code><</code> 32) | (tmp64d <code><</code><code><</code> 24) | (tmp64e <code><</code><code><</code> 16) | (tmp64f <code><</code><code><</code> 8) | (tmp64g)
+ */
+                __pyx_v_tmp64f = __pyx_v_utmp8f;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line89")'> 89:                         tmp64g = utmp8g</pre>
+<pre id='line89' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":89
+ *                         tmp64e = utmp8e
+ *                         tmp64f = utmp8f
+ *                         tmp64g = utmp8g             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         current = (tmp64 <code><</code><code><</code> 56) | (tmp64a <code><</code><code><</code> 48) | (tmp64b <code><</code><code><</code> 40) | (tmp64c <code><</code><code><</code> 32) | (tmp64d <code><</code><code><</code> 24) | (tmp64e <code><</code><code><</code> 16) | (tmp64f <code><</code><code><</code> 8) | (tmp64g)
+ *                         i += 15
+ */
+                __pyx_v_tmp64g = __pyx_v_utmp8g;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line90")'> 90:                         current = (tmp64 << 56) | (tmp64a << 48) | (tmp64b << 40) | (tmp64c << 32) | (tmp64d << 24) | (tmp64e << 16) | (tmp64f << 8) | (tmp64g)</pre>
+<pre id='line90' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":90
+ *                         tmp64f = utmp8f
+ *                         tmp64g = utmp8g
+ *                         current = (tmp64 <code><</code><code><</code> 56) | (tmp64a <code><</code><code><</code> 48) | (tmp64b <code><</code><code><</code> 40) | (tmp64c <code><</code><code><</code> 32) | (tmp64d <code><</code><code><</code> 24) | (tmp64e <code><</code><code><</code> 16) | (tmp64f <code><</code><code><</code> 8) | (tmp64g)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code>< [...]
+ *                         i += 15
+ *                     else:
+ */
+                __pyx_v_current = ((((((((__pyx_v_tmp64 <code><</code><code><</code> 56) | (__pyx_v_tmp64a <code><</code><code><</code> 48)) | (__pyx_v_tmp64b <code><</code><code><</code> 40)) | (__pyx_v_tmp64c <code><</code><code><</code> 32)) | (__pyx_v_tmp64d <code><</code><code><</code> 24)) | (__pyx_v_tmp64e <code><</code><code><</code> 16)) | (__pyx_v_tmp64f <code><</code><code><</code> 8)) | __pyx_v_tmp64g);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line91")'> 91:                         i += 15</pre>
+<pre id='line91' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":91
+ *                         tmp64g = utmp8g
+ *                         current = (tmp64 <code><</code><code><</code> 56) | (tmp64a <code><</code><code><</code> 48) | (tmp64b <code><</code><code><</code> 40) | (tmp64c <code><</code><code><</code> 32) | (tmp64d <code><</code><code><</code> 24) | (tmp64e <code><</code><code><</code> 16) | (tmp64f <code><</code><code><</code> 8) | (tmp64g)
+ *                         i += 15             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                     else:
+ *                         #Retrieve the interesting Bytes of data
+ */
+                __pyx_v_i = (__pyx_v_i + 15);
+                goto __pyx_L14;
+              }
+              /*else*/ {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line92")'> 92:                     else:</pre>
+<pre id='line92' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line93")'> 93:                         #Retrieve the interesting Bytes of data</pre>
+<pre id='line93' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line94")'> 94:                         tmp8 = cstream[i + 6]</pre>
+<pre id='line94' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":94
+ *                     else:
+ *                         #Retrieve the interesting Bytes of data
+ *                         tmp8 = cstream[i + 6]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         utmp8a = cstream[i + 5]
+ *                         utmp8b = cstream[i + 4]
+ */
+                __pyx_v_tmp8 = (__pyx_v_cstream[(__pyx_v_i + 6)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line95")'> 95:                         utmp8a = cstream[i + 5]</pre>
+<pre id='line95' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":95
+ *                         #Retrieve the interesting Bytes of data
+ *                         tmp8 = cstream[i + 6]
+ *                         utmp8a = cstream[i + 5]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         utmp8b = cstream[i + 4]
+ *                         utmp8c = cstream[i + 3]
+ */
+                __pyx_v_utmp8a = (__pyx_v_cstream[(__pyx_v_i + 5)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line96")'> 96:                         utmp8b = cstream[i + 4]</pre>
+<pre id='line96' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":96
+ *                         tmp8 = cstream[i + 6]
+ *                         utmp8a = cstream[i + 5]
+ *                         utmp8b = cstream[i + 4]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         utmp8c = cstream[i + 3]
+ *                         # cast them  in 64 bit
+ */
+                __pyx_v_utmp8b = (__pyx_v_cstream[(__pyx_v_i + 4)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line97")'> 97:                         utmp8c = cstream[i + 3]</pre>
+<pre id='line97' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":97
+ *                         utmp8a = cstream[i + 5]
+ *                         utmp8b = cstream[i + 4]
+ *                         utmp8c = cstream[i + 3]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         # cast them  in 64 bit
+ *                         tmp64 = tmp8
+ */
+                __pyx_v_utmp8c = (__pyx_v_cstream[(__pyx_v_i + 3)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line98")'> 98:                         # cast them  in 64 bit</pre>
+<pre id='line98' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line99")'> 99:                         tmp64 = tmp8</pre>
+<pre id='line99' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":99
+ *                         utmp8c = cstream[i + 3]
+ *                         # cast them  in 64 bit
+ *                         tmp64 = tmp8             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         tmp64a = utmp8a
+ *                         tmp64b = utmp8b
+ */
+                __pyx_v_tmp64 = __pyx_v_tmp8;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line100")'> 100:                         tmp64a = utmp8a</pre>
+<pre id='line100' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":100
+ *                         # cast them  in 64 bit
+ *                         tmp64 = tmp8
+ *                         tmp64a = utmp8a             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         tmp64b = utmp8b
+ *                         tmp64c = utmp8c
+ */
+                __pyx_v_tmp64a = __pyx_v_utmp8a;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line101")'> 101:                         tmp64b = utmp8b</pre>
+<pre id='line101' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":101
+ *                         tmp64 = tmp8
+ *                         tmp64a = utmp8a
+ *                         tmp64b = utmp8b             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         tmp64c = utmp8c
+ *                         #Assemble data into a long long
+ */
+                __pyx_v_tmp64b = __pyx_v_utmp8b;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line102")'> 102:                         tmp64c = utmp8c</pre>
+<pre id='line102' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":102
+ *                         tmp64a = utmp8a
+ *                         tmp64b = utmp8b
+ *                         tmp64c = utmp8c             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         #Assemble data into a long long
+ *                         current = (tmp64 <code><</code><code><</code> 24) | (tmp64a <code><</code><code><</code> 16) | (tmp64b <code><</code><code><</code> 8) | (tmp64c);
+ */
+                __pyx_v_tmp64c = __pyx_v_utmp8c;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line103")'> 103:                         #Assemble data into a long long</pre>
+<pre id='line103' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line104")'> 104:                         current = (tmp64 << 24) | (tmp64a << 16) | (tmp64b << 8) | (tmp64c);</pre>
+<pre id='line104' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":104
+ *                         tmp64c = utmp8c
+ *                         #Assemble data into a long long
+ *                         current = (tmp64 <code><</code><code><</code> 24) | (tmp64a <code><</code><code><</code> 16) | (tmp64b <code><</code><code><</code> 8) | (tmp64c);             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                         i += 7
+ *                 else:
+ */
+                __pyx_v_current = ((((__pyx_v_tmp64 <code><</code><code><</code> 24) | (__pyx_v_tmp64a <code><</code><code><</code> 16)) | (__pyx_v_tmp64b <code><</code><code><</code> 8)) | __pyx_v_tmp64c);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line105")'> 105:                         i += 7</pre>
+<pre id='line105' class='code' style='background-color: #FFFFff'>
+                /* "byte_offset.pyx":105
+ *                         #Assemble data into a long long
+ *                         current = (tmp64 <code><</code><code><</code> 24) | (tmp64a <code><</code><code><</code> 16) | (tmp64b <code><</code><code><</code> 8) | (tmp64c);
+ *                         i += 7             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                 else:
+ *                     tmp8 = cstream[i + 2];
+ */
+                __pyx_v_i = (__pyx_v_i + 7);
+              }
+              __pyx_L14:;
+              goto __pyx_L13;
+            }
+            /*else*/ {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line106")'> 106:                 else:</pre>
+<pre id='line106' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line107")'> 107:                     tmp8 = cstream[i + 2];</pre>
+<pre id='line107' class='code' style='background-color: #FFFFff'>
+              /* "byte_offset.pyx":107
+ *                         i += 7
+ *                 else:
+ *                     tmp8 = cstream[i + 2];             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                     utmp8a = cstream[i + 1]
+ *                     # cast them  in 64 bit
+ */
+              __pyx_v_tmp8 = (__pyx_v_cstream[(__pyx_v_i + 2)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line108")'> 108:                     utmp8a = cstream[i + 1]</pre>
+<pre id='line108' class='code' style='background-color: #FFFFff'>
+              /* "byte_offset.pyx":108
+ *                 else:
+ *                     tmp8 = cstream[i + 2];
+ *                     utmp8a = cstream[i + 1]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                     # cast them  in 64 bit
+ *                     tmp64 = tmp8
+ */
+              __pyx_v_utmp8a = (__pyx_v_cstream[(__pyx_v_i + 1)]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line109")'> 109:                     # cast them  in 64 bit</pre>
+<pre id='line109' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line110")'> 110:                     tmp64 = tmp8</pre>
+<pre id='line110' class='code' style='background-color: #FFFFff'>
+              /* "byte_offset.pyx":110
+ *                     utmp8a = cstream[i + 1]
+ *                     # cast them  in 64 bit
+ *                     tmp64 = tmp8             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                     tmp64a = utmp8a
+ *                     current = (tmp64 <code><</code><code><</code> 8) | (tmp64a);
+ */
+              __pyx_v_tmp64 = __pyx_v_tmp8;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line111")'> 111:                     tmp64a = utmp8a</pre>
+<pre id='line111' class='code' style='background-color: #FFFFff'>
+              /* "byte_offset.pyx":111
+ *                     # cast them  in 64 bit
+ *                     tmp64 = tmp8
+ *                     tmp64a = utmp8a             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                     current = (tmp64 <code><</code><code><</code> 8) | (tmp64a);
+ *                     i += 3
+ */
+              __pyx_v_tmp64a = __pyx_v_utmp8a;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line112")'> 112:                     current = (tmp64 << 8) | (tmp64a);</pre>
+<pre id='line112' class='code' style='background-color: #FFFFff'>
+              /* "byte_offset.pyx":112
+ *                     tmp64 = tmp8
+ *                     tmp64a = utmp8a
+ *                     current = (tmp64 <code><</code><code><</code> 8) | (tmp64a);             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                     i += 3
+ *             else:
+ */
+              __pyx_v_current = ((__pyx_v_tmp64 <code><</code><code><</code> 8) | __pyx_v_tmp64a);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line113")'> 113:                     i += 3</pre>
+<pre id='line113' class='code' style='background-color: #FFFFff'>
+              /* "byte_offset.pyx":113
+ *                     tmp64a = utmp8a
+ *                     current = (tmp64 <code><</code><code><</code> 8) | (tmp64a);
+ *                     i += 3             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *             else:
+ *                 tmp8 = cstream[i]
+ */
+              __pyx_v_i = (__pyx_v_i + 3);
+            }
+            __pyx_L13:;
+            goto __pyx_L12;
+          }
+          /*else*/ {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line114")'> 114:             else:</pre>
+<pre id='line114' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line115")'> 115:                 tmp8 = cstream[i]</pre>
+<pre id='line115' class='code' style='background-color: #FFFFff'>
+            /* "byte_offset.pyx":115
+ *                     i += 3
+ *             else:
+ *                 tmp8 = cstream[i]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                 current = tmp8
+ *                 i += 1
+ */
+            __pyx_v_tmp8 = (__pyx_v_cstream[__pyx_v_i]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line116")'> 116:                 current = tmp8</pre>
+<pre id='line116' class='code' style='background-color: #FFFFff'>
+            /* "byte_offset.pyx":116
+ *             else:
+ *                 tmp8 = cstream[i]
+ *                 current = tmp8             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *                 i += 1
+ *             last += current
+ */
+            __pyx_v_current = __pyx_v_tmp8;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line117")'> 117:                 i += 1</pre>
+<pre id='line117' class='code' style='background-color: #FFFFff'>
+            /* "byte_offset.pyx":117
+ *                 tmp8 = cstream[i]
+ *                 current = tmp8
+ *                 i += 1             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *             last += current
+ *             dataOut[j] = last
+ */
+            __pyx_v_i = (__pyx_v_i + 1);
+          }
+          __pyx_L12:;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line118")'> 118:             last += current</pre>
+<pre id='line118' class='code' style='background-color: #FFFFff'>
+          /* "byte_offset.pyx":118
+ *                 current = tmp8
+ *                 i += 1
+ *             last += current             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *             dataOut[j] = last
+ *             j += 1
+ */
+          __pyx_v_last = (__pyx_v_last + __pyx_v_current);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line119")'> 119:             dataOut[j] = last</pre>
+<pre id='line119' class='code' style='background-color: #FFFFff'>
+          /* "byte_offset.pyx":119
+ *                 i += 1
+ *             last += current
+ *             dataOut[j] = last             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *             j += 1
+ *     return dataOut[:j]
+ */
+          __pyx_t_4 = __pyx_v_j;
+          if (__pyx_t_4 <code><</code> 0) __pyx_t_4 += __pyx_pybuffernd_dataOut.diminfo[0].shape;
+          *__Pyx_BufPtrStrided1d(PY_LONG_LONG *, __pyx_pybuffernd_dataOut.rcbuffer->pybuffer.buf, __pyx_t_4, __pyx_pybuffernd_dataOut.diminfo[0].strides) = __pyx_v_last;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line120")'> 120:             j += 1</pre>
+<pre id='line120' class='code' style='background-color: #FFFFff'>
+          /* "byte_offset.pyx":120
+ *             last += current
+ *             dataOut[j] = last
+ *             j += 1             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     return dataOut[:j]
+ */
+          __pyx_v_j = (__pyx_v_j + 1);
+        }
+      }
+</pre><pre class='line' style='background-color: #FFFF4b' onclick='toggleDiv("line121")'> 121:     return dataOut[:j]</pre>
+<pre id='line121' class='code' style='background-color: #FFFF4b'>
+  /* "byte_offset.pyx":121
+ *             dataOut[j] = last
+ *             j += 1
+ *     return dataOut[:j]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ */
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r);
+  __pyx_t_9 = __Pyx_<span class='py_c_api'>PySequence_GetSlice</span>(((PyObject *)__pyx_v_dataOut), 0, __pyx_v_j);<span class='error_goto'> if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_9);
+  __pyx_r = __pyx_t_9;
+  __pyx_t_9 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_9);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    <span class='pyx_c_api'>__Pyx_ErrFetch</span>(&__pyx_type, &__pyx_value, &__pyx_tb);
+    <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&__pyx_pybuffernd_dataOut.rcbuffer->pybuffer);
+  <span class='pyx_c_api'>__Pyx_ErrRestore</span>(__pyx_type, __pyx_value, __pyx_tb);}
+  <span class='pyx_c_api'>__Pyx_AddTraceback</span>("byte_offset.analyseCython", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  goto __pyx_L2;
+  __pyx_L0:;
+  <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&__pyx_pybuffernd_dataOut.rcbuffer->pybuffer);
+  __pyx_L2:;
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_dataOut);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGIVEREF</span></span>(__pyx_r);
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannyFinishContext</span></span>();
+  return __pyx_r;
+}
+</pre></body></html>
diff --git a/src/byte_offset.pyx b/src/byte_offset.pyx
index 12dbab3..f7e3dda 100644
--- a/src/byte_offset.pyx
+++ b/src/byte_offset.pyx
@@ -1,6 +1,5 @@
-# coding: utf8
 """
-Authors:      Jérôme Kieffer, ESRF 
+Authors:      Jerome Kieffer, ESRF 
 Email:        jerome.kieffer at esrf.eu
 
 Cif Binary Files images are 2D images written by the Pilatus detector and others.
@@ -12,10 +11,10 @@ $ cython byte_offset.pyx
 
 """
 
-__author__ = "Jérôme Kieffer"
+__author__ = "Jerome Kieffer"
 __contact__ = "jerome.kieffer at esrf.eu"
-__license__ = "GPLv3+"
-__copyright__ = "2010, European Synchrotron Radiation Facility, Grenoble, France"
+__license__ = "LGPLv3+"
+__copyright__ = "2010-2012, European Synchrotron Radiation Facility, Grenoble, France"
 
 
 cimport numpy
@@ -23,13 +22,14 @@ import numpy
 import cython
 
 @cython.boundscheck(False)
-def analyseCython(char * stream, int size):
+def analyseCython(bytes stream not None, size=None):
     """
     Analyze a stream of char with any length of exception (2,4, or 8 bytes integers)
     @param stream: string representing the compressed data
     @param size: the size of the output array (of longInts)
     @return : int64 ndArrays 
     """
+
     cdef int                i = 0
     cdef int                j = 0
     cdef long long          last = 0
@@ -53,28 +53,31 @@ def analyseCython(char * stream, int size):
     cdef long long          tmp64f = 0
     cdef long long          tmp64g = 0
 
-
-
-
     cdef char               key8 = 0x80
     cdef char               key0 = 0x00
-    cdef numpy.ndarray[ long long  , ndim = 1] dataOut
-    dataOut = numpy.zeros(size, dtype=numpy.int64)
 
+    cdef int csize
+    cdef int lenStream = < int > len(stream)
+    cdef char * cstream = stream
+    if size is None:
+        csize = lenStream
+    else:
+        csize = < int > size
+    cdef numpy.ndarray[ long long  , ndim = 1] dataOut = numpy.zeros(csize, dtype=numpy.int64)
     with nogil:
-        while (j < size):
-            if (stream[i] == key8):
-                if ((stream[i + 1] == key0) and (stream[i + 2] == key8)):
-                    if (stream[i + 3] == key0) and (stream[i + 4] == key0) and (stream[i + 5] == key0) and (stream[i + 6] == key8):
+        while (i < lenStream) and (j < csize):
+            if (cstream[i] == key8):
+                if ((cstream[i + 1] == key0) and (cstream[i + 2] == key8)):
+                    if (cstream[i + 3] == key0) and (cstream[i + 4] == key0) and (cstream[i + 5] == key0) and (cstream[i + 6] == key8):
                         #Retrieve the interesting Bytes of data
-                        tmp8 = stream[i + 14]
-                        utmp8a = stream[i + 13]
-                        utmp8b = stream[i + 12]
-                        utmp8c = stream[i + 11]
-                        utmp8d = stream[i + 10]
-                        utmp8e = stream[i + 9]
-                        utmp8f = stream[i + 8]
-                        utmp8g = stream[i + 7]
+                        tmp8 = cstream[i + 14]
+                        utmp8a = cstream[i + 13]
+                        utmp8b = cstream[i + 12]
+                        utmp8c = cstream[i + 11]
+                        utmp8d = cstream[i + 10]
+                        utmp8e = cstream[i + 9]
+                        utmp8f = cstream[i + 8]
+                        utmp8g = cstream[i + 7]
                         # cast them  in 64 bit
                         tmp64 = tmp8
                         tmp64a = utmp8a
@@ -88,10 +91,10 @@ def analyseCython(char * stream, int size):
                         i += 15
                     else:
                         #Retrieve the interesting Bytes of data
-                        tmp8 = stream[i + 6]
-                        utmp8a = stream[i + 5]
-                        utmp8b = stream[i + 4]
-                        utmp8c = stream[i + 3]
+                        tmp8 = cstream[i + 6]
+                        utmp8a = cstream[i + 5]
+                        utmp8b = cstream[i + 4]
+                        utmp8c = cstream[i + 3]
                         # cast them  in 64 bit
                         tmp64 = tmp8
                         tmp64a = utmp8a
@@ -101,19 +104,18 @@ def analyseCython(char * stream, int size):
                         current = (tmp64 << 24) | (tmp64a << 16) | (tmp64b << 8) | (tmp64c);
                         i += 7
                 else:
-                    tmp8 = stream[i + 2];
-                    utmp8a = stream[i + 1]
+                    tmp8 = cstream[i + 2];
+                    utmp8a = cstream[i + 1]
                     # cast them  in 64 bit
                     tmp64 = tmp8
                     tmp64a = utmp8a
                     current = (tmp64 << 8) | (tmp64a);
                     i += 3
             else:
-                tmp8 = stream[i]
+                tmp8 = cstream[i]
                 current = tmp8
                 i += 1
             last += current
             dataOut[j] = last
             j += 1
-
-    return dataOut
+    return dataOut[:j]
diff --git a/src/ccp4_pack.c b/src/ccp4_pack.c
index b217fbf..604481f 100644
--- a/src/ccp4_pack.c
+++ b/src/ccp4_pack.c
@@ -1,3 +1,71 @@
+/* Fabio Mar345 ccp4_pack decompressor
+   Copyright (C) 2007-2009 Henning O. Sorensen & Erik Knudsen
+                 2012 ESRF
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 3 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General
+   Public License along with this library; if not, write to the
+   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301 USA */
+
+/* part of this code is freely adaped from pack_c.c from CCP4 distribution
+ * (which is also LGPL). The original author is Jan Pieter Abrahams
+ *
+						    jpa at mrc-lmb.cam.ac.uk
+
+   This file contains functions capable of compressing and decompressing
+   images. It is especially suited for X-ray diffraction patterns, or other
+   image formats in which orthogonal pixels contain "grey-levels" and
+   vary smoothly accross the image. Clean images measured by a MAR-research
+   image plate scanner containing two bytes per pixel can be compressed by
+   a factor of 3.5 to 4.5 .
+
+   Since the images are encoded in a byte-stream, there should be no problem
+   concerning big- or little ended machines: both will produce an identical
+   packed image.
+
+   Compression is achieved by first calculating the differences between every
+   pixel and the truncated value of four of its neighbours. For example:
+   the difference for a pixel at img[x, y] is:
+
+     img[x, y] - (int) (img[x-1, y-1] +
+                        img[x-1, y] +
+			img[x-1, y+1] +
+			img[x, y-1]) / 4
+
+   After calculating the differences, they are encoded in a packed array. A
+   packed array consists of consequitive chunks which have the following format:
+   - Three bits containing the logarithm base 2 of the number of pixels encoded
+     in the chunk.
+   - Three bits defining the number of bits used to encode one element of the
+     chunk. The value of these three bits is used as index in a lookup table
+     to get the actual number of bits of the elements of the chunk.
+        Note: in version 2, there are four bits in this position!! This allows
+              more efficient packing of synchrotron data! The routines in this
+	      sourcefile are backwards compatible.
+	                                             JPA, 26 June 1995
+   - The truncated pixel differences.
+
+   To compress an image, call pack_wordimage_c() or pack_longimage_c(). These
+   will append the packed image to any header information already written to
+   disk (take care that the file containing this information is closed before
+   calling). To decompress an image, call readpack_word_c() or
+   readpack_long_c(). These functions will find the start of the packed image
+   themselves, irrespective of the header format.
+
+                                            Jan Pieter Abrahams, 6 Jan 1993   */
+
+
+
 #ifndef _MSC_VER
 #include <stdint.h> 
 #else
@@ -6,6 +74,35 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <errno.h>
+#include <string.h>
+#define PACKIDENTIFIER "\nCCP4 packed image, X: %04d, Y: %04d\n"
+/* This string defines the start of a packed image. An image file is scanned
+   until this string is encountered, the size of the unpacked image is
+   determined from the values of X and Y (which are written out as formatted
+   ascii numbers), and the packed image is expected to start immediately after
+   the null-character ending the string. */
+
+#define V2IDENTIFIER "\nCCP4 packed image V2, X: %04d, Y: %04d\n"
+/* This string defines the start of a packed image. An image file is scanned
+   until this string is encountered, the size of the unpacked image is
+   determined from the values of X and Y (which are written out as formatted
+   ascii numbers), and the packed image is expected to start immediately after
+   the null-character ending the string. */
+
+#define PACKBUFSIZ BUFSIZ
+/* Size of internal buffer in which the packed array is stored during transit
+   form an unpacked image to a packed image on disk. It is set to the size
+   used by the buffered io-routines given in <stdio.h>, but it could be
+   anything. */
+
+#define DIFFBUFSIZ 16384L
+/* Size of the internal buffer in which the differences between neighbouring
+   pixels are stored prior to compression. The image is therefore compressed
+   in DIFFBUFSIZ chunks. Decompression does not need to know what DIFFBUFSIZ
+   was when the image was compressed. By increasing this value, the image
+   can be compressed into a packed image which is a few bytes smaller. Do
+   not decrease the value of DIFFBUFSIZ below 128L. */
+
 #define CCP4_PCK_BLOCK_HEADER_LENGTH 6
 #define CCP4_PCK_BLOCK_HEADER_LENGTH_V2 8
 /*array translating the number of errors per block*/
@@ -31,10 +128,110 @@ static const unsigned long CCP4_PCK_MASK_32[]={0x00,
   0x1FFFFFF, 0x3FFFFFF, 0x7FFFFFF, 0xFFFFFFF, 0x1FFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF};
 
 #define pfail_nonzero(a) if ((a)) return NULL;
+#define max(x, y) (((x) > (y)) ? (x) : (y))
+#define min(x, y) (((x) < (y)) ? (x) : (y))
+#define shift_left(x, n)  (((x) & CCP4_PCK_MASK_32[32 - (n)]) << (n))
+/* This macro is included because the C standard does not properly define a
+   left shift: on some machines the bits which are pushed out at the left are
+   popped back in at the right. By masking, the macro prevents this behaviour.
+   If you are sure that your machine does not pops bits back in, you can speed
+   up the code insignificantly by taking out the masking. */
+
+#define shift_right(x, n) (((x) >> (n)) & CCP4_PCK_MASK_32[32 - (n)])
+
 
 void *mar345_read_data(FILE *file, int ocount, int dim1, int dim2);
+void *mar345_read_data_string(char *instring, int ocount, int dim1, int dim2);
 void *ccp4_unpack(void *unpacked_array, void *packed, size_t dim1, size_t dim2, size_t max_num_int);
 void *ccp4_unpack_v2(void *unpacked_array, void *packed, size_t dim1, size_t dim2, size_t max_num_int);
+void *ccp4_unpack_string(void *unpacked_array, void *packed, size_t dim1, size_t dim2, size_t max_num_int);
+void *ccp4_unpack_v2_string(void *unpacked_array, void *packed, size_t dim1, size_t dim2, size_t max_num_int);
+
+void *mar345_read_data_string(char *instring, int ocount, int dim1, int dim2){
+	/* first process overflow bytes - for now we just ignore them
+	 * these are stored in 64 byte records*/
+	int orecords=(int)(ocount/8.0+0.875);
+	int *odata,x,y,version=0;
+	char *c,cbuffer[64]="";
+	char *t_;
+	unsigned int *unpacked_array;
+
+	odata=(int*)malloc(64*8*orecords);
+	if (!odata)
+	  return NULL;
+	//pfail_nonzero (orecords-fread(odata,64,orecords,file));
+	memcpy(odata, instring, 64*orecords);
+	t_ = instring + (64*orecords);
+	/* there is no stdout in a gui, sorry*/
+	//printf("have %d overflows in %d recs\n",ocount,orecords);
+
+	/* now after they have been read find the CCP4.....string and compare to dim1*/
+	c=cbuffer;
+	while((*c)!=EOF){
+
+	  if (c==cbuffer+63){
+	   c=cbuffer;
+	  }
+
+	//  *c=(char)getc(file);
+	  *c = (char) *t_;
+	  t_++;
+
+	  /*set the next character to a \0 so the string is always terminated*/
+	  *(c+1)='\0';
+
+	  if (*c=='\n'){
+		/*check for the CCP- string*/
+		x=y=0;
+		sscanf(cbuffer,"CCP4 packed image, X: %04d, Y: %04d", &x,&y);
+		if (x==dim1 || y ==dim2){
+		  version=1;
+		  break;
+		}
+		x=y=0;
+		sscanf(cbuffer,"CCP4 packed image V2, X: %04d, Y: %04d", &x,&y);
+		if (x==dim1 || y ==dim2){
+		  version=2;
+		  break;
+		}
+		c=cbuffer;
+	  } else
+		c++;
+	}
+	//printf("%d %d %d %d version %d\n",x,y,dim1,dim2,version);
+	/* allocate memory for the arrays*/
+	unpacked_array=(unsigned int*) malloc(sizeof(unsigned int)*dim1*dim2);
+	if (!unpacked_array)
+	  return NULL;
+	/*relay to whichever version of ccp4_unpack is appropriate*/
+
+	switch(version){
+	  case 1:
+		ccp4_unpack_string(unpacked_array,(void*)t_,dim1,dim2,0);
+		break;
+	  case 2:
+		ccp4_unpack_v2_string(unpacked_array,(void*)t_,dim1,dim2,0);
+		break;
+	  default:
+		return NULL;
+	}
+	//printf("finished, %d \n",dim1*dim2*sizeof(unsigned int));
+
+	/*handle overflows*/
+	while (ocount>0){
+	  unsigned int adress,value;
+	  adress=odata[2*ocount-2];
+	  if (adress){
+		value=odata[2*ocount-1];
+		/*adresses start at 1*/
+//		printf("address %d %d\n",address,value);
+		unpacked_array[adress-1]=value;
+	  }
+	  ocount--;
+	}
+	return unpacked_array;
+}
+
 
 /**unpack a new style mar345 image a'la what is done in CBFlib
  * assumes the file is already positioned after the ascii header
@@ -116,14 +313,15 @@ void * mar345_read_data(FILE *file, int ocount, int dim1, int dim2){
 }
 
 /**unpack a ccp4-style packed array into the memory location pointed to by unpacked_array
- * if this is null alloocate memory and return a pointer to it
- * \return NULL if unsuccesful
+ * if this is null allocate memory and return a pointer to it
+ * \return NULL if unsuccessful
  * TODO change this to read directly from the FILE to not waste memory*/ 
 void * ccp4_unpack(
     void *unpacked_array,
     void *packed,
     size_t dim1,size_t dim2,
-    size_t max_num_int){
+    size_t max_num_int
+    ){
 
   uint8_t t_,t2,_conv;
   int err_val,bit_offset,num_error=0,num_bits=0,read_bits;
@@ -131,7 +329,7 @@ void * ccp4_unpack(
   int x4,x3,x2,x1;
   unsigned int *int_arr=(unsigned int *) unpacked_array;
   FILE *instream=(FILE *)packed;
-  
+  //printf("file ");
   /*if no maximum integers are give read the whole nine yards*/
   if (max_num_int==0){
     max_num_int=dim1*dim2;
@@ -147,6 +345,9 @@ void * ccp4_unpack(
   bit_offset=0;
   /*read the first byte of the current_block*/
   t_=(unsigned char)fgetc(instream);
+
+  //printf("%02X \n",t_);
+
   /*while less than num ints have been unpacked*/
   i=0;  
   while(i<max_num_int){
@@ -219,6 +420,122 @@ void * ccp4_unpack(
   return (void *) unpacked_array;
 }
 
+
+void * ccp4_unpack_string(
+    void *unpacked_array,
+    void *packed,
+    size_t dim1,size_t dim2,
+    size_t max_num_int
+    ){
+
+  uint8_t t_,t2,_conv;
+  int err_val,bit_offset,num_error=0,num_bits=0,read_bits;
+  int i;
+  int x4,x3,x2,x1;
+  unsigned int *int_arr;
+  char *instream = (char *)packed;
+ /* printf("string ");
+  int toto;
+  for (toto=0;toto<16;toto++){
+	  printf("%02X ",(unsigned char)instream[toto]);
+  }
+  printf("\n");
+  */
+
+  /*if no maximum integers are give read the whole nine yards*/
+  if (max_num_int==0){
+    max_num_int=dim1*dim2;
+  }
+  /*if a NULL pointer is passed allocate some new memory*/
+  if (unpacked_array==NULL){
+    if ( (unpacked_array=malloc(sizeof(unsigned int)*max_num_int))==NULL){
+      errno=ENOMEM;
+      return NULL;
+    }
+  }
+  int_arr = (unsigned int *) unpacked_array;
+
+  /*packed bits always start at byte boundary after header*/
+  bit_offset=0;
+  /*read the first byte of the current_block*/
+  t_=(unsigned char)*instream;
+  instream++;
+  //printf("%02X \n",t_);
+  /*while less than num ints have been unpacked*/
+  i=0;
+  while(i<max_num_int){
+    if (num_error==0){
+      /* at the beginning of block - read the 6 block header bits*/
+      if (bit_offset>=(8-CCP4_PCK_BLOCK_HEADER_LENGTH)){
+        /*we'll be reading past the next byte boundary*/
+        t2=(unsigned char ) *instream;
+        instream++;
+        t_=(t_>>bit_offset) + ((unsigned char)t2 <<(8-bit_offset) );
+        num_error=CCP4_PCK_ERR_COUNT[t_ & CCP4_PCK_MASK[3]];
+        num_bits=CCP4_PCK_BIT_COUNT[(t_>>3) & CCP4_PCK_MASK[3]];
+        bit_offset=CCP4_PCK_BLOCK_HEADER_LENGTH+bit_offset-8;
+        t_=t2;
+      }else{
+        num_error=CCP4_PCK_ERR_COUNT[(t_>>bit_offset) & CCP4_PCK_MASK[3]];
+        num_bits=CCP4_PCK_BIT_COUNT[(t_>>(3+bit_offset)) & CCP4_PCK_MASK[3]];
+        bit_offset+=CCP4_PCK_BLOCK_HEADER_LENGTH;
+      }
+    } else {
+      /*reading the data in the block*/
+      while(num_error>0){
+        err_val=0;
+        read_bits=0;
+        while(read_bits<num_bits){
+          if (bit_offset+(num_bits-read_bits)>=8) {
+            /*read to next full byte boundary and convert*/
+            _conv= (t_>>bit_offset) & CCP4_PCK_MASK[8-bit_offset];
+            err_val|= (unsigned int) _conv << read_bits;
+            read_bits+=(8-bit_offset);
+            /*have read to byte boundary - set offset to 0 and read next byte*/
+            bit_offset=0;
+            t_=(unsigned char) *instream;
+            instream++;
+          }
+          else {
+            /*must stop before next byte boundary - also this means that these are the last bits in the error*/
+            _conv= (t_ >>bit_offset) & CCP4_PCK_MASK[num_bits-read_bits];
+            err_val|= _conv<<read_bits;
+            bit_offset+= (num_bits-read_bits);
+            read_bits=num_bits;
+          }
+
+        }
+        /*if the msb is set, the error is negative -
+         * fill up with 1s to get a 2's compl representation*/
+        if (err_val & (1 << (num_bits-1)) )
+        {
+          err_val|= -1<<(num_bits-1);
+        }
+        /*store the current value in the unpacked array*/
+        if (i>dim1){
+          /*the current pixel is not in the first row - averaging is possible
+           *n.b. the averaging calculation is performed in the 2's complement domain*/
+          x4=(int16_t) int_arr[i-1];
+          x3=(int16_t) int_arr[i-dim1+1];
+          x2=(int16_t) int_arr[i-dim1];
+          x1=(int16_t) int_arr[i-dim1-1];
+          int_arr[i]=(uint16_t) (err_val + (x4 + x3 + x2 + x1 +2) /4 );
+          i=i;
+        } else if (i!=0){
+          /*current pixel is in the 1st row but is not first pixel*/
+          int_arr[i]=(uint16_t) (err_val + int_arr[i-1]);
+        } else {
+          int_arr[i]=(uint16_t) err_val;
+        }
+        i++;
+        num_error--;
+      }
+    }/*else*/
+  }
+  return (void *) unpacked_array;
+}
+
+
 void * ccp4_unpack_v2(
     void *unpacked_array,
     void *packed,
@@ -318,3 +635,311 @@ void * ccp4_unpack_v2(
   }
   return (void *) unpacked_array;
 }
+void * ccp4_unpack_v2_string(
+    void *unpacked_array,
+    void *packed,
+    size_t dim1,size_t dim2,
+    size_t max_num_int){
+
+  uint8_t t_,t2,_conv;
+  int err_val,bit_offset,num_error=0,num_bits=0,read_bits;
+  int i;
+  unsigned int x4=0,x3=0,x2=0,x1=0;
+  unsigned int *int_arr=(unsigned int *) unpacked_array;
+  char *instream=(char *)packed;
+
+  /*if no maximum integers are give read the whole nine yards*/
+  if (max_num_int==0){
+    max_num_int=dim1*dim2;
+  }
+  /*if a NULL pointer is passed allocate some new memory*/
+  if (unpacked_array==NULL){
+    if ( (unpacked_array=malloc(sizeof(unsigned int)*max_num_int))==NULL){
+      errno=ENOMEM;
+      return NULL;
+    }
+  }
+  /*packed bits always start at byte boundary after header*/
+  bit_offset=0;
+  /*read the first byte of the current_block*/
+  t_=(unsigned char)*instream;
+  instream++;
+  /*while less than num ints have been unpacked*/
+  i=0;
+  while(i<max_num_int){
+    if (num_error==0){
+      /* at the beginning of block - read the 6 block header bits*/
+      if (bit_offset>=(8-CCP4_PCK_BLOCK_HEADER_LENGTH_V2)){
+        /*we'll be reading past the next byte boundary*/
+        t2=(unsigned char ) *instream;
+        instream++;
+        t_=(t_>>bit_offset) + ((unsigned char)t2 <<(8-bit_offset) );
+        num_error=CCP4_PCK_ERR_COUNT_V2[t_ & CCP4_PCK_MASK[4]];
+        num_bits=CCP4_PCK_BIT_COUNT_V2[(t_>>4) & CCP4_PCK_MASK[4]];
+        bit_offset=CCP4_PCK_BLOCK_HEADER_LENGTH_V2+bit_offset-8;
+        t_=t2;
+      }else{
+        num_error=CCP4_PCK_ERR_COUNT_V2[ (t_>>bit_offset) & CCP4_PCK_MASK[4] ];
+        num_bits=CCP4_PCK_BIT_COUNT_V2[ (t_>>(4+bit_offset)) & CCP4_PCK_MASK[4] ];
+        bit_offset+=CCP4_PCK_BLOCK_HEADER_LENGTH_V2;
+      }
+    } else {
+      /*reading the data in the block*/
+      while(num_error>0){
+        err_val=0;
+        read_bits=0;
+        while(read_bits<num_bits){
+          if (bit_offset+(num_bits-read_bits)>=8) {
+            /*read to next full byte boundary and convert*/
+            _conv= (t_>>bit_offset) & CCP4_PCK_MASK[8-bit_offset];
+            err_val|= (unsigned int) _conv << read_bits;
+            read_bits+=(8-bit_offset);
+            /*have read to byte boundary - set offset to 0 and read next byte*/
+            bit_offset=0;
+            t_=(unsigned char) *instream;
+            instream++;
+          }
+          else {
+            /*must stop before next byte boundary - also this means that these are the last bits in the error*/
+            _conv= (t_ >>bit_offset) & CCP4_PCK_MASK[num_bits-read_bits];
+            err_val|= _conv<<read_bits;
+            bit_offset+= (num_bits-read_bits);
+            read_bits=num_bits;
+          }
+
+        }
+        /*if the msb is set, the error is negative -
+         * fill up with 1s to get a 2's compl representation*/
+        if (err_val & (1 << (num_bits-1)) )
+        {
+          err_val|= -1<<(num_bits-1);
+        }
+        /*store the current value in the unpacked array*/
+        if (i>dim1){
+          /*the current pixel is not in the first row - averaging is possible
+           *n.b. the averaging calculation is performed in the 2's complement domain*/
+          x4=(int16_t) int_arr[i-1];
+          x3=(int16_t) int_arr[i-dim1+1];
+          x2=(int16_t) int_arr[i-dim1];
+          x1=(int16_t) int_arr[i-dim1-1];
+          int_arr[i]=(uint16_t) (err_val + (x4 + x3 + x2 + x1 +2) /4 );
+          i=i;
+        } else if (i!=0){
+          /*current pixel is in the 1st row but is not first pixel*/
+          int_arr[i]=(uint16_t) (err_val + int_arr[i-1]);
+        } else {
+          int_arr[i]=(uint16_t) err_val;
+        }
+        i++;
+        num_error--;
+      }
+    }/*else*/
+  }
+  return (void *) unpacked_array;
+}
+/*
+#############################################################################
+################### Everything to write Mar345 ##############################
+#############################################################################
+*/
+
+/* Returns the number of bits neccesary to encode the longword-array 'chunk'
+   of size 'n' The size in bits of one encoded element can be 0, 4, 5, 6, 7,
+   8, 16 or 32. */
+int bits(		int32_t *chunk,		int n){
+  int size, maxsize, i;
+
+  for (i = 1, maxsize = abs(chunk[0]); i < n; ++i)
+    maxsize = max(maxsize, abs(chunk[i]));
+  if (maxsize == 0)
+    size = 0;
+  else if (maxsize < 8)
+    size = 4 * n;
+  else if (maxsize < 16)
+    size = 5 * n;
+  else if (maxsize < 32)
+    size = 6 * n;
+  else if (maxsize < 64)
+    size = 7 * n;
+  else if (maxsize < 128)
+    size = 8 * n;
+  else if (maxsize < 32768)
+    size = 16 * n;
+  else
+    size = 32 * n;
+  return(size);
+}
+
+/* Calculates the difference of WORD-sized pixels of an image with the
+   truncated mean value of four of its neighbours. 'x' is the number of fast
+   coordinates of the image 'img', 'y' is the number of slow coordinates,
+   'diffs' will contain the differences, 'done' defines the index of the pixel
+   where calculating the differences should start. A pointer to the last
+   difference is returned. Maximally DIFFBUFSIZ differences are returned in
+   'diffs'.*/
+int *diff_words(
+		short int *word,
+		int x,
+		int y,
+		int *diffs,
+		int done){
+  int i = 0;
+  int tot = x * y;
+
+  if (done == 0)
+  { *diffs = word[0];
+    ++diffs;
+    ++done;
+    ++i;}
+  while ((done <= x) && (i < DIFFBUFSIZ))
+  { *diffs = word[done] - word[done - 1];
+    ++diffs;
+    ++done;
+    ++i;}
+  while ((done < tot) && (i < DIFFBUFSIZ))
+  { *diffs = word[done] - (word[done - 1] + word[done - x + 1] +
+                           word[done - x] + word[done - x - 1] + 2) / 4;
+    ++diffs;
+    ++done;
+    ++i;}
+  return(--diffs);
+}
+
+/* Pack 'n' WORDS, starting with 'lng[0]' into the packed array 'target'. The
+   elements of such a packed array do not obey BYTE-boundaries, but are put one
+   behind the other without any spacing. Only the 'bitsiz' number of least
+   significant bits are used. The starting bit of 'target' is 'bit' (bits range
+   from 0 to 7). After completion of 'pack_words()', both '**target' and '*bit'
+   are updated and define the next position in 'target' from which packing
+   could continue. */
+void pack_longs(int32_t *lng,
+		int n,
+		char **target,
+		int *bit,
+		int size){
+  int32_t mask, window;
+  int valids, i, temp;
+  int temp_bit = *bit;
+  char *temp_target = *target;
+
+  if (size > 0)
+  { mask = CCP4_PCK_MASK_32[size];
+    for (i = 0; i < n; ++i)
+    { window = lng[i] & mask;
+      valids = size;
+      if (temp_bit == 0)
+        *temp_target = (char) window;
+      else
+      { temp = shift_left(window, temp_bit);
+        *temp_target |= temp;}
+      window = shift_right(window, 8 - temp_bit);
+      valids = valids - (8 - temp_bit);
+      if (valids < 0)
+        temp_bit += size;
+      else
+      { while (valids > 0)
+        { *++temp_target = (char) window;
+          window = shift_right(window, 8);
+          valids -= 8;}
+        temp_bit = 8 + valids;}
+      if (valids == 0)
+      { temp_bit = 0;
+        ++temp_target;}}
+  *target = temp_target;
+  *bit = (*bit + (size * n)) % 8;}
+}
+
+
+/* Packs 'nmbr' LONGs starting at 'lng[0]' into a packed array of 'bitsize'
+   sized elements. If the internal buffer in which the array is packed is full,
+   it is flushed to 'file', making room for more of the packed array. If
+   ('lng == NULL'), the buffer is flushed a swell. */
+void pack_chunk(int32_t *lng,
+		int nmbr,
+		int bitsize,
+		FILE *packfile){
+  static int32_t bitsize_encode[33] = {0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 0,
+                                    0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
+                                    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7};
+  int32_t descriptor[2], i, j;
+  static char *buffer = NULL;
+  static char *buffree = NULL;
+  static int bitmark;
+
+  if (buffer == NULL)
+  { buffree = buffer = (char *) malloc(PACKBUFSIZ);
+    bitmark = 0;}
+  if (lng != NULL)
+  { for (i = nmbr, j = 0; i > 1; i /= 2, ++j);
+    descriptor[0] = j;
+    descriptor[1] = bitsize_encode[bitsize];
+    if ((buffree - buffer) > (PACKBUFSIZ - (130 * 4)))
+    { fwrite(buffer, sizeof(char), buffree - buffer, packfile);
+      buffer[0] = buffree[0];
+      buffree = buffer;}
+    pack_longs(descriptor, 2, &buffree, &bitmark, 3);
+    pack_longs(lng, nmbr, &buffree, &bitmark, bitsize);}
+  else
+  { int len=buffree-buffer;
+    if (bitmark!=0) len++;
+    fwrite(buffer, sizeof(char), len, packfile);
+    free((void *) buffer);
+    buffer = NULL;}}
+
+
+/* Pack image 'img', containing 'x * y' WORD-sized pixels into 'filename'. */
+void pack_wordimage_copen(short int *img,
+		int x,
+		int y,
+		FILE *packfile){
+	int chunksiz, packsiz, nbits, next_nbits, tot_nbits;
+	  int32_t buffer[DIFFBUFSIZ];
+	  int32_t *diffs = buffer;
+	  int32_t *end = diffs - 1;
+	  int32_t done = 0;
+
+	  fprintf(packfile, PACKIDENTIFIER, x, y);
+	  while (done < (x * y))
+	  { end = diff_words(img, x, y, buffer, done);
+		done += (end - buffer) + 1;
+		diffs = buffer;
+		while (diffs <= end)
+		{ packsiz = 0;
+		  chunksiz = 1;
+		  nbits = bits(diffs, 1);
+		  while (packsiz == 0)
+		  { if (end <= (diffs + chunksiz * 2))
+			  packsiz = chunksiz;
+			else
+			{ next_nbits = bits(diffs + chunksiz, chunksiz);
+			  tot_nbits = 2 * max(nbits, next_nbits);
+			  if (tot_nbits >= (nbits + next_nbits + 6))
+				packsiz = chunksiz;
+			  else
+			  { nbits = tot_nbits;
+				if (chunksiz == 64)
+				  packsiz = 128;
+				else
+				  chunksiz *= 2;}}}
+		   pack_chunk(diffs, packsiz, nbits / packsiz, packfile);
+		   diffs += packsiz;}}
+		pack_chunk(NULL, 0, 0, packfile);
+}
+
+
+
+void pack_wordimage_c(
+		short int *img,
+		int x, int y,
+		char *filename){
+  FILE *packfile = fopen(filename, "ab");
+  if (packfile == NULL) {
+    fprintf(stderr,"The file %s cannot be created!\n   ...giving up...\n",
+          filename);
+    exit(1);
+  } else {
+    pack_wordimage_copen(img, x, y, packfile);
+    fclose(packfile);
+  }
+}
+
diff --git a/src/ccp4_pack.h b/src/ccp4_pack.h
new file mode 100644
index 0000000..3c3ac09
--- /dev/null
+++ b/src/ccp4_pack.h
@@ -0,0 +1,58 @@
+/* Fabio Mar345 ccp4_pack decompressor
+   Copyright (C) 2007-2009 Henning O. Sorensen & Erik Knudsen
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 3 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General
+   Public License along with this library; if not, write to the
+   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301 USA */
+#ifndef _MSC_VER
+#include <stdint.h> 
+#else
+#include "stdint.h" 
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+
+
+#define CCP4_PCK_BLOCK_HEADER_LENGTH 6
+#define CCP4_PCK_BLOCK_HEADER_LENGTH_V2 8
+/*array translating the number of errors per block*/
+static unsigned int CCP4_PCK_ERR_COUNT[] = {1,2,4,8,16,32,64,128};
+/*array translating the number of bits per error*/
+static unsigned int CCP4_PCK_BIT_COUNT[]= {0,4,5,6,7,8,16,32};
+/*array translating the number of errors per block - can use shifts as well actually*/
+static unsigned int CCP4_PCK_ERR_COUNT_V2[] = {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768};
+/*array translating the number of bits per error*/
+static unsigned int CCP4_PCK_BIT_COUNT_V2[]= {0,4,5,6,7,8,9,10,11,12,13,14,15,16,32};
+
+static const unsigned char CCP4_PCK_MASK[]={0x00,
+  0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF};
+
+static const unsigned int CCP4_PCK_MASK_16[]={0x00,
+  0x01,  0x03,  0x07,  0x0F,  0x1F,   0x3F,   0x7F,   0xFF,
+  0x1FF, 0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF};
+
+static const unsigned long CCP4_PCK_MASK_32[]={0x00,
+  0x01,      0x03,      0x07,      0x0F,      0x1F,       0x3F,       0x7F,       0xFF,
+  0x1FF,     0x3FF,     0x7FF,     0xFFF,     0x1FFF,     0x3FFF,     0x7FFF,     0xFFFF,
+  0x1FFFF,   0x3FFFF,   0x7FFFF,   0xFFFFF,   0x1FFFFF,   0x3FFFFF,   0x7FFFFF,   0xFFFFFF,
+  0x1FFFFFF, 0x3FFFFFF, 0x7FFFFFF, 0xFFFFFFF, 0x1FFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF, 0xFFFFFFFF};
+
+#define pfail_nonzero(a) if ((a)) return NULL;
+
+void *mar345_read_data(FILE *file, int ocount, int dim1, int dim2);
+void *mar345_read_data_string(char *instring, int ocount, int dim1, int dim2);
+void *ccp4_unpack(void *unpacked_array, void *packed, size_t dim1, size_t dim2, size_t max_num_int);
+void *ccp4_unpack_v2(void *unpacked_array, void *packed, size_t dim1, size_t dim2, size_t max_num_int);
+void pack_wordimage_c(short int *img, int x, int y, char *filename);
diff --git a/src/mar345_IO.c b/src/mar345_IO.c
new file mode 100644
index 0000000..8b68490
--- /dev/null
+++ b/src/mar345_IO.c
@@ -0,0 +1,7479 @@
+/* Generated by Cython 0.16.beta0 on Fri Apr 20 09:46:40 2012 */
+
+#define PY_SSIZE_T_CLEAN
+#include "Python.h"
+#ifndef Py_PYTHON_H
+    #error Python headers needed to compile C extensions, please install development version of Python.
+#elif PY_VERSION_HEX < 0x02040000
+    #error Cython requires Python 2.4+.
+#else
+#include <stddef.h> /* For offsetof */
+#ifndef offsetof
+#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
+#endif
+
+#if !defined(WIN32) && !defined(MS_WINDOWS)
+  #ifndef __stdcall
+    #define __stdcall
+  #endif
+  #ifndef __cdecl
+    #define __cdecl
+  #endif
+  #ifndef __fastcall
+    #define __fastcall
+  #endif
+#endif
+
+#ifndef DL_IMPORT
+  #define DL_IMPORT(t) t
+#endif
+#ifndef DL_EXPORT
+  #define DL_EXPORT(t) t
+#endif
+
+#ifndef PY_LONG_LONG
+  #define PY_LONG_LONG LONG_LONG
+#endif
+
+#ifndef Py_HUGE_VAL
+  #define Py_HUGE_VAL HUGE_VAL
+#endif
+
+#ifdef PYPY_VERSION
+#define CYTHON_COMPILING_IN_PYPY 1
+#define CYTHON_COMPILING_IN_CPYTHON 0
+#else
+#define CYTHON_COMPILING_IN_PYPY 0
+#define CYTHON_COMPILING_IN_CPYTHON 1
+#endif
+
+#if CYTHON_COMPILING_IN_PYPY
+  #define __Pyx_PyCFunction_Call PyObject_Call
+#else
+  #define __Pyx_PyCFunction_Call PyCFunction_Call
+#endif
+
+#if PY_VERSION_HEX < 0x02050000
+  typedef int Py_ssize_t;
+  #define PY_SSIZE_T_MAX INT_MAX
+  #define PY_SSIZE_T_MIN INT_MIN
+  #define PY_FORMAT_SIZE_T ""
+  #define PyInt_FromSsize_t(z) PyInt_FromLong(z)
+  #define PyInt_AsSsize_t(o)   __Pyx_PyInt_AsInt(o)
+  #define PyNumber_Index(o)    PyNumber_Int(o)
+  #define PyIndex_Check(o)     PyNumber_Check(o)
+  #define PyErr_WarnEx(category, message, stacklevel) PyErr_Warn(category, message)
+  #define __PYX_BUILD_PY_SSIZE_T "i"
+#else
+  #define __PYX_BUILD_PY_SSIZE_T "n"
+#endif
+
+#if PY_VERSION_HEX < 0x02060000
+  #define Py_REFCNT(ob) (((PyObject*)(ob))->ob_refcnt)
+  #define Py_TYPE(ob)   (((PyObject*)(ob))->ob_type)
+  #define Py_SIZE(ob)   (((PyVarObject*)(ob))->ob_size)
+  #define PyVarObject_HEAD_INIT(type, size) \
+          PyObject_HEAD_INIT(type) size,
+  #define PyType_Modified(t)
+
+  typedef struct {
+     void *buf;
+     PyObject *obj;
+     Py_ssize_t len;
+     Py_ssize_t itemsize;
+     int readonly;
+     int ndim;
+     char *format;
+     Py_ssize_t *shape;
+     Py_ssize_t *strides;
+     Py_ssize_t *suboffsets;
+     void *internal;
+  } Py_buffer;
+
+  #define PyBUF_SIMPLE 0
+  #define PyBUF_WRITABLE 0x0001
+  #define PyBUF_FORMAT 0x0004
+  #define PyBUF_ND 0x0008
+  #define PyBUF_STRIDES (0x0010 | PyBUF_ND)
+  #define PyBUF_C_CONTIGUOUS (0x0020 | PyBUF_STRIDES)
+  #define PyBUF_F_CONTIGUOUS (0x0040 | PyBUF_STRIDES)
+  #define PyBUF_ANY_CONTIGUOUS (0x0080 | PyBUF_STRIDES)
+  #define PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)
+  #define PyBUF_RECORDS (PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_WRITABLE)
+  #define PyBUF_FULL (PyBUF_INDIRECT | PyBUF_FORMAT | PyBUF_WRITABLE)
+
+  typedef int (*getbufferproc)(PyObject *, Py_buffer *, int);
+  typedef void (*releasebufferproc)(PyObject *, Py_buffer *);
+#endif
+
+#if PY_MAJOR_VERSION < 3
+  #define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
+          PyCode_New(a, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+#else
+  #define __Pyx_BUILTIN_MODULE_NAME "builtins"
+  #define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos) \
+          PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
+#endif
+
+#if PY_MAJOR_VERSION < 3 && PY_MINOR_VERSION < 6
+  #define PyUnicode_FromString(s) PyUnicode_Decode(s, strlen(s), "UTF-8", "strict")
+#endif
+
+#if PY_MAJOR_VERSION >= 3
+  #define Py_TPFLAGS_CHECKTYPES 0
+  #define Py_TPFLAGS_HAVE_INDEX 0
+#endif
+
+#if (PY_VERSION_HEX < 0x02060000) || (PY_MAJOR_VERSION >= 3)
+  #define Py_TPFLAGS_HAVE_NEWBUFFER 0
+#endif
+
+
+#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_GET_LENGTH)
+  #define CYTHON_PEP393_ENABLED
+  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
+#else
+  #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
+  #define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
+#endif
+
+#if PY_MAJOR_VERSION >= 3
+  #define PyBaseString_Type            PyUnicode_Type
+  #define PyStringObject               PyUnicodeObject
+  #define PyString_Type                PyUnicode_Type
+  #define PyString_Check               PyUnicode_Check
+  #define PyString_CheckExact          PyUnicode_CheckExact
+#endif
+
+#if PY_VERSION_HEX < 0x02060000
+  #define PyBytesObject                PyStringObject
+  #define PyBytes_Type                 PyString_Type
+  #define PyBytes_Check                PyString_Check
+  #define PyBytes_CheckExact           PyString_CheckExact
+  #define PyBytes_FromString           PyString_FromString
+  #define PyBytes_FromStringAndSize    PyString_FromStringAndSize
+  #define PyBytes_FromFormat           PyString_FromFormat
+  #define PyBytes_DecodeEscape         PyString_DecodeEscape
+  #define PyBytes_AsString             PyString_AsString
+  #define PyBytes_AsStringAndSize      PyString_AsStringAndSize
+  #define PyBytes_Size                 PyString_Size
+  #define PyBytes_AS_STRING            PyString_AS_STRING
+  #define PyBytes_GET_SIZE             PyString_GET_SIZE
+  #define PyBytes_Repr                 PyString_Repr
+  #define PyBytes_Concat               PyString_Concat
+  #define PyBytes_ConcatAndDel         PyString_ConcatAndDel
+#endif
+
+#if PY_VERSION_HEX < 0x02060000
+  #define PySet_Check(obj)             PyObject_TypeCheck(obj, &PySet_Type)
+  #define PyFrozenSet_Check(obj)       PyObject_TypeCheck(obj, &PyFrozenSet_Type)
+#endif
+#ifndef PySet_CheckExact
+  #define PySet_CheckExact(obj)        (Py_TYPE(obj) == &PySet_Type)
+#endif
+
+#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
+
+#if PY_MAJOR_VERSION >= 3
+  #define PyIntObject                  PyLongObject
+  #define PyInt_Type                   PyLong_Type
+  #define PyInt_Check(op)              PyLong_Check(op)
+  #define PyInt_CheckExact(op)         PyLong_CheckExact(op)
+  #define PyInt_FromString             PyLong_FromString
+  #define PyInt_FromUnicode            PyLong_FromUnicode
+  #define PyInt_FromLong               PyLong_FromLong
+  #define PyInt_FromSize_t             PyLong_FromSize_t
+  #define PyInt_FromSsize_t            PyLong_FromSsize_t
+  #define PyInt_AsLong                 PyLong_AsLong
+  #define PyInt_AS_LONG                PyLong_AS_LONG
+  #define PyInt_AsSsize_t              PyLong_AsSsize_t
+  #define PyInt_AsUnsignedLongMask     PyLong_AsUnsignedLongMask
+  #define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
+#endif
+
+#if PY_MAJOR_VERSION >= 3
+  #define PyBoolObject                 PyLongObject
+#endif
+
+#if PY_VERSION_HEX < 0x03020000
+  typedef long Py_hash_t;
+  #define __Pyx_PyInt_FromHash_t PyInt_FromLong
+  #define __Pyx_PyInt_AsHash_t   PyInt_AsLong
+#else
+  #define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
+  #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
+#endif
+
+#if (PY_MAJOR_VERSION < 3) || (PY_VERSION_HEX >= 0x03010300)
+  #define __Pyx_PySequence_GetSlice(obj, a, b) PySequence_GetSlice(obj, a, b)
+  #define __Pyx_PySequence_SetSlice(obj, a, b, value) PySequence_SetSlice(obj, a, b, value)
+  #define __Pyx_PySequence_DelSlice(obj, a, b) PySequence_DelSlice(obj, a, b)
+#else
+  #define __Pyx_PySequence_GetSlice(obj, a, b) (unlikely(!(obj)) ? \
+        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), (PyObject*)0) : \
+        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_GetSlice(obj, a, b)) : \
+            (PyErr_Format(PyExc_TypeError, "'%.200s' object is unsliceable", (obj)->ob_type->tp_name), (PyObject*)0)))
+  #define __Pyx_PySequence_SetSlice(obj, a, b, value) (unlikely(!(obj)) ? \
+        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
+        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_SetSlice(obj, a, b, value)) : \
+            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice assignment", (obj)->ob_type->tp_name), -1)))
+  #define __Pyx_PySequence_DelSlice(obj, a, b) (unlikely(!(obj)) ? \
+        (PyErr_SetString(PyExc_SystemError, "null argument to internal routine"), -1) : \
+        (likely((obj)->ob_type->tp_as_mapping) ? (PySequence_DelSlice(obj, a, b)) : \
+            (PyErr_Format(PyExc_TypeError, "'%.200s' object doesn't support slice deletion", (obj)->ob_type->tp_name), -1)))
+#endif
+
+#if PY_MAJOR_VERSION >= 3
+  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
+#endif
+
+#if PY_VERSION_HEX < 0x02050000
+  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),((char *)(n)))
+  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),((char *)(n)),(a))
+  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),((char *)(n)))
+#else
+  #define __Pyx_GetAttrString(o,n)   PyObject_GetAttrString((o),(n))
+  #define __Pyx_SetAttrString(o,n,a) PyObject_SetAttrString((o),(n),(a))
+  #define __Pyx_DelAttrString(o,n)   PyObject_DelAttrString((o),(n))
+#endif
+
+#if PY_VERSION_HEX < 0x02050000
+  #define __Pyx_NAMESTR(n) ((char *)(n))
+  #define __Pyx_DOCSTR(n)  ((char *)(n))
+#else
+  #define __Pyx_NAMESTR(n) (n)
+  #define __Pyx_DOCSTR(n)  (n)
+#endif
+
+#if PY_MAJOR_VERSION >= 3
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_TrueDivide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceTrueDivide(x,y)
+#else
+  #define __Pyx_PyNumber_Divide(x,y)         PyNumber_Divide(x,y)
+  #define __Pyx_PyNumber_InPlaceDivide(x,y)  PyNumber_InPlaceDivide(x,y)
+#endif
+
+#ifndef __PYX_EXTERN_C
+  #ifdef __cplusplus
+    #define __PYX_EXTERN_C extern "C"
+  #else
+    #define __PYX_EXTERN_C extern
+  #endif
+#endif
+
+#if defined(WIN32) || defined(MS_WINDOWS)
+#define _USE_MATH_DEFINES
+#endif
+#include <math.h>
+#define __PYX_HAVE__mar345_IO
+#define __PYX_HAVE_API__mar345_IO
+#include "stdio.h"
+#include "stdlib.h"
+#include "numpy/arrayobject.h"
+#include "numpy/ufuncobject.h"
+#include "ccp4_pack.h"
+#ifdef _OPENMP
+#include <omp.h>
+#endif /* _OPENMP */
+
+#ifdef PYREX_WITHOUT_ASSERTIONS
+#define CYTHON_WITHOUT_ASSERTIONS
+#endif
+
+
+/* inline attribute */
+#ifndef CYTHON_INLINE
+  #if defined(__GNUC__)
+    #define CYTHON_INLINE __inline__
+  #elif defined(_MSC_VER)
+    #define CYTHON_INLINE __inline
+  #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+    #define CYTHON_INLINE inline
+  #else
+    #define CYTHON_INLINE
+  #endif
+#endif
+
+/* unused attribute */
+#ifndef CYTHON_UNUSED
+# if defined(__GNUC__)
+#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+#     define CYTHON_UNUSED __attribute__ ((__unused__))
+#   else
+#     define CYTHON_UNUSED
+#   endif
+# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
+#   define CYTHON_UNUSED __attribute__ ((__unused__))
+# else
+#   define CYTHON_UNUSED
+# endif
+#endif
+
+typedef struct {PyObject **p; char *s; const long n; const char* encoding; const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; /*proto*/
+
+
+/* Type Conversion Predeclarations */
+
+#define __Pyx_PyBytes_FromUString(s) PyBytes_FromString((char*)s)
+#define __Pyx_PyBytes_AsUString(s)   ((unsigned char*) PyBytes_AsString(s))
+
+#define __Pyx_Owned_Py_None(b) (Py_INCREF(Py_None), Py_None)
+#define __Pyx_PyBool_FromLong(b) ((b) ? (Py_INCREF(Py_True), Py_True) : (Py_INCREF(Py_False), Py_False))
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x);
+
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
+static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject*);
+
+#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
+#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
+
+#ifdef __GNUC__
+  /* Test for GCC > 2.95 */
+  #if __GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95))
+    #define likely(x)   __builtin_expect(!!(x), 1)
+    #define unlikely(x) __builtin_expect(!!(x), 0)
+  #else /* __GNUC__ > 2 ... */
+    #define likely(x)   (x)
+    #define unlikely(x) (x)
+  #endif /* __GNUC__ > 2 ... */
+#else /* __GNUC__ */
+  #define likely(x)   (x)
+  #define unlikely(x) (x)
+#endif /* __GNUC__ */
+    
+static PyObject *__pyx_m;
+static PyObject *__pyx_b;
+static PyObject *__pyx_empty_tuple;
+static PyObject *__pyx_empty_bytes;
+static int __pyx_lineno;
+static int __pyx_clineno = 0;
+static const char * __pyx_cfilenm= __FILE__;
+static const char *__pyx_filename;
+
+#if !defined(CYTHON_CCOMPLEX)
+  #if defined(__cplusplus)
+    #define CYTHON_CCOMPLEX 1
+  #elif defined(_Complex_I)
+    #define CYTHON_CCOMPLEX 1
+  #else
+    #define CYTHON_CCOMPLEX 0
+  #endif
+#endif
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    #include <complex>
+  #else
+    #include <complex.h>
+  #endif
+#endif
+#if CYTHON_CCOMPLEX && !defined(__cplusplus) && defined(__sun__) && defined(__GNUC__)
+  #undef _Complex_I
+  #define _Complex_I 1.0fj
+#endif
+
+
+static const char *__pyx_f[] = {
+  "mar345_IO.pyx",
+  "numpy.pxd",
+};
+#define IS_UNSIGNED(type) (((type) -1) > 0)
+struct __Pyx_StructField_;
+#define __PYX_BUF_FLAGS_PACKED_STRUCT (1 << 0)
+typedef struct {
+  const char* name; /* for error messages only */
+  struct __Pyx_StructField_* fields;
+  size_t size;     /* sizeof(type) */
+  size_t arraysize[8]; /* length of array in each dimension */
+  int ndim;
+  char typegroup; /* _R_eal, _C_omplex, Signed _I_nt, _U_nsigned int, _S_truct, _P_ointer, _O_bject */
+  char is_unsigned;
+  int flags;
+} __Pyx_TypeInfo;
+typedef struct __Pyx_StructField_ {
+  __Pyx_TypeInfo* type;
+  const char* name;
+  size_t offset;
+} __Pyx_StructField;
+typedef struct {
+  __Pyx_StructField* field;
+  size_t parent_offset;
+} __Pyx_BufFmt_StackElem;
+typedef struct {
+  __Pyx_StructField root;
+  __Pyx_BufFmt_StackElem* head;
+  size_t fmt_offset;
+  size_t new_count, enc_count;
+  size_t struct_alignment;
+  int is_complex;
+  char enc_type;
+  char new_packmode;
+  char enc_packmode;
+  char is_valid_array;
+} __Pyx_BufFmt_Context;
+
+
+/* "numpy.pxd":722
+ * # in Cython to enable them only on the right systems.
+ * 
+ * ctypedef npy_int8       int8_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t
+ */
+typedef npy_int8 __pyx_t_5numpy_int8_t;
+
+/* "numpy.pxd":723
+ * 
+ * ctypedef npy_int8       int8_t
+ * ctypedef npy_int16      int16_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int32      int32_t
+ * ctypedef npy_int64      int64_t
+ */
+typedef npy_int16 __pyx_t_5numpy_int16_t;
+
+/* "numpy.pxd":724
+ * ctypedef npy_int8       int8_t
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_int64      int64_t
+ * #ctypedef npy_int96      int96_t
+ */
+typedef npy_int32 __pyx_t_5numpy_int32_t;
+
+/* "numpy.pxd":725
+ * ctypedef npy_int16      int16_t
+ * ctypedef npy_int32      int32_t
+ * ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_int96      int96_t
+ * #ctypedef npy_int128     int128_t
+ */
+typedef npy_int64 __pyx_t_5numpy_int64_t;
+
+/* "numpy.pxd":729
+ * #ctypedef npy_int128     int128_t
+ * 
+ * ctypedef npy_uint8      uint8_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t
+ */
+typedef npy_uint8 __pyx_t_5numpy_uint8_t;
+
+/* "numpy.pxd":730
+ * 
+ * ctypedef npy_uint8      uint8_t
+ * ctypedef npy_uint16     uint16_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint32     uint32_t
+ * ctypedef npy_uint64     uint64_t
+ */
+typedef npy_uint16 __pyx_t_5numpy_uint16_t;
+
+/* "numpy.pxd":731
+ * ctypedef npy_uint8      uint8_t
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uint64     uint64_t
+ * #ctypedef npy_uint96     uint96_t
+ */
+typedef npy_uint32 __pyx_t_5numpy_uint32_t;
+
+/* "numpy.pxd":732
+ * ctypedef npy_uint16     uint16_t
+ * ctypedef npy_uint32     uint32_t
+ * ctypedef npy_uint64     uint64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_uint96     uint96_t
+ * #ctypedef npy_uint128    uint128_t
+ */
+typedef npy_uint64 __pyx_t_5numpy_uint64_t;
+
+/* "numpy.pxd":736
+ * #ctypedef npy_uint128    uint128_t
+ * 
+ * ctypedef npy_float32    float32_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_float64    float64_t
+ * #ctypedef npy_float80    float80_t
+ */
+typedef npy_float32 __pyx_t_5numpy_float32_t;
+
+/* "numpy.pxd":737
+ * 
+ * ctypedef npy_float32    float32_t
+ * ctypedef npy_float64    float64_t             # <<<<<<<<<<<<<<
+ * #ctypedef npy_float80    float80_t
+ * #ctypedef npy_float128   float128_t
+ */
+typedef npy_float64 __pyx_t_5numpy_float64_t;
+
+/* "numpy.pxd":746
+ * # The int types are mapped a bit surprising --
+ * # numpy.int corresponds to 'l' and numpy.long to 'q'
+ * ctypedef npy_long       int_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longlong   long_t
+ * ctypedef npy_longlong   longlong_t
+ */
+typedef npy_long __pyx_t_5numpy_int_t;
+
+/* "numpy.pxd":747
+ * # numpy.int corresponds to 'l' and numpy.long to 'q'
+ * ctypedef npy_long       int_t
+ * ctypedef npy_longlong   long_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longlong   longlong_t
+ * 
+ */
+typedef npy_longlong __pyx_t_5numpy_long_t;
+
+/* "numpy.pxd":748
+ * ctypedef npy_long       int_t
+ * ctypedef npy_longlong   long_t
+ * ctypedef npy_longlong   longlong_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_ulong      uint_t
+ */
+typedef npy_longlong __pyx_t_5numpy_longlong_t;
+
+/* "numpy.pxd":750
+ * ctypedef npy_longlong   longlong_t
+ * 
+ * ctypedef npy_ulong      uint_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_ulonglong  ulong_t
+ * ctypedef npy_ulonglong  ulonglong_t
+ */
+typedef npy_ulong __pyx_t_5numpy_uint_t;
+
+/* "numpy.pxd":751
+ * 
+ * ctypedef npy_ulong      uint_t
+ * ctypedef npy_ulonglong  ulong_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_ulonglong  ulonglong_t
+ * 
+ */
+typedef npy_ulonglong __pyx_t_5numpy_ulong_t;
+
+/* "numpy.pxd":752
+ * ctypedef npy_ulong      uint_t
+ * ctypedef npy_ulonglong  ulong_t
+ * ctypedef npy_ulonglong  ulonglong_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_intp       intp_t
+ */
+typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;
+
+/* "numpy.pxd":754
+ * ctypedef npy_ulonglong  ulonglong_t
+ * 
+ * ctypedef npy_intp       intp_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_uintp      uintp_t
+ * 
+ */
+typedef npy_intp __pyx_t_5numpy_intp_t;
+
+/* "numpy.pxd":755
+ * 
+ * ctypedef npy_intp       intp_t
+ * ctypedef npy_uintp      uintp_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_double     float_t
+ */
+typedef npy_uintp __pyx_t_5numpy_uintp_t;
+
+/* "numpy.pxd":757
+ * ctypedef npy_uintp      uintp_t
+ * 
+ * ctypedef npy_double     float_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_double     double_t
+ * ctypedef npy_longdouble longdouble_t
+ */
+typedef npy_double __pyx_t_5numpy_float_t;
+
+/* "numpy.pxd":758
+ * 
+ * ctypedef npy_double     float_t
+ * ctypedef npy_double     double_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_longdouble longdouble_t
+ * 
+ */
+typedef npy_double __pyx_t_5numpy_double_t;
+
+/* "numpy.pxd":759
+ * ctypedef npy_double     float_t
+ * ctypedef npy_double     double_t
+ * ctypedef npy_longdouble longdouble_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_cfloat      cfloat_t
+ */
+typedef npy_longdouble __pyx_t_5numpy_longdouble_t;
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    typedef ::std::complex< float > __pyx_t_float_complex;
+  #else
+    typedef float _Complex __pyx_t_float_complex;
+  #endif
+#else
+    typedef struct { float real, imag; } __pyx_t_float_complex;
+#endif
+
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    typedef ::std::complex< double > __pyx_t_double_complex;
+  #else
+    typedef double _Complex __pyx_t_double_complex;
+  #endif
+#else
+    typedef struct { double real, imag; } __pyx_t_double_complex;
+#endif
+
+
+/*--- Type declarations ---*/
+
+/* "numpy.pxd":761
+ * ctypedef npy_longdouble longdouble_t
+ * 
+ * ctypedef npy_cfloat      cfloat_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_cdouble     cdouble_t
+ * ctypedef npy_clongdouble clongdouble_t
+ */
+typedef npy_cfloat __pyx_t_5numpy_cfloat_t;
+
+/* "numpy.pxd":762
+ * 
+ * ctypedef npy_cfloat      cfloat_t
+ * ctypedef npy_cdouble     cdouble_t             # <<<<<<<<<<<<<<
+ * ctypedef npy_clongdouble clongdouble_t
+ * 
+ */
+typedef npy_cdouble __pyx_t_5numpy_cdouble_t;
+
+/* "numpy.pxd":763
+ * ctypedef npy_cfloat      cfloat_t
+ * ctypedef npy_cdouble     cdouble_t
+ * ctypedef npy_clongdouble clongdouble_t             # <<<<<<<<<<<<<<
+ * 
+ * ctypedef npy_cdouble     complex_t
+ */
+typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;
+
+/* "numpy.pxd":765
+ * ctypedef npy_clongdouble clongdouble_t
+ * 
+ * ctypedef npy_cdouble     complex_t             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):
+ */
+typedef npy_cdouble __pyx_t_5numpy_complex_t;
+#ifndef CYTHON_REFNANNY
+  #define CYTHON_REFNANNY 0
+#endif
+#if CYTHON_REFNANNY
+  typedef struct {
+    void (*INCREF)(void*, PyObject*, int);
+    void (*DECREF)(void*, PyObject*, int);
+    void (*GOTREF)(void*, PyObject*, int);
+    void (*GIVEREF)(void*, PyObject*, int);
+    void* (*SetupContext)(const char*, int, const char*);
+    void (*FinishContext)(void**);
+  } __Pyx_RefNannyAPIStruct;
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
+  static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); /*proto*/
+  #define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
+#ifdef WITH_THREAD
+  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
+          if (acquire_gil) { \
+              PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure(); \
+              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
+              PyGILState_Release(__pyx_gilstate_save); \
+          } else { \
+              __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__); \
+          }
+#else
+  #define __Pyx_RefNannySetupContext(name, acquire_gil) \
+          __pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
+#endif
+  #define __Pyx_RefNannyFinishContext() \
+          __Pyx_RefNanny->FinishContext(&__pyx_refnanny)
+  #define __Pyx_INCREF(r)  __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_DECREF(r)  __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GOTREF(r)  __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
+  #define __Pyx_XINCREF(r)  do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
+  #define __Pyx_XDECREF(r)  do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
+  #define __Pyx_XGOTREF(r)  do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
+  #define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
+#else
+  #define __Pyx_RefNannyDeclarations
+  #define __Pyx_RefNannySetupContext(name, acquire_gil)
+  #define __Pyx_RefNannyFinishContext()
+  #define __Pyx_INCREF(r) Py_INCREF(r)
+  #define __Pyx_DECREF(r) Py_DECREF(r)
+  #define __Pyx_GOTREF(r)
+  #define __Pyx_GIVEREF(r)
+  #define __Pyx_XINCREF(r) Py_XINCREF(r)
+  #define __Pyx_XDECREF(r) Py_XDECREF(r)
+  #define __Pyx_XGOTREF(r)
+  #define __Pyx_XGIVEREF(r)
+#endif /* CYTHON_REFNANNY */
+#define __Pyx_CLEAR(r)    do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
+#define __Pyx_XCLEAR(r)   do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
+
+static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name); /*proto*/
+
+static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
+    const char *name, int exact); /*proto*/
+
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type); /*proto*/
+
+static CYTHON_INLINE int  __Pyx_GetBufferAndValidate(Py_buffer* buf, PyObject* obj,
+    __Pyx_TypeInfo* dtype, int flags, int nd, int cast, __Pyx_BufFmt_StackElem* stack);
+static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info);
+
+static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
+
+static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
+
+static CYTHON_INLINE int __Pyx_IterFinish(void); /*proto*/
+
+static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); /*proto*/
+
+static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
+
+static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
+
+static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
+static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
+
+static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); /*proto*/
+
+static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject **argnames[], \
+    PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, \
+    const char* function_name); /*proto*/
+
+static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact,
+    Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); /*proto*/
+
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
+    PyObject *r;
+    if (!j) return NULL;
+    r = PyObject_GetItem(o, j);
+    Py_DECREF(j);
+    return r;
+}
+#define __Pyx_GetItemInt_List(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
+                                                    __Pyx_GetItemInt_List_Fast(o, i) : \
+                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i) {
+    if (likely(o != Py_None)) {
+        if (likely((0 <= i) & (i < PyList_GET_SIZE(o)))) {
+            PyObject *r = PyList_GET_ITEM(o, i);
+            Py_INCREF(r);
+            return r;
+        }
+        else if ((-PyList_GET_SIZE(o) <= i) & (i < 0)) {
+            PyObject *r = PyList_GET_ITEM(o, PyList_GET_SIZE(o) + i);
+            Py_INCREF(r);
+            return r;
+        }
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+}
+#define __Pyx_GetItemInt_Tuple(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
+                                                    __Pyx_GetItemInt_Tuple_Fast(o, i) : \
+                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i) {
+    if (likely(o != Py_None)) {
+        if (likely((0 <= i) & (i < PyTuple_GET_SIZE(o)))) {
+            PyObject *r = PyTuple_GET_ITEM(o, i);
+            Py_INCREF(r);
+            return r;
+        }
+        else if ((-PyTuple_GET_SIZE(o) <= i) & (i < 0)) {
+            PyObject *r = PyTuple_GET_ITEM(o, PyTuple_GET_SIZE(o) + i);
+            Py_INCREF(r);
+            return r;
+        }
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+}
+#define __Pyx_GetItemInt(o, i, size, to_py_func) (((size) <= sizeof(Py_ssize_t)) ? \
+                                                    __Pyx_GetItemInt_Fast(o, i) : \
+                                                    __Pyx_GetItemInt_Generic(o, to_py_func(i)))
+static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i) {
+    if (PyList_CheckExact(o)) {
+        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
+        if (likely((n >= 0) & (n < PyList_GET_SIZE(o)))) {
+            PyObject *r = PyList_GET_ITEM(o, n);
+            Py_INCREF(r);
+            return r;
+        }
+    }
+    else if (PyTuple_CheckExact(o)) {
+        Py_ssize_t n = (likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
+        if (likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
+            PyObject *r = PyTuple_GET_ITEM(o, n);
+            Py_INCREF(r);
+            return r;
+        }
+    }
+    else if (likely(i >= 0)) {
+        PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
+        if (likely(m && m->sq_item)) {
+            return m->sq_item(o, i);
+        }
+    }
+    return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
+}
+
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); /*proto*/
+
+static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
+
+static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); /*proto*/
+
+static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb); /*proto*/
+static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb); /*proto*/
+
+typedef struct {
+  Py_ssize_t shape, strides, suboffsets;
+} __Pyx_Buf_DimInfo;
+typedef struct {
+  size_t refcount;
+  Py_buffer pybuffer;
+} __Pyx_Buffer;
+typedef struct {
+  __Pyx_Buffer *rcbuffer;
+  char *data;
+  __Pyx_Buf_DimInfo diminfo[8];
+} __Pyx_LocalBuf_ND;
+
+#if PY_MAJOR_VERSION < 3
+    static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags);
+    static void __Pyx_ReleaseBuffer(Py_buffer *view);
+#else
+    #define __Pyx_GetBuffer PyObject_GetBuffer
+    #define __Pyx_ReleaseBuffer PyBuffer_Release
+#endif
+
+static Py_ssize_t __Pyx_zeros[] = {0, 0, 0, 0, 0, 0, 0, 0};
+static Py_ssize_t __Pyx_minusones[] = {-1, -1, -1, -1, -1, -1, -1, -1};
+
+static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level); /*proto*/
+
+#ifndef __PYX_FORCE_INIT_THREADS
+  #define __PYX_FORCE_INIT_THREADS 0
+#endif
+
+static int __Pyx_Print(PyObject*, PyObject *, int); /*proto*/
+#if PY_MAJOR_VERSION >= 3
+static PyObject* __pyx_print = 0;
+static PyObject* __pyx_print_kwargs = 0;
+#endif
+
+static int __Pyx_PrintOne(PyObject* stream, PyObject *o); /*proto*/
+
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    #define __Pyx_CREAL(z) ((z).real())
+    #define __Pyx_CIMAG(z) ((z).imag())
+  #else
+    #define __Pyx_CREAL(z) (__real__(z))
+    #define __Pyx_CIMAG(z) (__imag__(z))
+  #endif
+#else
+    #define __Pyx_CREAL(z) ((z).real)
+    #define __Pyx_CIMAG(z) ((z).imag)
+#endif
+#if defined(_WIN32) && defined(__cplusplus) && CYTHON_CCOMPLEX
+    #define __Pyx_SET_CREAL(z,x) ((z).real(x))
+    #define __Pyx_SET_CIMAG(z,y) ((z).imag(y))
+#else
+    #define __Pyx_SET_CREAL(z,x) __Pyx_CREAL(z) = (x)
+    #define __Pyx_SET_CIMAG(z,y) __Pyx_CIMAG(z) = (y)
+#endif
+
+static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float, float);
+
+#if CYTHON_CCOMPLEX
+    #define __Pyx_c_eqf(a, b)   ((a)==(b))
+    #define __Pyx_c_sumf(a, b)  ((a)+(b))
+    #define __Pyx_c_difff(a, b) ((a)-(b))
+    #define __Pyx_c_prodf(a, b) ((a)*(b))
+    #define __Pyx_c_quotf(a, b) ((a)/(b))
+    #define __Pyx_c_negf(a)     (-(a))
+  #ifdef __cplusplus
+    #define __Pyx_c_is_zerof(z) ((z)==(float)0)
+    #define __Pyx_c_conjf(z)    (::std::conj(z))
+    #if 1
+        #define __Pyx_c_absf(z)     (::std::abs(z))
+        #define __Pyx_c_powf(a, b)  (::std::pow(a, b))
+    #endif
+  #else
+    #define __Pyx_c_is_zerof(z) ((z)==0)
+    #define __Pyx_c_conjf(z)    (conjf(z))
+    #if 1
+        #define __Pyx_c_absf(z)     (cabsf(z))
+        #define __Pyx_c_powf(a, b)  (cpowf(a, b))
+    #endif
+ #endif
+#else
+    static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex, __pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex);
+    static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex);
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex);
+    #if 1
+        static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex);
+        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_powf(__pyx_t_float_complex, __pyx_t_float_complex);
+    #endif
+#endif
+
+static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double, double);
+
+#if CYTHON_CCOMPLEX
+    #define __Pyx_c_eq(a, b)   ((a)==(b))
+    #define __Pyx_c_sum(a, b)  ((a)+(b))
+    #define __Pyx_c_diff(a, b) ((a)-(b))
+    #define __Pyx_c_prod(a, b) ((a)*(b))
+    #define __Pyx_c_quot(a, b) ((a)/(b))
+    #define __Pyx_c_neg(a)     (-(a))
+  #ifdef __cplusplus
+    #define __Pyx_c_is_zero(z) ((z)==(double)0)
+    #define __Pyx_c_conj(z)    (::std::conj(z))
+    #if 1
+        #define __Pyx_c_abs(z)     (::std::abs(z))
+        #define __Pyx_c_pow(a, b)  (::std::pow(a, b))
+    #endif
+  #else
+    #define __Pyx_c_is_zero(z) ((z)==0)
+    #define __Pyx_c_conj(z)    (conj(z))
+    #if 1
+        #define __Pyx_c_abs(z)     (cabs(z))
+        #define __Pyx_c_pow(a, b)  (cpow(a, b))
+    #endif
+ #endif
+#else
+    static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex, __pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex);
+    static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex);
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex);
+    #if 1
+        static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex);
+        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow(__pyx_t_double_complex, __pyx_t_double_complex);
+    #endif
+#endif
+
+static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject *);
+
+static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject *);
+
+static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject *);
+
+static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject *);
+
+static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject *);
+
+static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject *);
+
+static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject *);
+
+static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject *);
+
+static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject *);
+
+static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject *);
+
+static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject *);
+
+static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject *);
+
+static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject *);
+
+static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject *);
+
+static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject *);
+
+static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject *);
+
+static int __Pyx_check_binary_version(void);
+
+#if !defined(__Pyx_PyIdentifier_FromString)
+#if PY_MAJOR_VERSION < 3
+  #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s)
+#else
+  #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s)
+#endif
+#endif
+
+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);  /*proto*/
+
+static PyObject *__Pyx_ImportModule(const char *name); /*proto*/
+
+typedef struct {
+    int code_line;
+    PyCodeObject* code_object;
+} __Pyx_CodeObjectCacheEntry;
+struct __Pyx_CodeObjectCache {
+    int count;
+    int max_count;
+    __Pyx_CodeObjectCacheEntry* entries;
+};
+static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL};
+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line);
+static PyCodeObject *__pyx_find_code_object(int code_line);
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object);
+
+static void __Pyx_AddTraceback(const char *funcname, int c_line,
+                               int py_line, const char *filename); /*proto*/
+
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); /*proto*/
+
+
+/* Module declarations from 'cython' */
+
+/* Module declarations from 'cpython.buffer' */
+
+/* Module declarations from 'cpython.ref' */
+
+/* Module declarations from 'libc.stdio' */
+
+/* Module declarations from 'cpython.object' */
+
+/* Module declarations from 'libc.stdlib' */
+
+/* Module declarations from 'numpy' */
+
+/* Module declarations from 'numpy' */
+static PyTypeObject *__pyx_ptype_5numpy_dtype = 0;
+static PyTypeObject *__pyx_ptype_5numpy_flatiter = 0;
+static PyTypeObject *__pyx_ptype_5numpy_broadcast = 0;
+static PyTypeObject *__pyx_ptype_5numpy_ndarray = 0;
+static PyTypeObject *__pyx_ptype_5numpy_ufunc = 0;
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, char *, char *, int *); /*proto*/
+
+/* Module declarations from 'mar345_IO' */
+static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint16_t = { "uint16_t", NULL, sizeof(__pyx_t_5numpy_uint16_t), { 0 }, 0, 'U', IS_UNSIGNED(__pyx_t_5numpy_uint16_t), 0 };
+static __Pyx_TypeInfo __Pyx_TypeInfo_nn___pyx_t_5numpy_uint32_t = { "uint32_t", NULL, sizeof(__pyx_t_5numpy_uint32_t), { 0 }, 0, 'U', IS_UNSIGNED(__pyx_t_5numpy_uint32_t), 0 };
+#define __Pyx_MODULE_NAME "mar345_IO"
+int __pyx_module_is_main_mar345_IO = 0;
+
+/* Implementation of 'mar345_IO' */
+static PyObject *__pyx_builtin_open;
+static PyObject *__pyx_builtin_ValueError;
+static PyObject *__pyx_builtin_range;
+static PyObject *__pyx_builtin_RuntimeError;
+static PyObject *__pyx_pf_9mar345_IO_compress_pck(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_inputArray); /* proto */
+static PyObject *__pyx_pf_9mar345_IO_2uncompress_pck(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_raw, PyObject *__pyx_v_dim1, PyObject *__pyx_v_dim2, PyObject *__pyx_v_overflowPix); /* proto */
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /* proto */
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info); /* proto */
+static char __pyx_k_1[] = "shape is 2D";
+static char __pyx_k_4[] = "CCP4 packed image, X: ";
+static char __pyx_k_5[] = "CCP4 packed image V2, X: ";
+static char __pyx_k_6[] = "END OF HEADER";
+static char __pyx_k_9[] = "\n";
+static char __pyx_k_11[] = "Error while looking for overflowed pixels in line %s";
+static char __pyx_k_13[] = "ndarray is not C contiguous";
+static char __pyx_k_15[] = "ndarray is not Fortran contiguous";
+static char __pyx_k_17[] = "Non-native byte order not supported";
+static char __pyx_k_19[] = "unknown dtype code in numpy.pxd (%d)";
+static char __pyx_k_20[] = "Format string allocated too short, see comment in numpy.pxd";
+static char __pyx_k_23[] = "Format string allocated too short.";
+static char __pyx_k_25[] = "\nNew Cython version of mar345_io for preparing the migration to Python3\n\nCompressor & decompressor for \"pack\" algorithm by JPA, binding to CCP4 libraries \n\nWarning: decompressor is just a cython porting of mar345_io, but in cython so (soon) python3 compliant.\n\nFuture: make those algorithm actually generate strings not go via files;\n        it will allow a broader use of the algorithm. \n\n";
+static char __pyx_k_26[] = "Jerome Kieffer";
+static char __pyx_k_27[] = "Gael Goret";
+static char __pyx_k_28[] = "jerome.kieffer at esrf.eu";
+static char __pyx_k_29[] = "LGPLv3+";
+static char __pyx_k_30[] = "2012, European Synchrotron Radiation Facility, Grenoble, France";
+static char __pyx_k_33[] = "/users/kieffer/workspace-ssd/fabio/trunk/src/mar345_IO.pyx";
+static char __pyx_k__B[] = "B";
+static char __pyx_k__H[] = "H";
+static char __pyx_k__I[] = "I";
+static char __pyx_k__L[] = "L";
+static char __pyx_k__O[] = "O";
+static char __pyx_k__Q[] = "Q";
+static char __pyx_k__b[] = "b";
+static char __pyx_k__d[] = "d";
+static char __pyx_k__f[] = "f";
+static char __pyx_k__g[] = "g";
+static char __pyx_k__h[] = "h";
+static char __pyx_k__i[] = "i";
+static char __pyx_k__j[] = "j";
+static char __pyx_k__l[] = "l";
+static char __pyx_k__q[] = "q";
+static char __pyx_k__Zd[] = "Zd";
+static char __pyx_k__Zf[] = "Zf";
+static char __pyx_k__Zg[] = "Zg";
+static char __pyx_k__fd[] = "fd";
+static char __pyx_k__os[] = "os";
+static char __pyx_k__rb[] = "rb";
+static char __pyx_k__end[] = "end";
+static char __pyx_k__key[] = "key";
+static char __pyx_k__raw[] = "raw";
+static char __pyx_k__ret[] = "ret";
+static char __pyx_k__HIGH[] = "HIGH";
+static char __pyx_k__data[] = "data";
+static char __pyx_k__dim0[] = "dim0";
+static char __pyx_k__dim1[] = "dim1";
+static char __pyx_k__dim2[] = "dim2";
+static char __pyx_k__find[] = "find";
+static char __pyx_k__key1[] = "key1";
+static char __pyx_k__key2[] = "key2";
+static char __pyx_k__name[] = "name";
+static char __pyx_k__open[] = "open";
+static char __pyx_k__read[] = "read";
+static char __pyx_k__seek[] = "seek";
+static char __pyx_k__size[] = "size";
+static char __pyx_k__word[] = "word";
+static char __pyx_k__cdata[] = "cdata";
+static char __pyx_k__cdim1[] = "cdim1";
+static char __pyx_k__cdim2[] = "cdim2";
+static char __pyx_k__chigh[] = "chigh";
+static char __pyx_k__close[] = "close";
+static char __pyx_k__dtype[] = "dtype";
+static char __pyx_k__fname[] = "fname";
+static char __pyx_k__index[] = "index";
+static char __pyx_k__numpy[] = "numpy";
+static char __pyx_k__range[] = "range";
+static char __pyx_k__ravel[] = "ravel";
+static char __pyx_k__sizes[] = "sizes";
+static char __pyx_k__split[] = "split";
+static char __pyx_k__start[] = "start";
+static char __pyx_k__strip[] = "strip";
+static char __pyx_k__zeros[] = "zeros";
+static char __pyx_k__astype[] = "astype";
+static char __pyx_k__hiLine[] = "hiLine";
+static char __pyx_k__lstrip[] = "lstrip";
+static char __pyx_k__output[] = "output";
+static char __pyx_k__remove[] = "remove";
+static char __pyx_k__uint16[] = "uint16";
+static char __pyx_k__uint32[] = "uint32";
+static char __pyx_k__mkstemp[] = "mkstemp";
+static char __pyx_k____exit__[] = "__exit__";
+static char __pyx_k____main__[] = "__main__";
+static char __pyx_k____test__[] = "__test__";
+static char __pyx_k__instream[] = "instream";
+static char __pyx_k__tempfile[] = "tempfile";
+static char __pyx_k____enter__[] = "__enter__";
+static char __pyx_k__mar345_IO[] = "mar345_IO";
+static char __pyx_k__ValueError[] = "ValueError";
+static char __pyx_k__inputArray[] = "inputArray";
+static char __pyx_k____authors__[] = "__authors__";
+static char __pyx_k____contact__[] = "__contact__";
+static char __pyx_k____license__[] = "__license__";
+static char __pyx_k__overflowPix[] = "overflowPix";
+static char __pyx_k__RuntimeError[] = "RuntimeError";
+static char __pyx_k__compress_pck[] = "compress_pck";
+static char __pyx_k____copyright__[] = "__copyright__";
+static char __pyx_k__uncompress_pck[] = "uncompress_pck";
+static char __pyx_k__ascontiguousarray[] = "ascontiguousarray";
+static PyObject *__pyx_kp_s_1;
+static PyObject *__pyx_kp_s_11;
+static PyObject *__pyx_kp_u_13;
+static PyObject *__pyx_kp_u_15;
+static PyObject *__pyx_kp_u_17;
+static PyObject *__pyx_kp_u_19;
+static PyObject *__pyx_kp_u_20;
+static PyObject *__pyx_kp_u_23;
+static PyObject *__pyx_kp_s_26;
+static PyObject *__pyx_kp_s_27;
+static PyObject *__pyx_kp_s_28;
+static PyObject *__pyx_kp_s_29;
+static PyObject *__pyx_kp_s_30;
+static PyObject *__pyx_kp_s_33;
+static PyObject *__pyx_kp_s_4;
+static PyObject *__pyx_kp_s_5;
+static PyObject *__pyx_kp_s_6;
+static PyObject *__pyx_kp_s_9;
+static PyObject *__pyx_n_s__HIGH;
+static PyObject *__pyx_n_s__RuntimeError;
+static PyObject *__pyx_n_s__ValueError;
+static PyObject *__pyx_n_s____authors__;
+static PyObject *__pyx_n_s____contact__;
+static PyObject *__pyx_n_s____copyright__;
+static PyObject *__pyx_n_s____enter__;
+static PyObject *__pyx_n_s____exit__;
+static PyObject *__pyx_n_s____license__;
+static PyObject *__pyx_n_s____main__;
+static PyObject *__pyx_n_s____test__;
+static PyObject *__pyx_n_s__ascontiguousarray;
+static PyObject *__pyx_n_s__astype;
+static PyObject *__pyx_n_s__cdata;
+static PyObject *__pyx_n_s__cdim1;
+static PyObject *__pyx_n_s__cdim2;
+static PyObject *__pyx_n_s__chigh;
+static PyObject *__pyx_n_s__close;
+static PyObject *__pyx_n_s__compress_pck;
+static PyObject *__pyx_n_s__data;
+static PyObject *__pyx_n_s__dim0;
+static PyObject *__pyx_n_s__dim1;
+static PyObject *__pyx_n_s__dim2;
+static PyObject *__pyx_n_s__dtype;
+static PyObject *__pyx_n_s__end;
+static PyObject *__pyx_n_s__f;
+static PyObject *__pyx_n_s__fd;
+static PyObject *__pyx_n_s__find;
+static PyObject *__pyx_n_s__fname;
+static PyObject *__pyx_n_s__hiLine;
+static PyObject *__pyx_n_s__i;
+static PyObject *__pyx_n_s__index;
+static PyObject *__pyx_n_s__inputArray;
+static PyObject *__pyx_n_s__instream;
+static PyObject *__pyx_n_s__j;
+static PyObject *__pyx_n_s__key;
+static PyObject *__pyx_n_s__key1;
+static PyObject *__pyx_n_s__key2;
+static PyObject *__pyx_n_s__lstrip;
+static PyObject *__pyx_n_s__mar345_IO;
+static PyObject *__pyx_n_s__mkstemp;
+static PyObject *__pyx_n_s__name;
+static PyObject *__pyx_n_s__numpy;
+static PyObject *__pyx_n_s__open;
+static PyObject *__pyx_n_s__os;
+static PyObject *__pyx_n_s__output;
+static PyObject *__pyx_n_s__overflowPix;
+static PyObject *__pyx_n_s__range;
+static PyObject *__pyx_n_s__ravel;
+static PyObject *__pyx_n_s__raw;
+static PyObject *__pyx_n_s__rb;
+static PyObject *__pyx_n_s__read;
+static PyObject *__pyx_n_s__remove;
+static PyObject *__pyx_n_s__ret;
+static PyObject *__pyx_n_s__seek;
+static PyObject *__pyx_n_s__size;
+static PyObject *__pyx_n_s__sizes;
+static PyObject *__pyx_n_s__split;
+static PyObject *__pyx_n_s__start;
+static PyObject *__pyx_n_s__strip;
+static PyObject *__pyx_n_s__tempfile;
+static PyObject *__pyx_n_s__uint16;
+static PyObject *__pyx_n_s__uint32;
+static PyObject *__pyx_n_s__uncompress_pck;
+static PyObject *__pyx_n_s__word;
+static PyObject *__pyx_n_s__zeros;
+static PyObject *__pyx_int_0;
+static PyObject *__pyx_int_neg_1;
+static PyObject *__pyx_int_13;
+static PyObject *__pyx_int_14;
+static PyObject *__pyx_int_15;
+static PyObject *__pyx_k_tuple_2;
+static PyObject *__pyx_k_tuple_3;
+static PyObject *__pyx_k_tuple_7;
+static PyObject *__pyx_k_tuple_8;
+static PyObject *__pyx_k_tuple_10;
+static PyObject *__pyx_k_tuple_12;
+static PyObject *__pyx_k_tuple_14;
+static PyObject *__pyx_k_tuple_16;
+static PyObject *__pyx_k_tuple_18;
+static PyObject *__pyx_k_tuple_21;
+static PyObject *__pyx_k_tuple_22;
+static PyObject *__pyx_k_tuple_24;
+static PyObject *__pyx_k_tuple_31;
+static PyObject *__pyx_k_tuple_34;
+static PyObject *__pyx_k_codeobj_32;
+static PyObject *__pyx_k_codeobj_35;
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9mar345_IO_1compress_pck(PyObject *__pyx_self, PyObject *__pyx_v_inputArray); /*proto*/
+static char __pyx_doc_9mar345_IO_compress_pck[] = "\n    @param inputArray: numpy array as input\n    @param filename: file to write data to \n    ";
+static PyMethodDef __pyx_mdef_9mar345_IO_1compress_pck = {__Pyx_NAMESTR("compress_pck"), (PyCFunction)__pyx_pw_9mar345_IO_1compress_pck, METH_O, __Pyx_DOCSTR(__pyx_doc_9mar345_IO_compress_pck)};
+static PyObject *__pyx_pw_9mar345_IO_1compress_pck(PyObject *__pyx_self, PyObject *__pyx_v_inputArray) {
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("compress_pck (wrapper)", 0);
+  __pyx_self = __pyx_self;
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_inputArray), __pyx_ptype_5numpy_ndarray, 0, "inputArray", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_r = __pyx_pf_9mar345_IO_compress_pck(__pyx_self, ((PyArrayObject *)__pyx_v_inputArray));
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "mar345_IO.pyx":32
+ * 
+ * @cython.boundscheck(False)
+ * def compress_pck(numpy.ndarray inputArray not None):             # <<<<<<<<<<<<<<
+ *     """
+ *     @param inputArray: numpy array as input
+ */
+
+static PyObject *__pyx_pf_9mar345_IO_compress_pck(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_inputArray) {
+  CYTHON_UNUSED long __pyx_v_size;
+  int __pyx_v_dim0;
+  int __pyx_v_dim1;
+  int __pyx_v_fd;
+  char *__pyx_v_name;
+  PyArrayObject *__pyx_v_data = 0;
+  short *__pyx_v_cdata;
+  PyObject *__pyx_v_fname = NULL;
+  PyObject *__pyx_v_f = NULL;
+  PyObject *__pyx_v_output = NULL;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_data;
+  __Pyx_Buffer __pyx_pybuffer_data;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  long __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  PyArrayObject *__pyx_t_7 = NULL;
+  PyObject *(*__pyx_t_8)(PyObject *);
+  int __pyx_t_9;
+  char *__pyx_t_10;
+  PyObject *__pyx_t_11 = NULL;
+  PyObject *__pyx_t_12 = NULL;
+  PyObject *__pyx_t_13 = NULL;
+  PyObject *__pyx_t_14 = NULL;
+  int __pyx_t_15;
+  PyObject *__pyx_t_16 = NULL;
+  int __pyx_t_17;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("compress_pck", 0);
+  __pyx_pybuffer_data.pybuffer.buf = NULL;
+  __pyx_pybuffer_data.refcount = 0;
+  __pyx_pybuffernd_data.data = NULL;
+  __pyx_pybuffernd_data.rcbuffer = &__pyx_pybuffer_data;
+
+  /* "mar345_IO.pyx":37
+ *     @param filename: file to write data to
+ *     """
+ *     cdef long  size = inputArray.size             # <<<<<<<<<<<<<<
+ *     cdef int dim0, dim1, i, j, fd, ret
+ *     cdef char* name
+ */
+  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_inputArray), __pyx_n_s__size); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_2 = __Pyx_PyInt_AsLong(__pyx_t_1); if (unlikely((__pyx_t_2 == (long)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v_size = __pyx_t_2;
+
+  /* "mar345_IO.pyx":40
+ *     cdef int dim0, dim1, i, j, fd, ret
+ *     cdef char* name
+ *     assert inputArray.ndim == 2, "shape is 2D"             # <<<<<<<<<<<<<<
+ *     dim0 = inputArray.shape[0]
+ *     dim1 = inputArray.shape[1]
+ */
+  #ifndef CYTHON_WITHOUT_ASSERTIONS
+  if (unlikely(!(__pyx_v_inputArray->nd == 2))) {
+    PyErr_SetObject(PyExc_AssertionError, ((PyObject *)__pyx_kp_s_1));
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  }
+  #endif
+
+  /* "mar345_IO.pyx":41
+ *     cdef char* name
+ *     assert inputArray.ndim == 2, "shape is 2D"
+ *     dim0 = inputArray.shape[0]             # <<<<<<<<<<<<<<
+ *     dim1 = inputArray.shape[1]
+ *     cdef numpy.ndarray[numpy.uint16_t, ndim = 1] data = numpy.ascontiguousarray(inputArray.astype(numpy.uint16).ravel(), dtype=numpy.uint16)
+ */
+  __pyx_v_dim0 = (__pyx_v_inputArray->dimensions[0]);
+
+  /* "mar345_IO.pyx":42
+ *     assert inputArray.ndim == 2, "shape is 2D"
+ *     dim0 = inputArray.shape[0]
+ *     dim1 = inputArray.shape[1]             # <<<<<<<<<<<<<<
+ *     cdef numpy.ndarray[numpy.uint16_t, ndim = 1] data = numpy.ascontiguousarray(inputArray.astype(numpy.uint16).ravel(), dtype=numpy.uint16)
+ *     cdef short int * cdata
+ */
+  __pyx_v_dim1 = (__pyx_v_inputArray->dimensions[1]);
+
+  /* "mar345_IO.pyx":43
+ *     dim0 = inputArray.shape[0]
+ *     dim1 = inputArray.shape[1]
+ *     cdef numpy.ndarray[numpy.uint16_t, ndim = 1] data = numpy.ascontiguousarray(inputArray.astype(numpy.uint16).ravel(), dtype=numpy.uint16)             # <<<<<<<<<<<<<<
+ *     cdef short int * cdata
+ *     cdata = < short int *> data.data
+ */
+  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__numpy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__ascontiguousarray); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_3);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyObject_GetAttr(((PyObject *)__pyx_v_inputArray), __pyx_n_s__astype); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__numpy); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__uint16); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_5);
+  __pyx_t_5 = 0;
+  __pyx_t_5 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
+  __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__ravel); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_5);
+  __pyx_t_5 = 0;
+  __pyx_t_5 = PyDict_New(); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(((PyObject *)__pyx_t_5));
+  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__numpy); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_6 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__uint16); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  if (PyDict_SetItem(__pyx_t_5, ((PyObject *)__pyx_n_s__dtype), __pyx_t_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyObject_Call(__pyx_t_3, ((PyObject *)__pyx_t_4), ((PyObject *)__pyx_t_5)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
+  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+  if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_6);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint16_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+      __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0];
+    }
+  }
+  __pyx_t_7 = 0;
+  __pyx_v_data = ((PyArrayObject *)__pyx_t_6);
+  __pyx_t_6 = 0;
+
+  /* "mar345_IO.pyx":45
+ *     cdef numpy.ndarray[numpy.uint16_t, ndim = 1] data = numpy.ascontiguousarray(inputArray.astype(numpy.uint16).ravel(), dtype=numpy.uint16)
+ *     cdef short int * cdata
+ *     cdata = < short int *> data.data             # <<<<<<<<<<<<<<
+ *     (fd,fname) = tempfile.mkstemp()
+ *     name = <char*>  fname
+ */
+  __pyx_v_cdata = ((short *)__pyx_v_data->data);
+
+  /* "mar345_IO.pyx":46
+ *     cdef short int * cdata
+ *     cdata = < short int *> data.data
+ *     (fd,fname) = tempfile.mkstemp()             # <<<<<<<<<<<<<<
+ *     name = <char*>  fname
+ *     with nogil:
+ */
+  __pyx_t_6 = __Pyx_GetName(__pyx_m, __pyx_n_s__tempfile); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_5 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s__mkstemp); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  #if CYTHON_COMPILING_IN_CPYTHON
+  if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) {
+    PyObject* sequence = __pyx_t_6;
+    if (likely(PyTuple_CheckExact(sequence))) {
+      if (unlikely(PyTuple_GET_SIZE(sequence) != 2)) {
+        if (PyTuple_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
+        else __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(sequence));
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      }
+      __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); 
+      __Pyx_INCREF(__pyx_t_5);
+      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+      __Pyx_INCREF(__pyx_t_4);
+    } else {
+      if (unlikely(PyList_GET_SIZE(sequence) != 2)) {
+        if (PyList_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
+        else __Pyx_RaiseNeedMoreValuesError(PyList_GET_SIZE(sequence));
+        {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      }
+      __pyx_t_5 = PyList_GET_ITEM(sequence, 0); 
+      __Pyx_INCREF(__pyx_t_5);
+      __pyx_t_4 = PyList_GET_ITEM(sequence, 1); 
+      __Pyx_INCREF(__pyx_t_4);
+    }
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  {
+    Py_ssize_t index = -1;
+    __pyx_t_3 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext;
+    index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L3_unpacking_failed;
+    __Pyx_GOTREF(__pyx_t_5);
+    index = 1; __pyx_t_4 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed;
+    __Pyx_GOTREF(__pyx_t_4);
+    if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_3), 2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_t_8 = NULL;
+    goto __pyx_L4_unpacking_done;
+    __pyx_L3_unpacking_failed:;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
+    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_L4_unpacking_done:;
+  }
+  __pyx_t_9 = __Pyx_PyInt_AsInt(__pyx_t_5); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_v_fd = __pyx_t_9;
+  __pyx_v_fname = __pyx_t_4;
+  __pyx_t_4 = 0;
+
+  /* "mar345_IO.pyx":47
+ *     cdata = < short int *> data.data
+ *     (fd,fname) = tempfile.mkstemp()
+ *     name = <char*>  fname             # <<<<<<<<<<<<<<
+ *     with nogil:
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ */
+  __pyx_t_10 = PyBytes_AsString(__pyx_v_fname); if (unlikely((!__pyx_t_10) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_v_name = ((char *)__pyx_t_10);
+
+  /* "mar345_IO.pyx":48
+ *     (fd,fname) = tempfile.mkstemp()
+ *     name = <char*>  fname
+ *     with nogil:             # <<<<<<<<<<<<<<
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:
+ */
+  {
+      #ifdef WITH_THREAD
+      PyThreadState *_save = NULL;
+      #endif
+      Py_UNBLOCK_THREADS
+      /*try:*/ {
+
+        /* "mar345_IO.pyx":49
+ *     name = <char*>  fname
+ *     with nogil:
+ *         pack_wordimage_c(cdata, dim1, dim0, name)             # <<<<<<<<<<<<<<
+ *     with open(name,"rb") as f:
+ *         f.seek(0)
+ */
+        pack_wordimage_c(__pyx_v_cdata, __pyx_v_dim1, __pyx_v_dim0, __pyx_v_name);
+      }
+
+      /* "mar345_IO.pyx":48
+ *     (fd,fname) = tempfile.mkstemp()
+ *     name = <char*>  fname
+ *     with nogil:             # <<<<<<<<<<<<<<
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:
+ */
+      /*finally:*/ {
+        Py_BLOCK_THREADS
+      }
+  }
+
+  /* "mar345_IO.pyx":50
+ *     with nogil:
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:             # <<<<<<<<<<<<<<
+ *         f.seek(0)
+ *         output = f.read()
+ */
+  /*with:*/ {
+    __pyx_t_6 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(((PyObject *)__pyx_t_6));
+    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_6));
+    __Pyx_GIVEREF(((PyObject *)__pyx_t_6));
+    __Pyx_INCREF(((PyObject *)__pyx_n_s__rb));
+    PyTuple_SET_ITEM(__pyx_t_4, 1, ((PyObject *)__pyx_n_s__rb));
+    __Pyx_GIVEREF(((PyObject *)__pyx_n_s__rb));
+    __pyx_t_6 = 0;
+    __pyx_t_6 = PyObject_Call(__pyx_builtin_open, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
+    __pyx_t_11 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s____exit__); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_11);
+    __pyx_t_4 = PyObject_GetAttr(__pyx_t_6, __pyx_n_s____enter__); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L8_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    /*try:*/ {
+      {
+        __Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
+        __Pyx_XGOTREF(__pyx_t_12);
+        __Pyx_XGOTREF(__pyx_t_13);
+        __Pyx_XGOTREF(__pyx_t_14);
+        /*try:*/ {
+          __Pyx_INCREF(__pyx_t_5);
+          __pyx_v_f = __pyx_t_5;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+          /* "mar345_IO.pyx":51
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:
+ *         f.seek(0)             # <<<<<<<<<<<<<<
+ *         output = f.read()
+ *     os.close(fd)
+ */
+          __pyx_t_5 = PyObject_GetAttr(__pyx_v_f, __pyx_n_s__seek); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L12_error;}
+          __Pyx_GOTREF(__pyx_t_5);
+          __pyx_t_6 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_2), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L12_error;}
+          __Pyx_GOTREF(__pyx_t_6);
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+          /* "mar345_IO.pyx":52
+ *     with open(name,"rb") as f:
+ *         f.seek(0)
+ *         output = f.read()             # <<<<<<<<<<<<<<
+ *     os.close(fd)
+ *     os.remove(name)
+ */
+          __pyx_t_6 = PyObject_GetAttr(__pyx_v_f, __pyx_n_s__read); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L12_error;}
+          __Pyx_GOTREF(__pyx_t_6);
+          __pyx_t_5 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L12_error;}
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __pyx_v_output = __pyx_t_5;
+          __pyx_t_5 = 0;
+        }
+        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
+        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+        goto __pyx_L19_try_end;
+        __pyx_L12_error:;
+        __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+        /* "mar345_IO.pyx":50
+ *     with nogil:
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:             # <<<<<<<<<<<<<<
+ *         f.seek(0)
+ *         output = f.read()
+ */
+        /*except:*/ {
+          __Pyx_AddTraceback("mar345_IO.compress_pck", __pyx_clineno, __pyx_lineno, __pyx_filename);
+          if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;}
+          __Pyx_GOTREF(__pyx_t_5);
+          __Pyx_GOTREF(__pyx_t_6);
+          __Pyx_GOTREF(__pyx_t_4);
+          __pyx_t_3 = PyTuple_New(3); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;}
+          __Pyx_GOTREF(__pyx_t_3);
+          __Pyx_INCREF(__pyx_t_5);
+          PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5);
+          __Pyx_GIVEREF(__pyx_t_5);
+          __Pyx_INCREF(__pyx_t_6);
+          PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_6);
+          __Pyx_GIVEREF(__pyx_t_6);
+          __Pyx_INCREF(__pyx_t_4);
+          PyTuple_SET_ITEM(__pyx_t_3, 2, __pyx_t_4);
+          __Pyx_GIVEREF(__pyx_t_4);
+          __pyx_t_16 = PyObject_Call(__pyx_t_11, __pyx_t_3, NULL);
+          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;}
+          __Pyx_GOTREF(__pyx_t_16);
+          __pyx_t_15 = __Pyx_PyObject_IsTrue(__pyx_t_16);
+          __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+          if (unlikely(__pyx_t_15 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;}
+          __pyx_t_17 = (!__pyx_t_15);
+          if (__pyx_t_17) {
+            __Pyx_GIVEREF(__pyx_t_5);
+            __Pyx_GIVEREF(__pyx_t_6);
+            __Pyx_GIVEREF(__pyx_t_4);
+            __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_4);
+            __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_4 = 0; 
+            {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;}
+            goto __pyx_L23;
+          }
+          __pyx_L23:;
+          __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
+          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+          goto __pyx_L13_exception_handled;
+        }
+        __pyx_L14_except_error:;
+        __Pyx_XGIVEREF(__pyx_t_12);
+        __Pyx_XGIVEREF(__pyx_t_13);
+        __Pyx_XGIVEREF(__pyx_t_14);
+        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
+        goto __pyx_L1_error;
+        __pyx_L13_exception_handled:;
+        __Pyx_XGIVEREF(__pyx_t_12);
+        __Pyx_XGIVEREF(__pyx_t_13);
+        __Pyx_XGIVEREF(__pyx_t_14);
+        __Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
+        __pyx_L19_try_end:;
+      }
+    }
+    /*finally:*/ {
+      if (__pyx_t_11) {
+        __pyx_t_14 = PyObject_Call(__pyx_t_11, __pyx_k_tuple_3, NULL);
+        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+        if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __Pyx_GOTREF(__pyx_t_14);
+        __pyx_t_17 = __Pyx_PyObject_IsTrue(__pyx_t_14);
+        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        if (unlikely(__pyx_t_17 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      }
+    }
+    goto __pyx_L24;
+    __pyx_L8_error:;
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    goto __pyx_L1_error;
+    __pyx_L24:;
+  }
+
+  /* "mar345_IO.pyx":53
+ *         f.seek(0)
+ *         output = f.read()
+ *     os.close(fd)             # <<<<<<<<<<<<<<
+ *     os.remove(name)
+ *     return output
+ */
+  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__os); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_6 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__close); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyInt_FromLong(__pyx_v_fd); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_5);
+  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_4);
+  __pyx_t_4 = 0;
+  __pyx_t_4 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+  /* "mar345_IO.pyx":54
+ *         output = f.read()
+ *     os.close(fd)
+ *     os.remove(name)             # <<<<<<<<<<<<<<
+ *     return output
+ * 
+ */
+  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__os); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__remove); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyBytes_FromString(__pyx_v_name); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(((PyObject *)__pyx_t_4));
+  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_t_4));
+  __Pyx_GIVEREF(((PyObject *)__pyx_t_4));
+  __pyx_t_4 = 0;
+  __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_6), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+  /* "mar345_IO.pyx":55
+ *     os.close(fd)
+ *     os.remove(name)
+ *     return output             # <<<<<<<<<<<<<<
+ * 
+ * @cython.boundscheck(False)
+ */
+  __Pyx_XDECREF(__pyx_r);
+  if (unlikely(!__pyx_v_output)) { __Pyx_RaiseUnboundLocalError("output"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
+  __Pyx_INCREF(__pyx_v_output);
+  __pyx_r = __pyx_v_output;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_data.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_AddTraceback("mar345_IO.compress_pck", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_data.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_data);
+  __Pyx_XDECREF(__pyx_v_fname);
+  __Pyx_XDECREF(__pyx_v_f);
+  __Pyx_XDECREF(__pyx_v_output);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9mar345_IO_3uncompress_pck(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9mar345_IO_2uncompress_pck[] = "\n    Unpack a mar345 compressed image\n    \n    @param raw: input string (bytes in python3)\n    @param dim1,dim2: optional parameters size\n    @param overflowPix: optional parameters: number of overflowed pixels \n    \n    @return : ndarray of 2D with the right size\n    ";
+static PyMethodDef __pyx_mdef_9mar345_IO_3uncompress_pck = {__Pyx_NAMESTR("uncompress_pck"), (PyCFunction)__pyx_pw_9mar345_IO_3uncompress_pck, METH_VARARGS|METH_KEYWORDS, __Pyx_DOCSTR(__pyx_doc_9mar345_IO_2uncompress_pck)};
+static PyObject *__pyx_pw_9mar345_IO_3uncompress_pck(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_raw = 0;
+  PyObject *__pyx_v_dim1 = 0;
+  PyObject *__pyx_v_dim2 = 0;
+  PyObject *__pyx_v_overflowPix = 0;
+  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__raw,&__pyx_n_s__dim1,&__pyx_n_s__dim2,&__pyx_n_s__overflowPix,0};
+  PyObject *__pyx_r = 0;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("uncompress_pck (wrapper)", 0);
+  __pyx_self = __pyx_self;
+  {
+    PyObject* values[4] = {0,0,0,0};
+
+    /* "mar345_IO.pyx":58
+ * 
+ * @cython.boundscheck(False)
+ * def uncompress_pck(raw not None, dim1=None, dim2=None, overflowPix=None):             # <<<<<<<<<<<<<<
+ *     """
+ *     Unpack a mar345 compressed image
+ */
+    values[1] = ((PyObject *)Py_None);
+    values[2] = ((PyObject *)Py_None);
+    values[3] = ((PyObject *)Py_None);
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
+      switch (pos_args) {
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = PyDict_Size(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__raw);
+        if (likely(values[0])) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        case  1:
+        if (kw_args > 0) {
+          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dim1);
+          if (value) { values[1] = value; kw_args--; }
+        }
+        case  2:
+        if (kw_args > 0) {
+          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__dim2);
+          if (value) { values[2] = value; kw_args--; }
+        }
+        case  3:
+        if (kw_args > 0) {
+          PyObject* value = PyDict_GetItem(__pyx_kwds, __pyx_n_s__overflowPix);
+          if (value) { values[3] = value; kw_args--; }
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "uncompress_pck") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+      }
+    } else {
+      switch (PyTuple_GET_SIZE(__pyx_args)) {
+        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
+        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
+        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
+        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
+        break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+    }
+    __pyx_v_raw = values[0];
+    __pyx_v_dim1 = values[1];
+    __pyx_v_dim2 = values[2];
+    __pyx_v_overflowPix = values[3];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  __Pyx_RaiseArgtupleInvalid("uncompress_pck", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __pyx_L3_error:;
+  __Pyx_AddTraceback("mar345_IO.uncompress_pck", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __Pyx_RefNannyFinishContext();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  if (unlikely(((PyObject *)__pyx_v_raw) == Py_None)) {
+    PyErr_Format(PyExc_TypeError, "Argument 'raw' must not be None"); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  }
+  __pyx_r = __pyx_pf_9mar345_IO_2uncompress_pck(__pyx_self, __pyx_v_raw, __pyx_v_dim1, __pyx_v_dim2, __pyx_v_overflowPix);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9mar345_IO_2uncompress_pck(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_raw, PyObject *__pyx_v_dim1, PyObject *__pyx_v_dim2, PyObject *__pyx_v_overflowPix) {
+  int __pyx_v_cdim1;
+  int __pyx_v_cdim2;
+  int __pyx_v_chigh;
+  PyObject *__pyx_v_end = NULL;
+  PyObject *__pyx_v_key1 = NULL;
+  PyObject *__pyx_v_key2 = NULL;
+  PyObject *__pyx_v_start = NULL;
+  PyObject *__pyx_v_key = NULL;
+  PyObject *__pyx_v_sizes = NULL;
+  PyObject *__pyx_v_hiLine = NULL;
+  PyObject *__pyx_v_word = NULL;
+  PyArrayObject *__pyx_v_data = 0;
+  char *__pyx_v_instream;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_data;
+  __Pyx_Buffer __pyx_pybuffer_data;
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
+  Py_ssize_t __pyx_t_7;
+  Py_ssize_t __pyx_t_8;
+  int __pyx_t_9;
+  PyObject *__pyx_t_10 = NULL;
+  PyObject *__pyx_t_11 = NULL;
+  PyArrayObject *__pyx_t_12 = NULL;
+  char *__pyx_t_13;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("uncompress_pck", 0);
+  __Pyx_INCREF(__pyx_v_raw);
+  __pyx_pybuffer_data.pybuffer.buf = NULL;
+  __pyx_pybuffer_data.refcount = 0;
+  __pyx_pybuffernd_data.data = NULL;
+  __pyx_pybuffernd_data.rcbuffer = &__pyx_pybuffer_data;
+
+  /* "mar345_IO.pyx":69
+ *     """
+ *     cdef int cdim1, cdim2, chigh
+ *     end=None             # <<<<<<<<<<<<<<
+ *     if dim1 is None or dim2 is None:
+ *         key1 = "CCP4 packed image, X: "
+ */
+  __Pyx_INCREF(Py_None);
+  __pyx_v_end = Py_None;
+
+  /* "mar345_IO.pyx":70
+ *     cdef int cdim1, cdim2, chigh
+ *     end=None
+ *     if dim1 is None or dim2 is None:             # <<<<<<<<<<<<<<
+ *         key1 = "CCP4 packed image, X: "
+ *         key2 = "CCP4 packed image V2, X: "
+ */
+  __pyx_t_1 = (__pyx_v_dim1 == Py_None);
+  if (!__pyx_t_1) {
+    __pyx_t_2 = (__pyx_v_dim2 == Py_None);
+    __pyx_t_3 = __pyx_t_2;
+  } else {
+    __pyx_t_3 = __pyx_t_1;
+  }
+  if (__pyx_t_3) {
+
+    /* "mar345_IO.pyx":71
+ *     end=None
+ *     if dim1 is None or dim2 is None:
+ *         key1 = "CCP4 packed image, X: "             # <<<<<<<<<<<<<<
+ *         key2 = "CCP4 packed image V2, X: "
+ *         start = raw.find(key2)
+ */
+    __Pyx_INCREF(((PyObject *)__pyx_kp_s_4));
+    __pyx_v_key1 = ((PyObject *)__pyx_kp_s_4);
+
+    /* "mar345_IO.pyx":72
+ *     if dim1 is None or dim2 is None:
+ *         key1 = "CCP4 packed image, X: "
+ *         key2 = "CCP4 packed image V2, X: "             # <<<<<<<<<<<<<<
+ *         start = raw.find(key2)
+ *         key = key2
+ */
+    __Pyx_INCREF(((PyObject *)__pyx_kp_s_5));
+    __pyx_v_key2 = ((PyObject *)__pyx_kp_s_5);
+
+    /* "mar345_IO.pyx":73
+ *         key1 = "CCP4 packed image, X: "
+ *         key2 = "CCP4 packed image V2, X: "
+ *         start = raw.find(key2)             # <<<<<<<<<<<<<<
+ *         key = key2
+ *         if start == -1:
+ */
+    __pyx_t_4 = PyObject_GetAttr(__pyx_v_raw, __pyx_n_s__find); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_INCREF(__pyx_v_key2);
+    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key2);
+    __Pyx_GIVEREF(__pyx_v_key2);
+    __pyx_t_6 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+    __pyx_v_start = __pyx_t_6;
+    __pyx_t_6 = 0;
+
+    /* "mar345_IO.pyx":74
+ *         key2 = "CCP4 packed image V2, X: "
+ *         start = raw.find(key2)
+ *         key = key2             # <<<<<<<<<<<<<<
+ *         if start == -1:
+ *             start = raw.find(key1)
+ */
+    __Pyx_INCREF(__pyx_v_key2);
+    __pyx_v_key = __pyx_v_key2;
+
+    /* "mar345_IO.pyx":75
+ *         start = raw.find(key2)
+ *         key = key2
+ *         if start == -1:             # <<<<<<<<<<<<<<
+ *             start = raw.find(key1)
+ *             key = key1
+ */
+    __pyx_t_6 = PyObject_RichCompare(__pyx_v_start, __pyx_int_neg_1, Py_EQ); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    if (__pyx_t_3) {
+
+      /* "mar345_IO.pyx":76
+ *         key = key2
+ *         if start == -1:
+ *             start = raw.find(key1)             # <<<<<<<<<<<<<<
+ *             key = key1
+ *         start = raw.index(key) + len(key)
+ */
+      __pyx_t_6 = PyObject_GetAttr(__pyx_v_raw, __pyx_n_s__find); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_6);
+      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_INCREF(__pyx_v_key1);
+      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key1);
+      __Pyx_GIVEREF(__pyx_v_key1);
+      __pyx_t_4 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_v_start);
+      __pyx_v_start = __pyx_t_4;
+      __pyx_t_4 = 0;
+
+      /* "mar345_IO.pyx":77
+ *         if start == -1:
+ *             start = raw.find(key1)
+ *             key = key1             # <<<<<<<<<<<<<<
+ *         start = raw.index(key) + len(key)
+ *         sizes = raw[start:start + 13]
+ */
+      __Pyx_INCREF(__pyx_v_key1);
+      __Pyx_DECREF(__pyx_v_key);
+      __pyx_v_key = __pyx_v_key1;
+      goto __pyx_L4;
+    }
+    __pyx_L4:;
+
+    /* "mar345_IO.pyx":78
+ *             start = raw.find(key1)
+ *             key = key1
+ *         start = raw.index(key) + len(key)             # <<<<<<<<<<<<<<
+ *         sizes = raw[start:start + 13]
+ *         cdim1 = < int > int(sizes[:4])
+ */
+    __pyx_t_4 = PyObject_GetAttr(__pyx_v_raw, __pyx_n_s__index); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_INCREF(__pyx_v_key);
+    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_key);
+    __Pyx_GIVEREF(__pyx_v_key);
+    __pyx_t_6 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+    __pyx_t_7 = PyObject_Length(__pyx_v_key); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyNumber_Add(__pyx_t_6, __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_v_start);
+    __pyx_v_start = __pyx_t_4;
+    __pyx_t_4 = 0;
+
+    /* "mar345_IO.pyx":79
+ *             key = key1
+ *         start = raw.index(key) + len(key)
+ *         sizes = raw[start:start + 13]             # <<<<<<<<<<<<<<
+ *         cdim1 = < int > int(sizes[:4])
+ *         cdim2 = < int > int(sizes[-4:])
+ */
+    __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_v_start); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = PyNumber_Add(__pyx_v_start, __pyx_int_13); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_t_4); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_PySequence_GetSlice(__pyx_v_raw, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_v_sizes = __pyx_t_4;
+    __pyx_t_4 = 0;
+
+    /* "mar345_IO.pyx":80
+ *         start = raw.index(key) + len(key)
+ *         sizes = raw[start:start + 13]
+ *         cdim1 = < int > int(sizes[:4])             # <<<<<<<<<<<<<<
+ *         cdim2 = < int > int(sizes[-4:])
+ *     else:
+ */
+    __pyx_t_4 = __Pyx_PySequence_GetSlice(__pyx_v_sizes, 0, 4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+    __pyx_t_9 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_v_cdim1 = ((int)__pyx_t_9);
+
+    /* "mar345_IO.pyx":81
+ *         sizes = raw[start:start + 13]
+ *         cdim1 = < int > int(sizes[:4])
+ *         cdim2 = < int > int(sizes[-4:])             # <<<<<<<<<<<<<<
+ *     else:
+ *         cdim1 = < int > dim1
+ */
+    __pyx_t_4 = __Pyx_PySequence_GetSlice(__pyx_v_sizes, -4, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+    __Pyx_GIVEREF(__pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+    __pyx_t_9 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_v_cdim2 = ((int)__pyx_t_9);
+    goto __pyx_L3;
+  }
+  /*else*/ {
+
+    /* "mar345_IO.pyx":83
+ *         cdim2 = < int > int(sizes[-4:])
+ *     else:
+ *         cdim1 = < int > dim1             # <<<<<<<<<<<<<<
+ *         cdim2 = < int > dim2
+ *     if overflowPix is None:
+ */
+    __pyx_t_9 = __Pyx_PyInt_AsInt(__pyx_v_dim1); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_v_cdim1 = ((int)__pyx_t_9);
+
+    /* "mar345_IO.pyx":84
+ *     else:
+ *         cdim1 = < int > dim1
+ *         cdim2 = < int > dim2             # <<<<<<<<<<<<<<
+ *     if overflowPix is None:
+ *         end = raw.find("END OF HEADER")
+ */
+    __pyx_t_9 = __Pyx_PyInt_AsInt(__pyx_v_dim2); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_v_cdim2 = ((int)__pyx_t_9);
+  }
+  __pyx_L3:;
+
+  /* "mar345_IO.pyx":85
+ *         cdim1 = < int > dim1
+ *         cdim2 = < int > dim2
+ *     if overflowPix is None:             # <<<<<<<<<<<<<<
+ *         end = raw.find("END OF HEADER")
+ *         start = raw[:end].find("HIGH")
+ */
+  __pyx_t_3 = (__pyx_v_overflowPix == Py_None);
+  if (__pyx_t_3) {
+
+    /* "mar345_IO.pyx":86
+ *         cdim2 = < int > dim2
+ *     if overflowPix is None:
+ *         end = raw.find("END OF HEADER")             # <<<<<<<<<<<<<<
+ *         start = raw[:end].find("HIGH")
+ *         hiLine = raw[start:end]
+ */
+    __pyx_t_4 = PyObject_GetAttr(__pyx_v_raw, __pyx_n_s__find); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_k_tuple_7), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_v_end);
+    __pyx_v_end = __pyx_t_5;
+    __pyx_t_5 = 0;
+
+    /* "mar345_IO.pyx":87
+ *     if overflowPix is None:
+ *         end = raw.find("END OF HEADER")
+ *         start = raw[:end].find("HIGH")             # <<<<<<<<<<<<<<
+ *         hiLine = raw[start:end]
+ *         hiLine = hiLine.split("\n")[0]
+ */
+    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_end); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_5 = __Pyx_PySequence_GetSlice(__pyx_v_raw, 0, __pyx_t_8); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__find); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_k_tuple_8), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_XDECREF(__pyx_v_start);
+    __pyx_v_start = __pyx_t_5;
+    __pyx_t_5 = 0;
+
+    /* "mar345_IO.pyx":88
+ *         end = raw.find("END OF HEADER")
+ *         start = raw[:end].find("HIGH")
+ *         hiLine = raw[start:end]             # <<<<<<<<<<<<<<
+ *         hiLine = hiLine.split("\n")[0]
+ *         word = hiLine.split()
+ */
+    __pyx_t_8 = __Pyx_PyIndex_AsSsize_t(__pyx_v_start); if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_v_end); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_5 = __Pyx_PySequence_GetSlice(__pyx_v_raw, __pyx_t_8, __pyx_t_7); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_v_hiLine = __pyx_t_5;
+    __pyx_t_5 = 0;
+
+    /* "mar345_IO.pyx":89
+ *         start = raw[:end].find("HIGH")
+ *         hiLine = raw[start:end]
+ *         hiLine = hiLine.split("\n")[0]             # <<<<<<<<<<<<<<
+ *         word = hiLine.split()
+ *         if len(word) > 1:
+ */
+    __pyx_t_5 = PyObject_GetAttr(__pyx_v_hiLine, __pyx_n_s__split); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_k_tuple_10), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_v_hiLine);
+    __pyx_v_hiLine = __pyx_t_5;
+    __pyx_t_5 = 0;
+
+    /* "mar345_IO.pyx":90
+ *         hiLine = raw[start:end]
+ *         hiLine = hiLine.split("\n")[0]
+ *         word = hiLine.split()             # <<<<<<<<<<<<<<
+ *         if len(word) > 1:
+ *             chigh = int(word[1])
+ */
+    __pyx_t_5 = PyObject_GetAttr(__pyx_v_hiLine, __pyx_n_s__split); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_4 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_v_word = __pyx_t_4;
+    __pyx_t_4 = 0;
+
+    /* "mar345_IO.pyx":91
+ *         hiLine = hiLine.split("\n")[0]
+ *         word = hiLine.split()
+ *         if len(word) > 1:             # <<<<<<<<<<<<<<
+ *             chigh = int(word[1])
+ *         else:
+ */
+    __pyx_t_7 = PyObject_Length(__pyx_v_word); if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = (__pyx_t_7 > 1);
+    if (__pyx_t_3) {
+
+      /* "mar345_IO.pyx":92
+ *         word = hiLine.split()
+ *         if len(word) > 1:
+ *             chigh = int(word[1])             # <<<<<<<<<<<<<<
+ *         else:
+ *             print("Error while looking for overflowed pixels in line %s" % hiLine.strip())
+ */
+      __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_word, 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4);
+      __Pyx_GIVEREF(__pyx_t_4);
+      __pyx_t_4 = 0;
+      __pyx_t_4 = PyObject_Call(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_5), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_DECREF(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+      __pyx_t_9 = __Pyx_PyInt_AsInt(__pyx_t_4); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_v_chigh = __pyx_t_9;
+      goto __pyx_L6;
+    }
+    /*else*/ {
+
+      /* "mar345_IO.pyx":94
+ *             chigh = int(word[1])
+ *         else:
+ *             print("Error while looking for overflowed pixels in line %s" % hiLine.strip())             # <<<<<<<<<<<<<<
+ *             chigh = 0
+ *     else:
+ */
+      __pyx_t_4 = PyObject_GetAttr(__pyx_v_hiLine, __pyx_n_s__strip); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_5 = PyObject_Call(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_4 = PyNumber_Remainder(((PyObject *)__pyx_kp_s_11), __pyx_t_5); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(((PyObject *)__pyx_t_4));
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__Pyx_PrintOne(0, ((PyObject *)__pyx_t_4)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
+
+      /* "mar345_IO.pyx":95
+ *         else:
+ *             print("Error while looking for overflowed pixels in line %s" % hiLine.strip())
+ *             chigh = 0             # <<<<<<<<<<<<<<
+ *     else:
+ *         chigh = < int > overflowPix
+ */
+      __pyx_v_chigh = 0;
+    }
+    __pyx_L6:;
+    goto __pyx_L5;
+  }
+  /*else*/ {
+
+    /* "mar345_IO.pyx":97
+ *             chigh = 0
+ *     else:
+ *         chigh = < int > overflowPix             # <<<<<<<<<<<<<<
+ *     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)
+ *     if not end:
+ */
+    __pyx_t_9 = __Pyx_PyInt_AsInt(__pyx_v_overflowPix); if (unlikely((__pyx_t_9 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_v_chigh = ((int)__pyx_t_9);
+  }
+  __pyx_L5:;
+
+  /* "mar345_IO.pyx":98
+ *     else:
+ *         chigh = < int > overflowPix
+ *     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)             # <<<<<<<<<<<<<<
+ *     if not end:
+ *         end = raw.find("END OF HEADER")
+ */
+  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__numpy); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__zeros); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = PyInt_FromLong(__pyx_v_cdim2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_6 = PyInt_FromLong(__pyx_v_cdim1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_6);
+  __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_10);
+  PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_4);
+  __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_6);
+  __Pyx_GIVEREF(__pyx_t_6);
+  __pyx_t_4 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_6);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_t_10));
+  __Pyx_GIVEREF(((PyObject *)__pyx_t_10));
+  __pyx_t_10 = 0;
+  __pyx_t_10 = PyDict_New(); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(((PyObject *)__pyx_t_10));
+  __pyx_t_4 = __Pyx_GetName(__pyx_m, __pyx_n_s__numpy); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_11 = PyObject_GetAttr(__pyx_t_4, __pyx_n_s__uint32); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_11);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  if (PyDict_SetItem(__pyx_t_10, ((PyObject *)__pyx_n_s__dtype), __pyx_t_11) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+  __pyx_t_11 = PyObject_Call(__pyx_t_5, ((PyObject *)__pyx_t_6), ((PyObject *)__pyx_t_10)); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_11);
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
+  __Pyx_DECREF(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
+  if (!(likely(((__pyx_t_11) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_11, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_12 = ((PyArrayObject *)__pyx_t_11);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {
+      __pyx_v_data = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL;
+      {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_data.diminfo[1].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_data.diminfo[1].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[1];
+    }
+  }
+  __pyx_t_12 = 0;
+  __pyx_v_data = ((PyArrayObject *)__pyx_t_11);
+  __pyx_t_11 = 0;
+
+  /* "mar345_IO.pyx":99
+ *         chigh = < int > overflowPix
+ *     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)
+ *     if not end:             # <<<<<<<<<<<<<<
+ *         end = raw.find("END OF HEADER")
+ *     if end !=-1:
+ */
+  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_end); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = (!__pyx_t_3);
+  if (__pyx_t_1) {
+
+    /* "mar345_IO.pyx":100
+ *     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)
+ *     if not end:
+ *         end = raw.find("END OF HEADER")             # <<<<<<<<<<<<<<
+ *     if end !=-1:
+ *         raw = raw[end+14:].lstrip()
+ */
+    __pyx_t_11 = PyObject_GetAttr(__pyx_v_raw, __pyx_n_s__find); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_11);
+    __pyx_t_10 = PyObject_Call(__pyx_t_11, ((PyObject *)__pyx_k_tuple_12), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_10);
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_DECREF(__pyx_v_end);
+    __pyx_v_end = __pyx_t_10;
+    __pyx_t_10 = 0;
+    goto __pyx_L7;
+  }
+  __pyx_L7:;
+
+  /* "mar345_IO.pyx":101
+ *     if not end:
+ *         end = raw.find("END OF HEADER")
+ *     if end !=-1:             # <<<<<<<<<<<<<<
+ *         raw = raw[end+14:].lstrip()
+ *     cdef char* instream = <char*> raw
+ */
+  __pyx_t_10 = PyObject_RichCompare(__pyx_v_end, __pyx_int_neg_1, Py_NE); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_10);
+  __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  if (__pyx_t_1) {
+
+    /* "mar345_IO.pyx":102
+ *         end = raw.find("END OF HEADER")
+ *     if end !=-1:
+ *         raw = raw[end+14:].lstrip()             # <<<<<<<<<<<<<<
+ *     cdef char* instream = <char*> raw
+ *     with nogil:
+ */
+    __pyx_t_10 = PyNumber_Add(__pyx_v_end, __pyx_int_14); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_7 = __Pyx_PyIndex_AsSsize_t(__pyx_t_10); if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __pyx_t_10 = __Pyx_PySequence_GetSlice(__pyx_v_raw, __pyx_t_7, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_11 = PyObject_GetAttr(__pyx_t_10, __pyx_n_s__lstrip); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __pyx_t_10 = PyObject_Call(__pyx_t_11, ((PyObject *)__pyx_empty_tuple), NULL); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_10);
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_DECREF(__pyx_v_raw);
+    __pyx_v_raw = __pyx_t_10;
+    __pyx_t_10 = 0;
+    goto __pyx_L8;
+  }
+  __pyx_L8:;
+
+  /* "mar345_IO.pyx":103
+ *     if end !=-1:
+ *         raw = raw[end+14:].lstrip()
+ *     cdef char* instream = <char*> raw             # <<<<<<<<<<<<<<
+ *     with nogil:
+ *         data.data = <char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)
+ */
+  __pyx_t_13 = PyBytes_AsString(__pyx_v_raw); if (unlikely((!__pyx_t_13) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_v_instream = ((char *)__pyx_t_13);
+
+  /* "mar345_IO.pyx":104
+ *         raw = raw[end+14:].lstrip()
+ *     cdef char* instream = <char*> raw
+ *     with nogil:             # <<<<<<<<<<<<<<
+ *         data.data = <char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)
+ *     return data
+ */
+  {
+      #ifdef WITH_THREAD
+      PyThreadState *_save = NULL;
+      #endif
+      Py_UNBLOCK_THREADS
+      /*try:*/ {
+
+        /* "mar345_IO.pyx":105
+ *     cdef char* instream = <char*> raw
+ *     with nogil:
+ *         data.data = <char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)             # <<<<<<<<<<<<<<
+ *     return data
+ * 
+ */
+        __pyx_v_data->data = ((char *)mar345_read_data_string(__pyx_v_instream, __pyx_v_chigh, __pyx_v_cdim1, __pyx_v_cdim2));
+      }
+
+      /* "mar345_IO.pyx":104
+ *         raw = raw[end+14:].lstrip()
+ *     cdef char* instream = <char*> raw
+ *     with nogil:             # <<<<<<<<<<<<<<
+ *         data.data = <char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)
+ *     return data
+ */
+      /*finally:*/ {
+        Py_BLOCK_THREADS
+      }
+  }
+
+  /* "mar345_IO.pyx":106
+ *     with nogil:
+ *         data.data = <char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)
+ *     return data             # <<<<<<<<<<<<<<
+ * 
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __Pyx_INCREF(((PyObject *)__pyx_v_data));
+  __pyx_r = ((PyObject *)__pyx_v_data);
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_10);
+  __Pyx_XDECREF(__pyx_t_11);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
+    __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_data.rcbuffer->pybuffer);
+  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
+  __Pyx_AddTraceback("mar345_IO.uncompress_pck", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  goto __pyx_L2;
+  __pyx_L0:;
+  __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_data.rcbuffer->pybuffer);
+  __pyx_L2:;
+  __Pyx_XDECREF(__pyx_v_end);
+  __Pyx_XDECREF(__pyx_v_key1);
+  __Pyx_XDECREF(__pyx_v_key2);
+  __Pyx_XDECREF(__pyx_v_start);
+  __Pyx_XDECREF(__pyx_v_key);
+  __Pyx_XDECREF(__pyx_v_sizes);
+  __Pyx_XDECREF(__pyx_v_hiLine);
+  __Pyx_XDECREF(__pyx_v_word);
+  __Pyx_XDECREF((PyObject *)__pyx_v_data);
+  __Pyx_XDECREF(__pyx_v_raw);
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
+static int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "numpy.pxd":193
+ *         # experimental exception made for __getbuffer__ and __releasebuffer__
+ *         # -- the details of this may change.
+ *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
+ *             # This implementation of getbuffer is geared towards Cython
+ *             # requirements, and does not yet fullfill the PEP.
+ */
+
+static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+  int __pyx_v_copy_shape;
+  int __pyx_v_i;
+  int __pyx_v_ndim;
+  int __pyx_v_endian_detector;
+  int __pyx_v_little_endian;
+  int __pyx_v_t;
+  char *__pyx_v_f;
+  PyArray_Descr *__pyx_v_descr = 0;
+  int __pyx_v_offset;
+  int __pyx_v_hasfields;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  int __pyx_t_2;
+  int __pyx_t_3;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_t_5;
+  int __pyx_t_6;
+  int __pyx_t_7;
+  PyObject *__pyx_t_8 = NULL;
+  char *__pyx_t_9;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__getbuffer__", 0);
+  if (__pyx_v_info != NULL) {
+    __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(__pyx_v_info->obj);
+  }
+
+  /* "numpy.pxd":199
+ *             # of flags
+ * 
+ *             if info == NULL: return             # <<<<<<<<<<<<<<
+ * 
+ *             cdef int copy_shape, i, ndim
+ */
+  __pyx_t_1 = (__pyx_v_info == NULL);
+  if (__pyx_t_1) {
+    __pyx_r = 0;
+    goto __pyx_L0;
+    goto __pyx_L3;
+  }
+  __pyx_L3:;
+
+  /* "numpy.pxd":202
+ * 
+ *             cdef int copy_shape, i, ndim
+ *             cdef int endian_detector = 1             # <<<<<<<<<<<<<<
+ *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ * 
+ */
+  __pyx_v_endian_detector = 1;
+
+  /* "numpy.pxd":203
+ *             cdef int copy_shape, i, ndim
+ *             cdef int endian_detector = 1
+ *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
+ * 
+ *             ndim = PyArray_NDIM(self)
+ */
+  __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+
+  /* "numpy.pxd":205
+ *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ * 
+ *             ndim = PyArray_NDIM(self)             # <<<<<<<<<<<<<<
+ * 
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+  __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);
+
+  /* "numpy.pxd":207
+ *             ndim = PyArray_NDIM(self)
+ * 
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
+ *                 copy_shape = 1
+ *             else:
+ */
+  __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t)));
+  if (__pyx_t_1) {
+
+    /* "numpy.pxd":208
+ * 
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ *                 copy_shape = 1             # <<<<<<<<<<<<<<
+ *             else:
+ *                 copy_shape = 0
+ */
+    __pyx_v_copy_shape = 1;
+    goto __pyx_L4;
+  }
+  /*else*/ {
+
+    /* "numpy.pxd":210
+ *                 copy_shape = 1
+ *             else:
+ *                 copy_shape = 0             # <<<<<<<<<<<<<<
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ */
+    __pyx_v_copy_shape = 0;
+  }
+  __pyx_L4:;
+
+  /* "numpy.pxd":212
+ *                 copy_shape = 0
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ */
+  __pyx_t_1 = ((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS);
+  if (__pyx_t_1) {
+
+    /* "numpy.pxd":213
+ * 
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):             # <<<<<<<<<<<<<<
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ * 
+ */
+    __pyx_t_2 = (!PyArray_CHKFLAGS(__pyx_v_self, NPY_C_CONTIGUOUS));
+    __pyx_t_3 = __pyx_t_2;
+  } else {
+    __pyx_t_3 = __pyx_t_1;
+  }
+  if (__pyx_t_3) {
+
+    /* "numpy.pxd":214
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ */
+    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_14), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    {__pyx_filename = __pyx_f[1]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    goto __pyx_L5;
+  }
+  __pyx_L5:;
+
+  /* "numpy.pxd":216
+ *                 raise ValueError(u"ndarray is not C contiguous")
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ */
+  __pyx_t_3 = ((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS);
+  if (__pyx_t_3) {
+
+    /* "numpy.pxd":217
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):             # <<<<<<<<<<<<<<
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ * 
+ */
+    __pyx_t_1 = (!PyArray_CHKFLAGS(__pyx_v_self, NPY_F_CONTIGUOUS));
+    __pyx_t_2 = __pyx_t_1;
+  } else {
+    __pyx_t_2 = __pyx_t_3;
+  }
+  if (__pyx_t_2) {
+
+    /* "numpy.pxd":218
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             info.buf = PyArray_DATA(self)
+ */
+    __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_16), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    goto __pyx_L6;
+  }
+  __pyx_L6:;
+
+  /* "numpy.pxd":220
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")
+ * 
+ *             info.buf = PyArray_DATA(self)             # <<<<<<<<<<<<<<
+ *             info.ndim = ndim
+ *             if copy_shape:
+ */
+  __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);
+
+  /* "numpy.pxd":221
+ * 
+ *             info.buf = PyArray_DATA(self)
+ *             info.ndim = ndim             # <<<<<<<<<<<<<<
+ *             if copy_shape:
+ *                 # Allocate new buffer for strides and shape info.
+ */
+  __pyx_v_info->ndim = __pyx_v_ndim;
+
+  /* "numpy.pxd":222
+ *             info.buf = PyArray_DATA(self)
+ *             info.ndim = ndim
+ *             if copy_shape:             # <<<<<<<<<<<<<<
+ *                 # Allocate new buffer for strides and shape info.
+ *                 # This is allocated as one block, strides first.
+ */
+  if (__pyx_v_copy_shape) {
+
+    /* "numpy.pxd":225
+ *                 # Allocate new buffer for strides and shape info.
+ *                 # This is allocated as one block, strides first.
+ *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)             # <<<<<<<<<<<<<<
+ *                 info.shape = info.strides + ndim
+ *                 for i in range(ndim):
+ */
+    __pyx_v_info->strides = ((Py_ssize_t *)malloc((((sizeof(Py_ssize_t)) * ((size_t)__pyx_v_ndim)) * 2)));
+
+    /* "numpy.pxd":226
+ *                 # This is allocated as one block, strides first.
+ *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
+ *                 info.shape = info.strides + ndim             # <<<<<<<<<<<<<<
+ *                 for i in range(ndim):
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]
+ */
+    __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);
+
+    /* "numpy.pxd":227
+ *                 info.strides = <Py_ssize_t*>stdlib.malloc(sizeof(Py_ssize_t) * <size_t>ndim * 2)
+ *                 info.shape = info.strides + ndim
+ *                 for i in range(ndim):             # <<<<<<<<<<<<<<
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]
+ *                     info.shape[i] = PyArray_DIMS(self)[i]
+ */
+    __pyx_t_5 = __pyx_v_ndim;
+    for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
+      __pyx_v_i = __pyx_t_6;
+
+      /* "numpy.pxd":228
+ *                 info.shape = info.strides + ndim
+ *                 for i in range(ndim):
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]             # <<<<<<<<<<<<<<
+ *                     info.shape[i] = PyArray_DIMS(self)[i]
+ *             else:
+ */
+      (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);
+
+      /* "numpy.pxd":229
+ *                 for i in range(ndim):
+ *                     info.strides[i] = PyArray_STRIDES(self)[i]
+ *                     info.shape[i] = PyArray_DIMS(self)[i]             # <<<<<<<<<<<<<<
+ *             else:
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ */
+      (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);
+    }
+    goto __pyx_L7;
+  }
+  /*else*/ {
+
+    /* "numpy.pxd":231
+ *                     info.shape[i] = PyArray_DIMS(self)[i]
+ *             else:
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)             # <<<<<<<<<<<<<<
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ *             info.suboffsets = NULL
+ */
+    __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));
+
+    /* "numpy.pxd":232
+ *             else:
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)             # <<<<<<<<<<<<<<
+ *             info.suboffsets = NULL
+ *             info.itemsize = PyArray_ITEMSIZE(self)
+ */
+    __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));
+  }
+  __pyx_L7:;
+
+  /* "numpy.pxd":233
+ *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ *             info.suboffsets = NULL             # <<<<<<<<<<<<<<
+ *             info.itemsize = PyArray_ITEMSIZE(self)
+ *             info.readonly = not PyArray_ISWRITEABLE(self)
+ */
+  __pyx_v_info->suboffsets = NULL;
+
+  /* "numpy.pxd":234
+ *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ *             info.suboffsets = NULL
+ *             info.itemsize = PyArray_ITEMSIZE(self)             # <<<<<<<<<<<<<<
+ *             info.readonly = not PyArray_ISWRITEABLE(self)
+ * 
+ */
+  __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);
+
+  /* "numpy.pxd":235
+ *             info.suboffsets = NULL
+ *             info.itemsize = PyArray_ITEMSIZE(self)
+ *             info.readonly = not PyArray_ISWRITEABLE(self)             # <<<<<<<<<<<<<<
+ * 
+ *             cdef int t
+ */
+  __pyx_v_info->readonly = (!PyArray_ISWRITEABLE(__pyx_v_self));
+
+  /* "numpy.pxd":238
+ * 
+ *             cdef int t
+ *             cdef char* f = NULL             # <<<<<<<<<<<<<<
+ *             cdef dtype descr = self.descr
+ *             cdef list stack
+ */
+  __pyx_v_f = NULL;
+
+  /* "numpy.pxd":239
+ *             cdef int t
+ *             cdef char* f = NULL
+ *             cdef dtype descr = self.descr             # <<<<<<<<<<<<<<
+ *             cdef list stack
+ *             cdef int offset
+ */
+  __Pyx_INCREF(((PyObject *)__pyx_v_self->descr));
+  __pyx_v_descr = __pyx_v_self->descr;
+
+  /* "numpy.pxd":243
+ *             cdef int offset
+ * 
+ *             cdef bint hasfields = PyDataType_HASFIELDS(descr)             # <<<<<<<<<<<<<<
+ * 
+ *             if not hasfields and not copy_shape:
+ */
+  __pyx_v_hasfields = PyDataType_HASFIELDS(__pyx_v_descr);
+
+  /* "numpy.pxd":245
+ *             cdef bint hasfields = PyDataType_HASFIELDS(descr)
+ * 
+ *             if not hasfields and not copy_shape:             # <<<<<<<<<<<<<<
+ *                 # do not call releasebuffer
+ *                 info.obj = None
+ */
+  __pyx_t_2 = (!__pyx_v_hasfields);
+  if (__pyx_t_2) {
+    __pyx_t_3 = (!__pyx_v_copy_shape);
+    __pyx_t_1 = __pyx_t_3;
+  } else {
+    __pyx_t_1 = __pyx_t_2;
+  }
+  if (__pyx_t_1) {
+
+    /* "numpy.pxd":247
+ *             if not hasfields and not copy_shape:
+ *                 # do not call releasebuffer
+ *                 info.obj = None             # <<<<<<<<<<<<<<
+ *             else:
+ *                 # need to call releasebuffer
+ */
+    __Pyx_INCREF(Py_None);
+    __Pyx_GIVEREF(Py_None);
+    __Pyx_GOTREF(__pyx_v_info->obj);
+    __Pyx_DECREF(__pyx_v_info->obj);
+    __pyx_v_info->obj = Py_None;
+    goto __pyx_L10;
+  }
+  /*else*/ {
+
+    /* "numpy.pxd":250
+ *             else:
+ *                 # need to call releasebuffer
+ *                 info.obj = self             # <<<<<<<<<<<<<<
+ * 
+ *             if not hasfields:
+ */
+    __Pyx_INCREF(((PyObject *)__pyx_v_self));
+    __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+    __Pyx_GOTREF(__pyx_v_info->obj);
+    __Pyx_DECREF(__pyx_v_info->obj);
+    __pyx_v_info->obj = ((PyObject *)__pyx_v_self);
+  }
+  __pyx_L10:;
+
+  /* "numpy.pxd":252
+ *                 info.obj = self
+ * 
+ *             if not hasfields:             # <<<<<<<<<<<<<<
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == '>' and little_endian) or
+ */
+  __pyx_t_1 = (!__pyx_v_hasfields);
+  if (__pyx_t_1) {
+
+    /* "numpy.pxd":253
+ * 
+ *             if not hasfields:
+ *                 t = descr.type_num             # <<<<<<<<<<<<<<
+ *                 if ((descr.byteorder == '>' and little_endian) or
+ *                     (descr.byteorder == '<' and not little_endian)):
+ */
+    __pyx_v_t = __pyx_v_descr->type_num;
+
+    /* "numpy.pxd":254
+ *             if not hasfields:
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == '>' and little_endian) or             # <<<<<<<<<<<<<<
+ *                     (descr.byteorder == '<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")
+ */
+    __pyx_t_1 = (__pyx_v_descr->byteorder == '>');
+    if (__pyx_t_1) {
+      __pyx_t_2 = __pyx_v_little_endian;
+    } else {
+      __pyx_t_2 = __pyx_t_1;
+    }
+    if (!__pyx_t_2) {
+
+      /* "numpy.pxd":255
+ *                 t = descr.type_num
+ *                 if ((descr.byteorder == '>' and little_endian) or
+ *                     (descr.byteorder == '<' and not little_endian)):             # <<<<<<<<<<<<<<
+ *                     raise ValueError(u"Non-native byte order not supported")
+ *                 if   t == NPY_BYTE:        f = "b"
+ */
+      __pyx_t_1 = (__pyx_v_descr->byteorder == '<');
+      if (__pyx_t_1) {
+        __pyx_t_3 = (!__pyx_v_little_endian);
+        __pyx_t_7 = __pyx_t_3;
+      } else {
+        __pyx_t_7 = __pyx_t_1;
+      }
+      __pyx_t_1 = __pyx_t_7;
+    } else {
+      __pyx_t_1 = __pyx_t_2;
+    }
+    if (__pyx_t_1) {
+
+      /* "numpy.pxd":256
+ *                 if ((descr.byteorder == '>' and little_endian) or
+ *                     (descr.byteorder == '<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"
+ */
+      __pyx_t_4 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_18), NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_Raise(__pyx_t_4, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      goto __pyx_L12;
+    }
+    __pyx_L12:;
+
+    /* "numpy.pxd":257
+ *                     (descr.byteorder == '<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")
+ *                 if   t == NPY_BYTE:        f = "b"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_UBYTE:       f = "B"
+ *                 elif t == NPY_SHORT:       f = "h"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_BYTE);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__b;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":258
+ *                     raise ValueError(u"Non-native byte order not supported")
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_SHORT:       f = "h"
+ *                 elif t == NPY_USHORT:      f = "H"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_UBYTE);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__B;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":259
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"
+ *                 elif t == NPY_SHORT:       f = "h"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_USHORT:      f = "H"
+ *                 elif t == NPY_INT:         f = "i"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_SHORT);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__h;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":260
+ *                 elif t == NPY_UBYTE:       f = "B"
+ *                 elif t == NPY_SHORT:       f = "h"
+ *                 elif t == NPY_USHORT:      f = "H"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_INT:         f = "i"
+ *                 elif t == NPY_UINT:        f = "I"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_USHORT);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__H;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":261
+ *                 elif t == NPY_SHORT:       f = "h"
+ *                 elif t == NPY_USHORT:      f = "H"
+ *                 elif t == NPY_INT:         f = "i"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_UINT:        f = "I"
+ *                 elif t == NPY_LONG:        f = "l"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_INT);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__i;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":262
+ *                 elif t == NPY_USHORT:      f = "H"
+ *                 elif t == NPY_INT:         f = "i"
+ *                 elif t == NPY_UINT:        f = "I"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_LONG:        f = "l"
+ *                 elif t == NPY_ULONG:       f = "L"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_UINT);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__I;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":263
+ *                 elif t == NPY_INT:         f = "i"
+ *                 elif t == NPY_UINT:        f = "I"
+ *                 elif t == NPY_LONG:        f = "l"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_ULONG:       f = "L"
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_LONG);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__l;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":264
+ *                 elif t == NPY_UINT:        f = "I"
+ *                 elif t == NPY_LONG:        f = "l"
+ *                 elif t == NPY_ULONG:       f = "L"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_ULONG);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__L;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":265
+ *                 elif t == NPY_LONG:        f = "l"
+ *                 elif t == NPY_ULONG:       f = "L"
+ *                 elif t == NPY_LONGLONG:    f = "q"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ *                 elif t == NPY_FLOAT:       f = "f"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_LONGLONG);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__q;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":266
+ *                 elif t == NPY_ULONG:       f = "L"
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ *                 elif t == NPY_ULONGLONG:   f = "Q"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_FLOAT:       f = "f"
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_ULONGLONG);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__Q;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":267
+ *                 elif t == NPY_LONGLONG:    f = "q"
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ *                 elif t == NPY_FLOAT:       f = "f"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_FLOAT);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__f;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":268
+ *                 elif t == NPY_ULONGLONG:   f = "Q"
+ *                 elif t == NPY_FLOAT:       f = "f"
+ *                 elif t == NPY_DOUBLE:      f = "d"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_DOUBLE);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__d;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":269
+ *                 elif t == NPY_FLOAT:       f = "f"
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_LONGDOUBLE);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__g;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":270
+ *                 elif t == NPY_DOUBLE:      f = "d"
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ *                 elif t == NPY_CFLOAT:      f = "Zf"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_CFLOAT);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__Zf;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":271
+ *                 elif t == NPY_LONGDOUBLE:  f = "g"
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
+ *                 elif t == NPY_OBJECT:      f = "O"
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_CDOUBLE);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__Zd;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":272
+ *                 elif t == NPY_CFLOAT:      f = "Zf"
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"             # <<<<<<<<<<<<<<
+ *                 elif t == NPY_OBJECT:      f = "O"
+ *                 else:
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_CLONGDOUBLE);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__Zg;
+      goto __pyx_L13;
+    }
+
+    /* "numpy.pxd":273
+ *                 elif t == NPY_CDOUBLE:     f = "Zd"
+ *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
+ *                 elif t == NPY_OBJECT:      f = "O"             # <<<<<<<<<<<<<<
+ *                 else:
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+    __pyx_t_1 = (__pyx_v_t == NPY_OBJECT);
+    if (__pyx_t_1) {
+      __pyx_v_f = __pyx_k__O;
+      goto __pyx_L13;
+    }
+    /*else*/ {
+
+      /* "numpy.pxd":275
+ *                 elif t == NPY_OBJECT:      f = "O"
+ *                 else:
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
+ *                 info.format = f
+ *                 return
+ */
+      __pyx_t_4 = PyInt_FromLong(__pyx_v_t); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_4);
+      __pyx_t_8 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_19), __pyx_t_4); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(((PyObject *)__pyx_t_8));
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_4);
+      PyTuple_SET_ITEM(__pyx_t_4, 0, ((PyObject *)__pyx_t_8));
+      __Pyx_GIVEREF(((PyObject *)__pyx_t_8));
+      __pyx_t_8 = 0;
+      __pyx_t_8 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_4), NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_8);
+      __Pyx_DECREF(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
+      __Pyx_Raise(__pyx_t_8, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 275; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    }
+    __pyx_L13:;
+
+    /* "numpy.pxd":276
+ *                 else:
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ *                 info.format = f             # <<<<<<<<<<<<<<
+ *                 return
+ *             else:
+ */
+    __pyx_v_info->format = __pyx_v_f;
+
+    /* "numpy.pxd":277
+ *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ *                 info.format = f
+ *                 return             # <<<<<<<<<<<<<<
+ *             else:
+ *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
+ */
+    __pyx_r = 0;
+    goto __pyx_L0;
+    goto __pyx_L11;
+  }
+  /*else*/ {
+
+    /* "numpy.pxd":279
+ *                 return
+ *             else:
+ *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)             # <<<<<<<<<<<<<<
+ *                 info.format[0] = '^' # Native data types, manual alignment
+ *                 offset = 0
+ */
+    __pyx_v_info->format = ((char *)malloc(255));
+
+    /* "numpy.pxd":280
+ *             else:
+ *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
+ *                 info.format[0] = '^' # Native data types, manual alignment             # <<<<<<<<<<<<<<
+ *                 offset = 0
+ *                 f = _util_dtypestring(descr, info.format + 1,
+ */
+    (__pyx_v_info->format[0]) = '^';
+
+    /* "numpy.pxd":281
+ *                 info.format = <char*>stdlib.malloc(_buffer_format_string_len)
+ *                 info.format[0] = '^' # Native data types, manual alignment
+ *                 offset = 0             # <<<<<<<<<<<<<<
+ *                 f = _util_dtypestring(descr, info.format + 1,
+ *                                       info.format + _buffer_format_string_len,
+ */
+    __pyx_v_offset = 0;
+
+    /* "numpy.pxd":284
+ *                 f = _util_dtypestring(descr, info.format + 1,
+ *                                       info.format + _buffer_format_string_len,
+ *                                       &offset)             # <<<<<<<<<<<<<<
+ *                 f[0] = 0 # Terminate format string
+ * 
+ */
+    __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 255), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 282; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_v_f = __pyx_t_9;
+
+    /* "numpy.pxd":285
+ *                                       info.format + _buffer_format_string_len,
+ *                                       &offset)
+ *                 f[0] = 0 # Terminate format string             # <<<<<<<<<<<<<<
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ */
+    (__pyx_v_f[0]) = 0;
+  }
+  __pyx_L11:;
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_8);
+  __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  if (__pyx_v_info != NULL && __pyx_v_info->obj != NULL) {
+    __Pyx_GOTREF(__pyx_v_info->obj);
+    __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = NULL;
+  }
+  goto __pyx_L2;
+  __pyx_L0:;
+  if (__pyx_v_info != NULL && __pyx_v_info->obj == Py_None) {
+    __Pyx_GOTREF(Py_None);
+    __Pyx_DECREF(Py_None); __pyx_v_info->obj = NULL;
+  }
+  __pyx_L2:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_descr);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/
+static void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);
+  __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));
+  __Pyx_RefNannyFinishContext();
+}
+
+/* "numpy.pxd":287
+ *                 f[0] = 0 # Terminate format string
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
+ *             if PyArray_HASFIELDS(self):
+ *                 stdlib.free(info.format)
+ */
+
+static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  __Pyx_RefNannySetupContext("__releasebuffer__", 0);
+
+  /* "numpy.pxd":288
+ * 
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
+ *                 stdlib.free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ */
+  __pyx_t_1 = PyArray_HASFIELDS(__pyx_v_self);
+  if (__pyx_t_1) {
+
+    /* "numpy.pxd":289
+ *         def __releasebuffer__(ndarray self, Py_buffer* info):
+ *             if PyArray_HASFIELDS(self):
+ *                 stdlib.free(info.format)             # <<<<<<<<<<<<<<
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ *                 stdlib.free(info.strides)
+ */
+    free(__pyx_v_info->format);
+    goto __pyx_L3;
+  }
+  __pyx_L3:;
+
+  /* "numpy.pxd":290
+ *             if PyArray_HASFIELDS(self):
+ *                 stdlib.free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
+ *                 stdlib.free(info.strides)
+ *                 # info.shape was stored after info.strides in the same block
+ */
+  __pyx_t_1 = ((sizeof(npy_intp)) != (sizeof(Py_ssize_t)));
+  if (__pyx_t_1) {
+
+    /* "numpy.pxd":291
+ *                 stdlib.free(info.format)
+ *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ *                 stdlib.free(info.strides)             # <<<<<<<<<<<<<<
+ *                 # info.shape was stored after info.strides in the same block
+ * 
+ */
+    free(__pyx_v_info->strides);
+    goto __pyx_L4;
+  }
+  __pyx_L4:;
+
+  __Pyx_RefNannyFinishContext();
+}
+
+/* "numpy.pxd":767
+ * ctypedef npy_cdouble     complex_t
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(1, <void*>a)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);
+
+  /* "numpy.pxd":768
+ * 
+ * cdef inline object PyArray_MultiIterNew1(a):
+ *     return PyArray_MultiIterNew(1, <void*>a)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "numpy.pxd":770
+ *     return PyArray_MultiIterNew(1, <void*>a)
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);
+
+  /* "numpy.pxd":771
+ * 
+ * cdef inline object PyArray_MultiIterNew2(a, b):
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "numpy.pxd":773
+ *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);
+
+  /* "numpy.pxd":774
+ * 
+ * cdef inline object PyArray_MultiIterNew3(a, b, c):
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "numpy.pxd":776
+ *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);
+
+  /* "numpy.pxd":777
+ * 
+ * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "numpy.pxd":779
+ *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ * 
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);
+
+  /* "numpy.pxd":780
+ * 
+ * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
+ */
+  __Pyx_XDECREF(__pyx_r);
+  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_r = __pyx_t_1;
+  __pyx_t_1 = 0;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = 0;
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "numpy.pxd":782
+ *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+ * 
+ * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
+ *     # Recursive utility function used in __getbuffer__ to get format
+ *     # string. The new location in the format string is returned.
+ */
+
+static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
+  PyArray_Descr *__pyx_v_child = 0;
+  int __pyx_v_endian_detector;
+  int __pyx_v_little_endian;
+  PyObject *__pyx_v_fields = 0;
+  PyObject *__pyx_v_childname = NULL;
+  PyObject *__pyx_v_new_offset = NULL;
+  PyObject *__pyx_v_t = NULL;
+  char *__pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  Py_ssize_t __pyx_t_2;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  PyObject *__pyx_t_5 = NULL;
+  int __pyx_t_6;
+  int __pyx_t_7;
+  int __pyx_t_8;
+  int __pyx_t_9;
+  long __pyx_t_10;
+  char *__pyx_t_11;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("_util_dtypestring", 0);
+
+  /* "numpy.pxd":789
+ *     cdef int delta_offset
+ *     cdef tuple i
+ *     cdef int endian_detector = 1             # <<<<<<<<<<<<<<
+ *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ *     cdef tuple fields
+ */
+  __pyx_v_endian_detector = 1;
+
+  /* "numpy.pxd":790
+ *     cdef tuple i
+ *     cdef int endian_detector = 1
+ *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
+ *     cdef tuple fields
+ * 
+ */
+  __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);
+
+  /* "numpy.pxd":793
+ *     cdef tuple fields
+ * 
+ *     for childname in descr.names:             # <<<<<<<<<<<<<<
+ *         fields = descr.fields[childname]
+ *         child, new_offset = fields
+ */
+  if (unlikely(((PyObject *)__pyx_v_descr->names) == Py_None)) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); {__pyx_filename = __pyx_f[1]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;} 
+  }
+  __pyx_t_1 = ((PyObject *)__pyx_v_descr->names); __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
+  for (;;) {
+    if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
+    __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++;
+    __Pyx_XDECREF(__pyx_v_childname);
+    __pyx_v_childname = __pyx_t_3;
+    __pyx_t_3 = 0;
+
+    /* "numpy.pxd":794
+ * 
+ *     for childname in descr.names:
+ *         fields = descr.fields[childname]             # <<<<<<<<<<<<<<
+ *         child, new_offset = fields
+ * 
+ */
+    __pyx_t_3 = PyObject_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (!__pyx_t_3) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_3);
+    if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected tuple, got %.200s", Py_TYPE(__pyx_t_3)->tp_name), 0))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 794; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_XDECREF(((PyObject *)__pyx_v_fields));
+    __pyx_v_fields = ((PyObject*)__pyx_t_3);
+    __pyx_t_3 = 0;
+
+    /* "numpy.pxd":795
+ *     for childname in descr.names:
+ *         fields = descr.fields[childname]
+ *         child, new_offset = fields             # <<<<<<<<<<<<<<
+ * 
+ *         if (end - f) - (new_offset - offset[0]) < 15:
+ */
+    #if CYTHON_COMPILING_IN_CPYTHON
+    if (likely(PyTuple_CheckExact(((PyObject *)__pyx_v_fields)))) {
+      PyObject* sequence = ((PyObject *)__pyx_v_fields);
+      if (unlikely(PyTuple_GET_SIZE(sequence) != 2)) {
+        if (PyTuple_GET_SIZE(sequence) > 2) __Pyx_RaiseTooManyValuesError(2);
+        else __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(sequence));
+        {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      }
+      __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0); 
+      __Pyx_INCREF(__pyx_t_3);
+      __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1); 
+      __Pyx_INCREF(__pyx_t_4);
+    } else
+    #endif
+    {
+      __Pyx_UnpackTupleError(((PyObject *)__pyx_v_fields), 2);
+      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    }
+    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 795; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_XDECREF(((PyObject *)__pyx_v_child));
+    __pyx_v_child = ((PyArray_Descr *)__pyx_t_3);
+    __pyx_t_3 = 0;
+    __Pyx_XDECREF(__pyx_v_new_offset);
+    __pyx_v_new_offset = __pyx_t_4;
+    __pyx_t_4 = 0;
+
+    /* "numpy.pxd":797
+ *         child, new_offset = fields
+ * 
+ *         if (end - f) - (new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ */
+    __pyx_t_4 = PyInt_FromLong((__pyx_v_end - __pyx_v_f)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_4);
+    __pyx_t_3 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_3);
+    __pyx_t_5 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_3); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_t_3 = PyNumber_Subtract(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_3);
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = PyObject_RichCompare(__pyx_t_3, __pyx_int_15, Py_LT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    if (__pyx_t_6) {
+
+      /* "numpy.pxd":798
+ * 
+ *         if (end - f) - (new_offset - offset[0]) < 15:
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
+ * 
+ *         if ((child.byteorder == '>' and little_endian) or
+ */
+      __pyx_t_5 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_21), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      goto __pyx_L5;
+    }
+    __pyx_L5:;
+
+    /* "numpy.pxd":800
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+ * 
+ *         if ((child.byteorder == '>' and little_endian) or             # <<<<<<<<<<<<<<
+ *             (child.byteorder == '<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")
+ */
+    __pyx_t_6 = (__pyx_v_child->byteorder == '>');
+    if (__pyx_t_6) {
+      __pyx_t_7 = __pyx_v_little_endian;
+    } else {
+      __pyx_t_7 = __pyx_t_6;
+    }
+    if (!__pyx_t_7) {
+
+      /* "numpy.pxd":801
+ * 
+ *         if ((child.byteorder == '>' and little_endian) or
+ *             (child.byteorder == '<' and not little_endian)):             # <<<<<<<<<<<<<<
+ *             raise ValueError(u"Non-native byte order not supported")
+ *             # One could encode it in the format string and have Cython
+ */
+      __pyx_t_6 = (__pyx_v_child->byteorder == '<');
+      if (__pyx_t_6) {
+        __pyx_t_8 = (!__pyx_v_little_endian);
+        __pyx_t_9 = __pyx_t_8;
+      } else {
+        __pyx_t_9 = __pyx_t_6;
+      }
+      __pyx_t_6 = __pyx_t_9;
+    } else {
+      __pyx_t_6 = __pyx_t_7;
+    }
+    if (__pyx_t_6) {
+
+      /* "numpy.pxd":802
+ *         if ((child.byteorder == '>' and little_endian) or
+ *             (child.byteorder == '<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
+ *             # One could encode it in the format string and have Cython
+ *             # complain instead, BUT: < and > in format strings also imply
+ */
+      __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_k_tuple_22), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_Raise(__pyx_t_5, 0, 0, 0);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      goto __pyx_L6;
+    }
+    __pyx_L6:;
+
+    /* "numpy.pxd":812
+ * 
+ *         # Output padding bytes
+ *         while offset[0] < new_offset:             # <<<<<<<<<<<<<<
+ *             f[0] = 120 # "x"; pad byte
+ *             f += 1
+ */
+    while (1) {
+      __pyx_t_5 = PyInt_FromLong((__pyx_v_offset[0])); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_t_5, __pyx_v_new_offset, Py_LT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 812; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (!__pyx_t_6) break;
+
+      /* "numpy.pxd":813
+ *         # Output padding bytes
+ *         while offset[0] < new_offset:
+ *             f[0] = 120 # "x"; pad byte             # <<<<<<<<<<<<<<
+ *             f += 1
+ *             offset[0] += 1
+ */
+      (__pyx_v_f[0]) = 120;
+
+      /* "numpy.pxd":814
+ *         while offset[0] < new_offset:
+ *             f[0] = 120 # "x"; pad byte
+ *             f += 1             # <<<<<<<<<<<<<<
+ *             offset[0] += 1
+ * 
+ */
+      __pyx_v_f = (__pyx_v_f + 1);
+
+      /* "numpy.pxd":815
+ *             f[0] = 120 # "x"; pad byte
+ *             f += 1
+ *             offset[0] += 1             # <<<<<<<<<<<<<<
+ * 
+ *         offset[0] += child.itemsize
+ */
+      __pyx_t_10 = 0;
+      (__pyx_v_offset[__pyx_t_10]) = ((__pyx_v_offset[__pyx_t_10]) + 1);
+    }
+
+    /* "numpy.pxd":817
+ *             offset[0] += 1
+ * 
+ *         offset[0] += child.itemsize             # <<<<<<<<<<<<<<
+ * 
+ *         if not PyDataType_HASFIELDS(child):
+ */
+    __pyx_t_10 = 0;
+    (__pyx_v_offset[__pyx_t_10]) = ((__pyx_v_offset[__pyx_t_10]) + __pyx_v_child->elsize);
+
+    /* "numpy.pxd":819
+ *         offset[0] += child.itemsize
+ * 
+ *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
+ *             t = child.type_num
+ *             if end - f < 5:
+ */
+    __pyx_t_6 = (!PyDataType_HASFIELDS(__pyx_v_child));
+    if (__pyx_t_6) {
+
+      /* "numpy.pxd":820
+ * 
+ *         if not PyDataType_HASFIELDS(child):
+ *             t = child.type_num             # <<<<<<<<<<<<<<
+ *             if end - f < 5:
+ *                 raise RuntimeError(u"Format string allocated too short.")
+ */
+      __pyx_t_3 = PyInt_FromLong(__pyx_v_child->type_num); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 820; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_XDECREF(__pyx_v_t);
+      __pyx_v_t = __pyx_t_3;
+      __pyx_t_3 = 0;
+
+      /* "numpy.pxd":821
+ *         if not PyDataType_HASFIELDS(child):
+ *             t = child.type_num
+ *             if end - f < 5:             # <<<<<<<<<<<<<<
+ *                 raise RuntimeError(u"Format string allocated too short.")
+ * 
+ */
+      __pyx_t_6 = ((__pyx_v_end - __pyx_v_f) < 5);
+      if (__pyx_t_6) {
+
+        /* "numpy.pxd":822
+ *             t = child.type_num
+ *             if end - f < 5:
+ *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
+ * 
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ */
+        __pyx_t_3 = PyObject_Call(__pyx_builtin_RuntimeError, ((PyObject *)__pyx_k_tuple_24), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __Pyx_GOTREF(__pyx_t_3);
+        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+        {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        goto __pyx_L10;
+      }
+      __pyx_L10:;
+
+      /* "numpy.pxd":825
+ * 
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ *             if   t == NPY_BYTE:        f[0] =  98 #"b"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ */
+      __pyx_t_3 = PyInt_FromLong(NPY_BYTE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 98;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":826
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ *             if   t == NPY_BYTE:        f[0] =  98 #"b"
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ */
+      __pyx_t_5 = PyInt_FromLong(NPY_UBYTE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 66;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":827
+ *             if   t == NPY_BYTE:        f[0] =  98 #"b"
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ */
+      __pyx_t_3 = PyInt_FromLong(NPY_SHORT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 104;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":828
+ *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ */
+      __pyx_t_5 = PyInt_FromLong(NPY_USHORT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 72;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":829
+ *             elif t == NPY_SHORT:       f[0] = 104 #"h"
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ *             elif t == NPY_INT:         f[0] = 105 #"i"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ */
+      __pyx_t_3 = PyInt_FromLong(NPY_INT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 105;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":830
+ *             elif t == NPY_USHORT:      f[0] =  72 #"H"
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ */
+      __pyx_t_5 = PyInt_FromLong(NPY_UINT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 73;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":831
+ *             elif t == NPY_INT:         f[0] = 105 #"i"
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ */
+      __pyx_t_3 = PyInt_FromLong(NPY_LONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 108;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":832
+ *             elif t == NPY_UINT:        f[0] =  73 #"I"
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ */
+      __pyx_t_5 = PyInt_FromLong(NPY_ULONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 832; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 76;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":833
+ *             elif t == NPY_LONG:        f[0] = 108 #"l"
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ */
+      __pyx_t_3 = PyInt_FromLong(NPY_LONGLONG); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 113;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":834
+ *             elif t == NPY_ULONG:       f[0] = 76  #"L"
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ */
+      __pyx_t_5 = PyInt_FromLong(NPY_ULONGLONG); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 834; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 81;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":835
+ *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ */
+      __pyx_t_3 = PyInt_FromLong(NPY_FLOAT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 835; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 102;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":836
+ *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ */
+      __pyx_t_5 = PyInt_FromLong(NPY_DOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 100;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":837
+ *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"             # <<<<<<<<<<<<<<
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ */
+      __pyx_t_3 = PyInt_FromLong(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 103;
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":838
+ *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf             # <<<<<<<<<<<<<<
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ */
+      __pyx_t_5 = PyInt_FromLong(NPY_CFLOAT); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 90;
+        (__pyx_v_f[1]) = 102;
+        __pyx_v_f = (__pyx_v_f + 1);
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":839
+ *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd             # <<<<<<<<<<<<<<
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
+ */
+      __pyx_t_3 = PyInt_FromLong(NPY_CDOUBLE); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 839; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 90;
+        (__pyx_v_f[1]) = 100;
+        __pyx_v_f = (__pyx_v_f + 1);
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":840
+ *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg             # <<<<<<<<<<<<<<
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
+ *             else:
+ */
+      __pyx_t_5 = PyInt_FromLong(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_5, Py_EQ); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 840; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 90;
+        (__pyx_v_f[1]) = 103;
+        __pyx_v_f = (__pyx_v_f + 1);
+        goto __pyx_L11;
+      }
+
+      /* "numpy.pxd":841
+ *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
+ *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"             # <<<<<<<<<<<<<<
+ *             else:
+ *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ */
+      __pyx_t_3 = PyInt_FromLong(NPY_OBJECT); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_3);
+      __pyx_t_5 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 841; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      if (__pyx_t_6) {
+        (__pyx_v_f[0]) = 79;
+        goto __pyx_L11;
+      }
+      /*else*/ {
+
+        /* "numpy.pxd":843
+ *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
+ *             else:
+ *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
+ *             f += 1
+ *         else:
+ */
+        __pyx_t_5 = PyNumber_Remainder(((PyObject *)__pyx_kp_u_19), __pyx_v_t); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __Pyx_GOTREF(((PyObject *)__pyx_t_5));
+        __pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __Pyx_GOTREF(__pyx_t_3);
+        PyTuple_SET_ITEM(__pyx_t_3, 0, ((PyObject *)__pyx_t_5));
+        __Pyx_GIVEREF(((PyObject *)__pyx_t_5));
+        __pyx_t_5 = 0;
+        __pyx_t_5 = PyObject_Call(__pyx_builtin_ValueError, ((PyObject *)__pyx_t_3), NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_DECREF(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
+        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        {__pyx_filename = __pyx_f[1]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      }
+      __pyx_L11:;
+
+      /* "numpy.pxd":844
+ *             else:
+ *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ *             f += 1             # <<<<<<<<<<<<<<
+ *         else:
+ *             # Cython ignores struct boundary information ("T{...}"),
+ */
+      __pyx_v_f = (__pyx_v_f + 1);
+      goto __pyx_L9;
+    }
+    /*else*/ {
+
+      /* "numpy.pxd":848
+ *             # Cython ignores struct boundary information ("T{...}"),
+ *             # so don't output it
+ *             f = _util_dtypestring(child, f, end, offset)             # <<<<<<<<<<<<<<
+ *     return f
+ * 
+ */
+      __pyx_t_11 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_11 == NULL)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 848; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_v_f = __pyx_t_11;
+    }
+    __pyx_L9:;
+  }
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "numpy.pxd":849
+ *             # so don't output it
+ *             f = _util_dtypestring(child, f, end, offset)
+ *     return f             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_r = __pyx_v_f;
+  goto __pyx_L0;
+
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  __pyx_L0:;
+  __Pyx_XDECREF((PyObject *)__pyx_v_child);
+  __Pyx_XDECREF(__pyx_v_fields);
+  __Pyx_XDECREF(__pyx_v_childname);
+  __Pyx_XDECREF(__pyx_v_new_offset);
+  __Pyx_XDECREF(__pyx_v_t);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "numpy.pxd":964
+ * 
+ * 
+ * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
+ *      cdef PyObject* baseptr
+ *      if base is None:
+ */
+
+static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
+  PyObject *__pyx_v_baseptr;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  __Pyx_RefNannySetupContext("set_array_base", 0);
+
+  /* "numpy.pxd":966
+ * cdef inline void set_array_base(ndarray arr, object base):
+ *      cdef PyObject* baseptr
+ *      if base is None:             # <<<<<<<<<<<<<<
+ *          baseptr = NULL
+ *      else:
+ */
+  __pyx_t_1 = (__pyx_v_base == Py_None);
+  if (__pyx_t_1) {
+
+    /* "numpy.pxd":967
+ *      cdef PyObject* baseptr
+ *      if base is None:
+ *          baseptr = NULL             # <<<<<<<<<<<<<<
+ *      else:
+ *          Py_INCREF(base) # important to do this before decref below!
+ */
+    __pyx_v_baseptr = NULL;
+    goto __pyx_L3;
+  }
+  /*else*/ {
+
+    /* "numpy.pxd":969
+ *          baseptr = NULL
+ *      else:
+ *          Py_INCREF(base) # important to do this before decref below!             # <<<<<<<<<<<<<<
+ *          baseptr = <PyObject*>base
+ *      Py_XDECREF(arr.base)
+ */
+    Py_INCREF(__pyx_v_base);
+
+    /* "numpy.pxd":970
+ *      else:
+ *          Py_INCREF(base) # important to do this before decref below!
+ *          baseptr = <PyObject*>base             # <<<<<<<<<<<<<<
+ *      Py_XDECREF(arr.base)
+ *      arr.base = baseptr
+ */
+    __pyx_v_baseptr = ((PyObject *)__pyx_v_base);
+  }
+  __pyx_L3:;
+
+  /* "numpy.pxd":971
+ *          Py_INCREF(base) # important to do this before decref below!
+ *          baseptr = <PyObject*>base
+ *      Py_XDECREF(arr.base)             # <<<<<<<<<<<<<<
+ *      arr.base = baseptr
+ * 
+ */
+  Py_XDECREF(__pyx_v_arr->base);
+
+  /* "numpy.pxd":972
+ *          baseptr = <PyObject*>base
+ *      Py_XDECREF(arr.base)
+ *      arr.base = baseptr             # <<<<<<<<<<<<<<
+ * 
+ * cdef inline object get_array_base(ndarray arr):
+ */
+  __pyx_v_arr->base = __pyx_v_baseptr;
+
+  __Pyx_RefNannyFinishContext();
+}
+
+/* "numpy.pxd":974
+ *      arr.base = baseptr
+ * 
+ * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
+ *     if arr.base is NULL:
+ *         return None
+ */
+
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
+  PyObject *__pyx_r = NULL;
+  __Pyx_RefNannyDeclarations
+  int __pyx_t_1;
+  __Pyx_RefNannySetupContext("get_array_base", 0);
+
+  /* "numpy.pxd":975
+ * 
+ * cdef inline object get_array_base(ndarray arr):
+ *     if arr.base is NULL:             # <<<<<<<<<<<<<<
+ *         return None
+ *     else:
+ */
+  __pyx_t_1 = (__pyx_v_arr->base == NULL);
+  if (__pyx_t_1) {
+
+    /* "numpy.pxd":976
+ * cdef inline object get_array_base(ndarray arr):
+ *     if arr.base is NULL:
+ *         return None             # <<<<<<<<<<<<<<
+ *     else:
+ *         return <object>arr.base
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_INCREF(Py_None);
+    __pyx_r = Py_None;
+    goto __pyx_L0;
+    goto __pyx_L3;
+  }
+  /*else*/ {
+
+    /* "numpy.pxd":978
+ *         return None
+ *     else:
+ *         return <object>arr.base             # <<<<<<<<<<<<<<
+ */
+    __Pyx_XDECREF(__pyx_r);
+    __Pyx_INCREF(((PyObject *)__pyx_v_arr->base));
+    __pyx_r = ((PyObject *)__pyx_v_arr->base);
+    goto __pyx_L0;
+  }
+  __pyx_L3:;
+
+  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+  __pyx_L0:;
+  __Pyx_XGIVEREF(__pyx_r);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static PyMethodDef __pyx_methods[] = {
+  {0, 0, 0, 0}
+};
+
+#if PY_MAJOR_VERSION >= 3
+static struct PyModuleDef __pyx_moduledef = {
+    PyModuleDef_HEAD_INIT,
+    __Pyx_NAMESTR("mar345_IO"),
+    __Pyx_DOCSTR(__pyx_k_25), /* m_doc */
+    -1, /* m_size */
+    __pyx_methods /* m_methods */,
+    NULL, /* m_reload */
+    NULL, /* m_traverse */
+    NULL, /* m_clear */
+    NULL /* m_free */
+};
+#endif
+
+static __Pyx_StringTabEntry __pyx_string_tab[] = {
+  {&__pyx_kp_s_1, __pyx_k_1, sizeof(__pyx_k_1), 0, 0, 1, 0},
+  {&__pyx_kp_s_11, __pyx_k_11, sizeof(__pyx_k_11), 0, 0, 1, 0},
+  {&__pyx_kp_u_13, __pyx_k_13, sizeof(__pyx_k_13), 0, 1, 0, 0},
+  {&__pyx_kp_u_15, __pyx_k_15, sizeof(__pyx_k_15), 0, 1, 0, 0},
+  {&__pyx_kp_u_17, __pyx_k_17, sizeof(__pyx_k_17), 0, 1, 0, 0},
+  {&__pyx_kp_u_19, __pyx_k_19, sizeof(__pyx_k_19), 0, 1, 0, 0},
+  {&__pyx_kp_u_20, __pyx_k_20, sizeof(__pyx_k_20), 0, 1, 0, 0},
+  {&__pyx_kp_u_23, __pyx_k_23, sizeof(__pyx_k_23), 0, 1, 0, 0},
+  {&__pyx_kp_s_26, __pyx_k_26, sizeof(__pyx_k_26), 0, 0, 1, 0},
+  {&__pyx_kp_s_27, __pyx_k_27, sizeof(__pyx_k_27), 0, 0, 1, 0},
+  {&__pyx_kp_s_28, __pyx_k_28, sizeof(__pyx_k_28), 0, 0, 1, 0},
+  {&__pyx_kp_s_29, __pyx_k_29, sizeof(__pyx_k_29), 0, 0, 1, 0},
+  {&__pyx_kp_s_30, __pyx_k_30, sizeof(__pyx_k_30), 0, 0, 1, 0},
+  {&__pyx_kp_s_33, __pyx_k_33, sizeof(__pyx_k_33), 0, 0, 1, 0},
+  {&__pyx_kp_s_4, __pyx_k_4, sizeof(__pyx_k_4), 0, 0, 1, 0},
+  {&__pyx_kp_s_5, __pyx_k_5, sizeof(__pyx_k_5), 0, 0, 1, 0},
+  {&__pyx_kp_s_6, __pyx_k_6, sizeof(__pyx_k_6), 0, 0, 1, 0},
+  {&__pyx_kp_s_9, __pyx_k_9, sizeof(__pyx_k_9), 0, 0, 1, 0},
+  {&__pyx_n_s__HIGH, __pyx_k__HIGH, sizeof(__pyx_k__HIGH), 0, 0, 1, 1},
+  {&__pyx_n_s__RuntimeError, __pyx_k__RuntimeError, sizeof(__pyx_k__RuntimeError), 0, 0, 1, 1},
+  {&__pyx_n_s__ValueError, __pyx_k__ValueError, sizeof(__pyx_k__ValueError), 0, 0, 1, 1},
+  {&__pyx_n_s____authors__, __pyx_k____authors__, sizeof(__pyx_k____authors__), 0, 0, 1, 1},
+  {&__pyx_n_s____contact__, __pyx_k____contact__, sizeof(__pyx_k____contact__), 0, 0, 1, 1},
+  {&__pyx_n_s____copyright__, __pyx_k____copyright__, sizeof(__pyx_k____copyright__), 0, 0, 1, 1},
+  {&__pyx_n_s____enter__, __pyx_k____enter__, sizeof(__pyx_k____enter__), 0, 0, 1, 1},
+  {&__pyx_n_s____exit__, __pyx_k____exit__, sizeof(__pyx_k____exit__), 0, 0, 1, 1},
+  {&__pyx_n_s____license__, __pyx_k____license__, sizeof(__pyx_k____license__), 0, 0, 1, 1},
+  {&__pyx_n_s____main__, __pyx_k____main__, sizeof(__pyx_k____main__), 0, 0, 1, 1},
+  {&__pyx_n_s____test__, __pyx_k____test__, sizeof(__pyx_k____test__), 0, 0, 1, 1},
+  {&__pyx_n_s__ascontiguousarray, __pyx_k__ascontiguousarray, sizeof(__pyx_k__ascontiguousarray), 0, 0, 1, 1},
+  {&__pyx_n_s__astype, __pyx_k__astype, sizeof(__pyx_k__astype), 0, 0, 1, 1},
+  {&__pyx_n_s__cdata, __pyx_k__cdata, sizeof(__pyx_k__cdata), 0, 0, 1, 1},
+  {&__pyx_n_s__cdim1, __pyx_k__cdim1, sizeof(__pyx_k__cdim1), 0, 0, 1, 1},
+  {&__pyx_n_s__cdim2, __pyx_k__cdim2, sizeof(__pyx_k__cdim2), 0, 0, 1, 1},
+  {&__pyx_n_s__chigh, __pyx_k__chigh, sizeof(__pyx_k__chigh), 0, 0, 1, 1},
+  {&__pyx_n_s__close, __pyx_k__close, sizeof(__pyx_k__close), 0, 0, 1, 1},
+  {&__pyx_n_s__compress_pck, __pyx_k__compress_pck, sizeof(__pyx_k__compress_pck), 0, 0, 1, 1},
+  {&__pyx_n_s__data, __pyx_k__data, sizeof(__pyx_k__data), 0, 0, 1, 1},
+  {&__pyx_n_s__dim0, __pyx_k__dim0, sizeof(__pyx_k__dim0), 0, 0, 1, 1},
+  {&__pyx_n_s__dim1, __pyx_k__dim1, sizeof(__pyx_k__dim1), 0, 0, 1, 1},
+  {&__pyx_n_s__dim2, __pyx_k__dim2, sizeof(__pyx_k__dim2), 0, 0, 1, 1},
+  {&__pyx_n_s__dtype, __pyx_k__dtype, sizeof(__pyx_k__dtype), 0, 0, 1, 1},
+  {&__pyx_n_s__end, __pyx_k__end, sizeof(__pyx_k__end), 0, 0, 1, 1},
+  {&__pyx_n_s__f, __pyx_k__f, sizeof(__pyx_k__f), 0, 0, 1, 1},
+  {&__pyx_n_s__fd, __pyx_k__fd, sizeof(__pyx_k__fd), 0, 0, 1, 1},
+  {&__pyx_n_s__find, __pyx_k__find, sizeof(__pyx_k__find), 0, 0, 1, 1},
+  {&__pyx_n_s__fname, __pyx_k__fname, sizeof(__pyx_k__fname), 0, 0, 1, 1},
+  {&__pyx_n_s__hiLine, __pyx_k__hiLine, sizeof(__pyx_k__hiLine), 0, 0, 1, 1},
+  {&__pyx_n_s__i, __pyx_k__i, sizeof(__pyx_k__i), 0, 0, 1, 1},
+  {&__pyx_n_s__index, __pyx_k__index, sizeof(__pyx_k__index), 0, 0, 1, 1},
+  {&__pyx_n_s__inputArray, __pyx_k__inputArray, sizeof(__pyx_k__inputArray), 0, 0, 1, 1},
+  {&__pyx_n_s__instream, __pyx_k__instream, sizeof(__pyx_k__instream), 0, 0, 1, 1},
+  {&__pyx_n_s__j, __pyx_k__j, sizeof(__pyx_k__j), 0, 0, 1, 1},
+  {&__pyx_n_s__key, __pyx_k__key, sizeof(__pyx_k__key), 0, 0, 1, 1},
+  {&__pyx_n_s__key1, __pyx_k__key1, sizeof(__pyx_k__key1), 0, 0, 1, 1},
+  {&__pyx_n_s__key2, __pyx_k__key2, sizeof(__pyx_k__key2), 0, 0, 1, 1},
+  {&__pyx_n_s__lstrip, __pyx_k__lstrip, sizeof(__pyx_k__lstrip), 0, 0, 1, 1},
+  {&__pyx_n_s__mar345_IO, __pyx_k__mar345_IO, sizeof(__pyx_k__mar345_IO), 0, 0, 1, 1},
+  {&__pyx_n_s__mkstemp, __pyx_k__mkstemp, sizeof(__pyx_k__mkstemp), 0, 0, 1, 1},
+  {&__pyx_n_s__name, __pyx_k__name, sizeof(__pyx_k__name), 0, 0, 1, 1},
+  {&__pyx_n_s__numpy, __pyx_k__numpy, sizeof(__pyx_k__numpy), 0, 0, 1, 1},
+  {&__pyx_n_s__open, __pyx_k__open, sizeof(__pyx_k__open), 0, 0, 1, 1},
+  {&__pyx_n_s__os, __pyx_k__os, sizeof(__pyx_k__os), 0, 0, 1, 1},
+  {&__pyx_n_s__output, __pyx_k__output, sizeof(__pyx_k__output), 0, 0, 1, 1},
+  {&__pyx_n_s__overflowPix, __pyx_k__overflowPix, sizeof(__pyx_k__overflowPix), 0, 0, 1, 1},
+  {&__pyx_n_s__range, __pyx_k__range, sizeof(__pyx_k__range), 0, 0, 1, 1},
+  {&__pyx_n_s__ravel, __pyx_k__ravel, sizeof(__pyx_k__ravel), 0, 0, 1, 1},
+  {&__pyx_n_s__raw, __pyx_k__raw, sizeof(__pyx_k__raw), 0, 0, 1, 1},
+  {&__pyx_n_s__rb, __pyx_k__rb, sizeof(__pyx_k__rb), 0, 0, 1, 1},
+  {&__pyx_n_s__read, __pyx_k__read, sizeof(__pyx_k__read), 0, 0, 1, 1},
+  {&__pyx_n_s__remove, __pyx_k__remove, sizeof(__pyx_k__remove), 0, 0, 1, 1},
+  {&__pyx_n_s__ret, __pyx_k__ret, sizeof(__pyx_k__ret), 0, 0, 1, 1},
+  {&__pyx_n_s__seek, __pyx_k__seek, sizeof(__pyx_k__seek), 0, 0, 1, 1},
+  {&__pyx_n_s__size, __pyx_k__size, sizeof(__pyx_k__size), 0, 0, 1, 1},
+  {&__pyx_n_s__sizes, __pyx_k__sizes, sizeof(__pyx_k__sizes), 0, 0, 1, 1},
+  {&__pyx_n_s__split, __pyx_k__split, sizeof(__pyx_k__split), 0, 0, 1, 1},
+  {&__pyx_n_s__start, __pyx_k__start, sizeof(__pyx_k__start), 0, 0, 1, 1},
+  {&__pyx_n_s__strip, __pyx_k__strip, sizeof(__pyx_k__strip), 0, 0, 1, 1},
+  {&__pyx_n_s__tempfile, __pyx_k__tempfile, sizeof(__pyx_k__tempfile), 0, 0, 1, 1},
+  {&__pyx_n_s__uint16, __pyx_k__uint16, sizeof(__pyx_k__uint16), 0, 0, 1, 1},
+  {&__pyx_n_s__uint32, __pyx_k__uint32, sizeof(__pyx_k__uint32), 0, 0, 1, 1},
+  {&__pyx_n_s__uncompress_pck, __pyx_k__uncompress_pck, sizeof(__pyx_k__uncompress_pck), 0, 0, 1, 1},
+  {&__pyx_n_s__word, __pyx_k__word, sizeof(__pyx_k__word), 0, 0, 1, 1},
+  {&__pyx_n_s__zeros, __pyx_k__zeros, sizeof(__pyx_k__zeros), 0, 0, 1, 1},
+  {0, 0, 0, 0, 0, 0, 0}
+};
+static int __Pyx_InitCachedBuiltins(void) {
+  __pyx_builtin_open = __Pyx_GetName(__pyx_b, __pyx_n_s__open); if (!__pyx_builtin_open) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_builtin_ValueError = __Pyx_GetName(__pyx_b, __pyx_n_s__ValueError); if (!__pyx_builtin_ValueError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_builtin_range = __Pyx_GetName(__pyx_b, __pyx_n_s__range); if (!__pyx_builtin_range) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_builtin_RuntimeError = __Pyx_GetName(__pyx_b, __pyx_n_s__RuntimeError); if (!__pyx_builtin_RuntimeError) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  return 0;
+  __pyx_L1_error:;
+  return -1;
+}
+
+static int __Pyx_InitCachedConstants(void) {
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
+
+  /* "mar345_IO.pyx":51
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:
+ *         f.seek(0)             # <<<<<<<<<<<<<<
+ *         output = f.read()
+ *     os.close(fd)
+ */
+  __pyx_k_tuple_2 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_2);
+  __Pyx_INCREF(__pyx_int_0);
+  PyTuple_SET_ITEM(__pyx_k_tuple_2, 0, __pyx_int_0);
+  __Pyx_GIVEREF(__pyx_int_0);
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_2));
+
+  /* "mar345_IO.pyx":50
+ *     with nogil:
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:             # <<<<<<<<<<<<<<
+ *         f.seek(0)
+ *         output = f.read()
+ */
+  __pyx_k_tuple_3 = PyTuple_New(3); if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_3);
+  __Pyx_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_k_tuple_3, 0, Py_None);
+  __Pyx_GIVEREF(Py_None);
+  __Pyx_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_k_tuple_3, 1, Py_None);
+  __Pyx_GIVEREF(Py_None);
+  __Pyx_INCREF(Py_None);
+  PyTuple_SET_ITEM(__pyx_k_tuple_3, 2, Py_None);
+  __Pyx_GIVEREF(Py_None);
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_3));
+
+  /* "mar345_IO.pyx":86
+ *         cdim2 = < int > dim2
+ *     if overflowPix is None:
+ *         end = raw.find("END OF HEADER")             # <<<<<<<<<<<<<<
+ *         start = raw[:end].find("HIGH")
+ *         hiLine = raw[start:end]
+ */
+  __pyx_k_tuple_7 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_7);
+  __Pyx_INCREF(((PyObject *)__pyx_kp_s_6));
+  PyTuple_SET_ITEM(__pyx_k_tuple_7, 0, ((PyObject *)__pyx_kp_s_6));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_6));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_7));
+
+  /* "mar345_IO.pyx":87
+ *     if overflowPix is None:
+ *         end = raw.find("END OF HEADER")
+ *         start = raw[:end].find("HIGH")             # <<<<<<<<<<<<<<
+ *         hiLine = raw[start:end]
+ *         hiLine = hiLine.split("\n")[0]
+ */
+  __pyx_k_tuple_8 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_8);
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__HIGH));
+  PyTuple_SET_ITEM(__pyx_k_tuple_8, 0, ((PyObject *)__pyx_n_s__HIGH));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__HIGH));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_8));
+
+  /* "mar345_IO.pyx":89
+ *         start = raw[:end].find("HIGH")
+ *         hiLine = raw[start:end]
+ *         hiLine = hiLine.split("\n")[0]             # <<<<<<<<<<<<<<
+ *         word = hiLine.split()
+ *         if len(word) > 1:
+ */
+  __pyx_k_tuple_10 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_10);
+  __Pyx_INCREF(((PyObject *)__pyx_kp_s_9));
+  PyTuple_SET_ITEM(__pyx_k_tuple_10, 0, ((PyObject *)__pyx_kp_s_9));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_9));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_10));
+
+  /* "mar345_IO.pyx":100
+ *     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)
+ *     if not end:
+ *         end = raw.find("END OF HEADER")             # <<<<<<<<<<<<<<
+ *     if end !=-1:
+ *         raw = raw[end+14:].lstrip()
+ */
+  __pyx_k_tuple_12 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_12);
+  __Pyx_INCREF(((PyObject *)__pyx_kp_s_6));
+  PyTuple_SET_ITEM(__pyx_k_tuple_12, 0, ((PyObject *)__pyx_kp_s_6));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_6));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_12));
+
+  /* "numpy.pxd":214
+ *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ */
+  __pyx_k_tuple_14 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_14)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 214; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_14);
+  __Pyx_INCREF(((PyObject *)__pyx_kp_u_13));
+  PyTuple_SET_ITEM(__pyx_k_tuple_14, 0, ((PyObject *)__pyx_kp_u_13));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_13));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_14));
+
+  /* "numpy.pxd":218
+ *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
+ * 
+ *             info.buf = PyArray_DATA(self)
+ */
+  __pyx_k_tuple_16 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_16)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_16);
+  __Pyx_INCREF(((PyObject *)__pyx_kp_u_15));
+  PyTuple_SET_ITEM(__pyx_k_tuple_16, 0, ((PyObject *)__pyx_kp_u_15));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_15));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_16));
+
+  /* "numpy.pxd":256
+ *                 if ((descr.byteorder == '>' and little_endian) or
+ *                     (descr.byteorder == '<' and not little_endian)):
+ *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
+ *                 if   t == NPY_BYTE:        f = "b"
+ *                 elif t == NPY_UBYTE:       f = "B"
+ */
+  __pyx_k_tuple_18 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_18)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 256; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_18);
+  __Pyx_INCREF(((PyObject *)__pyx_kp_u_17));
+  PyTuple_SET_ITEM(__pyx_k_tuple_18, 0, ((PyObject *)__pyx_kp_u_17));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_17));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_18));
+
+  /* "numpy.pxd":798
+ * 
+ *         if (end - f) - (new_offset - offset[0]) < 15:
+ *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
+ * 
+ *         if ((child.byteorder == '>' and little_endian) or
+ */
+  __pyx_k_tuple_21 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_21)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_21);
+  __Pyx_INCREF(((PyObject *)__pyx_kp_u_20));
+  PyTuple_SET_ITEM(__pyx_k_tuple_21, 0, ((PyObject *)__pyx_kp_u_20));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_20));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_21));
+
+  /* "numpy.pxd":802
+ *         if ((child.byteorder == '>' and little_endian) or
+ *             (child.byteorder == '<' and not little_endian)):
+ *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
+ *             # One could encode it in the format string and have Cython
+ *             # complain instead, BUT: < and > in format strings also imply
+ */
+  __pyx_k_tuple_22 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_22)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 802; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_22);
+  __Pyx_INCREF(((PyObject *)__pyx_kp_u_17));
+  PyTuple_SET_ITEM(__pyx_k_tuple_22, 0, ((PyObject *)__pyx_kp_u_17));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_17));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_22));
+
+  /* "numpy.pxd":822
+ *             t = child.type_num
+ *             if end - f < 5:
+ *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
+ * 
+ *             # Until ticket #99 is fixed, use integers to avoid warnings
+ */
+  __pyx_k_tuple_24 = PyTuple_New(1); if (unlikely(!__pyx_k_tuple_24)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 822; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_24);
+  __Pyx_INCREF(((PyObject *)__pyx_kp_u_23));
+  PyTuple_SET_ITEM(__pyx_k_tuple_24, 0, ((PyObject *)__pyx_kp_u_23));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_u_23));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_24));
+
+  /* "mar345_IO.pyx":32
+ * 
+ * @cython.boundscheck(False)
+ * def compress_pck(numpy.ndarray inputArray not None):             # <<<<<<<<<<<<<<
+ *     """
+ *     @param inputArray: numpy array as input
+ */
+  __pyx_k_tuple_31 = PyTuple_New(14); if (unlikely(!__pyx_k_tuple_31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_31);
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__inputArray));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 0, ((PyObject *)__pyx_n_s__inputArray));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__inputArray));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__size));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 1, ((PyObject *)__pyx_n_s__size));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__size));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__dim0));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 2, ((PyObject *)__pyx_n_s__dim0));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dim0));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__dim1));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 3, ((PyObject *)__pyx_n_s__dim1));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dim1));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__i));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 4, ((PyObject *)__pyx_n_s__i));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__i));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__j));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 5, ((PyObject *)__pyx_n_s__j));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__j));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__fd));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 6, ((PyObject *)__pyx_n_s__fd));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__fd));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__ret));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 7, ((PyObject *)__pyx_n_s__ret));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__ret));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__name));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 8, ((PyObject *)__pyx_n_s__name));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__name));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__data));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 9, ((PyObject *)__pyx_n_s__data));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__data));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__cdata));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 10, ((PyObject *)__pyx_n_s__cdata));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__cdata));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__fname));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 11, ((PyObject *)__pyx_n_s__fname));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__fname));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__f));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 12, ((PyObject *)__pyx_n_s__f));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__f));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__output));
+  PyTuple_SET_ITEM(__pyx_k_tuple_31, 13, ((PyObject *)__pyx_n_s__output));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__output));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_31));
+  __pyx_k_codeobj_32 = (PyObject*)__Pyx_PyCode_New(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_33, __pyx_n_s__compress_pck, 32, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+  /* "mar345_IO.pyx":58
+ * 
+ * @cython.boundscheck(False)
+ * def uncompress_pck(raw not None, dim1=None, dim2=None, overflowPix=None):             # <<<<<<<<<<<<<<
+ *     """
+ *     Unpack a mar345 compressed image
+ */
+  __pyx_k_tuple_34 = PyTuple_New(17); if (unlikely(!__pyx_k_tuple_34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_k_tuple_34);
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__raw));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 0, ((PyObject *)__pyx_n_s__raw));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__raw));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__dim1));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 1, ((PyObject *)__pyx_n_s__dim1));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dim1));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__dim2));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 2, ((PyObject *)__pyx_n_s__dim2));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__dim2));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__overflowPix));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 3, ((PyObject *)__pyx_n_s__overflowPix));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__overflowPix));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__cdim1));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 4, ((PyObject *)__pyx_n_s__cdim1));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__cdim1));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__cdim2));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 5, ((PyObject *)__pyx_n_s__cdim2));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__cdim2));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__chigh));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 6, ((PyObject *)__pyx_n_s__chigh));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__chigh));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__end));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 7, ((PyObject *)__pyx_n_s__end));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__end));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__key1));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 8, ((PyObject *)__pyx_n_s__key1));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__key1));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__key2));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 9, ((PyObject *)__pyx_n_s__key2));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__key2));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__start));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 10, ((PyObject *)__pyx_n_s__start));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__start));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__key));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 11, ((PyObject *)__pyx_n_s__key));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__key));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__sizes));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 12, ((PyObject *)__pyx_n_s__sizes));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__sizes));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__hiLine));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 13, ((PyObject *)__pyx_n_s__hiLine));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__hiLine));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__word));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 14, ((PyObject *)__pyx_n_s__word));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__word));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__data));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 15, ((PyObject *)__pyx_n_s__data));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__data));
+  __Pyx_INCREF(((PyObject *)__pyx_n_s__instream));
+  PyTuple_SET_ITEM(__pyx_k_tuple_34, 16, ((PyObject *)__pyx_n_s__instream));
+  __Pyx_GIVEREF(((PyObject *)__pyx_n_s__instream));
+  __Pyx_GIVEREF(((PyObject *)__pyx_k_tuple_34));
+  __pyx_k_codeobj_35 = (PyObject*)__Pyx_PyCode_New(4, 0, 17, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_33, __pyx_n_s__uncompress_pck, 58, __pyx_empty_bytes); if (unlikely(!__pyx_k_codeobj_35)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_RefNannyFinishContext();
+  return 0;
+  __pyx_L1_error:;
+  __Pyx_RefNannyFinishContext();
+  return -1;
+}
+
+static int __Pyx_InitGlobals(void) {
+  if (__Pyx_InitStrings(__pyx_string_tab) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  __pyx_int_neg_1 = PyInt_FromLong(-1); if (unlikely(!__pyx_int_neg_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  __pyx_int_13 = PyInt_FromLong(13); if (unlikely(!__pyx_int_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  __pyx_int_14 = PyInt_FromLong(14); if (unlikely(!__pyx_int_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  __pyx_int_15 = PyInt_FromLong(15); if (unlikely(!__pyx_int_15)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  return 0;
+  __pyx_L1_error:;
+  return -1;
+}
+
+#if PY_MAJOR_VERSION < 3
+PyMODINIT_FUNC initmar345_IO(void); /*proto*/
+PyMODINIT_FUNC initmar345_IO(void)
+#else
+PyMODINIT_FUNC PyInit_mar345_IO(void); /*proto*/
+PyMODINIT_FUNC PyInit_mar345_IO(void)
+#endif
+{
+  PyObject *__pyx_t_1 = NULL;
+  __Pyx_RefNannyDeclarations
+  #if CYTHON_REFNANNY
+  __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny");
+  if (!__Pyx_RefNanny) {
+      PyErr_Clear();
+      __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny");
+      if (!__Pyx_RefNanny)
+          Py_FatalError("failed to import 'refnanny' module");
+  }
+  #endif
+  __Pyx_RefNannySetupContext("PyMODINIT_FUNC PyInit_mar345_IO(void)", 0);
+  if ( __Pyx_check_binary_version() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  #ifdef __Pyx_CyFunction_USED
+  if (__Pyx_CyFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  #endif
+  #ifdef __Pyx_FusedFunction_USED
+  if (__pyx_FusedFunction_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  #endif
+  #ifdef __Pyx_Generator_USED
+  if (__pyx_Generator_init() < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  #endif
+  /*--- Library function declarations ---*/
+  /*--- Threads initialization code ---*/
+  #if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
+  #ifdef WITH_THREAD /* Python build with threading support? */
+  PyEval_InitThreads();
+  #endif
+  #endif
+  /*--- Module creation code ---*/
+  #if PY_MAJOR_VERSION < 3
+  __pyx_m = Py_InitModule4(__Pyx_NAMESTR("mar345_IO"), __pyx_methods, __Pyx_DOCSTR(__pyx_k_25), 0, PYTHON_API_VERSION);
+  #else
+  __pyx_m = PyModule_Create(&__pyx_moduledef);
+  #endif
+  if (!__pyx_m) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  #if PY_MAJOR_VERSION < 3
+  Py_INCREF(__pyx_m);
+  #endif
+  __pyx_b = PyImport_AddModule(__Pyx_NAMESTR(__Pyx_BUILTIN_MODULE_NAME));
+  if (!__pyx_b) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  if (__Pyx_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  /*--- Initialize various global constants etc. ---*/
+  if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (__pyx_module_is_main_mar345_IO) {
+    if (__Pyx_SetAttrString(__pyx_m, "__name__", __pyx_n_s____main__) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  }
+  /*--- Builtin init code ---*/
+  if (unlikely(__Pyx_InitCachedBuiltins() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  /*--- Constants init code ---*/
+  if (unlikely(__Pyx_InitCachedConstants() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  /*--- Global init code ---*/
+  /*--- Variable export code ---*/
+  /*--- Function export code ---*/
+  /*--- Type init code ---*/
+  /*--- Type import code ---*/
+  __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 154; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 164; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 168; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 177; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  /*--- Variable import code ---*/
+  /*--- Function import code ---*/
+  /*--- Execution code ---*/
+
+  /* "mar345_IO.pyx":13
+ * """
+ * 
+ * __authors__ = ["Jerome Kieffer", "Gael Goret"]             # <<<<<<<<<<<<<<
+ * __contact__ = "jerome.kieffer at esrf.eu"
+ * __license__ = "LGPLv3+"
+ */
+  __pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(((PyObject *)__pyx_kp_s_26));
+  PyList_SET_ITEM(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_26));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_26));
+  __Pyx_INCREF(((PyObject *)__pyx_kp_s_27));
+  PyList_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_kp_s_27));
+  __Pyx_GIVEREF(((PyObject *)__pyx_kp_s_27));
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____authors__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
+
+  /* "mar345_IO.pyx":14
+ * 
+ * __authors__ = ["Jerome Kieffer", "Gael Goret"]
+ * __contact__ = "jerome.kieffer at esrf.eu"             # <<<<<<<<<<<<<<
+ * __license__ = "LGPLv3+"
+ * __copyright__ = "2012, European Synchrotron Radiation Facility, Grenoble, France"
+ */
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____contact__, ((PyObject *)__pyx_kp_s_28)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+  /* "mar345_IO.pyx":15
+ * __authors__ = ["Jerome Kieffer", "Gael Goret"]
+ * __contact__ = "jerome.kieffer at esrf.eu"
+ * __license__ = "LGPLv3+"             # <<<<<<<<<<<<<<
+ * __copyright__ = "2012, European Synchrotron Radiation Facility, Grenoble, France"
+ * 
+ */
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____license__, ((PyObject *)__pyx_kp_s_29)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+  /* "mar345_IO.pyx":16
+ * __contact__ = "jerome.kieffer at esrf.eu"
+ * __license__ = "LGPLv3+"
+ * __copyright__ = "2012, European Synchrotron Radiation Facility, Grenoble, France"             # <<<<<<<<<<<<<<
+ * 
+ * import cython
+ */
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____copyright__, ((PyObject *)__pyx_kp_s_30)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+
+  /* "mar345_IO.pyx":20
+ * import cython
+ * cimport numpy
+ * import numpy             # <<<<<<<<<<<<<<
+ * import os,tempfile
+ * 
+ */
+  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__numpy), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__numpy, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "mar345_IO.pyx":21
+ * cimport numpy
+ * import numpy
+ * import os,tempfile             # <<<<<<<<<<<<<<
+ * 
+ * #cdef extern from "pack_c.h":
+ */
+  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__os), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__os, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__tempfile), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__tempfile, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "mar345_IO.pyx":32
+ * 
+ * @cython.boundscheck(False)
+ * def compress_pck(numpy.ndarray inputArray not None):             # <<<<<<<<<<<<<<
+ *     """
+ *     @param inputArray: numpy array as input
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9mar345_IO_1compress_pck, NULL, __pyx_n_s__mar345_IO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__compress_pck, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "mar345_IO.pyx":58
+ * 
+ * @cython.boundscheck(False)
+ * def uncompress_pck(raw not None, dim1=None, dim2=None, overflowPix=None):             # <<<<<<<<<<<<<<
+ *     """
+ *     Unpack a mar345 compressed image
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9mar345_IO_3uncompress_pck, NULL, __pyx_n_s__mar345_IO); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__uncompress_pck, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+  /* "mar345_IO.pyx":1
+ * """             # <<<<<<<<<<<<<<
+ * New Cython version of mar345_io for preparing the migration to Python3
+ * 
+ */
+  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(((PyObject *)__pyx_t_1));
+  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_1)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_DECREF(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
+
+  /* "numpy.pxd":974
+ *      arr.base = baseptr
+ * 
+ * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
+ *     if arr.base is NULL:
+ *         return None
+ */
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  if (__pyx_m) {
+    __Pyx_AddTraceback("init mar345_IO", __pyx_clineno, __pyx_lineno, __pyx_filename);
+    Py_DECREF(__pyx_m); __pyx_m = 0;
+  } else if (!PyErr_Occurred()) {
+    PyErr_SetString(PyExc_ImportError, "init mar345_IO");
+  }
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  #if PY_MAJOR_VERSION < 3
+  return;
+  #else
+  return __pyx_m;
+  #endif
+}
+
+/* Runtime support code */
+#if CYTHON_REFNANNY
+static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
+    PyObject *m = NULL, *p = NULL;
+    void *r = NULL;
+    m = PyImport_ImportModule((char *)modname);
+    if (!m) goto end;
+    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
+    if (!p) goto end;
+    r = PyLong_AsVoidPtr(p);
+end:
+    Py_XDECREF(p);
+    Py_XDECREF(m);
+    return (__Pyx_RefNannyAPIStruct *)r;
+}
+#endif /* CYTHON_REFNANNY */
+
+static PyObject *__Pyx_GetName(PyObject *dict, PyObject *name) {
+    PyObject *result;
+    result = PyObject_GetAttr(dict, name);
+    if (!result) {
+        if (dict != __pyx_b) {
+            PyErr_Clear();
+            result = PyObject_GetAttr(__pyx_b, name);
+        }
+        if (!result) {
+            PyErr_SetObject(PyExc_NameError, name);
+        }
+    }
+    return result;
+}
+
+static int __Pyx_ArgTypeTest(PyObject *obj, PyTypeObject *type, int none_allowed,
+    const char *name, int exact)
+{
+    if (!type) {
+        PyErr_Format(PyExc_SystemError, "Missing type object");
+        return 0;
+    }
+    if (none_allowed && obj == Py_None) return 1;
+    else if (exact) {
+        if (Py_TYPE(obj) == type) return 1;
+    }
+    else {
+        if (PyObject_TypeCheck(obj, type)) return 1;
+    }
+    PyErr_Format(PyExc_TypeError,
+        "Argument '%s' has incorrect type (expected %s, got %s)",
+        name, type->tp_name, Py_TYPE(obj)->tp_name);
+    return 0;
+}
+
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
+    if (unlikely(!type)) {
+        PyErr_Format(PyExc_SystemError, "Missing type object");
+        return 0;
+    }
+    if (likely(PyObject_TypeCheck(obj, type)))
+        return 1;
+    PyErr_Format(PyExc_TypeError, "Cannot convert %.200s to %.200s",
+                 Py_TYPE(obj)->tp_name, type->tp_name);
+    return 0;
+}
+
+static CYTHON_INLINE int __Pyx_IsLittleEndian(void) {
+  unsigned int n = 1;
+  return *(unsigned char*)(&n) != 0;
+}
+static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
+                              __Pyx_BufFmt_StackElem* stack,
+                              __Pyx_TypeInfo* type) {
+  stack[0].field = &ctx->root;
+  stack[0].parent_offset = 0;
+  ctx->root.type = type;
+  ctx->root.name = "buffer dtype";
+  ctx->root.offset = 0;
+  ctx->head = stack;
+  ctx->head->field = &ctx->root;
+  ctx->fmt_offset = 0;
+  ctx->head->parent_offset = 0;
+  ctx->new_packmode = '@';
+  ctx->enc_packmode = '@';
+  ctx->new_count = 1;
+  ctx->enc_count = 0;
+  ctx->enc_type = 0;
+  ctx->is_complex = 0;
+  ctx->is_valid_array = 0;
+  ctx->struct_alignment = 0;
+  while (type->typegroup == 'S') {
+    ++ctx->head;
+    ctx->head->field = type->fields;
+    ctx->head->parent_offset = 0;
+    type = type->fields->type;
+  }
+}
+static int __Pyx_BufFmt_ParseNumber(const char** ts) {
+    int count;
+    const char* t = *ts;
+    if (*t < '0' || *t > '9') {
+      return -1;
+    } else {
+        count = *t++ - '0';
+        while (*t >= '0' && *t < '9') {
+            count *= 10;
+            count += *t++ - '0';
+        }
+    }
+    *ts = t;
+    return count;
+}
+static int __Pyx_BufFmt_ExpectNumber(const char **ts) {
+    int number = __Pyx_BufFmt_ParseNumber(ts);
+    if (number == -1) /* First char was not a digit */
+        PyErr_Format(PyExc_ValueError,\
+                     "Does not understand character buffer dtype format string ('%c')", **ts);
+    return number;
+}
+static void __Pyx_BufFmt_RaiseUnexpectedChar(char ch) {
+  PyErr_Format(PyExc_ValueError,
+               "Unexpected format string character: '%c'", ch);
+}
+static const char* __Pyx_BufFmt_DescribeTypeChar(char ch, int is_complex) {
+  switch (ch) {
+    case 'b': return "'char'";
+    case 'B': return "'unsigned char'";
+    case 'h': return "'short'";
+    case 'H': return "'unsigned short'";
+    case 'i': return "'int'";
+    case 'I': return "'unsigned int'";
+    case 'l': return "'long'";
+    case 'L': return "'unsigned long'";
+    case 'q': return "'long long'";
+    case 'Q': return "'unsigned long long'";
+    case 'f': return (is_complex ? "'complex float'" : "'float'");
+    case 'd': return (is_complex ? "'complex double'" : "'double'");
+    case 'g': return (is_complex ? "'complex long double'" : "'long double'");
+    case 'T': return "a struct";
+    case 'O': return "Python object";
+    case 'P': return "a pointer";
+    case 's': case 'p': return "a string";
+    case 0: return "end";
+    default: return "unparseable format string";
+  }
+}
+static size_t __Pyx_BufFmt_TypeCharToStandardSize(char ch, int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return 2;
+    case 'i': case 'I': case 'l': case 'L': return 4;
+    case 'q': case 'Q': return 8;
+    case 'f': return (is_complex ? 8 : 4);
+    case 'd': return (is_complex ? 16 : 8);
+    case 'g': {
+      PyErr_SetString(PyExc_ValueError, "Python does not define a standard format string size for long double ('g')..");
+      return 0;
+    }
+    case 'O': case 'P': return sizeof(void*);
+    default:
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+}
+static size_t __Pyx_BufFmt_TypeCharToNativeSize(char ch, int is_complex) {
+  switch (ch) {
+    case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return sizeof(short);
+    case 'i': case 'I': return sizeof(int);
+    case 'l': case 'L': return sizeof(long);
+    #ifdef HAVE_LONG_LONG
+    case 'q': case 'Q': return sizeof(PY_LONG_LONG);
+    #endif
+    case 'f': return sizeof(float) * (is_complex ? 2 : 1);
+    case 'd': return sizeof(double) * (is_complex ? 2 : 1);
+    case 'g': return sizeof(long double) * (is_complex ? 2 : 1);
+    case 'O': case 'P': return sizeof(void*);
+    default: {
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+  }
+}
+typedef struct { char c; short x; } __Pyx_st_short;
+typedef struct { char c; int x; } __Pyx_st_int;
+typedef struct { char c; long x; } __Pyx_st_long;
+typedef struct { char c; float x; } __Pyx_st_float;
+typedef struct { char c; double x; } __Pyx_st_double;
+typedef struct { char c; long double x; } __Pyx_st_longdouble;
+typedef struct { char c; void *x; } __Pyx_st_void_p;
+#ifdef HAVE_LONG_LONG
+typedef struct { char c; PY_LONG_LONG x; } __Pyx_st_longlong;
+#endif
+static size_t __Pyx_BufFmt_TypeCharToAlignment(char ch, int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return sizeof(__Pyx_st_short) - sizeof(short);
+    case 'i': case 'I': return sizeof(__Pyx_st_int) - sizeof(int);
+    case 'l': case 'L': return sizeof(__Pyx_st_long) - sizeof(long);
+#ifdef HAVE_LONG_LONG
+    case 'q': case 'Q': return sizeof(__Pyx_st_longlong) - sizeof(PY_LONG_LONG);
+#endif
+    case 'f': return sizeof(__Pyx_st_float) - sizeof(float);
+    case 'd': return sizeof(__Pyx_st_double) - sizeof(double);
+    case 'g': return sizeof(__Pyx_st_longdouble) - sizeof(long double);
+    case 'P': case 'O': return sizeof(__Pyx_st_void_p) - sizeof(void*);
+    default:
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+}
+/* These are for computing the padding at the end of the struct to align
+   on the first member of the struct. This will probably the same as above,
+   but we don't have any guarantees.
+ */
+typedef struct { short x; char c; } __Pyx_pad_short;
+typedef struct { int x; char c; } __Pyx_pad_int;
+typedef struct { long x; char c; } __Pyx_pad_long;
+typedef struct { float x; char c; } __Pyx_pad_float;
+typedef struct { double x; char c; } __Pyx_pad_double;
+typedef struct { long double x; char c; } __Pyx_pad_longdouble;
+typedef struct { void *x; char c; } __Pyx_pad_void_p;
+#ifdef HAVE_LONG_LONG
+typedef struct { PY_LONG_LONG x; char c; } __Pyx_pad_longlong;
+#endif
+static size_t __Pyx_BufFmt_TypeCharToPadding(char ch, int is_complex) {
+  switch (ch) {
+    case '?': case 'c': case 'b': case 'B': case 's': case 'p': return 1;
+    case 'h': case 'H': return sizeof(__Pyx_pad_short) - sizeof(short);
+    case 'i': case 'I': return sizeof(__Pyx_pad_int) - sizeof(int);
+    case 'l': case 'L': return sizeof(__Pyx_pad_long) - sizeof(long);
+#ifdef HAVE_LONG_LONG
+    case 'q': case 'Q': return sizeof(__Pyx_pad_longlong) - sizeof(PY_LONG_LONG);
+#endif
+    case 'f': return sizeof(__Pyx_pad_float) - sizeof(float);
+    case 'd': return sizeof(__Pyx_pad_double) - sizeof(double);
+    case 'g': return sizeof(__Pyx_pad_longdouble) - sizeof(long double);
+    case 'P': case 'O': return sizeof(__Pyx_pad_void_p) - sizeof(void*);
+    default:
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+}
+static char __Pyx_BufFmt_TypeCharToGroup(char ch, int is_complex) {
+  switch (ch) {
+    case 'c': case 'b': case 'h': case 'i':
+    case 'l': case 'q': case 's': case 'p':
+        return 'I';
+    case 'B': case 'H': case 'I': case 'L': case 'Q':
+        return 'U';
+    case 'f': case 'd': case 'g':
+        return (is_complex ? 'C' : 'R');
+    case 'O':
+        return 'O';
+    case 'P':
+        return 'P';
+    default: {
+      __Pyx_BufFmt_RaiseUnexpectedChar(ch);
+      return 0;
+    }
+  }
+}
+static void __Pyx_BufFmt_RaiseExpected(__Pyx_BufFmt_Context* ctx) {
+  if (ctx->head == NULL || ctx->head->field == &ctx->root) {
+    const char* expected;
+    const char* quote;
+    if (ctx->head == NULL) {
+      expected = "end";
+      quote = "";
+    } else {
+      expected = ctx->head->field->type->name;
+      quote = "'";
+    }
+    PyErr_Format(PyExc_ValueError,
+                 "Buffer dtype mismatch, expected %s%s%s but got %s",
+                 quote, expected, quote,
+                 __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex));
+  } else {
+    __Pyx_StructField* field = ctx->head->field;
+    __Pyx_StructField* parent = (ctx->head - 1)->field;
+    PyErr_Format(PyExc_ValueError,
+                 "Buffer dtype mismatch, expected '%s' but got %s in '%s.%s'",
+                 field->type->name, __Pyx_BufFmt_DescribeTypeChar(ctx->enc_type, ctx->is_complex),
+                 parent->type->name, field->name);
+  }
+}
+static int __Pyx_BufFmt_ProcessTypeChunk(__Pyx_BufFmt_Context* ctx) {
+  char group;
+  size_t size, offset, arraysize = 1;
+  if (ctx->enc_type == 0) return 0;
+  if (ctx->head->field->type->arraysize[0]) {
+    int i, ndim = 0;
+    if (ctx->enc_type == 's' || ctx->enc_type == 'p') {
+        ctx->is_valid_array = ctx->head->field->type->ndim == 1;
+        ndim = 1;
+        if (ctx->enc_count != ctx->head->field->type->arraysize[0]) {
+            PyErr_Format(PyExc_ValueError,
+                         "Expected a dimension of size %zu, got %zu",
+                         ctx->head->field->type->arraysize[0], ctx->enc_count);
+            return -1;
+        }
+    }
+    if (!ctx->is_valid_array) {
+      PyErr_Format(PyExc_ValueError, "Expected %d dimensions, got %d",
+                   ctx->head->field->type->ndim, ndim);
+      return -1;
+    }
+    for (i = 0; i < ctx->head->field->type->ndim; i++) {
+      arraysize *= ctx->head->field->type->arraysize[i];
+    }
+    ctx->is_valid_array = 0;
+    ctx->enc_count = 1;
+  }
+  group = __Pyx_BufFmt_TypeCharToGroup(ctx->enc_type, ctx->is_complex);
+  do {
+    __Pyx_StructField* field = ctx->head->field;
+    __Pyx_TypeInfo* type = field->type;
+    if (ctx->enc_packmode == '@' || ctx->enc_packmode == '^') {
+      size = __Pyx_BufFmt_TypeCharToNativeSize(ctx->enc_type, ctx->is_complex);
+    } else {
+      size = __Pyx_BufFmt_TypeCharToStandardSize(ctx->enc_type, ctx->is_complex);
+    }
+    if (ctx->enc_packmode == '@') {
+      size_t align_at = __Pyx_BufFmt_TypeCharToAlignment(ctx->enc_type, ctx->is_complex);
+      size_t align_mod_offset;
+      if (align_at == 0) return -1;
+      align_mod_offset = ctx->fmt_offset % align_at;
+      if (align_mod_offset > 0) ctx->fmt_offset += align_at - align_mod_offset;
+      if (ctx->struct_alignment == 0)
+          ctx->struct_alignment = __Pyx_BufFmt_TypeCharToPadding(ctx->enc_type,
+                                                                 ctx->is_complex);
+    }
+    if (type->size != size || type->typegroup != group) {
+      if (type->typegroup == 'C' && type->fields != NULL) {
+        size_t parent_offset = ctx->head->parent_offset + field->offset;
+        ++ctx->head;
+        ctx->head->field = type->fields;
+        ctx->head->parent_offset = parent_offset;
+        continue;
+      }
+      __Pyx_BufFmt_RaiseExpected(ctx);
+      return -1;
+    }
+    offset = ctx->head->parent_offset + field->offset;
+    if (ctx->fmt_offset != offset) {
+      PyErr_Format(PyExc_ValueError,
+                   "Buffer dtype mismatch; next field is at offset %"PY_FORMAT_SIZE_T"d but %"PY_FORMAT_SIZE_T"d expected",
+                   (Py_ssize_t)ctx->fmt_offset, (Py_ssize_t)offset);
+      return -1;
+    }
+    ctx->fmt_offset += size;
+    if (arraysize)
+      ctx->fmt_offset += (arraysize - 1) * size;
+    --ctx->enc_count; /* Consume from buffer string */
+    while (1) {
+      if (field == &ctx->root) {
+        ctx->head = NULL;
+        if (ctx->enc_count != 0) {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return -1;
+        }
+        break; /* breaks both loops as ctx->enc_count == 0 */
+      }
+      ctx->head->field = ++field;
+      if (field->type == NULL) {
+        --ctx->head;
+        field = ctx->head->field;
+        continue;
+      } else if (field->type->typegroup == 'S') {
+        size_t parent_offset = ctx->head->parent_offset + field->offset;
+        if (field->type->fields->type == NULL) continue; /* empty struct */
+        field = field->type->fields;
+        ++ctx->head;
+        ctx->head->field = field;
+        ctx->head->parent_offset = parent_offset;
+        break;
+      } else {
+        break;
+      }
+    }
+  } while (ctx->enc_count);
+  ctx->enc_type = 0;
+  ctx->is_complex = 0;
+  return 0;
+}
+static CYTHON_INLINE PyObject *
+__pyx_buffmt_parse_array(__Pyx_BufFmt_Context* ctx, const char** tsp)
+{
+    const char *ts = *tsp;
+    int i = 0, number;
+    int ndim = ctx->head->field->type->ndim;
+;
+    ++ts;
+    if (ctx->new_count != 1) {
+        PyErr_SetString(PyExc_ValueError,
+                        "Cannot handle repeated arrays in format string");
+        return NULL;
+    }
+    if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+    while (*ts && *ts != ')') {
+        if (isspace(*ts))
+            continue;
+        number = __Pyx_BufFmt_ExpectNumber(&ts);
+        if (number == -1) return NULL;
+        if (i < ndim && (size_t) number != ctx->head->field->type->arraysize[i])
+            return PyErr_Format(PyExc_ValueError,
+                        "Expected a dimension of size %zu, got %d",
+                        ctx->head->field->type->arraysize[i], number);
+        if (*ts != ',' && *ts != ')')
+            return PyErr_Format(PyExc_ValueError,
+                                "Expected a comma in format string, got '%c'", *ts);
+        if (*ts == ',') ts++;
+        i++;
+    }
+    if (i != ndim)
+        return PyErr_Format(PyExc_ValueError, "Expected %d dimension(s), got %d",
+                            ctx->head->field->type->ndim, i);
+    if (!*ts) {
+        PyErr_SetString(PyExc_ValueError,
+                        "Unexpected end of format string, expected ')'");
+        return NULL;
+    }
+    ctx->is_valid_array = 1;
+    ctx->new_count = 1;
+    *tsp = ++ts;
+    return Py_None;
+}
+static const char* __Pyx_BufFmt_CheckString(__Pyx_BufFmt_Context* ctx, const char* ts) {
+  int got_Z = 0;
+  while (1) {
+    switch(*ts) {
+      case 0:
+        if (ctx->enc_type != 0 && ctx->head == NULL) {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return NULL;
+        }
+        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+        if (ctx->head != NULL) {
+          __Pyx_BufFmt_RaiseExpected(ctx);
+          return NULL;
+        }
+                return ts;
+      case ' ':
+      case 10:
+      case 13:
+        ++ts;
+        break;
+      case '<':
+        if (!__Pyx_IsLittleEndian()) {
+          PyErr_SetString(PyExc_ValueError, "Little-endian buffer not supported on big-endian compiler");
+          return NULL;
+        }
+        ctx->new_packmode = '=';
+        ++ts;
+        break;
+      case '>':
+      case '!':
+        if (__Pyx_IsLittleEndian()) {
+          PyErr_SetString(PyExc_ValueError, "Big-endian buffer not supported on little-endian compiler");
+          return NULL;
+        }
+        ctx->new_packmode = '=';
+        ++ts;
+        break;
+      case '=':
+      case '@':
+      case '^':
+        ctx->new_packmode = *ts++;
+        break;
+      case 'T': /* substruct */
+        {
+          const char* ts_after_sub;
+          size_t i, struct_count = ctx->new_count;
+          size_t struct_alignment = ctx->struct_alignment;
+          ctx->new_count = 1;
+          ++ts;
+          if (*ts != '{') {
+            PyErr_SetString(PyExc_ValueError, "Buffer acquisition: Expected '{' after 'T'");
+            return NULL;
+          }
+          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+          ctx->enc_type = 0; /* Erase processed last struct element */
+          ctx->enc_count = 0;
+          ctx->struct_alignment = 0;
+          ++ts;
+          ts_after_sub = ts;
+          for (i = 0; i != struct_count; ++i) {
+            ts_after_sub = __Pyx_BufFmt_CheckString(ctx, ts);
+            if (!ts_after_sub) return NULL;
+          }
+          ts = ts_after_sub;
+          if (struct_alignment) ctx->struct_alignment = struct_alignment;
+        }
+        break;
+      case '}': /* end of substruct; either repeat or move on */
+        {
+          size_t alignment = ctx->struct_alignment;
+          ++ts;
+          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+          ctx->enc_type = 0; /* Erase processed last struct element */
+          if (alignment && ctx->fmt_offset % alignment) {
+            ctx->fmt_offset += alignment - (ctx->fmt_offset % alignment);
+          }
+        }
+        return ts;
+      case 'x':
+        if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+        ctx->fmt_offset += ctx->new_count;
+        ctx->new_count = 1;
+        ctx->enc_count = 0;
+        ctx->enc_type = 0;
+        ctx->enc_packmode = ctx->new_packmode;
+        ++ts;
+        break;
+      case 'Z':
+        got_Z = 1;
+        ++ts;
+        if (*ts != 'f' && *ts != 'd' && *ts != 'g') {
+          __Pyx_BufFmt_RaiseUnexpectedChar('Z');
+          return NULL;
+        }        /* fall through */
+      case 'c': case 'b': case 'B': case 'h': case 'H': case 'i': case 'I':
+      case 'l': case 'L': case 'q': case 'Q':
+      case 'f': case 'd': case 'g':
+      case 'O': case 's': case 'p':
+        if (ctx->enc_type == *ts && got_Z == ctx->is_complex &&
+            ctx->enc_packmode == ctx->new_packmode) {
+          ctx->enc_count += ctx->new_count;
+        } else {
+          if (__Pyx_BufFmt_ProcessTypeChunk(ctx) == -1) return NULL;
+          ctx->enc_count = ctx->new_count;
+          ctx->enc_packmode = ctx->new_packmode;
+          ctx->enc_type = *ts;
+          ctx->is_complex = got_Z;
+        }
+        ++ts;
+        ctx->new_count = 1;
+        got_Z = 0;
+        break;
+      case ':':
+        ++ts;
+        while(*ts != ':') ++ts;
+        ++ts;
+        break;
+      case '(':
+        if (!__pyx_buffmt_parse_array(ctx, &ts)) return NULL;
+        break;
+      default:
+        {
+          int number = __Pyx_BufFmt_ExpectNumber(&ts);
+          if (number == -1) return NULL;
+          ctx->new_count = (size_t)number;
+        }
+    }
+  }
+}
+static CYTHON_INLINE void __Pyx_ZeroBuffer(Py_buffer* buf) {
+  buf->buf = NULL;
+  buf->obj = NULL;
+  buf->strides = __Pyx_zeros;
+  buf->shape = __Pyx_zeros;
+  buf->suboffsets = __Pyx_minusones;
+}
+static CYTHON_INLINE int __Pyx_GetBufferAndValidate(
+        Py_buffer* buf, PyObject* obj,  __Pyx_TypeInfo* dtype, int flags,
+        int nd, int cast, __Pyx_BufFmt_StackElem* stack)
+{
+  if (obj == Py_None || obj == NULL) {
+    __Pyx_ZeroBuffer(buf);
+    return 0;
+  }
+  buf->buf = NULL;
+  if (__Pyx_GetBuffer(obj, buf, flags) == -1) goto fail;
+  if (buf->ndim != nd) {
+    PyErr_Format(PyExc_ValueError,
+                 "Buffer has wrong number of dimensions (expected %d, got %d)",
+                 nd, buf->ndim);
+    goto fail;
+  }
+  if (!cast) {
+    __Pyx_BufFmt_Context ctx;
+    __Pyx_BufFmt_Init(&ctx, stack, dtype);
+    if (!__Pyx_BufFmt_CheckString(&ctx, buf->format)) goto fail;
+  }
+  if ((unsigned)buf->itemsize != dtype->size) {
+    PyErr_Format(PyExc_ValueError,
+      "Item size of buffer (%"PY_FORMAT_SIZE_T"d byte%s) does not match size of '%s' (%"PY_FORMAT_SIZE_T"d byte%s)",
+      buf->itemsize, (buf->itemsize > 1) ? "s" : "",
+      dtype->name, (Py_ssize_t)dtype->size, (dtype->size > 1) ? "s" : "");
+    goto fail;
+  }
+  if (buf->suboffsets == NULL) buf->suboffsets = __Pyx_minusones;
+  return 0;
+fail:;
+  __Pyx_ZeroBuffer(buf);
+  return -1;
+}
+static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {
+  if (info->buf == NULL) return;
+  if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL;
+  __Pyx_ReleaseBuffer(info);
+}
+
+static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
+    PyErr_Format(PyExc_ValueError,
+                 "need more than %"PY_FORMAT_SIZE_T"d value%s to unpack",
+                 index, (index == 1) ? "" : "s");
+}
+
+static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
+    PyErr_Format(PyExc_ValueError,
+                 "too many values to unpack (expected %"PY_FORMAT_SIZE_T"d)", expected);
+}
+
+static CYTHON_INLINE int __Pyx_IterFinish(void) {
+#if CYTHON_COMPILING_IN_CPYTHON
+    PyThreadState *tstate = PyThreadState_GET();
+    PyObject* exc_type = tstate->curexc_type;
+    if (unlikely(exc_type)) {
+        if (likely(exc_type == PyExc_StopIteration) || PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration)) {
+            PyObject *exc_value, *exc_tb;
+            exc_value = tstate->curexc_value;
+            exc_tb = tstate->curexc_traceback;
+            tstate->curexc_type = 0;
+            tstate->curexc_value = 0;
+            tstate->curexc_traceback = 0;
+            Py_DECREF(exc_type);
+            Py_XDECREF(exc_value);
+            Py_XDECREF(exc_tb);
+            return 0;
+        } else {
+            return -1;
+        }
+    }
+    return 0;
+#else
+    if (unlikely(PyErr_Occurred())) {
+        if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
+            PyErr_Clear();
+            return 0;
+        } else {
+            return -1;
+        }
+    }
+    return 0;
+#endif
+}
+
+static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
+    if (unlikely(retval)) {
+        Py_DECREF(retval);
+        __Pyx_RaiseTooManyValuesError(expected);
+        return -1;
+    } else {
+        return __Pyx_IterFinish();
+    }
+    return 0;
+}
+
+static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
+    PyObject *local_type, *local_value, *local_tb;
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    PyThreadState *tstate = PyThreadState_GET();
+    local_type = tstate->curexc_type;
+    local_value = tstate->curexc_value;
+    local_tb = tstate->curexc_traceback;
+    tstate->curexc_type = 0;
+    tstate->curexc_value = 0;
+    tstate->curexc_traceback = 0;
+    PyErr_NormalizeException(&local_type, &local_value, &local_tb);
+    if (unlikely(tstate->curexc_type))
+        goto bad;
+    #if PY_MAJOR_VERSION >= 3
+    if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
+        goto bad;
+    #endif
+    *type = local_type;
+    *value = local_value;
+    *tb = local_tb;
+    Py_INCREF(local_type);
+    Py_INCREF(local_value);
+    Py_INCREF(local_tb);
+    tmp_type = tstate->exc_type;
+    tmp_value = tstate->exc_value;
+    tmp_tb = tstate->exc_traceback;
+    tstate->exc_type = local_type;
+    tstate->exc_value = local_value;
+    tstate->exc_traceback = local_tb;
+    /* Make sure tstate is in a consistent state when we XDECREF
+       these objects (XDECREF may run arbitrary code). */
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+    return 0;
+bad:
+    *type = 0;
+    *value = 0;
+    *tb = 0;
+    Py_XDECREF(local_type);
+    Py_XDECREF(local_value);
+    Py_XDECREF(local_tb);
+    return -1;
+}
+
+static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
+    PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
+}
+
+static CYTHON_INLINE void __Pyx_ErrRestore(PyObject *type, PyObject *value, PyObject *tb) {
+#if CYTHON_COMPILING_IN_CPYTHON
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    PyThreadState *tstate = PyThreadState_GET();
+    tmp_type = tstate->curexc_type;
+    tmp_value = tstate->curexc_value;
+    tmp_tb = tstate->curexc_traceback;
+    tstate->curexc_type = type;
+    tstate->curexc_value = value;
+    tstate->curexc_traceback = tb;
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+#else
+    PyErr_Restore(type, value, tb);
+#endif
+}
+static CYTHON_INLINE void __Pyx_ErrFetch(PyObject **type, PyObject **value, PyObject **tb) {
+#if CYTHON_COMPILING_IN_CPYTHON
+    PyThreadState *tstate = PyThreadState_GET();
+    *type = tstate->curexc_type;
+    *value = tstate->curexc_value;
+    *tb = tstate->curexc_traceback;
+    tstate->curexc_type = 0;
+    tstate->curexc_value = 0;
+    tstate->curexc_traceback = 0;
+#else
+    PyErr_Fetch(type, value, tb);
+#endif
+}
+
+static void __Pyx_RaiseDoubleKeywordsError(
+    const char* func_name,
+    PyObject* kw_name)
+{
+    PyErr_Format(PyExc_TypeError,
+        #if PY_MAJOR_VERSION >= 3
+        "%s() got multiple values for keyword argument '%U'", func_name, kw_name);
+        #else
+        "%s() got multiple values for keyword argument '%s'", func_name,
+        PyString_AS_STRING(kw_name));
+        #endif
+}
+
+static int __Pyx_ParseOptionalKeywords(
+    PyObject *kwds,
+    PyObject **argnames[],
+    PyObject *kwds2,
+    PyObject *values[],
+    Py_ssize_t num_pos_args,
+    const char* function_name)
+{
+    PyObject *key = 0, *value = 0;
+    Py_ssize_t pos = 0;
+    PyObject*** name;
+    PyObject*** first_kw_arg = argnames + num_pos_args;
+    while (PyDict_Next(kwds, &pos, &key, &value)) {
+        name = first_kw_arg;
+        while (*name && (**name != key)) name++;
+        if (*name) {
+            values[name-argnames] = value;
+        } else {
+            #if PY_MAJOR_VERSION < 3
+            if (unlikely(!PyString_CheckExact(key)) && unlikely(!PyString_Check(key))) {
+            #else
+            if (unlikely(!PyUnicode_Check(key))) {
+            #endif
+                goto invalid_keyword_type;
+            } else {
+                for (name = first_kw_arg; *name; name++) {
+                    #if PY_MAJOR_VERSION >= 3
+                    if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
+                        PyUnicode_Compare(**name, key) == 0) break;
+                    #else
+                    if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
+                        _PyString_Eq(**name, key)) break;
+                    #endif
+                }
+                if (*name) {
+                    values[name-argnames] = value;
+                } else {
+                    for (name=argnames; name != first_kw_arg; name++) {
+                        if (**name == key) goto arg_passed_twice;
+                        #if PY_MAJOR_VERSION >= 3
+                        if (PyUnicode_GET_SIZE(**name) == PyUnicode_GET_SIZE(key) &&
+                            PyUnicode_Compare(**name, key) == 0) goto arg_passed_twice;
+                        #else
+                        if (PyString_GET_SIZE(**name) == PyString_GET_SIZE(key) &&
+                            _PyString_Eq(**name, key)) goto arg_passed_twice;
+                        #endif
+                    }
+                    if (kwds2) {
+                        if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad;
+                    } else {
+                        goto invalid_keyword;
+                    }
+                }
+            }
+        }
+    }
+    return 0;
+arg_passed_twice:
+    __Pyx_RaiseDoubleKeywordsError(function_name, **name);
+    goto bad;
+invalid_keyword_type:
+    PyErr_Format(PyExc_TypeError,
+        "%s() keywords must be strings", function_name);
+    goto bad;
+invalid_keyword:
+    PyErr_Format(PyExc_TypeError,
+    #if PY_MAJOR_VERSION < 3
+        "%s() got an unexpected keyword argument '%s'",
+        function_name, PyString_AsString(key));
+    #else
+        "%s() got an unexpected keyword argument '%U'",
+        function_name, key);
+    #endif
+bad:
+    return -1;
+}
+
+static void __Pyx_RaiseArgtupleInvalid(
+    const char* func_name,
+    int exact,
+    Py_ssize_t num_min,
+    Py_ssize_t num_max,
+    Py_ssize_t num_found)
+{
+    Py_ssize_t num_expected;
+    const char *more_or_less;
+    if (num_found < num_min) {
+        num_expected = num_min;
+        more_or_less = "at least";
+    } else {
+        num_expected = num_max;
+        more_or_less = "at most";
+    }
+    if (exact) {
+        more_or_less = "exactly";
+    }
+    PyErr_Format(PyExc_TypeError,
+                 "%s() takes %s %"PY_FORMAT_SIZE_T"d positional argument%s (%"PY_FORMAT_SIZE_T"d given)",
+                 func_name, more_or_less, num_expected,
+                 (num_expected == 1) ? "" : "s", num_found);
+}
+
+
+
+#if PY_MAJOR_VERSION < 3
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
+                        CYTHON_UNUSED PyObject *cause) {
+    Py_XINCREF(type);
+    Py_XINCREF(value);
+    Py_XINCREF(tb);
+    if (tb == Py_None) {
+        Py_DECREF(tb);
+        tb = 0;
+    }
+    else if (tb != NULL && !PyTraceBack_Check(tb)) {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: arg 3 must be a traceback or None");
+        goto raise_error;
+    }
+    if (value == NULL) {
+        value = Py_None;
+        Py_INCREF(value);
+    }
+    #if PY_VERSION_HEX < 0x02050000
+    if (!PyClass_Check(type))
+    #else
+    if (!PyType_Check(type))
+    #endif
+    {
+        if (value != Py_None) {
+            PyErr_SetString(PyExc_TypeError,
+                "instance exception may not have a separate value");
+            goto raise_error;
+        }
+        Py_DECREF(value);
+        value = type;
+        #if PY_VERSION_HEX < 0x02050000
+            if (PyInstance_Check(type)) {
+                type = (PyObject*) ((PyInstanceObject*)type)->in_class;
+                Py_INCREF(type);
+            }
+            else {
+                type = 0;
+                PyErr_SetString(PyExc_TypeError,
+                    "raise: exception must be an old-style class or instance");
+                goto raise_error;
+            }
+        #else
+            type = (PyObject*) Py_TYPE(type);
+            Py_INCREF(type);
+            if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) {
+                PyErr_SetString(PyExc_TypeError,
+                    "raise: exception class must be a subclass of BaseException");
+                goto raise_error;
+            }
+        #endif
+    }
+    __Pyx_ErrRestore(type, value, tb);
+    return;
+raise_error:
+    Py_XDECREF(value);
+    Py_XDECREF(type);
+    Py_XDECREF(tb);
+    return;
+}
+#else /* Python 3+ */
+static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) {
+    if (tb == Py_None) {
+        tb = 0;
+    } else if (tb && !PyTraceBack_Check(tb)) {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: arg 3 must be a traceback or None");
+        goto bad;
+    }
+    if (value == Py_None)
+        value = 0;
+    if (PyExceptionInstance_Check(type)) {
+        if (value) {
+            PyErr_SetString(PyExc_TypeError,
+                "instance exception may not have a separate value");
+            goto bad;
+        }
+        value = type;
+        type = (PyObject*) Py_TYPE(value);
+    } else if (!PyExceptionClass_Check(type)) {
+        PyErr_SetString(PyExc_TypeError,
+            "raise: exception class must be a subclass of BaseException");
+        goto bad;
+    }
+    if (cause) {
+        PyObject *fixed_cause;
+        if (PyExceptionClass_Check(cause)) {
+            fixed_cause = PyObject_CallObject(cause, NULL);
+            if (fixed_cause == NULL)
+                goto bad;
+        }
+        else if (PyExceptionInstance_Check(cause)) {
+            fixed_cause = cause;
+            Py_INCREF(fixed_cause);
+        }
+        else {
+            PyErr_SetString(PyExc_TypeError,
+                            "exception causes must derive from "
+                            "BaseException");
+            goto bad;
+        }
+        if (!value) {
+            value = PyObject_CallObject(type, NULL);
+        }
+        PyException_SetCause(value, fixed_cause);
+    }
+    PyErr_SetObject(type, value);
+    if (tb) {
+        PyThreadState *tstate = PyThreadState_GET();
+        PyObject* tmp_tb = tstate->curexc_traceback;
+        if (tb != tmp_tb) {
+            Py_INCREF(tb);
+            tstate->curexc_traceback = tb;
+            Py_XDECREF(tmp_tb);
+        }
+    }
+bad:
+    return;
+}
+#endif
+
+static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
+    PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
+}
+
+static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) {
+    if (t == Py_None) {
+      __Pyx_RaiseNoneNotIterableError();
+    } else if (PyTuple_GET_SIZE(t) < index) {
+      __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t));
+    } else {
+      __Pyx_RaiseTooManyValuesError(index);
+    }
+}
+
+static CYTHON_INLINE void __Pyx_ExceptionSave(PyObject **type, PyObject **value, PyObject **tb) {
+    PyThreadState *tstate = PyThreadState_GET();
+    *type = tstate->exc_type;
+    *value = tstate->exc_value;
+    *tb = tstate->exc_traceback;
+    Py_XINCREF(*type);
+    Py_XINCREF(*value);
+    Py_XINCREF(*tb);
+}
+static void __Pyx_ExceptionReset(PyObject *type, PyObject *value, PyObject *tb) {
+    PyObject *tmp_type, *tmp_value, *tmp_tb;
+    PyThreadState *tstate = PyThreadState_GET();
+    tmp_type = tstate->exc_type;
+    tmp_value = tstate->exc_value;
+    tmp_tb = tstate->exc_traceback;
+    tstate->exc_type = type;
+    tstate->exc_value = value;
+    tstate->exc_traceback = tb;
+    Py_XDECREF(tmp_type);
+    Py_XDECREF(tmp_value);
+    Py_XDECREF(tmp_tb);
+}
+
+#if PY_MAJOR_VERSION < 3
+static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) {
+    PyObject *getbuffer_cobj = NULL;
+
+  #if PY_VERSION_HEX >= 0x02060000
+    if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags);
+  #endif
+
+        if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) return __pyx_pw_5numpy_7ndarray_1__getbuffer__(obj, view, flags);
+
+  #if PY_VERSION_HEX < 0x02060000
+    if (obj->ob_type->tp_dict &&
+        (getbuffer_cobj = PyMapping_GetItemString(obj->ob_type->tp_dict,
+                                             "__pyx_getbuffer"))) {
+        getbufferproc func;
+
+      #if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION == 0)
+        func = (getbufferproc) PyCapsule_GetPointer(getbuffer_cobj, "getbuffer(obj, view, flags)");
+      #else
+        func = (getbufferproc) PyCObject_AsVoidPtr(getbuffer_cobj);
+      #endif
+        if (!func)
+            goto fail;
+
+        return func(obj, view, flags);
+    }
+  #endif
+
+    PyErr_Format(PyExc_TypeError, "'%100s' does not have the buffer interface", Py_TYPE(obj)->tp_name);
+
+#if PY_VERSION_HEX < 0x02060000
+fail:
+#endif
+    Py_XDECREF(getbuffer_cobj);
+    return -1;
+}
+
+static void __Pyx_ReleaseBuffer(Py_buffer *view) {
+    PyObject* obj = view->obj;
+    PyObject *releasebuffer_cobj = NULL;
+
+    if (!obj) return;
+
+  #if PY_VERSION_HEX >= 0x02060000
+    if (PyObject_CheckBuffer(obj)) {
+        PyBuffer_Release(view);
+        return;
+    }
+  #endif
+
+        if (PyObject_TypeCheck(obj, __pyx_ptype_5numpy_ndarray)) { __pyx_pw_5numpy_7ndarray_3__releasebuffer__(obj, view); return; }
+
+  #if PY_VERSION_HEX < 0x02060000
+    if (obj->ob_type->tp_dict &&
+        (releasebuffer_cobj = PyMapping_GetItemString(obj->ob_type->tp_dict,
+                                                      "__pyx_releasebuffer"))) {
+        releasebufferproc func;
+
+      #if PY_VERSION_HEX >= 0x02070000 && !(PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION == 0)
+        func = (releasebufferproc) PyCapsule_GetPointer(releasebuffer_cobj, "releasebuffer(obj, view)");
+      #else
+        func = (releasebufferproc) PyCObject_AsVoidPtr(releasebuffer_cobj);
+      #endif
+
+        if (!func)
+            goto fail;
+
+        func(obj, view);
+        return;
+    }
+  #endif
+
+    goto nofail;
+
+#if PY_VERSION_HEX < 0x02060000
+fail:
+#endif
+    PyErr_WriteUnraisable(obj);
+
+nofail:
+    Py_XDECREF(releasebuffer_cobj);
+    Py_DECREF(obj);
+    view->obj = NULL;
+}
+
+#endif /*  PY_MAJOR_VERSION < 3 */
+
+    static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, long level) {
+    PyObject *py_import = 0;
+    PyObject *empty_list = 0;
+    PyObject *module = 0;
+    PyObject *global_dict = 0;
+    PyObject *empty_dict = 0;
+    PyObject *list;
+    py_import = __Pyx_GetAttrString(__pyx_b, "__import__");
+    if (!py_import)
+        goto bad;
+    if (from_list)
+        list = from_list;
+    else {
+        empty_list = PyList_New(0);
+        if (!empty_list)
+            goto bad;
+        list = empty_list;
+    }
+    global_dict = PyModule_GetDict(__pyx_m);
+    if (!global_dict)
+        goto bad;
+    empty_dict = PyDict_New();
+    if (!empty_dict)
+        goto bad;
+    #if PY_VERSION_HEX >= 0x02050000
+    {
+        PyObject *py_level = PyInt_FromLong(level);
+        if (!py_level)
+            goto bad;
+        module = PyObject_CallFunctionObjArgs(py_import,
+            name, global_dict, empty_dict, list, py_level, NULL);
+        Py_DECREF(py_level);
+    }
+    #else
+    if (level>0) {
+        PyErr_SetString(PyExc_RuntimeError, "Relative import is not supported for Python <=2.4.");
+        goto bad;
+    }
+    module = PyObject_CallFunctionObjArgs(py_import,
+        name, global_dict, empty_dict, list, NULL);
+    #endif
+bad:
+    Py_XDECREF(empty_list);
+    Py_XDECREF(py_import);
+    Py_XDECREF(empty_dict);
+    return module;
+}
+
+#if PY_MAJOR_VERSION < 3
+static PyObject *__Pyx_GetStdout(void) {
+    PyObject *f = PySys_GetObject((char *)"stdout");
+    if (!f) {
+        PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
+    }
+    return f;
+}
+static int __Pyx_Print(PyObject* f, PyObject *arg_tuple, int newline) {
+    PyObject* v;
+    int i;
+    if (!f) {
+        if (!(f = __Pyx_GetStdout()))
+            return -1;
+    }
+    for (i=0; i < PyTuple_GET_SIZE(arg_tuple); i++) {
+        if (PyFile_SoftSpace(f, 1)) {
+            if (PyFile_WriteString(" ", f) < 0)
+                return -1;
+        }
+        v = PyTuple_GET_ITEM(arg_tuple, i);
+        if (PyFile_WriteObject(v, f, Py_PRINT_RAW) < 0)
+            return -1;
+        if (PyString_Check(v)) {
+            char *s = PyString_AsString(v);
+            Py_ssize_t len = PyString_Size(v);
+            if (len > 0 &&
+                isspace(Py_CHARMASK(s[len-1])) &&
+                s[len-1] != ' ')
+                    PyFile_SoftSpace(f, 0);
+        }
+    }
+    if (newline) {
+        if (PyFile_WriteString("\n", f) < 0)
+            return -1;
+        PyFile_SoftSpace(f, 0);
+    }
+    return 0;
+}
+#else /* Python 3 has a print function */
+static int __Pyx_Print(PyObject* stream, PyObject *arg_tuple, int newline) {
+    PyObject* kwargs = 0;
+    PyObject* result = 0;
+    PyObject* end_string;
+    if (unlikely(!__pyx_print)) {
+        __pyx_print = __Pyx_GetAttrString(__pyx_b, "print");
+        if (!__pyx_print)
+            return -1;
+    }
+    if (stream) {
+        kwargs = PyDict_New();
+        if (unlikely(!kwargs))
+            return -1;
+        if (unlikely(PyDict_SetItemString(kwargs, "file", stream) < 0))
+            goto bad;
+        if (!newline) {
+            end_string = PyUnicode_FromStringAndSize(" ", 1);
+            if (unlikely(!end_string))
+                goto bad;
+            if (PyDict_SetItemString(kwargs, "end", end_string) < 0) {
+                Py_DECREF(end_string);
+                goto bad;
+            }
+            Py_DECREF(end_string);
+        }
+    } else if (!newline) {
+        if (unlikely(!__pyx_print_kwargs)) {
+            __pyx_print_kwargs = PyDict_New();
+            if (unlikely(!__pyx_print_kwargs))
+                return -1;
+            end_string = PyUnicode_FromStringAndSize(" ", 1);
+            if (unlikely(!end_string))
+                return -1;
+            if (PyDict_SetItemString(__pyx_print_kwargs, "end", end_string) < 0) {
+                Py_DECREF(end_string);
+                return -1;
+            }
+            Py_DECREF(end_string);
+        }
+        kwargs = __pyx_print_kwargs;
+    }
+    result = PyObject_Call(__pyx_print, arg_tuple, kwargs);
+    if (unlikely(kwargs) && (kwargs != __pyx_print_kwargs))
+        Py_DECREF(kwargs);
+    if (!result)
+        return -1;
+    Py_DECREF(result);
+    return 0;
+bad:
+    if (kwargs != __pyx_print_kwargs)
+        Py_XDECREF(kwargs);
+    return -1;
+}
+#endif
+
+#if PY_MAJOR_VERSION < 3
+static int __Pyx_PrintOne(PyObject* f, PyObject *o) {
+    if (!f) {
+        if (!(f = __Pyx_GetStdout()))
+            return -1;
+    }
+    if (PyFile_SoftSpace(f, 0)) {
+        if (PyFile_WriteString(" ", f) < 0)
+            return -1;
+    }
+    if (PyFile_WriteObject(o, f, Py_PRINT_RAW) < 0)
+        return -1;
+    if (PyFile_WriteString("\n", f) < 0)
+        return -1;
+    return 0;
+    /* the line below is just to avoid compiler
+     * compiler warnings about unused functions */
+    return __Pyx_Print(f, NULL, 0);
+}
+#else /* Python 3 has a print function */
+static int __Pyx_PrintOne(PyObject* stream, PyObject *o) {
+    int res;
+    PyObject* arg_tuple = PyTuple_New(1);
+    if (unlikely(!arg_tuple))
+        return -1;
+    Py_INCREF(o);
+    PyTuple_SET_ITEM(arg_tuple, 0, o);
+    res = __Pyx_Print(stream, arg_tuple, 1);
+    Py_DECREF(arg_tuple);
+    return res;
+}
+#endif
+
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
+      return ::std::complex< float >(x, y);
+    }
+  #else
+    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
+      return x + y*(__pyx_t_float_complex)_Complex_I;
+    }
+  #endif
+#else
+    static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
+      __pyx_t_float_complex z;
+      z.real = x;
+      z.imag = y;
+      return z;
+    }
+#endif
+
+#if CYTHON_CCOMPLEX
+#else
+    static CYTHON_INLINE int __Pyx_c_eqf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+       return (a.real == b.real) && (a.imag == b.imag);
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_sumf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        __pyx_t_float_complex z;
+        z.real = a.real + b.real;
+        z.imag = a.imag + b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_difff(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        __pyx_t_float_complex z;
+        z.real = a.real - b.real;
+        z.imag = a.imag - b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_prodf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        __pyx_t_float_complex z;
+        z.real = a.real * b.real - a.imag * b.imag;
+        z.imag = a.real * b.imag + a.imag * b.real;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_quotf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+        __pyx_t_float_complex z;
+        float denom = b.real * b.real + b.imag * b.imag;
+        z.real = (a.real * b.real + a.imag * b.imag) / denom;
+        z.imag = (a.imag * b.real - a.real * b.imag) / denom;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_negf(__pyx_t_float_complex a) {
+        __pyx_t_float_complex z;
+        z.real = -a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    static CYTHON_INLINE int __Pyx_c_is_zerof(__pyx_t_float_complex a) {
+       return (a.real == 0) && (a.imag == 0);
+    }
+    static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_conjf(__pyx_t_float_complex a) {
+        __pyx_t_float_complex z;
+        z.real =  a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    #if 1
+        static CYTHON_INLINE float __Pyx_c_absf(__pyx_t_float_complex z) {
+          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
+            return sqrtf(z.real*z.real + z.imag*z.imag);
+          #else
+            return hypotf(z.real, z.imag);
+          #endif
+        }
+        static CYTHON_INLINE __pyx_t_float_complex __Pyx_c_powf(__pyx_t_float_complex a, __pyx_t_float_complex b) {
+            __pyx_t_float_complex z;
+            float r, lnr, theta, z_r, z_theta;
+            if (b.imag == 0 && b.real == (int)b.real) {
+                if (b.real < 0) {
+                    float denom = a.real * a.real + a.imag * a.imag;
+                    a.real = a.real / denom;
+                    a.imag = -a.imag / denom;
+                    b.real = -b.real;
+                }
+                switch ((int)b.real) {
+                    case 0:
+                        z.real = 1;
+                        z.imag = 0;
+                        return z;
+                    case 1:
+                        return a;
+                    case 2:
+                        z = __Pyx_c_prodf(a, a);
+                        return __Pyx_c_prodf(a, a);
+                    case 3:
+                        z = __Pyx_c_prodf(a, a);
+                        return __Pyx_c_prodf(z, a);
+                    case 4:
+                        z = __Pyx_c_prodf(a, a);
+                        return __Pyx_c_prodf(z, z);
+                }
+            }
+            if (a.imag == 0) {
+                if (a.real == 0) {
+                    return a;
+                }
+                r = a.real;
+                theta = 0;
+            } else {
+                r = __Pyx_c_absf(a);
+                theta = atan2f(a.imag, a.real);
+            }
+            lnr = logf(r);
+            z_r = expf(lnr * b.real - theta * b.imag);
+            z_theta = theta * b.real + lnr * b.imag;
+            z.real = z_r * cosf(z_theta);
+            z.imag = z_r * sinf(z_theta);
+            return z;
+        }
+    #endif
+#endif
+
+#if CYTHON_CCOMPLEX
+  #ifdef __cplusplus
+    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
+      return ::std::complex< double >(x, y);
+    }
+  #else
+    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
+      return x + y*(__pyx_t_double_complex)_Complex_I;
+    }
+  #endif
+#else
+    static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
+      __pyx_t_double_complex z;
+      z.real = x;
+      z.imag = y;
+      return z;
+    }
+#endif
+
+#if CYTHON_CCOMPLEX
+#else
+    static CYTHON_INLINE int __Pyx_c_eq(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+       return (a.real == b.real) && (a.imag == b.imag);
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_sum(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        __pyx_t_double_complex z;
+        z.real = a.real + b.real;
+        z.imag = a.imag + b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_diff(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        __pyx_t_double_complex z;
+        z.real = a.real - b.real;
+        z.imag = a.imag - b.imag;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_prod(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        __pyx_t_double_complex z;
+        z.real = a.real * b.real - a.imag * b.imag;
+        z.imag = a.real * b.imag + a.imag * b.real;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_quot(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+        __pyx_t_double_complex z;
+        double denom = b.real * b.real + b.imag * b.imag;
+        z.real = (a.real * b.real + a.imag * b.imag) / denom;
+        z.imag = (a.imag * b.real - a.real * b.imag) / denom;
+        return z;
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_neg(__pyx_t_double_complex a) {
+        __pyx_t_double_complex z;
+        z.real = -a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    static CYTHON_INLINE int __Pyx_c_is_zero(__pyx_t_double_complex a) {
+       return (a.real == 0) && (a.imag == 0);
+    }
+    static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_conj(__pyx_t_double_complex a) {
+        __pyx_t_double_complex z;
+        z.real =  a.real;
+        z.imag = -a.imag;
+        return z;
+    }
+    #if 1
+        static CYTHON_INLINE double __Pyx_c_abs(__pyx_t_double_complex z) {
+          #if !defined(HAVE_HYPOT) || defined(_MSC_VER)
+            return sqrt(z.real*z.real + z.imag*z.imag);
+          #else
+            return hypot(z.real, z.imag);
+          #endif
+        }
+        static CYTHON_INLINE __pyx_t_double_complex __Pyx_c_pow(__pyx_t_double_complex a, __pyx_t_double_complex b) {
+            __pyx_t_double_complex z;
+            double r, lnr, theta, z_r, z_theta;
+            if (b.imag == 0 && b.real == (int)b.real) {
+                if (b.real < 0) {
+                    double denom = a.real * a.real + a.imag * a.imag;
+                    a.real = a.real / denom;
+                    a.imag = -a.imag / denom;
+                    b.real = -b.real;
+                }
+                switch ((int)b.real) {
+                    case 0:
+                        z.real = 1;
+                        z.imag = 0;
+                        return z;
+                    case 1:
+                        return a;
+                    case 2:
+                        z = __Pyx_c_prod(a, a);
+                        return __Pyx_c_prod(a, a);
+                    case 3:
+                        z = __Pyx_c_prod(a, a);
+                        return __Pyx_c_prod(z, a);
+                    case 4:
+                        z = __Pyx_c_prod(a, a);
+                        return __Pyx_c_prod(z, z);
+                }
+            }
+            if (a.imag == 0) {
+                if (a.real == 0) {
+                    return a;
+                }
+                r = a.real;
+                theta = 0;
+            } else {
+                r = __Pyx_c_abs(a);
+                theta = atan2(a.imag, a.real);
+            }
+            lnr = log(r);
+            z_r = exp(lnr * b.real - theta * b.imag);
+            z_theta = theta * b.real + lnr * b.imag;
+            z.real = z_r * cos(z_theta);
+            z.imag = z_r * sin(z_theta);
+            return z;
+        }
+    #endif
+#endif
+
+static CYTHON_INLINE unsigned char __Pyx_PyInt_AsUnsignedChar(PyObject* x) {
+    const unsigned char neg_one = (unsigned char)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (sizeof(unsigned char) < sizeof(long)) {
+        long val = __Pyx_PyInt_AsLong(x);
+        if (unlikely(val != (long)(unsigned char)val)) {
+            if (!unlikely(val == -1 && PyErr_Occurred())) {
+                PyErr_SetString(PyExc_OverflowError,
+                    (is_unsigned && unlikely(val < 0)) ?
+                    "can't convert negative value to unsigned char" :
+                    "value too large to convert to unsigned char");
+            }
+            return (unsigned char)-1;
+        }
+        return (unsigned char)val;
+    }
+    return (unsigned char)__Pyx_PyInt_AsUnsignedLong(x);
+}
+
+static CYTHON_INLINE unsigned short __Pyx_PyInt_AsUnsignedShort(PyObject* x) {
+    const unsigned short neg_one = (unsigned short)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (sizeof(unsigned short) < sizeof(long)) {
+        long val = __Pyx_PyInt_AsLong(x);
+        if (unlikely(val != (long)(unsigned short)val)) {
+            if (!unlikely(val == -1 && PyErr_Occurred())) {
+                PyErr_SetString(PyExc_OverflowError,
+                    (is_unsigned && unlikely(val < 0)) ?
+                    "can't convert negative value to unsigned short" :
+                    "value too large to convert to unsigned short");
+            }
+            return (unsigned short)-1;
+        }
+        return (unsigned short)val;
+    }
+    return (unsigned short)__Pyx_PyInt_AsUnsignedLong(x);
+}
+
+static CYTHON_INLINE unsigned int __Pyx_PyInt_AsUnsignedInt(PyObject* x) {
+    const unsigned int neg_one = (unsigned int)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (sizeof(unsigned int) < sizeof(long)) {
+        long val = __Pyx_PyInt_AsLong(x);
+        if (unlikely(val != (long)(unsigned int)val)) {
+            if (!unlikely(val == -1 && PyErr_Occurred())) {
+                PyErr_SetString(PyExc_OverflowError,
+                    (is_unsigned && unlikely(val < 0)) ?
+                    "can't convert negative value to unsigned int" :
+                    "value too large to convert to unsigned int");
+            }
+            return (unsigned int)-1;
+        }
+        return (unsigned int)val;
+    }
+    return (unsigned int)__Pyx_PyInt_AsUnsignedLong(x);
+}
+
+static CYTHON_INLINE char __Pyx_PyInt_AsChar(PyObject* x) {
+    const char neg_one = (char)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (sizeof(char) < sizeof(long)) {
+        long val = __Pyx_PyInt_AsLong(x);
+        if (unlikely(val != (long)(char)val)) {
+            if (!unlikely(val == -1 && PyErr_Occurred())) {
+                PyErr_SetString(PyExc_OverflowError,
+                    (is_unsigned && unlikely(val < 0)) ?
+                    "can't convert negative value to char" :
+                    "value too large to convert to char");
+            }
+            return (char)-1;
+        }
+        return (char)val;
+    }
+    return (char)__Pyx_PyInt_AsLong(x);
+}
+
+static CYTHON_INLINE short __Pyx_PyInt_AsShort(PyObject* x) {
+    const short neg_one = (short)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (sizeof(short) < sizeof(long)) {
+        long val = __Pyx_PyInt_AsLong(x);
+        if (unlikely(val != (long)(short)val)) {
+            if (!unlikely(val == -1 && PyErr_Occurred())) {
+                PyErr_SetString(PyExc_OverflowError,
+                    (is_unsigned && unlikely(val < 0)) ?
+                    "can't convert negative value to short" :
+                    "value too large to convert to short");
+            }
+            return (short)-1;
+        }
+        return (short)val;
+    }
+    return (short)__Pyx_PyInt_AsLong(x);
+}
+
+static CYTHON_INLINE int __Pyx_PyInt_AsInt(PyObject* x) {
+    const int neg_one = (int)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (sizeof(int) < sizeof(long)) {
+        long val = __Pyx_PyInt_AsLong(x);
+        if (unlikely(val != (long)(int)val)) {
+            if (!unlikely(val == -1 && PyErr_Occurred())) {
+                PyErr_SetString(PyExc_OverflowError,
+                    (is_unsigned && unlikely(val < 0)) ?
+                    "can't convert negative value to int" :
+                    "value too large to convert to int");
+            }
+            return (int)-1;
+        }
+        return (int)val;
+    }
+    return (int)__Pyx_PyInt_AsLong(x);
+}
+
+static CYTHON_INLINE signed char __Pyx_PyInt_AsSignedChar(PyObject* x) {
+    const signed char neg_one = (signed char)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (sizeof(signed char) < sizeof(long)) {
+        long val = __Pyx_PyInt_AsLong(x);
+        if (unlikely(val != (long)(signed char)val)) {
+            if (!unlikely(val == -1 && PyErr_Occurred())) {
+                PyErr_SetString(PyExc_OverflowError,
+                    (is_unsigned && unlikely(val < 0)) ?
+                    "can't convert negative value to signed char" :
+                    "value too large to convert to signed char");
+            }
+            return (signed char)-1;
+        }
+        return (signed char)val;
+    }
+    return (signed char)__Pyx_PyInt_AsSignedLong(x);
+}
+
+static CYTHON_INLINE signed short __Pyx_PyInt_AsSignedShort(PyObject* x) {
+    const signed short neg_one = (signed short)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (sizeof(signed short) < sizeof(long)) {
+        long val = __Pyx_PyInt_AsLong(x);
+        if (unlikely(val != (long)(signed short)val)) {
+            if (!unlikely(val == -1 && PyErr_Occurred())) {
+                PyErr_SetString(PyExc_OverflowError,
+                    (is_unsigned && unlikely(val < 0)) ?
+                    "can't convert negative value to signed short" :
+                    "value too large to convert to signed short");
+            }
+            return (signed short)-1;
+        }
+        return (signed short)val;
+    }
+    return (signed short)__Pyx_PyInt_AsSignedLong(x);
+}
+
+static CYTHON_INLINE signed int __Pyx_PyInt_AsSignedInt(PyObject* x) {
+    const signed int neg_one = (signed int)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (sizeof(signed int) < sizeof(long)) {
+        long val = __Pyx_PyInt_AsLong(x);
+        if (unlikely(val != (long)(signed int)val)) {
+            if (!unlikely(val == -1 && PyErr_Occurred())) {
+                PyErr_SetString(PyExc_OverflowError,
+                    (is_unsigned && unlikely(val < 0)) ?
+                    "can't convert negative value to signed int" :
+                    "value too large to convert to signed int");
+            }
+            return (signed int)-1;
+        }
+        return (signed int)val;
+    }
+    return (signed int)__Pyx_PyInt_AsSignedLong(x);
+}
+
+static CYTHON_INLINE int __Pyx_PyInt_AsLongDouble(PyObject* x) {
+    const int neg_one = (int)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+    if (sizeof(int) < sizeof(long)) {
+        long val = __Pyx_PyInt_AsLong(x);
+        if (unlikely(val != (long)(int)val)) {
+            if (!unlikely(val == -1 && PyErr_Occurred())) {
+                PyErr_SetString(PyExc_OverflowError,
+                    (is_unsigned && unlikely(val < 0)) ?
+                    "can't convert negative value to int" :
+                    "value too large to convert to int");
+            }
+            return (int)-1;
+        }
+        return (int)val;
+    }
+    return (int)__Pyx_PyInt_AsLong(x);
+}
+
+static CYTHON_INLINE unsigned long __Pyx_PyInt_AsUnsignedLong(PyObject* x) {
+    const unsigned long neg_one = (unsigned long)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+#if PY_VERSION_HEX < 0x03000000
+    if (likely(PyInt_Check(x))) {
+        long val = PyInt_AS_LONG(x);
+        if (is_unsigned && unlikely(val < 0)) {
+            PyErr_SetString(PyExc_OverflowError,
+                            "can't convert negative value to unsigned long");
+            return (unsigned long)-1;
+        }
+        return (unsigned long)val;
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+            if (unlikely(Py_SIZE(x) < 0)) {
+                PyErr_SetString(PyExc_OverflowError,
+                                "can't convert negative value to unsigned long");
+                return (unsigned long)-1;
+            }
+            return (unsigned long)PyLong_AsUnsignedLong(x);
+        } else {
+            return (unsigned long)PyLong_AsLong(x);
+        }
+    } else {
+        unsigned long val;
+        PyObject *tmp = __Pyx_PyNumber_Int(x);
+        if (!tmp) return (unsigned long)-1;
+        val = __Pyx_PyInt_AsUnsignedLong(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+}
+
+static CYTHON_INLINE unsigned PY_LONG_LONG __Pyx_PyInt_AsUnsignedLongLong(PyObject* x) {
+    const unsigned PY_LONG_LONG neg_one = (unsigned PY_LONG_LONG)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+#if PY_VERSION_HEX < 0x03000000
+    if (likely(PyInt_Check(x))) {
+        long val = PyInt_AS_LONG(x);
+        if (is_unsigned && unlikely(val < 0)) {
+            PyErr_SetString(PyExc_OverflowError,
+                            "can't convert negative value to unsigned PY_LONG_LONG");
+            return (unsigned PY_LONG_LONG)-1;
+        }
+        return (unsigned PY_LONG_LONG)val;
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+            if (unlikely(Py_SIZE(x) < 0)) {
+                PyErr_SetString(PyExc_OverflowError,
+                                "can't convert negative value to unsigned PY_LONG_LONG");
+                return (unsigned PY_LONG_LONG)-1;
+            }
+            return (unsigned PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
+        } else {
+            return (unsigned PY_LONG_LONG)PyLong_AsLongLong(x);
+        }
+    } else {
+        unsigned PY_LONG_LONG val;
+        PyObject *tmp = __Pyx_PyNumber_Int(x);
+        if (!tmp) return (unsigned PY_LONG_LONG)-1;
+        val = __Pyx_PyInt_AsUnsignedLongLong(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+}
+
+static CYTHON_INLINE long __Pyx_PyInt_AsLong(PyObject* x) {
+    const long neg_one = (long)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+#if PY_VERSION_HEX < 0x03000000
+    if (likely(PyInt_Check(x))) {
+        long val = PyInt_AS_LONG(x);
+        if (is_unsigned && unlikely(val < 0)) {
+            PyErr_SetString(PyExc_OverflowError,
+                            "can't convert negative value to long");
+            return (long)-1;
+        }
+        return (long)val;
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+            if (unlikely(Py_SIZE(x) < 0)) {
+                PyErr_SetString(PyExc_OverflowError,
+                                "can't convert negative value to long");
+                return (long)-1;
+            }
+            return (long)PyLong_AsUnsignedLong(x);
+        } else {
+            return (long)PyLong_AsLong(x);
+        }
+    } else {
+        long val;
+        PyObject *tmp = __Pyx_PyNumber_Int(x);
+        if (!tmp) return (long)-1;
+        val = __Pyx_PyInt_AsLong(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+}
+
+static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_AsLongLong(PyObject* x) {
+    const PY_LONG_LONG neg_one = (PY_LONG_LONG)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+#if PY_VERSION_HEX < 0x03000000
+    if (likely(PyInt_Check(x))) {
+        long val = PyInt_AS_LONG(x);
+        if (is_unsigned && unlikely(val < 0)) {
+            PyErr_SetString(PyExc_OverflowError,
+                            "can't convert negative value to PY_LONG_LONG");
+            return (PY_LONG_LONG)-1;
+        }
+        return (PY_LONG_LONG)val;
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+            if (unlikely(Py_SIZE(x) < 0)) {
+                PyErr_SetString(PyExc_OverflowError,
+                                "can't convert negative value to PY_LONG_LONG");
+                return (PY_LONG_LONG)-1;
+            }
+            return (PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
+        } else {
+            return (PY_LONG_LONG)PyLong_AsLongLong(x);
+        }
+    } else {
+        PY_LONG_LONG val;
+        PyObject *tmp = __Pyx_PyNumber_Int(x);
+        if (!tmp) return (PY_LONG_LONG)-1;
+        val = __Pyx_PyInt_AsLongLong(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+}
+
+static CYTHON_INLINE signed long __Pyx_PyInt_AsSignedLong(PyObject* x) {
+    const signed long neg_one = (signed long)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+#if PY_VERSION_HEX < 0x03000000
+    if (likely(PyInt_Check(x))) {
+        long val = PyInt_AS_LONG(x);
+        if (is_unsigned && unlikely(val < 0)) {
+            PyErr_SetString(PyExc_OverflowError,
+                            "can't convert negative value to signed long");
+            return (signed long)-1;
+        }
+        return (signed long)val;
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+            if (unlikely(Py_SIZE(x) < 0)) {
+                PyErr_SetString(PyExc_OverflowError,
+                                "can't convert negative value to signed long");
+                return (signed long)-1;
+            }
+            return (signed long)PyLong_AsUnsignedLong(x);
+        } else {
+            return (signed long)PyLong_AsLong(x);
+        }
+    } else {
+        signed long val;
+        PyObject *tmp = __Pyx_PyNumber_Int(x);
+        if (!tmp) return (signed long)-1;
+        val = __Pyx_PyInt_AsSignedLong(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+}
+
+static CYTHON_INLINE signed PY_LONG_LONG __Pyx_PyInt_AsSignedLongLong(PyObject* x) {
+    const signed PY_LONG_LONG neg_one = (signed PY_LONG_LONG)-1, const_zero = 0;
+    const int is_unsigned = neg_one > const_zero;
+#if PY_VERSION_HEX < 0x03000000
+    if (likely(PyInt_Check(x))) {
+        long val = PyInt_AS_LONG(x);
+        if (is_unsigned && unlikely(val < 0)) {
+            PyErr_SetString(PyExc_OverflowError,
+                            "can't convert negative value to signed PY_LONG_LONG");
+            return (signed PY_LONG_LONG)-1;
+        }
+        return (signed PY_LONG_LONG)val;
+    } else
+#endif
+    if (likely(PyLong_Check(x))) {
+        if (is_unsigned) {
+            if (unlikely(Py_SIZE(x) < 0)) {
+                PyErr_SetString(PyExc_OverflowError,
+                                "can't convert negative value to signed PY_LONG_LONG");
+                return (signed PY_LONG_LONG)-1;
+            }
+            return (signed PY_LONG_LONG)PyLong_AsUnsignedLongLong(x);
+        } else {
+            return (signed PY_LONG_LONG)PyLong_AsLongLong(x);
+        }
+    } else {
+        signed PY_LONG_LONG val;
+        PyObject *tmp = __Pyx_PyNumber_Int(x);
+        if (!tmp) return (signed PY_LONG_LONG)-1;
+        val = __Pyx_PyInt_AsSignedLongLong(tmp);
+        Py_DECREF(tmp);
+        return val;
+    }
+}
+
+static int __Pyx_check_binary_version(void) {
+    char ctversion[4], rtversion[4];
+    PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
+    PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
+    if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
+        char message[200];
+        PyOS_snprintf(message, sizeof(message),
+                      "compiletime version %s of module '%.100s' "
+                      "does not match runtime version %s",
+                      ctversion, __Pyx_MODULE_NAME, rtversion);
+        #if PY_VERSION_HEX < 0x02050000
+        return PyErr_Warn(NULL, message);
+        #else
+        return PyErr_WarnEx(NULL, message, 1);
+        #endif
+    }
+    return 0;
+}
+
+#ifndef __PYX_HAVE_RT_ImportType
+#define __PYX_HAVE_RT_ImportType
+static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
+    size_t size, int strict)
+{
+    PyObject *py_module = 0;
+    PyObject *result = 0;
+    PyObject *py_name = 0;
+    char warning[200];
+    py_module = __Pyx_ImportModule(module_name);
+    if (!py_module)
+        goto bad;
+    py_name = __Pyx_PyIdentifier_FromString(class_name);
+    if (!py_name)
+        goto bad;
+    result = PyObject_GetAttr(py_module, py_name);
+    Py_DECREF(py_name);
+    py_name = 0;
+    Py_DECREF(py_module);
+    py_module = 0;
+    if (!result)
+        goto bad;
+    if (!PyType_Check(result)) {
+        PyErr_Format(PyExc_TypeError,
+            "%s.%s is not a type object",
+            module_name, class_name);
+        goto bad;
+    }
+    if (!strict && (size_t)((PyTypeObject *)result)->tp_basicsize > size) {
+        PyOS_snprintf(warning, sizeof(warning),
+            "%s.%s size changed, may indicate binary incompatibility",
+            module_name, class_name);
+        #if PY_VERSION_HEX < 0x02050000
+        if (PyErr_Warn(NULL, warning) < 0) goto bad;
+        #else
+        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
+        #endif
+    }
+    else if ((size_t)((PyTypeObject *)result)->tp_basicsize != size) {
+        PyErr_Format(PyExc_ValueError,
+            "%s.%s has the wrong size, try recompiling",
+            module_name, class_name);
+        goto bad;
+    }
+    return (PyTypeObject *)result;
+bad:
+    Py_XDECREF(py_module);
+    Py_XDECREF(result);
+    return NULL;
+}
+#endif
+
+#ifndef __PYX_HAVE_RT_ImportModule
+#define __PYX_HAVE_RT_ImportModule
+static PyObject *__Pyx_ImportModule(const char *name) {
+    PyObject *py_name = 0;
+    PyObject *py_module = 0;
+    py_name = __Pyx_PyIdentifier_FromString(name);
+    if (!py_name)
+        goto bad;
+    py_module = PyImport_Import(py_name);
+    Py_DECREF(py_name);
+    return py_module;
+bad:
+    Py_XDECREF(py_name);
+    return 0;
+}
+#endif
+
+static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
+    int start = 0, mid = 0, end = count - 1;
+    if (end >= 0 && code_line > entries[end].code_line) {
+        return count;
+    }
+    while (start < end) {
+        mid = (start + end) / 2;
+        if (code_line < entries[mid].code_line) {
+            end = mid;
+        } else if (code_line > entries[mid].code_line) {
+             start = mid + 1;
+        } else {
+            return mid;
+        }
+    }
+    if (code_line <= entries[mid].code_line) {
+        return mid;
+    } else {
+        return mid + 1;
+    }
+}
+static PyCodeObject *__pyx_find_code_object(int code_line) {
+    PyCodeObject* code_object;
+    int pos;
+    if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) {
+        return NULL;
+    }
+    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
+    if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) {
+        return NULL;
+    }
+    code_object = __pyx_code_cache.entries[pos].code_object;
+    Py_INCREF(code_object);
+    return code_object;
+}
+static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
+    int pos, i;
+    __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
+    if (unlikely(!code_line)) {
+        return;
+    }
+    if (unlikely(!entries)) {
+        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry));
+        if (likely(entries)) {
+            __pyx_code_cache.entries = entries;
+            __pyx_code_cache.max_count = 64;
+            __pyx_code_cache.count = 1;
+            entries[0].code_line = code_line;
+            entries[0].code_object = code_object;
+            Py_INCREF(code_object);
+        }
+        return;
+    }
+    pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line);
+    if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) {
+        PyCodeObject* tmp = entries[pos].code_object;
+        entries[pos].code_object = code_object;
+        Py_DECREF(tmp);
+        return;
+    }
+    if (__pyx_code_cache.count == __pyx_code_cache.max_count) {
+        int new_max = __pyx_code_cache.max_count + 64;
+        entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc(
+            __pyx_code_cache.entries, new_max*sizeof(__Pyx_CodeObjectCacheEntry));
+        if (unlikely(!entries)) {
+            return;
+        }
+        __pyx_code_cache.entries = entries;
+        __pyx_code_cache.max_count = new_max;
+    }
+    for (i=__pyx_code_cache.count; i>pos; i--) {
+        entries[i] = entries[i-1];
+    }
+    entries[pos].code_line = code_line;
+    entries[pos].code_object = code_object;
+    __pyx_code_cache.count++;
+    Py_INCREF(code_object);
+}
+
+#include "compile.h"
+#include "frameobject.h"
+#include "traceback.h"
+static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
+            const char *funcname, int c_line,
+            int py_line, const char *filename) {
+    PyCodeObject *py_code = 0;
+    PyObject *py_srcfile = 0;
+    PyObject *py_funcname = 0;
+    #if PY_MAJOR_VERSION < 3
+    py_srcfile = PyString_FromString(filename);
+    #else
+    py_srcfile = PyUnicode_FromString(filename);
+    #endif
+    if (!py_srcfile) goto bad;
+    if (c_line) {
+        #if PY_MAJOR_VERSION < 3
+        py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
+        #else
+        py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
+        #endif
+    }
+    else {
+        #if PY_MAJOR_VERSION < 3
+        py_funcname = PyString_FromString(funcname);
+        #else
+        py_funcname = PyUnicode_FromString(funcname);
+        #endif
+    }
+    if (!py_funcname) goto bad;
+    py_code = __Pyx_PyCode_New(
+        0,            /*int argcount,*/
+        0,            /*int kwonlyargcount,*/
+        0,            /*int nlocals,*/
+        0,            /*int stacksize,*/
+        0,            /*int flags,*/
+        __pyx_empty_bytes, /*PyObject *code,*/
+        __pyx_empty_tuple, /*PyObject *consts,*/
+        __pyx_empty_tuple, /*PyObject *names,*/
+        __pyx_empty_tuple, /*PyObject *varnames,*/
+        __pyx_empty_tuple, /*PyObject *freevars,*/
+        __pyx_empty_tuple, /*PyObject *cellvars,*/
+        py_srcfile,   /*PyObject *filename,*/
+        py_funcname,  /*PyObject *name,*/
+        py_line,      /*int firstlineno,*/
+        __pyx_empty_bytes  /*PyObject *lnotab*/
+    );
+    Py_DECREF(py_srcfile);
+    Py_DECREF(py_funcname);
+    return py_code;
+bad:
+    Py_XDECREF(py_srcfile);
+    Py_XDECREF(py_funcname);
+    return NULL;
+}
+static void __Pyx_AddTraceback(const char *funcname, int c_line,
+                               int py_line, const char *filename) {
+    PyCodeObject *py_code = 0;
+    PyObject *py_globals = 0;
+    PyFrameObject *py_frame = 0;
+    py_code = __pyx_find_code_object(c_line ? c_line : py_line);
+    if (!py_code) {
+        py_code = __Pyx_CreateCodeObjectForTraceback(
+            funcname, c_line, py_line, filename);
+        if (!py_code) goto bad;
+        __pyx_insert_code_object(c_line ? c_line : py_line, py_code);
+    }
+    py_globals = PyModule_GetDict(__pyx_m);
+    if (!py_globals) goto bad;
+    py_frame = PyFrame_New(
+        PyThreadState_GET(), /*PyThreadState *tstate,*/
+        py_code,             /*PyCodeObject *code,*/
+        py_globals,          /*PyObject *globals,*/
+        0                    /*PyObject *locals*/
+    );
+    if (!py_frame) goto bad;
+    py_frame->f_lineno = py_line;
+    PyTraceBack_Here(py_frame);
+bad:
+    Py_XDECREF(py_code);
+    Py_XDECREF(py_frame);
+}
+
+static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
+    while (t->p) {
+        #if PY_MAJOR_VERSION < 3
+        if (t->is_unicode) {
+            *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL);
+        } else if (t->intern) {
+            *t->p = PyString_InternFromString(t->s);
+        } else {
+            *t->p = PyString_FromStringAndSize(t->s, t->n - 1);
+        }
+        #else  /* Python 3+ has unicode identifiers */
+        if (t->is_unicode | t->is_str) {
+            if (t->intern) {
+                *t->p = PyUnicode_InternFromString(t->s);
+            } else if (t->encoding) {
+                *t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
+            } else {
+                *t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
+            }
+        } else {
+            *t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
+        }
+        #endif
+        if (!*t->p)
+            return -1;
+        ++t;
+    }
+    return 0;
+}
+
+
+/* Type Conversion Functions */
+
+static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
+   int is_true = x == Py_True;
+   if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
+   else return PyObject_IsTrue(x);
+}
+
+static CYTHON_INLINE PyObject* __Pyx_PyNumber_Int(PyObject* x) {
+  PyNumberMethods *m;
+  const char *name = NULL;
+  PyObject *res = NULL;
+#if PY_VERSION_HEX < 0x03000000
+  if (PyInt_Check(x) || PyLong_Check(x))
+#else
+  if (PyLong_Check(x))
+#endif
+    return Py_INCREF(x), x;
+  m = Py_TYPE(x)->tp_as_number;
+#if PY_VERSION_HEX < 0x03000000
+  if (m && m->nb_int) {
+    name = "int";
+    res = PyNumber_Int(x);
+  }
+  else if (m && m->nb_long) {
+    name = "long";
+    res = PyNumber_Long(x);
+  }
+#else
+  if (m && m->nb_int) {
+    name = "int";
+    res = PyNumber_Long(x);
+  }
+#endif
+  if (res) {
+#if PY_VERSION_HEX < 0x03000000
+    if (!PyInt_Check(res) && !PyLong_Check(res)) {
+#else
+    if (!PyLong_Check(res)) {
+#endif
+      PyErr_Format(PyExc_TypeError,
+                   "__%s__ returned non-%s (type %.200s)",
+                   name, name, Py_TYPE(res)->tp_name);
+      Py_DECREF(res);
+      return NULL;
+    }
+  }
+  else if (!PyErr_Occurred()) {
+    PyErr_SetString(PyExc_TypeError,
+                    "an integer is required");
+  }
+  return res;
+}
+
+static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) {
+  Py_ssize_t ival;
+  PyObject* x = PyNumber_Index(b);
+  if (!x) return -1;
+  ival = PyInt_AsSsize_t(x);
+  Py_DECREF(x);
+  return ival;
+}
+
+static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) {
+#if PY_VERSION_HEX < 0x02050000
+   if (ival <= LONG_MAX)
+       return PyInt_FromLong((long)ival);
+   else {
+       unsigned char *bytes = (unsigned char *) &ival;
+       int one = 1; int little = (int)*(unsigned char*)&one;
+       return _PyLong_FromByteArray(bytes, sizeof(size_t), little, 0);
+   }
+#else
+   return PyInt_FromSize_t(ival);
+#endif
+}
+
+static CYTHON_INLINE size_t __Pyx_PyInt_AsSize_t(PyObject* x) {
+   unsigned PY_LONG_LONG val = __Pyx_PyInt_AsUnsignedLongLong(x);
+   if (unlikely(val == (unsigned PY_LONG_LONG)-1 && PyErr_Occurred())) {
+       return (size_t)-1;
+   } else if (unlikely(val != (unsigned PY_LONG_LONG)(size_t)val)) {
+       PyErr_SetString(PyExc_OverflowError,
+                       "value too large to convert to size_t");
+       return (size_t)-1;
+   }
+   return (size_t)val;
+}
+
+
+#endif /* Py_PYTHON_H */
diff --git a/src/mar345_IO.html b/src/mar345_IO.html
new file mode 100644
index 0000000..71a7804
--- /dev/null
+++ b/src/mar345_IO.html
@@ -0,0 +1,1739 @@
+<!-- Generated by Cython 0.16.beta0 on Fri Apr 20 09:46:40 2012 -->
+<html>
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<style type="text/css">
+
+body { font-family: courier; font-size: 12; }
+
+.code  { font-size: 9; color: #444444; display: none; margin-left: 20px; }
+.py_c_api  { color: red; }
+.py_macro_api  { color: #FF7000; }
+.pyx_c_api  { color: #FF3000; }
+.pyx_macro_api  { color: #FF7000; }
+.refnanny  { color: #FFA000; }
+
+.error_goto  { color: #FFA000; }
+
+.tag  {  }
+
+.coerce  { color: #008000; border: 1px dotted #008000 }
+
+.py_attr { color: #FF0000; font-weight: bold; }
+.c_attr  { color: #0000FF; }
+
+.py_call { color: #FF0000; font-weight: bold; }
+.c_call  { color: #0000FF; }
+
+.line { margin: 0em }
+
+</style>
+<script>
+function toggleDiv(id) {
+    theDiv = document.getElementById(id);
+    if (theDiv.style.display == 'none') theDiv.style.display = 'block';
+    else theDiv.style.display = 'none';
+}
+</script>
+</head>
+        <body>
+<p>Generated by Cython 0.16.beta0 on Fri Apr 20 09:46:40 2012
+<p>Raw output: <a href="mar345_IO.c">mar345_IO.c</a>
+<pre class='line' style='background-color: #FFFF79' onclick='toggleDiv("line1")'> 1: """</pre>
+<pre id='line1' class='code' style='background-color: #FFFF79'>
+  /* "mar345_IO.pyx":1
+ * """             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * New Cython version of mar345_io for preparing the migration to Python3
+ * 
+ */
+  __pyx_t_1 = <span class='py_c_api'>PyDict_New</span>();<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(((PyObject *)__pyx_t_1));
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_1)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line2")'> 2: New Cython version of mar345_io for preparing the migration to Python3</pre>
+<pre id='line2' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line3")'> 3: </pre>
+<pre id='line3' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line4")'> 4: Compressor & decompressor for "pack" algorithm by JPA, binding to CCP4 libraries</pre>
+<pre id='line4' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line5")'> 5: </pre>
+<pre id='line5' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line6")'> 6: Warning: decompressor is just a cython porting of mar345_io, but in cython so (soon) python3 compliant.</pre>
+<pre id='line6' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line7")'> 7: </pre>
+<pre id='line7' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line8")'> 8: Future: make those algorithm actually generate strings not go via files;</pre>
+<pre id='line8' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line9")'> 9:         it will allow a broader use of the algorithm.</pre>
+<pre id='line9' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line10")'> 10: </pre>
+<pre id='line10' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line11")'> 11: """</pre>
+<pre id='line11' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line12")'> 12: </pre>
+<pre id='line12' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF66' onclick='toggleDiv("line13")'> 13: __authors__ = ["Jerome Kieffer", "Gael Goret"]</pre>
+<pre id='line13' class='code' style='background-color: #FFFF66'>
+  /* "mar345_IO.pyx":13
+ * """
+ * 
+ * __authors__ = ["Jerome Kieffer", "Gael Goret"]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * __contact__ = "jerome.kieffer at esrf.eu"
+ * __license__ = "LGPLv3+"
+ */
+  __pyx_t_1 = <span class='py_c_api'>PyList_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_kp_s_26));
+  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_1, 0, ((PyObject *)__pyx_kp_s_26));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_kp_s_26));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_kp_s_27));
+  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_1, 1, ((PyObject *)__pyx_kp_s_27));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_kp_s_27));
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s____authors__, ((PyObject *)__pyx_t_1)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_1)); __pyx_t_1 = 0;
+</pre><pre class='line' style='background-color: #FFFFaa' onclick='toggleDiv("line14")'> 14: __contact__ = "jerome.kieffer at esrf.eu"</pre>
+<pre id='line14' class='code' style='background-color: #FFFFaa'>
+  /* "mar345_IO.pyx":14
+ * 
+ * __authors__ = ["Jerome Kieffer", "Gael Goret"]
+ * __contact__ = "jerome.kieffer at esrf.eu"             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * __license__ = "LGPLv3+"
+ * __copyright__ = "2012, European Synchrotron Radiation Facility, Grenoble, France"
+ */
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s____contact__, ((PyObject *)__pyx_kp_s_28)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+</pre><pre class='line' style='background-color: #FFFFaa' onclick='toggleDiv("line15")'> 15: __license__ = "LGPLv3+"</pre>
+<pre id='line15' class='code' style='background-color: #FFFFaa'>
+  /* "mar345_IO.pyx":15
+ * __authors__ = ["Jerome Kieffer", "Gael Goret"]
+ * __contact__ = "jerome.kieffer at esrf.eu"
+ * __license__ = "LGPLv3+"             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * __copyright__ = "2012, European Synchrotron Radiation Facility, Grenoble, France"
+ * 
+ */
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s____license__, ((PyObject *)__pyx_kp_s_29)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+</pre><pre class='line' style='background-color: #FFFFaa' onclick='toggleDiv("line16")'> 16: __copyright__ = "2012, European Synchrotron Radiation Facility, Grenoble, France"</pre>
+<pre id='line16' class='code' style='background-color: #FFFFaa'>
+  /* "mar345_IO.pyx":16
+ * __contact__ = "jerome.kieffer at esrf.eu"
+ * __license__ = "LGPLv3+"
+ * __copyright__ = "2012, European Synchrotron Radiation Facility, Grenoble, France"             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * 
+ * import cython
+ */
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s____copyright__, ((PyObject *)__pyx_kp_s_30)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line17")'> 17: </pre>
+<pre id='line17' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line18")'> 18: import cython</pre>
+<pre id='line18' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line19")'> 19: cimport numpy</pre>
+<pre id='line19' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF8d' onclick='toggleDiv("line20")'> 20: import numpy</pre>
+<pre id='line20' class='code' style='background-color: #FFFF8d'>
+  /* "mar345_IO.pyx":20
+ * import cython
+ * cimport numpy
+ * import numpy             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * import os,tempfile
+ * 
+ */
+  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_Import</span>(((PyObject *)__pyx_n_s__numpy), 0, -1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s__numpy, __pyx_t_1) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+</pre><pre class='line' style='background-color: #FFFF62' onclick='toggleDiv("line21")'> 21: import os,tempfile</pre>
+<pre id='line21' class='code' style='background-color: #FFFF62'>
+  /* "mar345_IO.pyx":21
+ * cimport numpy
+ * import numpy
+ * import os,tempfile             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * 
+ * #cdef extern from "pack_c.h":
+ */
+  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_Import</span>(((PyObject *)__pyx_n_s__os), 0, -1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s__os, __pyx_t_1) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_Import</span>(((PyObject *)__pyx_n_s__tempfile), 0, -1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s__tempfile, __pyx_t_1) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line22")'> 22: </pre>
+<pre id='line22' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line23")'> 23: #cdef extern from "pack_c.h":</pre>
+<pre id='line23' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line24")'> 24: #     void pack_wordimage_c(short int*, int , int , char*) nogil</pre>
+<pre id='line24' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line25")'> 25: #     void unpack_word(FILE *packfile, int x, int y, short int *img) nogil</pre>
+<pre id='line25' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line26")'> 26: </pre>
+<pre id='line26' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line27")'> 27: cdef extern from "ccp4_pack.h":</pre>
+<pre id='line27' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line28")'> 28:     void* mar345_read_data_string(char *instream, int ocount, int dim1, int dim2) nogil</pre>
+<pre id='line28' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line29")'> 29:     void pack_wordimage_c(short int*, int , int , char*) nogil</pre>
+<pre id='line29' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line30")'> 30: </pre>
+<pre id='line30' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line31")'> 31: @cython.boundscheck(False)</pre>
+<pre id='line31' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF2f' onclick='toggleDiv("line32")'> 32: def compress_pck(numpy.ndarray inputArray not None):</pre>
+<pre id='line32' class='code' style='background-color: #FFFF2f'>
+/* "mar345_IO.pyx":32
+ * 
+ * @cython.boundscheck(False)
+ * def compress_pck(numpy.ndarray inputArray not None):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     """
+ *     @param inputArray: numpy array as input
+ */
+
+static PyObject *__pyx_pf_9mar345_IO_compress_pck(CYTHON_UNUSED PyObject *__pyx_self, PyArrayObject *__pyx_v_inputArray) {
+  CYTHON_UNUSED long __pyx_v_size;
+  int __pyx_v_dim0;
+  int __pyx_v_dim1;
+  int __pyx_v_fd;
+  char *__pyx_v_name;
+  PyArrayObject *__pyx_v_data = 0;
+  short *__pyx_v_cdata;
+  PyObject *__pyx_v_fname = NULL;
+  PyObject *__pyx_v_f = NULL;
+  PyObject *__pyx_v_output = NULL;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_data;
+  __Pyx_Buffer __pyx_pybuffer_data;
+  PyObject *__pyx_r = NULL;
+  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannySetupContext</span></span>("compress_pck", 0);
+  __pyx_pybuffer_data.pybuffer.buf = NULL;
+  __pyx_pybuffer_data.refcount = 0;
+  __pyx_pybuffernd_data.data = NULL;
+  __pyx_pybuffernd_data.rcbuffer = &__pyx_pybuffer_data;
+
+  /* "mar345_IO.pyx":32
+ * 
+ * @cython.boundscheck(False)
+ * def compress_pck(numpy.ndarray inputArray not None):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     """
+ *     @param inputArray: numpy array as input
+ */
+  __pyx_k_tuple_31 = <span class='py_c_api'>PyTuple_New</span>(14);<span class='error_goto'> if (unlikely(!__pyx_k_tuple_31)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_k_tuple_31);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__inputArray));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 0, ((PyObject *)__pyx_n_s__inputArray));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__inputArray));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__size));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 1, ((PyObject *)__pyx_n_s__size));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__size));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__dim0));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 2, ((PyObject *)__pyx_n_s__dim0));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__dim0));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__dim1));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 3, ((PyObject *)__pyx_n_s__dim1));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__dim1));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__i));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 4, ((PyObject *)__pyx_n_s__i));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__i));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__j));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 5, ((PyObject *)__pyx_n_s__j));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__j));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__fd));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 6, ((PyObject *)__pyx_n_s__fd));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__fd));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__ret));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 7, ((PyObject *)__pyx_n_s__ret));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__ret));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__name));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 8, ((PyObject *)__pyx_n_s__name));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__name));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__data));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 9, ((PyObject *)__pyx_n_s__data));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__data));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__cdata));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 10, ((PyObject *)__pyx_n_s__cdata));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__cdata));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__fname));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 11, ((PyObject *)__pyx_n_s__fname));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__fname));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__f));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 12, ((PyObject *)__pyx_n_s__f));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__f));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__output));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_31, 13, ((PyObject *)__pyx_n_s__output));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__output));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_k_tuple_31));
+
+  /* "mar345_IO.pyx":32
+ * 
+ * @cython.boundscheck(False)
+ * def compress_pck(numpy.ndarray inputArray not None):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     """
+ *     @param inputArray: numpy array as input
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9mar345_IO_1compress_pck, NULL, __pyx_n_s__mar345_IO);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s__compress_pck, __pyx_t_1) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_k_codeobj_32 = (PyObject*)__Pyx_<span class='py_c_api'>PyCode_New</span>(1, 0, 14, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_k_tuple_31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_33, __pyx_n_s__compress_pck, 32, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_k_codeobj_32)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line33")'> 33:     """</pre>
+<pre id='line33' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line34")'> 34:     @param inputArray: numpy array as input</pre>
+<pre id='line34' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line35")'> 35:     @param filename: file to write data to</pre>
+<pre id='line35' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line36")'> 36:     """</pre>
+<pre id='line36' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF62' onclick='toggleDiv("line37")'> 37:     cdef long  size = inputArray.size</pre>
+<pre id='line37' class='code' style='background-color: #FFFF62'>
+  /* "mar345_IO.pyx":37
+ *     @param filename: file to write data to
+ *     """
+ *     cdef long  size = inputArray.size             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef int dim0, dim1, i, j, fd, ret
+ *     cdef char* name
+ */
+  __pyx_t_1 = <span class='py_c_api'>PyObject_GetAttr</span>(((PyObject *)__pyx_v_inputArray), __pyx_n_s__size);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  __pyx_t_2 = __Pyx_<span class='py_c_api'>PyInt_AsLong</span>(__pyx_t_1);<span class='error_goto'> if (unlikely((__pyx_t_2 == (long)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_v_size = __pyx_t_2;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line38")'> 38:     cdef int dim0, dim1, i, j, fd, ret</pre>
+<pre id='line38' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line39")'> 39:     cdef char* name</pre>
+<pre id='line39' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFaa' onclick='toggleDiv("line40")'> 40:     assert inputArray.ndim == 2, "shape is 2D"</pre>
+<pre id='line40' class='code' style='background-color: #FFFFaa'>
+  /* "mar345_IO.pyx":40
+ *     cdef int dim0, dim1, i, j, fd, ret
+ *     cdef char* name
+ *     assert inputArray.ndim == 2, "shape is 2D"             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     dim0 = inputArray.shape[0]
+ *     dim1 = inputArray.shape[1]
+ */
+  #ifndef CYTHON_WITHOUT_ASSERTIONS
+  if (unlikely(!(__pyx_v_inputArray->nd == 2))) {
+    <span class='py_c_api'>PyErr_SetObject</span>(PyExc_AssertionError, ((PyObject *)__pyx_kp_s_1));
+   <span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  }
+  #endif
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line41")'> 41:     dim0 = inputArray.shape[0]</pre>
+<pre id='line41' class='code' style='background-color: #FFFFff'>
+  /* "mar345_IO.pyx":41
+ *     cdef char* name
+ *     assert inputArray.ndim == 2, "shape is 2D"
+ *     dim0 = inputArray.shape[0]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     dim1 = inputArray.shape[1]
+ *     cdef numpy.ndarray[numpy.uint16_t, ndim = 1] data = numpy.ascontiguousarray(inputArray.astype(numpy.uint16).ravel(), dtype=numpy.uint16)
+ */
+  __pyx_v_dim0 = (__pyx_v_inputArray->dimensions[0]);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line42")'> 42:     dim1 = inputArray.shape[1]</pre>
+<pre id='line42' class='code' style='background-color: #FFFFff'>
+  /* "mar345_IO.pyx":42
+ *     assert inputArray.ndim == 2, "shape is 2D"
+ *     dim0 = inputArray.shape[0]
+ *     dim1 = inputArray.shape[1]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef numpy.ndarray[numpy.uint16_t, ndim = 1] data = numpy.ascontiguousarray(inputArray.astype(numpy.uint16).ravel(), dtype=numpy.uint16)
+ *     cdef short int * cdata
+ */
+  __pyx_v_dim1 = (__pyx_v_inputArray->dimensions[1]);
+</pre><pre class='line' style='background-color: #FFFF1b' onclick='toggleDiv("line43")'> 43:     cdef numpy.ndarray[numpy.uint16_t, ndim = 1] data = numpy.ascontiguousarray(inputArray.astype(numpy.uint16).ravel(), dtype=numpy.uint16)</pre>
+<pre id='line43' class='code' style='background-color: #FFFF1b'>
+  /* "mar345_IO.pyx":43
+ *     dim0 = inputArray.shape[0]
+ *     dim1 = inputArray.shape[1]
+ *     cdef numpy.ndarray[numpy.uint16_t, ndim = 1] data = numpy.ascontiguousarray(inputArray.astype(numpy.uint16).ravel(), dtype=numpy.uint16)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef short int * cdata
+ *     cdata = <code><</code> short int *> data.data
+ */
+  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_GetName</span>(__pyx_m, __pyx_n_s__numpy);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  __pyx_t_3 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_1, __pyx_n_s__ascontiguousarray);<span class='error_goto'> if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_3);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = <span class='py_c_api'>PyObject_GetAttr</span>(((PyObject *)__pyx_v_inputArray), __pyx_n_s__astype);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_GetName</span>(__pyx_m, __pyx_n_s__numpy);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  __pyx_t_5 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_4, __pyx_n_s__uint16);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 0, __pyx_t_5);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_5);
+  __pyx_t_5 = 0;
+  __pyx_t_5 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_1, ((PyObject *)__pyx_t_4), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
+  __pyx_t_4 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_5, __pyx_n_s__ravel);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_t_5 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 0, __pyx_t_5);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_5);
+  __pyx_t_5 = 0;
+  __pyx_t_5 = <span class='py_c_api'>PyDict_New</span>();<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(((PyObject *)__pyx_t_5));
+  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_GetName</span>(__pyx_m, __pyx_n_s__numpy);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  __pyx_t_6 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_1, __pyx_n_s__uint16);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_t_5, ((PyObject *)__pyx_n_s__dtype), __pyx_t_6) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_3, ((PyObject *)__pyx_t_4), ((PyObject *)__pyx_t_5));<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+  if (!(likely(((__pyx_t_6) == Py_None) || likely(<span class='pyx_c_api'>__Pyx_TypeTest</span>(__pyx_t_6, __pyx_ptype_5numpy_ndarray)))))<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  __pyx_t_7 = ((PyArrayObject *)__pyx_t_6);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(<span class='pyx_c_api'>__Pyx_GetBufferAndValidate</span>(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_7, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint16_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+      __pyx_v_data = ((PyArrayObject *)Py_None); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL;
+     <span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0];
+    }
+  }
+  __pyx_t_7 = 0;
+  __pyx_v_data = ((PyArrayObject *)__pyx_t_6);
+  __pyx_t_6 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line44")'> 44:     cdef short int * cdata</pre>
+<pre id='line44' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line45")'> 45:     cdata = < short int *> data.data</pre>
+<pre id='line45' class='code' style='background-color: #FFFFff'>
+  /* "mar345_IO.pyx":45
+ *     cdef numpy.ndarray[numpy.uint16_t, ndim = 1] data = numpy.ascontiguousarray(inputArray.astype(numpy.uint16).ravel(), dtype=numpy.uint16)
+ *     cdef short int * cdata
+ *     cdata = <code><</code> short int *> data.data             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     (fd,fname) = tempfile.mkstemp()
+ *     name = <code><</code>char*>  fname
+ */
+  __pyx_v_cdata = ((short *)__pyx_v_data->data);
+</pre><pre class='line' style='background-color: #FFFF1d' onclick='toggleDiv("line46")'> 46:     (fd,fname) = tempfile.mkstemp()</pre>
+<pre id='line46' class='code' style='background-color: #FFFF1d'>
+  /* "mar345_IO.pyx":46
+ *     cdef short int * cdata
+ *     cdata = <code><</code> short int *> data.data
+ *     (fd,fname) = tempfile.mkstemp()             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     name = <code><</code>char*>  fname
+ *     with nogil:
+ */
+  __pyx_t_6 = <span class='pyx_c_api'>__Pyx_GetName</span>(__pyx_m, __pyx_n_s__tempfile);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+  __pyx_t_5 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_6, __pyx_n_s__mkstemp);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+  __pyx_t_6 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+  #if CYTHON_COMPILING_IN_CPYTHON
+  if ((likely(<span class='py_c_api'>PyTuple_CheckExact</span>(__pyx_t_6))) || (<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_6))) {
+    PyObject* sequence = __pyx_t_6;
+    if (likely(<span class='py_c_api'>PyTuple_CheckExact</span>(sequence))) {
+      if (unlikely(<span class='py_macro_api'>PyTuple_GET_SIZE</span>(sequence) != 2)) {
+        if (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(sequence) > 2) <span class='pyx_c_api'>__Pyx_RaiseTooManyValuesError</span>(2);
+        else <span class='pyx_c_api'>__Pyx_RaiseNeedMoreValuesError</span>(<span class='py_macro_api'>PyTuple_GET_SIZE</span>(sequence));
+       <span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      }
+      __pyx_t_5 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(sequence, 0); 
+      <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);
+      __pyx_t_4 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(sequence, 1); 
+      <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4);
+    } else {
+      if (unlikely(<span class='py_macro_api'>PyList_GET_SIZE</span>(sequence) != 2)) {
+        if (<span class='py_macro_api'>PyList_GET_SIZE</span>(sequence) > 2) <span class='pyx_c_api'>__Pyx_RaiseTooManyValuesError</span>(2);
+        else <span class='pyx_c_api'>__Pyx_RaiseNeedMoreValuesError</span>(<span class='py_macro_api'>PyList_GET_SIZE</span>(sequence));
+       <span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      }
+      __pyx_t_5 = <span class='py_macro_api'>PyList_GET_ITEM</span>(sequence, 0); 
+      <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);
+      __pyx_t_4 = <span class='py_macro_api'>PyList_GET_ITEM</span>(sequence, 1); 
+      <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4);
+    }
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+  } else
+  #endif
+  {
+    Py_ssize_t index = -1;
+    __pyx_t_3 = <span class='py_c_api'>PyObject_GetIter</span>(__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_3);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext;
+    index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_5)) goto __pyx_L3_unpacking_failed;
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    index = 1; __pyx_t_4 = __pyx_t_8(__pyx_t_3); if (unlikely(!__pyx_t_4)) goto __pyx_L3_unpacking_failed;
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    if (<span class='pyx_c_api'>__Pyx_IternextUnpackEndCheck</span>(__pyx_t_8(__pyx_t_3), 2) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
+    __pyx_t_8 = NULL;
+    goto __pyx_L4_unpacking_done;
+    __pyx_L3_unpacking_failed:;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
+    if (<span class='pyx_c_api'>__Pyx_IterFinish</span>() == 0) <span class='pyx_c_api'>__Pyx_RaiseNeedMoreValuesError</span>(index);
+   <span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_L4_unpacking_done:;
+  }
+  __pyx_t_9 = __Pyx_<span class='py_c_api'>PyInt_AsInt</span>(__pyx_t_5);<span class='error_goto'> if (unlikely((__pyx_t_9 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+  __pyx_v_fd = __pyx_t_9;
+  __pyx_v_fname = __pyx_t_4;
+  __pyx_t_4 = 0;
+</pre><pre class='line' style='background-color: #FFFF7f' onclick='toggleDiv("line47")'> 47:     name = <char*>  fname</pre>
+<pre id='line47' class='code' style='background-color: #FFFF7f'>
+  /* "mar345_IO.pyx":47
+ *     cdata = <code><</code> short int *> data.data
+ *     (fd,fname) = tempfile.mkstemp()
+ *     name = <code><</code>char*>  fname             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     with nogil:
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ */
+  __pyx_t_10 = <span class='py_c_api'>PyBytes_AsString</span>(__pyx_v_fname);<span class='error_goto'> if (unlikely((!__pyx_t_10) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  __pyx_v_name = ((char *)__pyx_t_10);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line48")'> 48:     with nogil:</pre>
+<pre id='line48' class='code' style='background-color: #FFFFff'>
+  /* "mar345_IO.pyx":48
+ *     (fd,fname) = tempfile.mkstemp()
+ *     name = <code><</code>char*>  fname
+ *     with nogil:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:
+ */
+  {
+      #ifdef WITH_THREAD
+      PyThreadState *_save = NULL;
+      #endif
+      Py_UNBLOCK_THREADS
+      /*try:*/ {
+
+      /* "mar345_IO.pyx":48
+ *     (fd,fname) = tempfile.mkstemp()
+ *     name = <code><</code>char*>  fname
+ *     with nogil:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:
+ */
+      /*finally:*/ {
+        Py_BLOCK_THREADS
+      }
+  }
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line49")'> 49:         pack_wordimage_c(cdata, dim1, dim0, name)</pre>
+<pre id='line49' class='code' style='background-color: #FFFFff'>
+        /* "mar345_IO.pyx":49
+ *     name = <code><</code>char*>  fname
+ *     with nogil:
+ *         pack_wordimage_c(cdata, dim1, dim0, name)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     with open(name,"rb") as f:
+ *         f.seek(0)
+ */
+        pack_wordimage_c(__pyx_v_cdata, __pyx_v_dim1, __pyx_v_dim0, __pyx_v_name);
+      }
+</pre><pre class='line' style='background-color: #FFFF16' onclick='toggleDiv("line50")'> 50:     with open(name,"rb") as f:</pre>
+<pre id='line50' class='code' style='background-color: #FFFF16'>
+  /* "mar345_IO.pyx":50
+ *     with nogil:
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         f.seek(0)
+ *         output = f.read()
+ */
+  /*with:*/ {
+    __pyx_t_6 = <span class='py_c_api'>PyBytes_FromString</span>(__pyx_v_name);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(((PyObject *)__pyx_t_6));
+    __pyx_t_4 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 0, ((PyObject *)__pyx_t_6));
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_t_6));
+    <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__rb));
+    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 1, ((PyObject *)__pyx_n_s__rb));
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__rb));
+    __pyx_t_6 = 0;
+    __pyx_t_6 = <span class='py_c_api'>PyObject_Call</span>(__pyx_builtin_open, ((PyObject *)__pyx_t_4), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
+    __pyx_t_11 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_6, __pyx_n_s____exit__);<span class='error_goto'> if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_11);
+    __pyx_t_4 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_6, __pyx_n_s____enter__);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L8_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    __pyx_t_5 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L8_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+    /*try:*/ {
+      {
+        <span class='pyx_c_api'>__Pyx_ExceptionSave</span>(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
+        <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGOTREF</span></span>(__pyx_t_12);
+        <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGOTREF</span></span>(__pyx_t_13);
+        <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGOTREF</span></span>(__pyx_t_14);
+        /*try:*/ {
+          <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);
+          __pyx_v_f = __pyx_t_5;
+          <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+
+        /* "mar345_IO.pyx":50
+ *     with nogil:
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         f.seek(0)
+ *         output = f.read()
+ */
+        /*except:*/ {
+          <span class='pyx_c_api'>__Pyx_AddTraceback</span>("mar345_IO.compress_pck", __pyx_clineno, __pyx_lineno, __pyx_filename);
+          if (<span class='pyx_c_api'>__Pyx_GetException</span>(&__pyx_t_5, &__pyx_t_6, &__pyx_t_4) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;}</span>
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+          __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(3);<span class='error_goto'> if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;}</span>
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_3);
+          <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);
+          <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_t_5);
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_5);
+          <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_6);
+          <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 1, __pyx_t_6);
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_6);
+          <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4);
+          <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 2, __pyx_t_4);
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_4);
+          __pyx_t_16 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_11, __pyx_t_3, NULL);
+          <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0;
+          if (unlikely(!__pyx_t_16))<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;}</span>
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_16);
+          __pyx_t_15 = __Pyx_<span class='py_c_api'>PyObject_IsTrue</span>(__pyx_t_16);
+          <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_16); __pyx_t_16 = 0;
+          if (unlikely(__pyx_t_15 <code><</code> 0))<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;}</span>
+          __pyx_t_17 = (!__pyx_t_15);
+          if (__pyx_t_17) {
+            <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_5);
+            <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_6);
+            <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_4);
+            <span class='pyx_c_api'>__Pyx_ErrRestore</span>(__pyx_t_5, __pyx_t_6, __pyx_t_4);
+            __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_4 = 0; 
+           <span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L14_except_error;}</span>
+            goto __pyx_L23;
+          }
+          __pyx_L23:;
+          <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_3)); __pyx_t_3 = 0;
+          <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+          <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+          <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+          goto __pyx_L13_exception_handled;
+        }
+        __pyx_L14_except_error:;
+        <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGIVEREF</span></span>(__pyx_t_12);
+        <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGIVEREF</span></span>(__pyx_t_13);
+        <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGIVEREF</span></span>(__pyx_t_14);
+        <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_12, __pyx_t_13, __pyx_t_14);
+        goto __pyx_L1_error;
+        __pyx_L13_exception_handled:;
+        <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGIVEREF</span></span>(__pyx_t_12);
+        <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGIVEREF</span></span>(__pyx_t_13);
+        <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGIVEREF</span></span>(__pyx_t_14);
+        <span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_12, __pyx_t_13, __pyx_t_14);
+        __pyx_L19_try_end:;
+      }
+    }
+    /*finally:*/ {
+      if (__pyx_t_11) {
+        __pyx_t_14 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_11, __pyx_k_tuple_3, NULL);
+        <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0;
+        if (unlikely(!__pyx_t_14))<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+        <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_14);
+        __pyx_t_17 = __Pyx_<span class='py_c_api'>PyObject_IsTrue</span>(__pyx_t_14);
+        <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_14); __pyx_t_14 = 0;
+        if (unlikely(__pyx_t_17 <code><</code> 0))<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      }
+    }
+    goto __pyx_L24;
+    __pyx_L8_error:;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0;
+    goto __pyx_L1_error;
+    __pyx_L24:;
+  }
+
+  /* "mar345_IO.pyx":50
+ *     with nogil:
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         f.seek(0)
+ *         output = f.read()
+ */
+  __pyx_k_tuple_3 = <span class='py_c_api'>PyTuple_New</span>(3);<span class='error_goto'> if (unlikely(!__pyx_k_tuple_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_k_tuple_3);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_3, 0, Py_None);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(Py_None);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_3, 1, Py_None);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(Py_None);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_3, 2, Py_None);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(Py_None);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_k_tuple_3));
+</pre><pre class='line' style='background-color: #FFFF57' onclick='toggleDiv("line51")'> 51:         f.seek(0)</pre>
+<pre id='line51' class='code' style='background-color: #FFFF57'>
+          /* "mar345_IO.pyx":51
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:
+ *         f.seek(0)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         output = f.read()
+ *     os.close(fd)
+ */
+          __pyx_t_5 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_v_f, __pyx_n_s__seek);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L12_error;}</span>
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+          __pyx_t_6 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_5, ((PyObject *)__pyx_k_tuple_2), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L12_error;}</span>
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+          <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+          <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+
+  /* "mar345_IO.pyx":51
+ *         pack_wordimage_c(cdata, dim1, dim0, name)
+ *     with open(name,"rb") as f:
+ *         f.seek(0)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         output = f.read()
+ *     os.close(fd)
+ */
+  __pyx_k_tuple_2 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_k_tuple_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_k_tuple_2);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_0);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_2, 0, __pyx_int_0);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_int_0);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_k_tuple_2));
+</pre><pre class='line' style='background-color: #FFFF57' onclick='toggleDiv("line52")'> 52:         output = f.read()</pre>
+<pre id='line52' class='code' style='background-color: #FFFF57'>
+          /* "mar345_IO.pyx":52
+ *     with open(name,"rb") as f:
+ *         f.seek(0)
+ *         output = f.read()             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     os.close(fd)
+ *     os.remove(name)
+ */
+          __pyx_t_6 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_v_f, __pyx_n_s__read);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L12_error;}</span>
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+          __pyx_t_5 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_6, ((PyObject *)__pyx_empty_tuple), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; __pyx_clineno = __LINE__; goto __pyx_L12_error;}</span>
+          <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+          <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+          __pyx_v_output = __pyx_t_5;
+          __pyx_t_5 = 0;
+        }
+        <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_12); __pyx_t_12 = 0;
+        <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_13); __pyx_t_13 = 0;
+        <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_14); __pyx_t_14 = 0;
+        goto __pyx_L19_try_end;
+        __pyx_L12_error:;
+        <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+        <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
+        <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+        <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+        <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+</pre><pre class='line' style='background-color: #FFFF44' onclick='toggleDiv("line53")'> 53:     os.close(fd)</pre>
+<pre id='line53' class='code' style='background-color: #FFFF44'>
+  /* "mar345_IO.pyx":53
+ *         f.seek(0)
+ *         output = f.read()
+ *     os.close(fd)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     os.remove(name)
+ *     return output
+ */
+  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_GetName</span>(__pyx_m, __pyx_n_s__os);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  __pyx_t_6 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_4, __pyx_n_s__close);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = <span class='py_c_api'>PyInt_FromLong</span>(__pyx_v_fd);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_4);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_4);
+  __pyx_t_4 = 0;
+  __pyx_t_4 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_6, ((PyObject *)__pyx_t_5), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+</pre><pre class='line' style='background-color: #FFFF44' onclick='toggleDiv("line54")'> 54:     os.remove(name)</pre>
+<pre id='line54' class='code' style='background-color: #FFFF44'>
+  /* "mar345_IO.pyx":54
+ *         output = f.read()
+ *     os.close(fd)
+ *     os.remove(name)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     return output
+ * 
+ */
+  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_GetName</span>(__pyx_m, __pyx_n_s__os);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  __pyx_t_5 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_4, __pyx_n_s__remove);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = <span class='py_c_api'>PyBytes_FromString</span>(__pyx_v_name);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(((PyObject *)__pyx_t_4));
+  __pyx_t_6 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_6, 0, ((PyObject *)__pyx_t_4));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_t_4));
+  __pyx_t_4 = 0;
+  __pyx_t_4 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_5, ((PyObject *)__pyx_t_6), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+</pre><pre class='line' style='background-color: #FFFF44' onclick='toggleDiv("line55")'> 55:     return output</pre>
+<pre id='line55' class='code' style='background-color: #FFFF44'>
+  /* "mar345_IO.pyx":55
+ *     os.close(fd)
+ *     os.remove(name)
+ *     return output             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * 
+ * @cython.boundscheck(False)
+ */
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r);
+  if (unlikely(!__pyx_v_output)) { <span class='pyx_c_api'>__Pyx_RaiseUnboundLocalError</span>("output");<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span> }
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_output);
+  __pyx_r = __pyx_v_output;
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    <span class='pyx_c_api'>__Pyx_ErrFetch</span>(&__pyx_type, &__pyx_value, &__pyx_tb);
+    <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&__pyx_pybuffernd_data.rcbuffer->pybuffer);
+  <span class='pyx_c_api'>__Pyx_ErrRestore</span>(__pyx_type, __pyx_value, __pyx_tb);}
+  <span class='pyx_c_api'>__Pyx_AddTraceback</span>("mar345_IO.compress_pck", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  goto __pyx_L2;
+  __pyx_L0:;
+  <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&__pyx_pybuffernd_data.rcbuffer->pybuffer);
+  __pyx_L2:;
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_data);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_fname);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_f);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_output);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGIVEREF</span></span>(__pyx_r);
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannyFinishContext</span></span>();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static PyObject *__pyx_pw_9mar345_IO_3uncompress_pck(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static char __pyx_doc_9mar345_IO_2uncompress_pck[] = "\n    Unpack a mar345 compressed image\n    \n    @param raw: input string (bytes in python3)\n    @param dim1,dim2: optional parameters size\n    @param overflowPix: optional parameters: number of overflowed pixels \n    \n    @return : ndarray of 2D with the right size\n    ";
+static PyMethodDef __pyx_mdef_9mar345_IO_3uncompress_pck = {<span class='pyx_macro_api'>__Pyx_NAMESTR</span>("uncompress_pck"), (PyCFunction)__pyx_pw_9mar345_IO_3uncompress_pck, METH_VARARGS|METH_KEYWORDS, <span class='pyx_macro_api'>__Pyx_DOCSTR</span>(__pyx_doc_9mar345_IO_2uncompress_pck)};
+static PyObject *__pyx_pw_9mar345_IO_3uncompress_pck(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_raw = 0;
+  PyObject *__pyx_v_dim1 = 0;
+  PyObject *__pyx_v_dim2 = 0;
+  PyObject *__pyx_v_overflowPix = 0;
+  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__raw,&__pyx_n_s__dim1,&__pyx_n_s__dim2,&__pyx_n_s__overflowPix,0};
+  PyObject *__pyx_r = 0;
+  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannySetupContext</span></span>("uncompress_pck (wrapper)", 0);
+  __pyx_self = __pyx_self;
+  {
+    PyObject* values[4] = {0,0,0,0};
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line56")'> 56: </pre>
+<pre id='line56' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line57")'> 57: @cython.boundscheck(False)</pre>
+<pre id='line57' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF18' onclick='toggleDiv("line58")'> 58: def uncompress_pck(raw not None, dim1=None, dim2=None, overflowPix=None):</pre>
+<pre id='line58' class='code' style='background-color: #FFFF18'>
+    /* "mar345_IO.pyx":58
+ * 
+ * @cython.boundscheck(False)
+ * def uncompress_pck(raw not None, dim1=None, dim2=None, overflowPix=None):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     """
+ *     Unpack a mar345 compressed image
+ */
+    values[1] = ((PyObject *)Py_None);
+    values[2] = ((PyObject *)Py_None);
+    values[3] = ((PyObject *)Py_None);
+    if (unlikely(__pyx_kwds)) {
+      Py_ssize_t kw_args;
+      const Py_ssize_t pos_args = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);
+      switch (pos_args) {
+        case  4: values[3] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 3);
+        case  3: values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2);
+        case  2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1);
+        case  1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0);
+        case  0: break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+      kw_args = <span class='py_c_api'>PyDict_Size</span>(__pyx_kwds);
+      switch (pos_args) {
+        case  0:
+        values[0] = <span class='py_c_api'>PyDict_GetItem</span>(__pyx_kwds, __pyx_n_s__raw);
+        if (likely(values[0])) kw_args--;
+        else goto __pyx_L5_argtuple_error;
+        case  1:
+        if (kw_args > 0) {
+          PyObject* value = <span class='py_c_api'>PyDict_GetItem</span>(__pyx_kwds, __pyx_n_s__dim1);
+          if (value) { values[1] = value; kw_args--; }
+        }
+        case  2:
+        if (kw_args > 0) {
+          PyObject* value = <span class='py_c_api'>PyDict_GetItem</span>(__pyx_kwds, __pyx_n_s__dim2);
+          if (value) { values[2] = value; kw_args--; }
+        }
+        case  3:
+        if (kw_args > 0) {
+          PyObject* value = <span class='py_c_api'>PyDict_GetItem</span>(__pyx_kwds, __pyx_n_s__overflowPix);
+          if (value) { values[3] = value; kw_args--; }
+        }
+      }
+      if (unlikely(kw_args > 0)) {
+        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "uncompress_pck") <code><</code> 0))<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}</span>
+      }
+    } else {
+      switch (<span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args)) {
+        case  4: values[3] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 3);
+        case  3: values[2] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 2);
+        case  2: values[1] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 1);
+        case  1: values[0] = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_args, 0);
+        break;
+        default: goto __pyx_L5_argtuple_error;
+      }
+    }
+    __pyx_v_raw = values[0];
+    __pyx_v_dim1 = values[1];
+    __pyx_v_dim2 = values[2];
+    __pyx_v_overflowPix = values[3];
+  }
+  goto __pyx_L4_argument_unpacking_done;
+  __pyx_L5_argtuple_error:;
+  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>("uncompress_pck", 0, 1, 4, <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args));<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L3_error;}</span>
+  __pyx_L3_error:;
+  <span class='pyx_c_api'>__Pyx_AddTraceback</span>("mar345_IO.uncompress_pck", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannyFinishContext</span></span>();
+  return NULL;
+  __pyx_L4_argument_unpacking_done:;
+  if (unlikely(((PyObject *)__pyx_v_raw) == Py_None)) {
+    <span class='py_c_api'>PyErr_Format</span>(PyExc_TypeError, "Argument 'raw' must not be None");<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  }
+  __pyx_r = __pyx_pf_9mar345_IO_2uncompress_pck(__pyx_self, __pyx_v_raw, __pyx_v_dim1, __pyx_v_dim2, __pyx_v_overflowPix);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __pyx_r = NULL;
+  __pyx_L0:;
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannyFinishContext</span></span>();
+  return __pyx_r;
+}
+
+static PyObject *__pyx_pf_9mar345_IO_2uncompress_pck(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_raw, PyObject *__pyx_v_dim1, PyObject *__pyx_v_dim2, PyObject *__pyx_v_overflowPix) {
+  int __pyx_v_cdim1;
+  int __pyx_v_cdim2;
+  int __pyx_v_chigh;
+  PyObject *__pyx_v_end = NULL;
+  PyObject *__pyx_v_key1 = NULL;
+  PyObject *__pyx_v_key2 = NULL;
+  PyObject *__pyx_v_start = NULL;
+  PyObject *__pyx_v_key = NULL;
+  PyObject *__pyx_v_sizes = NULL;
+  PyObject *__pyx_v_hiLine = NULL;
+  PyObject *__pyx_v_word = NULL;
+  PyArrayObject *__pyx_v_data = 0;
+  char *__pyx_v_instream;
+  __Pyx_LocalBuf_ND __pyx_pybuffernd_data;
+  __Pyx_Buffer __pyx_pybuffer_data;
+  PyObject *__pyx_r = NULL;
+  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannySetupContext</span></span>("uncompress_pck", 0);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_raw);
+  __pyx_pybuffer_data.pybuffer.buf = NULL;
+  __pyx_pybuffer_data.refcount = 0;
+  __pyx_pybuffernd_data.data = NULL;
+  __pyx_pybuffernd_data.rcbuffer = &__pyx_pybuffer_data;
+
+  /* "mar345_IO.pyx":58
+ * 
+ * @cython.boundscheck(False)
+ * def uncompress_pck(raw not None, dim1=None, dim2=None, overflowPix=None):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     """
+ *     Unpack a mar345 compressed image
+ */
+  __pyx_k_tuple_34 = <span class='py_c_api'>PyTuple_New</span>(17);<span class='error_goto'> if (unlikely(!__pyx_k_tuple_34)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_k_tuple_34);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__raw));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 0, ((PyObject *)__pyx_n_s__raw));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__raw));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__dim1));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 1, ((PyObject *)__pyx_n_s__dim1));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__dim1));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__dim2));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 2, ((PyObject *)__pyx_n_s__dim2));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__dim2));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__overflowPix));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 3, ((PyObject *)__pyx_n_s__overflowPix));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__overflowPix));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__cdim1));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 4, ((PyObject *)__pyx_n_s__cdim1));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__cdim1));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__cdim2));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 5, ((PyObject *)__pyx_n_s__cdim2));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__cdim2));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__chigh));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 6, ((PyObject *)__pyx_n_s__chigh));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__chigh));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__end));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 7, ((PyObject *)__pyx_n_s__end));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__end));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__key1));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 8, ((PyObject *)__pyx_n_s__key1));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__key1));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__key2));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 9, ((PyObject *)__pyx_n_s__key2));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__key2));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__start));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 10, ((PyObject *)__pyx_n_s__start));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__start));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__key));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 11, ((PyObject *)__pyx_n_s__key));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__key));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__sizes));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 12, ((PyObject *)__pyx_n_s__sizes));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__sizes));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__hiLine));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 13, ((PyObject *)__pyx_n_s__hiLine));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__hiLine));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__word));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 14, ((PyObject *)__pyx_n_s__word));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__word));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__data));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 15, ((PyObject *)__pyx_n_s__data));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__data));
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__instream));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_34, 16, ((PyObject *)__pyx_n_s__instream));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__instream));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_k_tuple_34));
+
+  /* "mar345_IO.pyx":58
+ * 
+ * @cython.boundscheck(False)
+ * def uncompress_pck(raw not None, dim1=None, dim2=None, overflowPix=None):             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     """
+ *     Unpack a mar345 compressed image
+ */
+  __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_9mar345_IO_3uncompress_pck, NULL, __pyx_n_s__mar345_IO);<span class='error_goto'> if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_1);
+  if (<span class='py_c_api'>PyObject_SetAttr</span>(__pyx_m, __pyx_n_s__uncompress_pck, __pyx_t_1) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line59")'> 59:     """</pre>
+<pre id='line59' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line60")'> 60:     Unpack a mar345 compressed image</pre>
+<pre id='line60' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line61")'> 61: </pre>
+<pre id='line61' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line62")'> 62:     @param raw: input string (bytes in python3)</pre>
+<pre id='line62' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line63")'> 63:     @param dim1,dim2: optional parameters size</pre>
+<pre id='line63' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line64")'> 64:     @param overflowPix: optional parameters: number of overflowed pixels</pre>
+<pre id='line64' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line65")'> 65: </pre>
+<pre id='line65' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line66")'> 66:     @return : ndarray of 2D with the right size</pre>
+<pre id='line66' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line67")'> 67:     """</pre>
+<pre id='line67' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line68")'> 68:     cdef int cdim1, cdim2, chigh</pre>
+<pre id='line68' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFFe7' onclick='toggleDiv("line69")'> 69:     end=None</pre>
+<pre id='line69' class='code' style='background-color: #FFFFe7'>
+  /* "mar345_IO.pyx":69
+ *     """
+ *     cdef int cdim1, cdim2, chigh
+ *     end=None             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     if dim1 is None or dim2 is None:
+ *         key1 = "CCP4 packed image, X: "
+ */
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);
+  __pyx_v_end = Py_None;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line70")'> 70:     if dim1 is None or dim2 is None:</pre>
+<pre id='line70' class='code' style='background-color: #FFFFff'>
+  /* "mar345_IO.pyx":70
+ *     cdef int cdim1, cdim2, chigh
+ *     end=None
+ *     if dim1 is None or dim2 is None:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         key1 = "CCP4 packed image, X: "
+ *         key2 = "CCP4 packed image V2, X: "
+ */
+  __pyx_t_1 = (__pyx_v_dim1 == Py_None);
+  if (!__pyx_t_1) {
+    __pyx_t_2 = (__pyx_v_dim2 == Py_None);
+    __pyx_t_3 = __pyx_t_2;
+  } else {
+    __pyx_t_3 = __pyx_t_1;
+  }
+  if (__pyx_t_3) {
+</pre><pre class='line' style='background-color: #FFFFe7' onclick='toggleDiv("line71")'> 71:         key1 = "CCP4 packed image, X: "</pre>
+<pre id='line71' class='code' style='background-color: #FFFFe7'>
+    /* "mar345_IO.pyx":71
+ *     end=None
+ *     if dim1 is None or dim2 is None:
+ *         key1 = "CCP4 packed image, X: "             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         key2 = "CCP4 packed image V2, X: "
+ *         start = raw.find(key2)
+ */
+    <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_kp_s_4));
+    __pyx_v_key1 = ((PyObject *)__pyx_kp_s_4);
+</pre><pre class='line' style='background-color: #FFFFe7' onclick='toggleDiv("line72")'> 72:         key2 = "CCP4 packed image V2, X: "</pre>
+<pre id='line72' class='code' style='background-color: #FFFFe7'>
+    /* "mar345_IO.pyx":72
+ *     if dim1 is None or dim2 is None:
+ *         key1 = "CCP4 packed image, X: "
+ *         key2 = "CCP4 packed image V2, X: "             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         start = raw.find(key2)
+ *         key = key2
+ */
+    <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_kp_s_5));
+    __pyx_v_key2 = ((PyObject *)__pyx_kp_s_5);
+</pre><pre class='line' style='background-color: #FFFF57' onclick='toggleDiv("line73")'> 73:         start = raw.find(key2)</pre>
+<pre id='line73' class='code' style='background-color: #FFFF57'>
+    /* "mar345_IO.pyx":73
+ *         key1 = "CCP4 packed image, X: "
+ *         key2 = "CCP4 packed image V2, X: "
+ *         start = raw.find(key2)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         key = key2
+ *         if start == -1:
+ */
+    __pyx_t_4 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_v_raw, __pyx_n_s__find);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_key2);
+    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_v_key2);
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_v_key2);
+    __pyx_t_6 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_4, ((PyObject *)__pyx_t_5), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+    __pyx_v_start = __pyx_t_6;
+    __pyx_t_6 = 0;
+</pre><pre class='line' style='background-color: #FFFFe7' onclick='toggleDiv("line74")'> 74:         key = key2</pre>
+<pre id='line74' class='code' style='background-color: #FFFFe7'>
+    /* "mar345_IO.pyx":74
+ *         key2 = "CCP4 packed image V2, X: "
+ *         start = raw.find(key2)
+ *         key = key2             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         if start == -1:
+ *             start = raw.find(key1)
+ */
+    <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_key2);
+    __pyx_v_key = __pyx_v_key2;
+</pre><pre class='line' style='background-color: #FFFF79' onclick='toggleDiv("line75")'> 75:         if start == -1:</pre>
+<pre id='line75' class='code' style='background-color: #FFFF79'>
+    /* "mar345_IO.pyx":75
+ *         start = raw.find(key2)
+ *         key = key2
+ *         if start == -1:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *             start = raw.find(key1)
+ *             key = key1
+ */
+    __pyx_t_6 = <span class='py_c_api'>PyObject_RichCompare</span>(__pyx_v_start, __pyx_int_neg_1, Py_EQ);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+    __pyx_t_3 = __Pyx_<span class='py_c_api'>PyObject_IsTrue</span>(__pyx_t_6);<span class='error_goto'> if (unlikely(__pyx_t_3 <code><</code> 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+    if (__pyx_t_3) {
+</pre><pre class='line' style='background-color: #FFFF55' onclick='toggleDiv("line76")'> 76:             start = raw.find(key1)</pre>
+<pre id='line76' class='code' style='background-color: #FFFF55'>
+      /* "mar345_IO.pyx":76
+ *         key = key2
+ *         if start == -1:
+ *             start = raw.find(key1)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *             key = key1
+ *         start = raw.index(key) + len(key)
+ */
+      __pyx_t_6 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_v_raw, __pyx_n_s__find);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+      __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+      <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_key1);
+      <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_v_key1);
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_v_key1);
+      __pyx_t_4 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_6, ((PyObject *)__pyx_t_5), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+      <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_start);
+      __pyx_v_start = __pyx_t_4;
+      __pyx_t_4 = 0;
+</pre><pre class='line' style='background-color: #FFFFd4' onclick='toggleDiv("line77")'> 77:             key = key1</pre>
+<pre id='line77' class='code' style='background-color: #FFFFd4'>
+      /* "mar345_IO.pyx":77
+ *         if start == -1:
+ *             start = raw.find(key1)
+ *             key = key1             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         start = raw.index(key) + len(key)
+ *         sizes = raw[start:start + 13]
+ */
+      <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_key1);
+      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_key);
+      __pyx_v_key = __pyx_v_key1;
+      goto __pyx_L4;
+    }
+    __pyx_L4:;
+</pre><pre class='line' style='background-color: #FFFF36' onclick='toggleDiv("line78")'> 78:         start = raw.index(key) + len(key)</pre>
+<pre id='line78' class='code' style='background-color: #FFFF36'>
+    /* "mar345_IO.pyx":78
+ *             start = raw.find(key1)
+ *             key = key1
+ *         start = raw.index(key) + len(key)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         sizes = raw[start:start + 13]
+ *         cdim1 = <code><</code> int > int(sizes[:4])
+ */
+    __pyx_t_4 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_v_raw, __pyx_n_s__index);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_key);
+    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_v_key);
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_v_key);
+    __pyx_t_6 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_4, ((PyObject *)__pyx_t_5), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+    __pyx_t_7 = <span class='py_c_api'>PyObject_Length</span>(__pyx_v_key);<span class='error_goto'> if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_t_5 = <span class='py_c_api'>PyInt_FromSsize_t</span>(__pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    __pyx_t_4 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_t_6, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_start);
+    __pyx_v_start = __pyx_t_4;
+    __pyx_t_4 = 0;
+</pre><pre class='line' style='background-color: #FFFF3e' onclick='toggleDiv("line79")'> 79:         sizes = raw[start:start + 13]</pre>
+<pre id='line79' class='code' style='background-color: #FFFF3e'>
+    /* "mar345_IO.pyx":79
+ *             key = key1
+ *         start = raw.index(key) + len(key)
+ *         sizes = raw[start:start + 13]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         cdim1 = <code><</code> int > int(sizes[:4])
+ *         cdim2 = <code><</code> int > int(sizes[-4:])
+ */
+    __pyx_t_7 = __Pyx_<span class='py_c_api'>PyIndex_AsSsize_t</span>(__pyx_v_start);<span class='error_goto'> if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_t_4 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_v_start, __pyx_int_13);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    __pyx_t_8 = __Pyx_<span class='py_c_api'>PyIndex_AsSsize_t</span>(__pyx_t_4);<span class='error_goto'> if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_t_4 = __Pyx_<span class='py_c_api'>PySequence_GetSlice</span>(__pyx_v_raw, __pyx_t_7, __pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    __pyx_v_sizes = __pyx_t_4;
+    __pyx_t_4 = 0;
+</pre><pre class='line' style='background-color: #FFFF43' onclick='toggleDiv("line80")'> 80:         cdim1 = < int > int(sizes[:4])</pre>
+<pre id='line80' class='code' style='background-color: #FFFF43'>
+    /* "mar345_IO.pyx":80
+ *         start = raw.index(key) + len(key)
+ *         sizes = raw[start:start + 13]
+ *         cdim1 = <code><</code> int > int(sizes[:4])             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         cdim2 = <code><</code> int > int(sizes[-4:])
+ *     else:
+ */
+    __pyx_t_4 = __Pyx_<span class='py_c_api'>PySequence_GetSlice</span>(__pyx_v_sizes, 0, 4);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_4);
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_4 = <span class='py_c_api'>PyObject_Call</span>(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_5), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+    __pyx_t_9 = __Pyx_<span class='py_c_api'>PyInt_AsInt</span>(__pyx_t_4);<span class='error_goto'> if (unlikely((__pyx_t_9 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_v_cdim1 = ((int)__pyx_t_9);
+</pre><pre class='line' style='background-color: #FFFF43' onclick='toggleDiv("line81")'> 81:         cdim2 = < int > int(sizes[-4:])</pre>
+<pre id='line81' class='code' style='background-color: #FFFF43'>
+    /* "mar345_IO.pyx":81
+ *         sizes = raw[start:start + 13]
+ *         cdim1 = <code><</code> int > int(sizes[:4])
+ *         cdim2 = <code><</code> int > int(sizes[-4:])             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     else:
+ *         cdim1 = <code><</code> int > dim1
+ */
+    __pyx_t_4 = __Pyx_<span class='py_c_api'>PySequence_GetSlice</span>(__pyx_v_sizes, -4, PY_SSIZE_T_MAX);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_4);
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_4);
+    __pyx_t_4 = 0;
+    __pyx_t_4 = <span class='py_c_api'>PyObject_Call</span>(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_5), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+    __pyx_t_9 = __Pyx_<span class='py_c_api'>PyInt_AsInt</span>(__pyx_t_4);<span class='error_goto'> if (unlikely((__pyx_t_9 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+    __pyx_v_cdim2 = ((int)__pyx_t_9);
+    goto __pyx_L3;
+  }
+  /*else*/ {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line82")'> 82:     else:</pre>
+<pre id='line82' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF7f' onclick='toggleDiv("line83")'> 83:         cdim1 = < int > dim1</pre>
+<pre id='line83' class='code' style='background-color: #FFFF7f'>
+    /* "mar345_IO.pyx":83
+ *         cdim2 = <code><</code> int > int(sizes[-4:])
+ *     else:
+ *         cdim1 = <code><</code> int > dim1             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         cdim2 = <code><</code> int > dim2
+ *     if overflowPix is None:
+ */
+    __pyx_t_9 = __Pyx_<span class='py_c_api'>PyInt_AsInt</span>(__pyx_v_dim1);<span class='error_goto'> if (unlikely((__pyx_t_9 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_v_cdim1 = ((int)__pyx_t_9);
+</pre><pre class='line' style='background-color: #FFFF7f' onclick='toggleDiv("line84")'> 84:         cdim2 = < int > dim2</pre>
+<pre id='line84' class='code' style='background-color: #FFFF7f'>
+    /* "mar345_IO.pyx":84
+ *     else:
+ *         cdim1 = <code><</code> int > dim1
+ *         cdim2 = <code><</code> int > dim2             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     if overflowPix is None:
+ *         end = raw.find("END OF HEADER")
+ */
+    __pyx_t_9 = __Pyx_<span class='py_c_api'>PyInt_AsInt</span>(__pyx_v_dim2);<span class='error_goto'> if (unlikely((__pyx_t_9 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_v_cdim2 = ((int)__pyx_t_9);
+  }
+  __pyx_L3:;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line85")'> 85:     if overflowPix is None:</pre>
+<pre id='line85' class='code' style='background-color: #FFFFff'>
+  /* "mar345_IO.pyx":85
+ *         cdim1 = <code><</code> int > dim1
+ *         cdim2 = <code><</code> int > dim2
+ *     if overflowPix is None:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         end = raw.find("END OF HEADER")
+ *         start = raw[:end].find("HIGH")
+ */
+  __pyx_t_3 = (__pyx_v_overflowPix == Py_None);
+  if (__pyx_t_3) {
+</pre><pre class='line' style='background-color: #FFFF57' onclick='toggleDiv("line86")'> 86:         end = raw.find("END OF HEADER")</pre>
+<pre id='line86' class='code' style='background-color: #FFFF57'>
+    /* "mar345_IO.pyx":86
+ *         cdim2 = <code><</code> int > dim2
+ *     if overflowPix is None:
+ *         end = raw.find("END OF HEADER")             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         start = raw[:end].find("HIGH")
+ *         hiLine = raw[start:end]
+ */
+    __pyx_t_4 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_v_raw, __pyx_n_s__find);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    __pyx_t_5 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_4, ((PyObject *)__pyx_k_tuple_7), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_end);
+    __pyx_v_end = __pyx_t_5;
+    __pyx_t_5 = 0;
+
+  /* "mar345_IO.pyx":86
+ *         cdim2 = <code><</code> int > dim2
+ *     if overflowPix is None:
+ *         end = raw.find("END OF HEADER")             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         start = raw[:end].find("HIGH")
+ *         hiLine = raw[start:end]
+ */
+  __pyx_k_tuple_7 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_k_tuple_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_k_tuple_7);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_kp_s_6));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_7, 0, ((PyObject *)__pyx_kp_s_6));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_kp_s_6));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_k_tuple_7));
+</pre><pre class='line' style='background-color: #FFFF38' onclick='toggleDiv("line87")'> 87:         start = raw[:end].find("HIGH")</pre>
+<pre id='line87' class='code' style='background-color: #FFFF38'>
+    /* "mar345_IO.pyx":87
+ *     if overflowPix is None:
+ *         end = raw.find("END OF HEADER")
+ *         start = raw[:end].find("HIGH")             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         hiLine = raw[start:end]
+ *         hiLine = hiLine.split("\n")[0]
+ */
+    __pyx_t_8 = __Pyx_<span class='py_c_api'>PyIndex_AsSsize_t</span>(__pyx_v_end);<span class='error_goto'> if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_t_5 = __Pyx_<span class='py_c_api'>PySequence_GetSlice</span>(__pyx_v_raw, 0, __pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    __pyx_t_4 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_5, __pyx_n_s__find);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_4, ((PyObject *)__pyx_k_tuple_8), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+    <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_start);
+    __pyx_v_start = __pyx_t_5;
+    __pyx_t_5 = 0;
+
+  /* "mar345_IO.pyx":87
+ *     if overflowPix is None:
+ *         end = raw.find("END OF HEADER")
+ *         start = raw[:end].find("HIGH")             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         hiLine = raw[start:end]
+ *         hiLine = hiLine.split("\n")[0]
+ */
+  __pyx_k_tuple_8 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_k_tuple_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_k_tuple_8);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_n_s__HIGH));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_8, 0, ((PyObject *)__pyx_n_s__HIGH));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_n_s__HIGH));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_k_tuple_8));
+</pre><pre class='line' style='background-color: #FFFF48' onclick='toggleDiv("line88")'> 88:         hiLine = raw[start:end]</pre>
+<pre id='line88' class='code' style='background-color: #FFFF48'>
+    /* "mar345_IO.pyx":88
+ *         end = raw.find("END OF HEADER")
+ *         start = raw[:end].find("HIGH")
+ *         hiLine = raw[start:end]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         hiLine = hiLine.split("\n")[0]
+ *         word = hiLine.split()
+ */
+    __pyx_t_8 = __Pyx_<span class='py_c_api'>PyIndex_AsSsize_t</span>(__pyx_v_start);<span class='error_goto'> if (unlikely((__pyx_t_8 == (Py_ssize_t)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_t_7 = __Pyx_<span class='py_c_api'>PyIndex_AsSsize_t</span>(__pyx_v_end);<span class='error_goto'> if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_t_5 = __Pyx_<span class='py_c_api'>PySequence_GetSlice</span>(__pyx_v_raw, __pyx_t_8, __pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    __pyx_v_hiLine = __pyx_t_5;
+    __pyx_t_5 = 0;
+</pre><pre class='line' style='background-color: #FFFF4f' onclick='toggleDiv("line89")'> 89:         hiLine = hiLine.split("\n")[0]</pre>
+<pre id='line89' class='code' style='background-color: #FFFF4f'>
+    /* "mar345_IO.pyx":89
+ *         start = raw[:end].find("HIGH")
+ *         hiLine = raw[start:end]
+ *         hiLine = hiLine.split("\n")[0]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         word = hiLine.split()
+ *         if len(word) > 1:
+ */
+    __pyx_t_5 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_v_hiLine, __pyx_n_s__split);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    __pyx_t_4 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_5, ((PyObject *)__pyx_k_tuple_10), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_GetItemInt</span>(__pyx_t_4, 0, sizeof(long), PyInt_FromLong);<span class='error_goto'> if (!__pyx_t_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_hiLine);
+    __pyx_v_hiLine = __pyx_t_5;
+    __pyx_t_5 = 0;
+
+  /* "mar345_IO.pyx":89
+ *         start = raw[:end].find("HIGH")
+ *         hiLine = raw[start:end]
+ *         hiLine = hiLine.split("\n")[0]             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         word = hiLine.split()
+ *         if len(word) > 1:
+ */
+  __pyx_k_tuple_10 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_k_tuple_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_k_tuple_10);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_kp_s_9));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_10, 0, ((PyObject *)__pyx_kp_s_9));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_kp_s_9));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_k_tuple_10));
+</pre><pre class='line' style='background-color: #FFFF79' onclick='toggleDiv("line90")'> 90:         word = hiLine.split()</pre>
+<pre id='line90' class='code' style='background-color: #FFFF79'>
+    /* "mar345_IO.pyx":90
+ *         hiLine = raw[start:end]
+ *         hiLine = hiLine.split("\n")[0]
+ *         word = hiLine.split()             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         if len(word) > 1:
+ *             chigh = int(word[1])
+ */
+    __pyx_t_5 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_v_hiLine, __pyx_n_s__split);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+    __pyx_t_4 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_5, ((PyObject *)__pyx_empty_tuple), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+    __pyx_v_word = __pyx_t_4;
+    __pyx_t_4 = 0;
+</pre><pre class='line' style='background-color: #FFFFaa' onclick='toggleDiv("line91")'> 91:         if len(word) > 1:</pre>
+<pre id='line91' class='code' style='background-color: #FFFFaa'>
+    /* "mar345_IO.pyx":91
+ *         hiLine = hiLine.split("\n")[0]
+ *         word = hiLine.split()
+ *         if len(word) > 1:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *             chigh = int(word[1])
+ *         else:
+ */
+    __pyx_t_7 = <span class='py_c_api'>PyObject_Length</span>(__pyx_v_word);<span class='error_goto'> if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_t_3 = (__pyx_t_7 > 1);
+    if (__pyx_t_3) {
+</pre><pre class='line' style='background-color: #FFFF48' onclick='toggleDiv("line92")'> 92:             chigh = int(word[1])</pre>
+<pre id='line92' class='code' style='background-color: #FFFF48'>
+      /* "mar345_IO.pyx":92
+ *         word = hiLine.split()
+ *         if len(word) > 1:
+ *             chigh = int(word[1])             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         else:
+ *             print("Error while looking for overflowed pixels in line %s" % hiLine.strip())
+ */
+      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_GetItemInt</span>(__pyx_v_word, 1, sizeof(long), PyInt_FromLong);<span class='error_goto'> if (!__pyx_t_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+      __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+      <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_4);
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_4);
+      __pyx_t_4 = 0;
+      __pyx_t_4 = <span class='py_c_api'>PyObject_Call</span>(((PyObject *)((PyObject*)(&PyInt_Type))), ((PyObject *)__pyx_t_5), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+      <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_5)); __pyx_t_5 = 0;
+      __pyx_t_9 = __Pyx_<span class='py_c_api'>PyInt_AsInt</span>(__pyx_t_4);<span class='error_goto'> if (unlikely((__pyx_t_9 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 92; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_v_chigh = __pyx_t_9;
+      goto __pyx_L6;
+    }
+    /*else*/ {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line93")'> 93:         else:</pre>
+<pre id='line93' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF55' onclick='toggleDiv("line94")'> 94:             print("Error while looking for overflowed pixels in line %s" % hiLine.strip())</pre>
+<pre id='line94' class='code' style='background-color: #FFFF55'>
+      /* "mar345_IO.pyx":94
+ *             chigh = int(word[1])
+ *         else:
+ *             print("Error while looking for overflowed pixels in line %s" % hiLine.strip())             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *             chigh = 0
+ *     else:
+ */
+      __pyx_t_4 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_v_hiLine, __pyx_n_s__strip);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+      __pyx_t_5 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_4, ((PyObject *)__pyx_empty_tuple), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_4 = <span class='py_c_api'>PyNumber_Remainder</span>(((PyObject *)__pyx_kp_s_11), __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(((PyObject *)__pyx_t_4));
+      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+      if (<span class='pyx_c_api'>__Pyx_PrintOne</span>(0, ((PyObject *)__pyx_t_4)) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+      <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_4)); __pyx_t_4 = 0;
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line95")'> 95:             chigh = 0</pre>
+<pre id='line95' class='code' style='background-color: #FFFFff'>
+      /* "mar345_IO.pyx":95
+ *         else:
+ *             print("Error while looking for overflowed pixels in line %s" % hiLine.strip())
+ *             chigh = 0             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     else:
+ *         chigh = <code><</code> int > overflowPix
+ */
+      __pyx_v_chigh = 0;
+    }
+    __pyx_L6:;
+    goto __pyx_L5;
+  }
+  /*else*/ {
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line96")'> 96:     else:</pre>
+<pre id='line96' class='code' style='background-color: #FFFFff'></pre><pre class='line' style='background-color: #FFFF7f' onclick='toggleDiv("line97")'> 97:         chigh = < int > overflowPix</pre>
+<pre id='line97' class='code' style='background-color: #FFFF7f'>
+    /* "mar345_IO.pyx":97
+ *             chigh = 0
+ *     else:
+ *         chigh = <code><</code> int > overflowPix             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)
+ *     if not end:
+ */
+    __pyx_t_9 = __Pyx_<span class='py_c_api'>PyInt_AsInt</span>(__pyx_v_overflowPix);<span class='error_goto'> if (unlikely((__pyx_t_9 == (int)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    __pyx_v_chigh = ((int)__pyx_t_9);
+  }
+  __pyx_L5:;
+</pre><pre class='line' style='background-color: #FFFF22' onclick='toggleDiv("line98")'> 98:     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)</pre>
+<pre id='line98' class='code' style='background-color: #FFFF22'>
+  /* "mar345_IO.pyx":98
+ *     else:
+ *         chigh = <code><</code> int > overflowPix
+ *     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     if not end:
+ *         end = raw.find("END OF HEADER")
+ */
+  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_GetName</span>(__pyx_m, __pyx_n_s__numpy);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  __pyx_t_5 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_4, __pyx_n_s__zeros);<span class='error_goto'> if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_5);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+  __pyx_t_4 = <span class='py_c_api'>PyInt_FromLong</span>(__pyx_v_cdim2);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  __pyx_t_6 = <span class='py_c_api'>PyInt_FromLong</span>(__pyx_v_cdim1);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+  __pyx_t_10 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_10);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 0, __pyx_t_4);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_4);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 1, __pyx_t_6);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(__pyx_t_6);
+  __pyx_t_4 = 0;
+  __pyx_t_6 = 0;
+  __pyx_t_6 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_6);
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_6, 0, ((PyObject *)__pyx_t_10));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_t_10));
+  __pyx_t_10 = 0;
+  __pyx_t_10 = <span class='py_c_api'>PyDict_New</span>();<span class='error_goto'> if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(((PyObject *)__pyx_t_10));
+  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_GetName</span>(__pyx_m, __pyx_n_s__numpy);<span class='error_goto'> if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_4);
+  __pyx_t_11 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_4, __pyx_n_s__uint32);<span class='error_goto'> if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_11);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
+  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_t_10, ((PyObject *)__pyx_n_s__dtype), __pyx_t_11) <code><</code> 0)<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0;
+  __pyx_t_11 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_5, ((PyObject *)__pyx_t_6), ((PyObject *)__pyx_t_10));<span class='error_goto'> if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_11);
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_6)); __pyx_t_6 = 0;
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(((PyObject *)__pyx_t_10)); __pyx_t_10 = 0;
+  if (!(likely(((__pyx_t_11) == Py_None) || likely(<span class='pyx_c_api'>__Pyx_TypeTest</span>(__pyx_t_11, __pyx_ptype_5numpy_ndarray)))))<span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  __pyx_t_12 = ((PyArrayObject *)__pyx_t_11);
+  {
+    __Pyx_BufFmt_StackElem __pyx_stack[1];
+    if (unlikely(<span class='pyx_c_api'>__Pyx_GetBufferAndValidate</span>(&__pyx_pybuffernd_data.rcbuffer->pybuffer, (PyObject*)__pyx_t_12, &__Pyx_TypeInfo_nn___pyx_t_5numpy_uint32_t, PyBUF_FORMAT| PyBUF_STRIDES, 2, 0, __pyx_stack) == -1)) {
+      __pyx_v_data = ((PyArrayObject *)Py_None); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); __pyx_pybuffernd_data.rcbuffer->pybuffer.buf = NULL;
+     <span class='error_goto'> {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    } else {__pyx_pybuffernd_data.diminfo[0].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[0]; __pyx_pybuffernd_data.diminfo[0].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[0]; __pyx_pybuffernd_data.diminfo[1].strides = __pyx_pybuffernd_data.rcbuffer->pybuffer.strides[1]; __pyx_pybuffernd_data.diminfo[1].shape = __pyx_pybuffernd_data.rcbuffer->pybuffer.shape[1];
+    }
+  }
+  __pyx_t_12 = 0;
+  __pyx_v_data = ((PyArrayObject *)__pyx_t_11);
+  __pyx_t_11 = 0;
+</pre><pre class='line' style='background-color: #FFFFaa' onclick='toggleDiv("line99")'> 99:     if not end:</pre>
+<pre id='line99' class='code' style='background-color: #FFFFaa'>
+  /* "mar345_IO.pyx":99
+ *         chigh = <code><</code> int > overflowPix
+ *     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)
+ *     if not end:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         end = raw.find("END OF HEADER")
+ *     if end !=-1:
+ */
+  __pyx_t_3 = __Pyx_<span class='py_c_api'>PyObject_IsTrue</span>(__pyx_v_end);<span class='error_goto'> if (unlikely(__pyx_t_3 <code><</code> 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  __pyx_t_1 = (!__pyx_t_3);
+  if (__pyx_t_1) {
+</pre><pre class='line' style='background-color: #FFFF57' onclick='toggleDiv("line100")'> 100:         end = raw.find("END OF HEADER")</pre>
+<pre id='line100' class='code' style='background-color: #FFFF57'>
+    /* "mar345_IO.pyx":100
+ *     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)
+ *     if not end:
+ *         end = raw.find("END OF HEADER")             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     if end !=-1:
+ *         raw = raw[end+14:].lstrip()
+ */
+    __pyx_t_11 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_v_raw, __pyx_n_s__find);<span class='error_goto'> if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_11);
+    __pyx_t_10 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_11, ((PyObject *)__pyx_k_tuple_12), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_10);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_end);
+    __pyx_v_end = __pyx_t_10;
+    __pyx_t_10 = 0;
+    goto __pyx_L7;
+  }
+  __pyx_L7:;
+
+  /* "mar345_IO.pyx":100
+ *     cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)
+ *     if not end:
+ *         end = raw.find("END OF HEADER")             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     if end !=-1:
+ *         raw = raw[end+14:].lstrip()
+ */
+  __pyx_k_tuple_12 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_k_tuple_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_k_tuple_12);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_kp_s_6));
+  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_k_tuple_12, 0, ((PyObject *)__pyx_kp_s_6));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_kp_s_6));
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GIVEREF</span></span>(((PyObject *)__pyx_k_tuple_12));
+</pre><pre class='line' style='background-color: #FFFF79' onclick='toggleDiv("line101")'> 101:     if end !=-1:</pre>
+<pre id='line101' class='code' style='background-color: #FFFF79'>
+  /* "mar345_IO.pyx":101
+ *     if not end:
+ *         end = raw.find("END OF HEADER")
+ *     if end !=-1:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         raw = raw[end+14:].lstrip()
+ *     cdef char* instream = <code><</code>char*> raw
+ */
+  __pyx_t_10 = <span class='py_c_api'>PyObject_RichCompare</span>(__pyx_v_end, __pyx_int_neg_1, Py_NE);<span class='error_goto'> if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_10);
+  __pyx_t_1 = __Pyx_<span class='py_c_api'>PyObject_IsTrue</span>(__pyx_t_10);<span class='error_goto'> if (unlikely(__pyx_t_1 <code><</code> 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0;
+  if (__pyx_t_1) {
+</pre><pre class='line' style='background-color: #FFFF39' onclick='toggleDiv("line102")'> 102:         raw = raw[end+14:].lstrip()</pre>
+<pre id='line102' class='code' style='background-color: #FFFF39'>
+    /* "mar345_IO.pyx":102
+ *         end = raw.find("END OF HEADER")
+ *     if end !=-1:
+ *         raw = raw[end+14:].lstrip()             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     cdef char* instream = <code><</code>char*> raw
+ *     with nogil:
+ */
+    __pyx_t_10 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_v_end, __pyx_int_14);<span class='error_goto'> if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_10);
+    __pyx_t_7 = __Pyx_<span class='py_c_api'>PyIndex_AsSsize_t</span>(__pyx_t_10);<span class='error_goto'> if (unlikely((__pyx_t_7 == (Py_ssize_t)-1) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0;
+    __pyx_t_10 = __Pyx_<span class='py_c_api'>PySequence_GetSlice</span>(__pyx_v_raw, __pyx_t_7, PY_SSIZE_T_MAX);<span class='error_goto'> if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_10);
+    __pyx_t_11 = <span class='py_c_api'>PyObject_GetAttr</span>(__pyx_t_10, __pyx_n_s__lstrip);<span class='error_goto'> if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_11);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0;
+    __pyx_t_10 = <span class='py_c_api'>PyObject_Call</span>(__pyx_t_11, ((PyObject *)__pyx_empty_tuple), NULL);<span class='error_goto'> if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+    <span class='pyx_macro_api'><span class='refnanny'>__Pyx_GOTREF</span></span>(__pyx_t_10);
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_11); __pyx_t_11 = 0;
+    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_v_raw);
+    __pyx_v_raw = __pyx_t_10;
+    __pyx_t_10 = 0;
+    goto __pyx_L8;
+  }
+  __pyx_L8:;
+</pre><pre class='line' style='background-color: #FFFF7f' onclick='toggleDiv("line103")'> 103:     cdef char* instream = <char*> raw</pre>
+<pre id='line103' class='code' style='background-color: #FFFF7f'>
+  /* "mar345_IO.pyx":103
+ *     if end !=-1:
+ *         raw = raw[end+14:].lstrip()
+ *     cdef char* instream = <code><</code>char*> raw             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     with nogil:
+ *         data.data = <code><</code>char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)
+ */
+  __pyx_t_13 = <span class='py_c_api'>PyBytes_AsString</span>(__pyx_v_raw);<span class='error_goto'> if (unlikely((!__pyx_t_13) && <span class='py_c_api'>PyErr_Occurred</span>())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}</span>
+  __pyx_v_instream = ((char *)__pyx_t_13);
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line104")'> 104:     with nogil:</pre>
+<pre id='line104' class='code' style='background-color: #FFFFff'>
+  /* "mar345_IO.pyx":104
+ *         raw = raw[end+14:].lstrip()
+ *     cdef char* instream = <code><</code>char*> raw
+ *     with nogil:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         data.data = <code><</code>char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)
+ *     return data
+ */
+  {
+      #ifdef WITH_THREAD
+      PyThreadState *_save = NULL;
+      #endif
+      Py_UNBLOCK_THREADS
+      /*try:*/ {
+
+      /* "mar345_IO.pyx":104
+ *         raw = raw[end+14:].lstrip()
+ *     cdef char* instream = <code><</code>char*> raw
+ *     with nogil:             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *         data.data = <code><</code>char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)
+ *     return data
+ */
+      /*finally:*/ {
+        Py_BLOCK_THREADS
+      }
+  }
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line105")'> 105:         data.data = <char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)</pre>
+<pre id='line105' class='code' style='background-color: #FFFFff'>
+        /* "mar345_IO.pyx":105
+ *     cdef char* instream = <code><</code>char*> raw
+ *     with nogil:
+ *         data.data = <code><</code>char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ *     return data
+ * 
+ */
+        __pyx_v_data->data = ((char *)mar345_read_data_string(__pyx_v_instream, __pyx_v_chigh, __pyx_v_cdim1, __pyx_v_cdim2));
+      }
+</pre><pre class='line' style='background-color: #FFFF3f' onclick='toggleDiv("line106")'> 106:     return data</pre>
+<pre id='line106' class='code' style='background-color: #FFFF3f'>
+  /* "mar345_IO.pyx":106
+ *     with nogil:
+ *         data.data = <code><</code>char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)
+ *     return data             # <code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code><code><</code>
+ * 
+ */
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r);
+  <span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_v_data));
+  __pyx_r = ((PyObject *)__pyx_v_data);
+  goto __pyx_L0;
+
+  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_11);
+  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
+    <span class='pyx_c_api'>__Pyx_ErrFetch</span>(&__pyx_type, &__pyx_value, &__pyx_tb);
+    <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&__pyx_pybuffernd_data.rcbuffer->pybuffer);
+  <span class='pyx_c_api'>__Pyx_ErrRestore</span>(__pyx_type, __pyx_value, __pyx_tb);}
+  <span class='pyx_c_api'>__Pyx_AddTraceback</span>("mar345_IO.uncompress_pck", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = NULL;
+  goto __pyx_L2;
+  __pyx_L0:;
+  <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&__pyx_pybuffernd_data.rcbuffer->pybuffer);
+  __pyx_L2:;
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_end);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_key1);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_key2);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_start);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_key);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_sizes);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_hiLine);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_word);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_data);
+  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_raw);
+  <span class='pyx_macro_api'><span class='refnanny'>__Pyx_XGIVEREF</span></span>(__pyx_r);
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannyFinishContext</span></span>();
+  return __pyx_r;
+}
+
+/* Python wrapper */
+static int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/
+static int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
+  int __pyx_r;
+  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannySetupContext</span></span>("__getbuffer__ (wrapper)", 0);
+  __pyx_r = __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));
+  <span class='pyx_c_api'><span class='refnanny'>__Pyx_RefNannyFinishContext</span></span>();
+  return __pyx_r;
+}
+</pre><pre class='line' style='background-color: #FFFFff' onclick='toggleDiv("line107")'> 107: </pre>
+<pre id='line107' class='code' style='background-color: #FFFFff'></pre></body></html>
diff --git a/src/mar345_IO.pyx b/src/mar345_IO.pyx
new file mode 100644
index 0000000..694f4a8
--- /dev/null
+++ b/src/mar345_IO.pyx
@@ -0,0 +1,107 @@
+"""
+New Cython version of mar345_io for preparing the migration to Python3
+
+Compressor & decompressor for "pack" algorithm by JPA, binding to CCP4 libraries 
+
+Warning: decompressor is just a cython porting of mar345_io, but in cython so (soon) python3 compliant.
+
+Future: make those algorithm actually generate strings not go via files;
+        it will allow a broader use of the algorithm. 
+
+"""
+
+__authors__ = ["Jerome Kieffer", "Gael Goret"]
+__contact__ = "jerome.kieffer at esrf.eu"
+__license__ = "LGPLv3+"
+__copyright__ = "2012, European Synchrotron Radiation Facility, Grenoble, France"
+
+import cython
+cimport numpy
+import numpy
+import os,tempfile
+
+#cdef extern from "pack_c.h":
+#     void pack_wordimage_c(short int*, int , int , char*) nogil
+#     void unpack_word(FILE *packfile, int x, int y, short int *img) nogil
+
+cdef extern from "ccp4_pack.h":
+    void* mar345_read_data_string(char *instream, int ocount, int dim1, int dim2) nogil
+    void pack_wordimage_c(short int*, int , int , char*) nogil
+    
+ at cython.boundscheck(False)
+def compress_pck(numpy.ndarray inputArray not None):
+    """
+    @param inputArray: numpy array as input
+    @param filename: file to write data to 
+    """
+    cdef long  size = inputArray.size
+    cdef int dim0, dim1, i, j, fd, ret
+    cdef char* name
+    assert inputArray.ndim == 2, "shape is 2D"
+    dim0 = inputArray.shape[0]
+    dim1 = inputArray.shape[1]
+    cdef numpy.ndarray[numpy.uint16_t, ndim = 1] data = numpy.ascontiguousarray(inputArray.astype(numpy.uint16).ravel(), dtype=numpy.uint16)
+    cdef short int * cdata
+    cdata = < short int *> data.data
+    (fd,fname) = tempfile.mkstemp()
+    name = <char*>  fname
+    with nogil:
+        pack_wordimage_c(cdata, dim1, dim0, name)
+    with open(name,"rb") as f:
+        f.seek(0)
+        output = f.read()
+    os.close(fd)
+    os.remove(name)
+    return output
+
+ at cython.boundscheck(False)
+def uncompress_pck(raw not None, dim1=None, dim2=None, overflowPix=None):
+    """
+    Unpack a mar345 compressed image
+    
+    @param raw: input string (bytes in python3)
+    @param dim1,dim2: optional parameters size
+    @param overflowPix: optional parameters: number of overflowed pixels 
+    
+    @return : ndarray of 2D with the right size
+    """
+    cdef int cdim1, cdim2, chigh
+    end=None
+    if dim1 is None or dim2 is None:
+        key1 = "CCP4 packed image, X: "
+        key2 = "CCP4 packed image V2, X: "
+        start = raw.find(key2)
+        key = key2
+        if start == -1:
+            start = raw.find(key1)
+            key = key1
+        start = raw.index(key) + len(key)
+        sizes = raw[start:start + 13]
+        cdim1 = < int > int(sizes[:4])
+        cdim2 = < int > int(sizes[-4:])
+    else:
+        cdim1 = < int > dim1
+        cdim2 = < int > dim2
+    if overflowPix is None:
+        end = raw.find("END OF HEADER")
+        start = raw[:end].find("HIGH")
+        hiLine = raw[start:end]
+        hiLine = hiLine.split("\n")[0]
+        word = hiLine.split()
+        if len(word) > 1:
+            chigh = int(word[1])
+        else:
+            print("Error while looking for overflowed pixels in line %s" % hiLine.strip())
+            chigh = 0
+    else:
+        chigh = < int > overflowPix
+    cdef numpy.ndarray[numpy.uint32_t, ndim = 2] data = numpy.zeros((cdim2, cdim1), dtype=numpy.uint32)   
+    if not end:
+        end = raw.find("END OF HEADER")
+    if end !=-1:
+        raw = raw[end+14:].lstrip()
+    cdef char* instream = <char*> raw
+    with nogil:
+        data.data = <char *> mar345_read_data_string(instream, chigh, cdim1, cdim2)
+    return data
+
diff --git a/src/mar345_iomodule.c b/src/mar345_iomodule.c
deleted file mode 100644
index df3e2b4..0000000
--- a/src/mar345_iomodule.c
+++ /dev/null
@@ -1,45 +0,0 @@
-#include <Python.h>
-#include <numpy/arrayobject.h>
-#include <stdlib.h>
-#include <stdio.h>
-/* The args are int in ccp4_pack.c, not unsigned */
-void *mar345_read_data(FILE *file, int ocount, int dim1, int dim2);
-
-static PyObject * mar345_io_unpack(PyObject *self, PyObject *args){
-  /* not a const int dim1, dim2 since passed by address  to parse tuple ?!? */
-  int dim1,dim2,ocount;
-  npy_intp dims[2];
-  PyArrayObject *py_unpacked;
-  PyObject *py_file;
-  int *unpacked;
-  FILE *file;
-  if (!PyArg_ParseTuple(args, "Oiii", &py_file,&dim1,&dim2,&ocount))
-    return NULL;
-  dims[0]=dim1;dims[1]=dim2;
-
-  file=PyFile_AsFile(py_file);
-
-  /* Space is malloc'ed in here */
-  unpacked=(int*)mar345_read_data(file,ocount,dim1,dim2);
-  
-  /* memcpy(py_unpacked->data,unpacked,dim1*dim2*2); would also need a free */
-  
-  py_unpacked=(PyArrayObject*)PyArray_SimpleNewFromData(2, dims, NPY_UINT, (void *)unpacked);
-
-  return Py_BuildValue ("O", PyArray_Return(py_unpacked));
-}
-
-static PyMethodDef mar345_io_Methods[] = {
-  {"unpack", mar345_io_unpack, METH_VARARGS, "Unpack a mar345 compressed image"},
-  {NULL, NULL, 0, NULL}        /* Sentinel */
-};
-
-PyMODINIT_FUNC
-initmar345_io(void)
-{
-  (void) Py_InitModule("mar345_io", mar345_io_Methods);
-  import_array();
-
-  if(PyErr_Occurred())
-    Py_FatalError("cannot initialize mar345_iomodule.c");
-}
diff --git a/src/setup.py b/src/setup.py
new file mode 100644
index 0000000..db29ea3
--- /dev/null
+++ b/src/setup.py
@@ -0,0 +1,27 @@
+try:
+    from setuptools import setup
+except ImportError:
+    from distutils.core import setup
+
+from distutils.core import  Extension
+from Cython.Distutils import build_ext
+
+# for numpy
+from numpy.distutils.misc_util import get_numpy_include_dirs
+
+
+mar345_ext = Extension("mar345_IO",
+                    include_dirs=get_numpy_include_dirs(),
+                    sources=['mar345_IO.c', "ccp4_pack.c"])
+
+
+setup(name='mar345_IO',
+      version="0.0.0",
+      author="Jerome Kieffer",
+      author_email="jerome.kieffer at esrf.eu",
+      description='Mar345 writer',
+      ext_modules=[mar345_ext],
+      cmdclass={'build_ext': build_ext},
+      )
+
+
diff --git a/stdeb.cfg b/stdeb.cfg
index a785456..beba6ab 100644
--- a/stdeb.cfg
+++ b/stdeb.cfg
@@ -1,8 +1,8 @@
 [DEFAULT]
 Package: python-fabio
-Depends: python-imaging, python-numpy
+Depends: python-numpy
 XS-Python-Version: >= 2.5
 Maintainer: Jerome Kieffer <jerome.kieffer at esrf.fr>
 Build-Depends: python-dev
-Recommends: python-numpy-ext
+Recommends: python-numpy-ext, python-lxml, python-imaging
 
diff --git a/test/__init__.py b/test/__init__.py
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/test/__init__.py
@@ -0,0 +1 @@
+
diff --git a/test/coral31_benchheaders b/test/coral31_benchheaders
deleted file mode 100644
index d622a64..0000000
--- a/test/coral31_benchheaders
+++ /dev/null
@@ -1,46 +0,0 @@
-  0.000857 testimages/Cr8F8140k103.0026
-  0.046055 testimages/Cr8F8140k103.0026.bz2
-  0.001116 testimages/Cr8F8140k103.0026.gz
-  0.000727 testimages/F2K_Seb_Lyso0675.edf
-  0.083457 testimages/F2K_Seb_Lyso0675.edf.bz2
-  0.000906 testimages/F2K_Seb_Lyso0675.edf.gz
-  0.000454 testimages/GE_aSI_detector_image_1529
-  0.058213 testimages/GE_aSI_detector_image_1529.bz2
-  0.000798 testimages/GE_aSI_detector_image_1529.gz
-  0.000572 testimages/b191_1_9_1.img
-  0.057766 testimages/b191_1_9_1.img.bz2
-  0.000981 testimages/b191_1_9_1.img.gz
-  0.000556 testimages/b191_1_9_1_uncompressed.img
-  0.078372 testimages/b191_1_9_1_uncompressed.img.bz2
-  0.001016 testimages/b191_1_9_1_uncompressed.img.gz
-  0.003505 testimages/corkcont2_H_0089.mccd
-  0.067027 testimages/corkcont2_H_0089.mccd.bz2
-  0.004070 testimages/corkcont2_H_0089.mccd.gz
-  0.000617 testimages/example.mar2300
-  0.153640 testimages/example.mar2300.bz2
-  0.000832 testimages/example.mar2300.gz
-  0.000430 testimages/face.edf
-  0.001603 testimages/face.edf.bz2
-  0.001281 testimages/face.edf.gz
-  0.000349 testimages/face.msk
-  0.000797 testimages/face.msk.bz2
-  0.000507 testimages/face.msk.gz
-  0.000431 testimages/fit2d_click.edf
-  0.002208 testimages/fit2d_click.edf.bz2
-  0.011531 testimages/fit2d_click.edf.gz
-  0.000408 testimages/fit2d_click.msk
-  0.000592 testimages/fit2d_click.msk.bz2
-  0.002028 testimages/fit2d_click.msk.gz
-  0.000444 testimages/mb_LP_1_001.edf
-  0.020046 testimages/mb_LP_1_001.img
-  0.644009 testimages/mb_LP_1_001.img.bz2
-  0.130721 testimages/mb_LP_1_001.img.gz
-  0.000385 testimages/oPPA_5grains_0001.tif
-  0.011607 testimages/oPPA_5grains_0001.tif.bz2
-  0.001579 testimages/oPPA_5grains_0001.tif.gz
-  0.003500 testimages/somedata_0001.mccd
-  0.078679 testimages/somedata_0001.mccd.bz2
-  0.003825 testimages/somedata_0001.mccd.gz
-  0.000364 testimages/testmap1_0002.tif
-  0.000399 testimages/testmap1_0002.tif.bz2
-  0.000536 testimages/testmap1_0002.tif.gz
diff --git a/test/coral31_benchmark b/test/coral31_benchmark
deleted file mode 100644
index 99d2622..0000000
--- a/test/coral31_benchmark
+++ /dev/null
@@ -1,53 +0,0 @@
-I/O 1  : Time to read the image
-I/O 2  : Time to read the image (repeat
-Fabio  : Time for fabio to read the image
-Shell  : Time for shell to do decompression
-Python : Time for python to do decompression
-
-I/O 1  I/O 2  Fabio  Shell  Python   Size/MB
-0.0000 0.0000 0.0100                   0.508 testimages/Cr8F8140k103.0026
-0.0100 0.0000 0.0600 0.0358 0.0300     0.508 testimages/Cr8F8140k103.0026.bz2
-0.0000 0.0000 0.0100 0.0114 0.0100     0.508 testimages/Cr8F8140k103.0026.gz
-0.0100 0.0100 0.0300                   8.003 testimages/F2K_Seb_Lyso0675.edf
-0.0000 0.0100 0.9700 0.9219 0.9200     8.003 testimages/F2K_Seb_Lyso0675.edf.bz2
-0.0000 0.0100 0.1400 0.1360 0.1200     8.003 testimages/F2K_Seb_Lyso0675.edf.gz
-0.0100 0.0200 0.0300                   8.008 testimages/GE_aSI_detector_image_1529
-0.0100 0.0000 0.7700 0.6982 0.6800     8.008 testimages/GE_aSI_detector_image_1529.bz2
-0.0100 0.0000 0.1000 0.1031 0.1000     8.008 testimages/GE_aSI_detector_image_1529.gz
-0.0000 0.0000 0.3400                   0.256 testimages/b191_1_9_1.img
-0.0000 0.0000 0.3800 0.0278 0.0300     0.256 testimages/b191_1_9_1.img.bz2
-0.0000 0.0000 0.3300 0.0083 0.0000     0.256 testimages/b191_1_9_1.img.gz
-0.0000 0.0000 0.0000                   1.005 testimages/b191_1_9_1_uncompressed.img
-0.0000 0.0000 0.1400 0.0954 0.1000     1.005 testimages/b191_1_9_1_uncompressed.img.bz2
-0.0000 0.0000 0.0200 0.0159 0.0100     1.005 testimages/b191_1_9_1_uncompressed.img.gz
-0.0100 0.0100 0.1500                   8.004 testimages/corkcont2_H_0089.mccd
-0.0100 0.0000 0.5000 0.3985 0.3700     8.004 testimages/corkcont2_H_0089.mccd.bz2
-0.0000 0.0000 0.1600 0.1114 0.0700     8.004 testimages/corkcont2_H_0089.mccd.gz
-0.0100 0.0000 0.1400                   3.471 testimages/example.mar2300
-0.0000 0.0000 0.7900 0.5799 0.5500     3.471 testimages/example.mar2300.bz2
-0.0000 0.0100 0.1800 0.0671 0.0400     3.471 testimages/example.mar2300.gz
-0.0000 0.0000 0.0000                   0.215 testimages/face.edf
-0.0000 0.0000 0.0100 0.0201 0.0000     0.215 testimages/face.edf.bz2
-0.0000 0.0000 0.0000 0.0183 0.0000     0.215 testimages/face.edf.gz
-0.0000 0.0000 0.0000                   0.008 testimages/face.msk
-0.0000 0.0000 0.0100 0.0188 0.0000     0.008 testimages/face.msk.bz2
-0.0000 0.0100 0.0000 0.0185 0.0000     0.008 testimages/face.msk.gz
-0.0100 0.0000 0.0100                   4.001 testimages/fit2d_click.edf
-0.0000 0.0000 0.0200 0.0436 0.0200     4.001 testimages/fit2d_click.edf.bz2
-0.0000 0.0000 0.0300 0.0524 0.0300     4.001 testimages/fit2d_click.edf.gz
-0.0000 0.0000 0.1100                   0.126 testimages/fit2d_click.msk
-0.0000 0.0000 0.1100 0.0189 0.0100     0.126 testimages/fit2d_click.msk.bz2
-0.0000 0.0000 0.1000 0.0180 0.0000     0.126 testimages/fit2d_click.msk.gz
-0.0600 0.0700 0.1300                  36.001 testimages/mb_LP_1_001.edf
-0.0400 0.0300 0.1600                  18.000 testimages/mb_LP_1_001.img
-0.0100 0.0000 2.4600 2.4958 1.8100    18.000 testimages/mb_LP_1_001.img.bz2
-0.0100 0.0100 0.4100 0.2717 0.2300    18.000 testimages/mb_LP_1_001.img.gz
-0.0200 0.0100 0.1800                   8.067 testimages/oPPA_5grains_0001.tif
-0.0000 0.0000 0.5100 0.5660 0.3400     8.067 testimages/oPPA_5grains_0001.tif.bz2
-0.0000 0.0000 0.1900 0.0829 0.0400     8.067 testimages/oPPA_5grains_0001.tif.gz
-0.0000 0.0000 0.0300                   2.004 testimages/somedata_0001.mccd
-0.0000 0.0000 0.2600 0.2281 0.2100     2.004 testimages/somedata_0001.mccd.bz2
-0.0000 0.0000 0.0700 0.0507 0.0200     2.004 testimages/somedata_0001.mccd.gz
-0.0000 0.0000 0.0000                   0.023 testimages/testmap1_0002.tif
-0.0000 0.0000 0.0000 0.0192 0.0000     0.023 testimages/testmap1_0002.tif.bz2
-0.0000 0.0000 0.0000 0.0205 0.0000     0.023 testimages/testmap1_0002.tif.gz
diff --git a/test/eeepc-jonathanw_benchheaders b/test/eeepc-jonathanw_benchheaders
deleted file mode 100644
index 32b0750..0000000
--- a/test/eeepc-jonathanw_benchheaders
+++ /dev/null
@@ -1,46 +0,0 @@
-  0.002404 testimages/Cr8F8140k103.0026
-  0.206815 testimages/Cr8F8140k103.0026.bz2
-  0.003507 testimages/Cr8F8140k103.0026.gz
-  0.001946 testimages/F2K_Seb_Lyso0675.edf
-  0.400643 testimages/F2K_Seb_Lyso0675.edf.bz2
-  0.015549 testimages/F2K_Seb_Lyso0675.edf.gz
-  0.000832 testimages/GE_aSI_detector_image_1529
-  0.297967 testimages/GE_aSI_detector_image_1529.bz2
-  0.002485 testimages/GE_aSI_detector_image_1529.gz
-  0.001397 testimages/b191_1_9_1.img
-  0.399226 testimages/b191_1_9_1.img.bz2
-  0.010648 testimages/b191_1_9_1.img.gz
-  0.001454 testimages/b191_1_9_1_uncompressed.img
-  0.386724 testimages/b191_1_9_1_uncompressed.img.bz2
-  0.003699 testimages/b191_1_9_1_uncompressed.img.gz
-  0.013971 testimages/corkcont2_H_0089.mccd
-  0.453871 testimages/corkcont2_H_0089.mccd.bz2
-  0.017732 testimages/corkcont2_H_0089.mccd.gz
-  0.001761 testimages/example.mar2300
-  0.723718 testimages/example.mar2300.bz2
-  0.002948 testimages/example.mar2300.gz
-  0.000841 testimages/face.edf
-  0.011863 testimages/face.edf.bz2
-  0.004975 testimages/face.edf.gz
-  0.000680 testimages/face.msk
-  0.002963 testimages/face.msk.bz2
-  0.001511 testimages/face.msk.gz
-  0.000861 testimages/fit2d_click.edf
-  0.011688 testimages/fit2d_click.edf.bz2
-  0.035719 testimages/fit2d_click.edf.gz
-  0.000706 testimages/fit2d_click.msk
-  0.001966 testimages/fit2d_click.msk.bz2
-  0.006991 testimages/fit2d_click.msk.gz
-  0.000755 testimages/mb_LP_1_001.edf
-  0.058444 testimages/mb_LP_1_001.img
-  3.408607 testimages/mb_LP_1_001.img.bz2
-  0.488263 testimages/mb_LP_1_001.img.gz
-  0.000593 testimages/oPPA_5grains_0001.tif
-  0.060364 testimages/oPPA_5grains_0001.tif.bz2
-  0.005937 testimages/oPPA_5grains_0001.tif.gz
-  0.013839 testimages/somedata_0001.mccd
-  0.381711 testimages/somedata_0001.mccd.bz2
-  0.019168 testimages/somedata_0001.mccd.gz
-  0.000574 testimages/testmap1_0002.tif
-  0.000943 testimages/testmap1_0002.tif.bz2
-  0.001888 testimages/testmap1_0002.tif.gz
diff --git a/test/eeepc-jonathanw_benchmark b/test/eeepc-jonathanw_benchmark
deleted file mode 100644
index f6a09ba..0000000
--- a/test/eeepc-jonathanw_benchmark
+++ /dev/null
@@ -1,53 +0,0 @@
-I/O 1  : Time to read the image
-I/O 2  : Time to read the image (repeat
-Fabio  : Time for fabio to read the image
-Shell  : Time for shell to do decompression
-Python : Time for python to do decompression
-
-I/O 1  I/O 2  Fabio  Shell  Python   Size/MB
-0.0000 0.0000 0.0200                   0.508 testimages/Cr8F8140k103.0026
-0.0000 0.0000 0.2700 0.1878 0.1600     0.508 testimages/Cr8F8140k103.0026.bz2
-0.0000 0.0000 0.0500 0.0430 0.0300     0.508 testimages/Cr8F8140k103.0026.gz
-0.0300 0.0300 0.0500                   8.003 testimages/F2K_Seb_Lyso0675.edf
-0.0200 0.0100 3.7200 3.6164 3.4900     8.003 testimages/F2K_Seb_Lyso0675.edf.bz2
-0.0200 0.0200 0.5200 0.6880 0.5000     8.003 testimages/F2K_Seb_Lyso0675.edf.gz
-0.0300 0.0300 0.0600                   8.008 testimages/GE_aSI_detector_image_1529
-0.0000 0.0200 3.1800 3.0424 2.8600     8.008 testimages/GE_aSI_detector_image_1529.bz2
-0.0100 0.0100 0.3800 0.5069 0.3500     8.008 testimages/GE_aSI_detector_image_1529.gz
-0.0000 0.0000 1.4400                   0.256 testimages/b191_1_9_1.img
-0.0000 0.0100 1.7400 0.1409 0.1200     0.256 testimages/b191_1_9_1.img.bz2
-0.0000 0.0000 1.4200 0.0255 0.0200     0.256 testimages/b191_1_9_1.img.gz
-0.0000 0.0000 0.0200                   1.005 testimages/b191_1_9_1_uncompressed.img
-0.0100 0.0000 0.6000 0.3607 0.3400     1.005 testimages/b191_1_9_1_uncompressed.img.bz2
-0.0100 0.0000 0.0500 0.0674 0.0400     1.005 testimages/b191_1_9_1_uncompressed.img.gz
-0.0300 0.0200 0.3400                   8.004 testimages/corkcont2_H_0089.mccd
-0.0000 0.0100 1.9600 1.6794 1.5200     8.004 testimages/corkcont2_H_0089.mccd.bz2
-0.0000 0.0000 0.5700 0.4143 0.2900     8.004 testimages/corkcont2_H_0089.mccd.gz
-0.0100 0.0100 0.7000                   3.471 testimages/example.mar2300
-0.0100 0.0100 3.0400 2.1931 2.0400     3.471 testimages/example.mar2300.bz2
-0.0100 0.0100 0.9000 0.2436 0.2100     3.471 testimages/example.mar2300.gz
-0.0100 0.0000 0.0000                   0.215 testimages/face.edf
-0.0000 0.0000 0.0100 0.0284 0.0100     0.215 testimages/face.edf.bz2
-0.0000 0.0000 0.0000 0.0217 0.0100     0.215 testimages/face.edf.gz
-0.0000 0.0000 0.0200                   0.008 testimages/face.msk
-0.0100 0.0000 0.0200 0.0181 0.0100     0.008 testimages/face.msk.bz2
-0.0000 0.0000 0.0200 0.0166 0.0000     0.008 testimages/face.msk.gz
-0.0300 0.0100 0.0400                   4.001 testimages/fit2d_click.edf
-0.0000 0.0000 0.1300 0.1984 0.1100     4.001 testimages/fit2d_click.edf.bz2
-0.0000 0.0000 0.1300 0.1338 0.0900     4.001 testimages/fit2d_click.edf.gz
-0.0000 0.0000 0.3200                   0.126 testimages/fit2d_click.msk
-0.0000 0.0000 0.3200 0.0212 0.0000     0.126 testimages/fit2d_click.msk.bz2
-0.0000 0.0000 0.3300 0.0201 0.0000     0.126 testimages/fit2d_click.msk.gz
-0.2000 0.1500 0.2800                  36.001 testimages/mb_LP_1_001.edf
-0.0700 0.0800 0.3500                  18.000 testimages/mb_LP_1_001.img
-0.0200 0.0200 10.4500 7.4476 6.8900    18.000 testimages/mb_LP_1_001.img.bz2
-0.0500 0.0200 1.5700 2.1255 0.9200    18.000 testimages/mb_LP_1_001.img.gz
-0.0400 0.0200 0.5300                   8.067 testimages/oPPA_5grains_0001.tif
-0.0000 0.0000 1.9100 1.5322 1.3800     8.067 testimages/oPPA_5grains_0001.tif.bz2
-0.0000 0.0000 0.6400 0.2398 0.1800     8.067 testimages/oPPA_5grains_0001.tif.gz
-0.0000 0.0100 0.0900                   2.004 testimages/somedata_0001.mccd
-0.0000 0.0000 0.9200 0.7265 0.6400     2.004 testimages/somedata_0001.mccd.bz2
-0.0000 0.0100 0.1700 0.1496 0.0900     2.004 testimages/somedata_0001.mccd.gz
-0.0000 0.0000 0.0000                   0.023 testimages/testmap1_0002.tif
-0.0000 0.0000 0.0100 0.0211 0.0000     0.023 testimages/testmap1_0002.tif.bz2
-0.0100 0.0000 0.0000 0.0203 0.0000     0.023 testimages/testmap1_0002.tif.gz
diff --git a/test/esrflinux1-1a_benchheaders b/test/esrflinux1-1a_benchheaders
deleted file mode 100644
index 7b848b4..0000000
--- a/test/esrflinux1-1a_benchheaders
+++ /dev/null
@@ -1,46 +0,0 @@
-  0.041507 testimages/Cr8F8140k103.0026
-  0.060209 testimages/Cr8F8140k103.0026.bz2
-  0.001523 testimages/Cr8F8140k103.0026.gz
-  0.001040 testimages/F2K_Seb_Lyso0675.edf
-  0.115198 testimages/F2K_Seb_Lyso0675.edf.bz2
-  0.001390 testimages/F2K_Seb_Lyso0675.edf.gz
-  0.000740 testimages/GE_aSI_detector_image_1529
-  0.082954 testimages/GE_aSI_detector_image_1529.bz2
-  0.001530 testimages/GE_aSI_detector_image_1529.gz
-  0.001205 testimages/b191_1_9_1.img
-  0.082022 testimages/b191_1_9_1.img.bz2
-  0.001455 testimages/b191_1_9_1.img.gz
-  0.000870 testimages/b191_1_9_1_uncompressed.img
-  0.107474 testimages/b191_1_9_1_uncompressed.img.bz2
-  0.002650 testimages/b191_1_9_1_uncompressed.img.gz
-  0.007094 testimages/corkcont2_H_0089.mccd
-  0.135271 testimages/corkcont2_H_0089.mccd.bz2
-  0.006231 testimages/corkcont2_H_0089.mccd.gz
-  0.041302 testimages/example.mar2300
-  0.215028 testimages/example.mar2300.bz2
-  0.001293 testimages/example.mar2300.gz
-  0.000765 testimages/face.edf
-  0.002466 testimages/face.edf.bz2
-  0.002021 testimages/face.edf.gz
-  0.000607 testimages/face.msk
-  0.041250 testimages/face.msk.bz2
-  0.000841 testimages/face.msk.gz
-  0.000759 testimages/fit2d_click.edf
-  0.003282 testimages/fit2d_click.edf.bz2
-  0.017603 testimages/fit2d_click.edf.gz
-  0.000693 testimages/fit2d_click.msk
-  0.000938 testimages/fit2d_click.msk.bz2
-  0.003037 testimages/fit2d_click.msk.gz
-  0.000748 testimages/mb_LP_1_001.edf
-  0.028433 testimages/mb_LP_1_001.img
-  0.835932 testimages/mb_LP_1_001.img.bz2
-  0.171870 testimages/mb_LP_1_001.img.gz
-  0.000714 testimages/oPPA_5grains_0001.tif
-  0.031276 testimages/oPPA_5grains_0001.tif.bz2
-  0.003840 testimages/oPPA_5grains_0001.tif.gz
-  0.005126 testimages/somedata_0001.mccd
-  0.110826 testimages/somedata_0001.mccd.bz2
-  0.006386 testimages/somedata_0001.mccd.gz
-  0.003645 testimages/testmap1_0002.tif
-  0.001334 testimages/testmap1_0002.tif.bz2
-  0.001180 testimages/testmap1_0002.tif.gz
diff --git a/test/esrflinux1-1a_benchmark b/test/esrflinux1-1a_benchmark
deleted file mode 100644
index 858b59e..0000000
--- a/test/esrflinux1-1a_benchmark
+++ /dev/null
@@ -1,3563 +0,0 @@
-I/O 1  : Time to read the image
-I/O 2  : Time to read the image (repeat
-Fabio  : Time for fabio to read the image
-Shell  : Time for shell to do decompression
-Python : Time for python to do decompression
-
-I/O 1  I/O 2  Fabio  Shell  Python   Size/MB
-0.0000 0.0000 0.0200                   0.508 testimages/Cr8F8140k103.0026
-Thu Oct 30 12:14:08 2008    stats
-
-         637 function calls in 0.008 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.008    0.008 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.001    0.001    0.001    0.001 brukerimage.py:35(_readheader)
-        1    0.000    0.000    0.007    0.007 brukerimage.py:84(read)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.008    0.008 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.003    0.003 readbytestream.py:27(readbytestream)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        6    0.000    0.000    0.000    0.000 {hasattr}
-        2    0.000    0.000    0.000    0.000 {len}
-       80    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.003    0.003    0.003    0.003 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-      127    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-       92    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        6    0.001    0.000    0.001    0.000 {method 'read' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       92    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-      184    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.array}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.0800 0.0530 0.0400     0.508 testimages/Cr8F8140k103.0026.bz2
-Thu Oct 30 12:14:08 2008    stats
-
-         637 function calls in 0.079 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.079    0.079 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.001    0.001    0.030    0.030 brukerimage.py:35(_readheader)
-        1    0.000    0.000    0.049    0.049 brukerimage.py:84(read)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.079    0.079 openimage.py:67(openimage)
-        1    0.000    0.000    0.030    0.030 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.015    0.015 readbytestream.py:27(readbytestream)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        6    0.000    0.000    0.000    0.000 {hasattr}
-        2    0.000    0.000    0.000    0.000 {len}
-       80    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.003    0.003    0.003    0.003 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-      127    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-       92    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        6    0.071    0.012    0.071    0.012 {method 'read' of 'bz2.BZ2File' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'seek' of 'bz2.BZ2File' objects}
-       92    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-      184    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'tell' of 'bz2.BZ2File' objects}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.array}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.fromstring}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0100 0.0200 0.0182 0.0100     0.508 testimages/Cr8F8140k103.0026.gz
-Thu Oct 30 12:14:09 2008    stats
-
-         818 function calls in 0.019 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.019    0.019 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.001    0.001    0.002    0.002 brukerimage.py:35(_readheader)
-        1    0.000    0.000    0.017    0.017 brukerimage.py:84(read)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        7    0.001    0.000    0.012    0.002 gzip.py:208(read)
-       12    0.000    0.000    0.011    0.001 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       12    0.003    0.000    0.003    0.000 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:360(tell)
-        1    0.000    0.000    0.000    0.000 gzip.py:374(seek)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.019    0.019 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.012    0.012 readbytestream.py:27(readbytestream)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-       12    0.006    0.001    0.006    0.001 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        6    0.000    0.000    0.000    0.000 {hasattr}
-       27    0.000    0.000    0.000    0.000 {len}
-       80    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.003    0.003    0.003    0.003 {method 'astype' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-      127    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-       92    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       58    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       92    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-      184    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        4    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       12    0.000    0.000    0.000    0.000 {min}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.array}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        2    0.000    0.000    0.000    0.000 {range}
-       14    0.001    0.000    0.001    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0100 0.0200 0.0200                   8.003 testimages/F2K_Seb_Lyso0675.edf
-Thu Oct 30 12:14:09 2008    stats
-
-         624 function calls in 0.034 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.002    0.002    0.034    0.034 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.001    0.001    0.001    0.001 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.031    0.031 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.032    0.032 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       12    0.000    0.000    0.000    0.000 {len}
-       90    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      180    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        8    0.015    0.002    0.015    0.002 {method 'read' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-      180    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       91    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.015    0.015    0.015    0.015 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-
-
-0.0100 0.0000 1.1700 1.1390 1.0800     8.003 testimages/F2K_Seb_Lyso0675.edf.bz2
-Thu Oct 30 12:14:13 2008    stats
-
-         624 function calls in 1.164 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    1.164    1.164 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.001    0.001    0.058    0.058 edfimage.py:55(_readheader)
-        1    0.000    0.000    1.104    1.104 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.002    0.001 fabioimage.py:259(_open)
-        2    0.001    0.001    0.001    0.001 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    1.163    1.163 openimage.py:67(openimage)
-        1    0.001    0.001    0.058    0.058 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       12    0.000    0.000    0.000    0.000 {len}
-       90    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      180    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        8    1.142    0.143    1.142    0.143 {method 'read' of 'bz2.BZ2File' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-      180    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       91    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.015    0.015    0.015    0.015 {numpy.core.multiarray.fromstring}
-
-
-0.0100 0.0100 0.1900 0.6054 0.1700     8.003 testimages/F2K_Seb_Lyso0675.edf.gz
-Thu Oct 30 12:14:15 2008    stats
-
-         845 function calls in 0.595 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.002    0.002    0.595    0.595 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.001    0.001    0.001    0.001 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.590    0.590 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.401    0.200 fabioimage.py:259(_open)
-        2    0.000    0.000    0.401    0.200 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        8    0.002    0.000    0.174    0.022 gzip.py:208(read)
-       17    0.000    0.000    0.172    0.010 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       16    0.041    0.003    0.054    0.003 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.400    0.200 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.593    0.593 openimage.py:67(openimage)
-        1    0.000    0.000    0.002    0.002 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 {apply}
-       16    0.108    0.007    0.108    0.007 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       45    0.000    0.000    0.000    0.000 {len}
-       90    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      180    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-       68    0.009    0.000    0.009    0.000 {method 'read' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-      180    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       91    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       16    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.015    0.015    0.015    0.015 {numpy.core.multiarray.fromstring}
-        2    0.400    0.200    0.400    0.200 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-       18    0.013    0.001    0.013    0.001 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0100 0.0200 0.0400                   8.008 testimages/GE_aSI_detector_image_1529
-Thu Oct 30 12:14:16 2008    stats
-
-         87 function calls in 0.434 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.002    0.002    0.434    0.434 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 GEimage.py:29(_readheader)
-        1    0.001    0.001    0.031    0.031 GEimage.py:460(read)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.401    0.201 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.432    0.432 openimage.py:67(openimage)
-        1    0.000    0.000    0.401    0.401 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        2    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       21    0.015    0.001    0.015    0.001 {method 'read' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        9    0.015    0.002    0.015    0.002 {numpy.core.multiarray.fromstring}
-        2    0.401    0.201    0.401    0.201 {open}
-
-
-0.0100 0.0000 0.9400 0.8904 0.8400     8.008 testimages/GE_aSI_detector_image_1529.bz2
-Thu Oct 30 12:14:19 2008    stats
-
-         87 function calls in 0.947 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.002    0.002    0.947    0.947 <string>:1(<module>)
-        1    0.000    0.000    0.040    0.040 GEimage.py:29(_readheader)
-        1    0.002    0.002    0.904    0.904 GEimage.py:460(read)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.945    0.945 openimage.py:67(openimage)
-        1    0.001    0.001    0.041    0.041 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        2    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       21    0.885    0.042    0.885    0.042 {method 'read' of 'bz2.BZ2File' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        3    0.040    0.013    0.040    0.013 {method 'seek' of 'bz2.BZ2File' objects}
-        9    0.016    0.002    0.016    0.002 {numpy.core.multiarray.fromstring}
-
-
-0.0000 0.0100 0.1500 0.1368 0.1200     8.008 testimages/GE_aSI_detector_image_1529.gz
-Thu Oct 30 12:14:20 2008    stats
-
-         365 function calls in 0.147 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.002    0.002    0.147    0.147 <string>:1(<module>)
-        1    0.000    0.000    0.001    0.001 GEimage.py:29(_readheader)
-        1    0.002    0.002    0.144    0.144 GEimage.py:460(read)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        3    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        3    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-       32    0.002    0.000    0.127    0.004 gzip.py:208(read)
-       15    0.000    0.000    0.125    0.008 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       15    0.041    0.003    0.054    0.004 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        1    0.000    0.000    0.000    0.000 gzip.py:363(rewind)
-        3    0.000    0.000    0.000    0.000 gzip.py:374(seek)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.145    0.145 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-       15    0.066    0.004    0.066    0.004 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       33    0.000    0.000    0.000    0.000 {len}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      110    0.005    0.000    0.005    0.000 {method 'read' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        9    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       15    0.000    0.000    0.000    0.000 {min}
-        9    0.016    0.002    0.016    0.002 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-        6    0.000    0.000    0.000    0.000 {ord}
-        3    0.000    0.000    0.000    0.000 {range}
-       18    0.013    0.001    0.013    0.001 {zlib.crc32}
-        3    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0000 0.0000 0.4500                   0.256 testimages/b191_1_9_1.img
-Thu Oct 30 12:14:21 2008    stats
-
-         128 function calls in 0.444 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.444    0.444 <string>:1(<module>)
-        1    0.422    0.422    0.443    0.443 OXDimage.py:145(read)
-        1    0.000    0.000    0.000    0.000 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.444    0.444 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        4    0.000    0.000    0.000    0.000 {len}
-        2    0.006    0.003    0.006    0.003 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.003    0.003    0.003    0.003 {method 'copy' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        9    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        8    0.001    0.000    0.001    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'readline' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       46    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-        1    0.010    0.010    0.010    0.010 {range}
-
-
-0.0000 0.0000 0.5300 0.0439 0.0300     0.256 testimages/b191_1_9_1.img.bz2
-Thu Oct 30 12:14:23 2008    stats
-
-         128 function calls in 0.538 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.538    0.538 <string>:1(<module>)
-        1    0.424    0.424    0.510    0.510 OXDimage.py:145(read)
-        1    0.000    0.000    0.055    0.055 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.537    0.537 openimage.py:67(openimage)
-        1    0.000    0.000    0.027    0.027 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        4    0.000    0.000    0.000    0.000 {len}
-        2    0.006    0.003    0.006    0.003 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.003    0.003    0.003    0.003 {method 'copy' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        9    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        8    0.033    0.004    0.033    0.004 {method 'read' of 'bz2.BZ2File' objects}
-        6    0.028    0.005    0.028    0.005 {method 'readline' of 'bz2.BZ2File' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        3    0.026    0.009    0.026    0.009 {method 'seek' of 'bz2.BZ2File' objects}
-        2    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       46    0.001    0.000    0.001    0.000 {numpy.core.multiarray.fromstring}
-        1    0.014    0.014    0.014    0.014 {range}
-
-
-0.0000 0.0000 0.4600 0.0149 0.0100     0.256 testimages/b191_1_9_1.img.gz
-Thu Oct 30 12:14:24 2008    stats
-
-         398 function calls in 0.464 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.464    0.464 <string>:1(<module>)
-        1    0.431    0.431    0.461    0.461 OXDimage.py:145(read)
-        1    0.000    0.000    0.001    0.001 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.002    0.001 fabioimage.py:259(_open)
-        2    0.000    0.000    0.002    0.001 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        3    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        3    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-       22    0.001    0.000    0.006    0.000 gzip.py:208(read)
-        6    0.000    0.000    0.000    0.000 gzip.py:240(_unread)
-       11    0.000    0.000    0.005    0.000 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       11    0.001    0.000    0.001    0.000 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        1    0.000    0.000    0.000    0.000 gzip.py:363(rewind)
-        3    0.000    0.000    0.000    0.000 gzip.py:374(seek)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        6    0.000    0.000    0.000    0.000 gzip.py:391(readline)
-        2    0.000    0.000    0.002    0.001 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.464    0.464 openimage.py:67(openimage)
-        1    0.000    0.000    0.002    0.002 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-       11    0.003    0.000    0.003    0.000 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       47    0.000    0.000    0.000    0.000 {len}
-       10    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.006    0.003    0.006    0.003 {method 'astype' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.003    0.003    0.003    0.003 {method 'copy' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       19    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        7    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       70    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        9    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       16    0.000    0.000    0.000    0.000 {min}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       46    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.002    0.001    0.002    0.001 {open}
-        6    0.000    0.000    0.000    0.000 {ord}
-        4    0.014    0.003    0.014    0.003 {range}
-       14    0.000    0.000    0.000    0.000 {zlib.crc32}
-        3    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0100 0.0000 0.0000                   1.005 testimages/b191_1_9_1_uncompressed.img
-Thu Oct 30 12:14:24 2008    stats
-
-         120 function calls in 0.007 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.007    0.007 <string>:1(<module>)
-        1    0.000    0.000    0.006    0.006 OXDimage.py:145(read)
-        1    0.000    0.000    0.000    0.000 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.007    0.007 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        3    0.000    0.000    0.000    0.000 {len}
-        1    0.002    0.002    0.002    0.002 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        9    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        7    0.002    0.000    0.002    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'readline' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       45    0.002    0.000    0.002    0.000 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-
-
-0.0000 0.0000 0.1700 0.1178 0.1000     1.005 testimages/b191_1_9_1_uncompressed.img.bz2
-Thu Oct 30 12:14:25 2008    stats
-
-         120 function calls in 0.179 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.179    0.179 <string>:1(<module>)
-        1    0.000    0.000    0.143    0.143 OXDimage.py:145(read)
-        1    0.000    0.000    0.069    0.069 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.178    0.178 openimage.py:67(openimage)
-        1    0.001    0.001    0.036    0.036 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        3    0.000    0.000    0.000    0.000 {len}
-        1    0.002    0.002    0.002    0.002 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.001    0.001    0.001    0.001 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        9    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        7    0.103    0.015    0.103    0.015 {method 'read' of 'bz2.BZ2File' objects}
-        6    0.034    0.006    0.034    0.006 {method 'readline' of 'bz2.BZ2File' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        3    0.034    0.011    0.034    0.011 {method 'seek' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       45    0.002    0.000    0.002    0.000 {numpy.core.multiarray.fromstring}
-
-
-0.0000 0.0000 0.0200 0.0249 0.0200     1.005 testimages/b191_1_9_1_uncompressed.img.gz
-Thu Oct 30 12:14:25 2008    stats
-
-         433 function calls in 0.021 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.021    0.021 <string>:1(<module>)
-        1    0.000    0.000    0.020    0.020 OXDimage.py:145(read)
-        1    0.000    0.000    0.001    0.001 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        3    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        3    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-       19    0.000    0.000    0.015    0.001 gzip.py:208(read)
-        6    0.000    0.000    0.000    0.000 gzip.py:240(_unread)
-       13    0.000    0.000    0.015    0.001 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       13    0.005    0.000    0.006    0.000 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        1    0.000    0.000    0.000    0.000 gzip.py:363(rewind)
-        3    0.000    0.000    0.000    0.000 gzip.py:374(seek)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        6    0.000    0.000    0.000    0.000 gzip.py:391(readline)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.021    0.021 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-       13    0.008    0.001    0.008    0.001 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       46    0.000    0.000    0.000    0.000 {len}
-        8    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.002    0.002    0.002    0.002 {method 'astype' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       17    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        7    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      111    0.001    0.000    0.001    0.000 {method 'read' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        9    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       16    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       45    0.002    0.000    0.002    0.000 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-        6    0.000    0.000    0.000    0.000 {ord}
-        3    0.000    0.000    0.000    0.000 {range}
-       16    0.002    0.000    0.002    0.000 {zlib.crc32}
-        3    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0100 0.0200 0.2100                   8.004 testimages/corkcont2_H_0089.mccd
-Thu Oct 30 12:14:26 2008    stats
-
-         4000 function calls in 0.169 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.004    0.004    0.169    0.169 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.001    0.001 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.067    0.067 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.049    0.049 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.001    0.001    0.014    0.014 ImageFile.py:115(load)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.006    0.006    0.007    0.007 marccdimage.py:264(interpret_header)
-        1    0.000    0.000    0.007    0.007 marccdimage.py:292(_readheader)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.165    0.165 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.033    0.033 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.007    0.007    0.164    0.164 tifimage.py:53(read)
-        1    0.000    0.000    0.000    0.000 {PIL._imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.035    0.035    0.035    0.035 {built-in method convert}
-      128    0.005    0.000    0.005    0.000 {built-in method decode}
-      256    0.033    0.000    0.033    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       12    0.000    0.000    0.000    0.000 {isinstance}
-       40    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-      421    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-     2523    0.001    0.000    0.001    0.000 {method 'has_key' of 'dict' objects}
-        3    0.032    0.011    0.032    0.011 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      152    0.008    0.000    0.008    0.000 {method 'read' of 'file' objects}
-       10    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        2    0.000    0.000    0.000    0.000 {min}
-        1    0.033    0.033    0.033    0.033 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-      188    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.6300 0.6214 0.4500     8.004 testimages/corkcont2_H_0089.mccd.bz2
-Thu Oct 30 12:14:28 2008    stats
-
-         4002 function calls in 0.657 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.005    0.005    0.657    0.657 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.002    0.002 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.067    0.067 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.043    0.043 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.001    0.001    0.012    0.012 ImageFile.py:115(load)
-        1    0.000    0.000    0.001    0.001 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.453    0.226 fabioimage.py:259(_open)
-        2    0.001    0.000    0.453    0.226 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.006    0.006    0.007    0.007 marccdimage.py:264(interpret_header)
-        1    0.000    0.000    0.007    0.007 marccdimage.py:292(_readheader)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.652    0.652 openimage.py:67(openimage)
-        1    0.000    0.000    0.041    0.041 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.032    0.032 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.007    0.007    0.611    0.611 tifimage.py:53(read)
-        1    0.001    0.001    0.001    0.001 {PIL._imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.031    0.031    0.031    0.031 {built-in method convert}
-      128    0.005    0.000    0.005    0.000 {built-in method decode}
-      256    0.034    0.000    0.034    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       12    0.000    0.000    0.000    0.000 {isinstance}
-       40    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-      421    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-     2523    0.001    0.000    0.001    0.000 {method 'has_key' of 'dict' objects}
-        3    0.032    0.011    0.032    0.011 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.492    0.246    0.492    0.246 {method 'read' of 'bz2.BZ2File' objects}
-      151    0.006    0.000    0.006    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       10    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        2    0.000    0.000    0.000    0.000 {min}
-        1    0.033    0.033    0.033    0.033 {numpy.core.multiarray.fromstring}
-      188    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0100 0.0000 0.2400 0.1626 0.0900     8.004 testimages/corkcont2_H_0089.mccd.gz
-Thu Oct 30 12:14:29 2008    stats
-
-         4194 function calls in 0.264 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.005    0.005    0.264    0.264 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.001    0.001 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.065    0.065 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.038    0.038 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.001    0.001    0.015    0.015 ImageFile.py:115(load)
-        1    0.000    0.000    0.001    0.001 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.106    0.053 fabioimage.py:259(_open)
-        2    0.000    0.000    0.106    0.053 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.000    0.000    0.098    0.049 gzip.py:208(read)
-       13    0.000    0.000    0.097    0.007 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       12    0.030    0.002    0.043    0.004 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.009    0.005 gzip.py:60(__init__)
-        1    0.006    0.006    0.007    0.007 marccdimage.py:264(interpret_header)
-        1    0.000    0.000    0.007    0.007 marccdimage.py:292(_readheader)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.259    0.259 openimage.py:67(openimage)
-        1    0.000    0.000    0.009    0.009 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.032    0.032 string.py:306(join)
-        3    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.007    0.007    0.251    0.251 tifimage.py:53(read)
-        1    0.001    0.001    0.001    0.001 {PIL._imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.023    0.023    0.023    0.023 {built-in method convert}
-      128    0.006    0.000    0.006    0.000 {built-in method decode}
-       12    0.052    0.004    0.052    0.004 {built-in method decompress}
-      256    0.032    0.000    0.032    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       12    0.000    0.000    0.000    0.000 {isinstance}
-       65    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-      421    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-     2523    0.001    0.000    0.001    0.000 {method 'has_key' of 'dict' objects}
-        3    0.032    0.011    0.032    0.011 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      151    0.006    0.000    0.006    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       66    0.002    0.000    0.002    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        3    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       14    0.000    0.000    0.000    0.000 {min}
-        1    0.033    0.033    0.033    0.033 {numpy.core.multiarray.fromstring}
-        2    0.009    0.005    0.009    0.005 {open}
-      192    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-       14    0.013    0.001    0.013    0.001 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0100 0.0000 0.2000                   3.471 testimages/example.mar2300
-Thu Oct 30 12:14:30 2008    stats
-
-         222 function calls in 0.201 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.201    0.201 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        2    0.000    0.000    0.003    0.002 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.198    0.198 mar345image.py:21(read)
-        1    0.000    0.000    0.001    0.001 mar345image.py:46(_readheader)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.201    0.201 openimage.py:67(openimage)
-        1    0.000    0.000    0.003    0.003 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 string.py:246(strip)
-       15    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       16    0.000    0.000    0.000    0.000 {len}
-        1    0.196    0.196    0.196    0.196 {mar345_io.unpack}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        4    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-       10    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       67    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'splitlines' of 'str' objects}
-       17    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-       15    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       11    0.000    0.000    0.000    0.000 {method 'update' of 'dict' objects}
-        2    0.003    0.002    0.003    0.002 {open}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.9900 0.8456 0.6700     3.471 testimages/example.mar2300.bz2
-Thu Oct 30 12:14:33 2008    stats
-
-         227 function calls in 0.998 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.998    0.998 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        2    0.000    0.000    0.693    0.346 fabioimage.py:259(_open)
-        2    0.001    0.000    0.693    0.346 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.895    0.895 mar345image.py:21(read)
-        1    0.000    0.000    0.001    0.001 mar345image.py:46(_readheader)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.998    0.998 openimage.py:67(openimage)
-        1    0.000    0.000    0.103    0.103 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 string.py:246(strip)
-       15    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       16    0.000    0.000    0.000    0.000 {len}
-        1    0.198    0.198    0.198    0.198 {mar345_io.unpack}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.003    0.003    0.003    0.003 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.780    0.390    0.780    0.390 {method 'read' of 'bz2.BZ2File' objects}
-        3    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-       10    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       67    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'splitlines' of 'str' objects}
-       17    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-       15    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       11    0.000    0.000    0.000    0.000 {method 'update' of 'dict' objects}
-        1    0.013    0.013    0.013    0.013 {method 'write' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {posix.tmpfile}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0100 0.0000 0.2800 0.1064 0.0600     3.471 testimages/example.mar2300.gz
-Thu Oct 30 12:14:34 2008    stats
-
-         414 function calls in 0.268 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.268    0.268 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        2    0.000    0.000    0.065    0.033 fabioimage.py:259(_open)
-        2    0.000    0.000    0.065    0.033 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.000    0.000    0.051    0.026 gzip.py:208(read)
-       14    0.000    0.000    0.051    0.004 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       13    0.009    0.001    0.014    0.001 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.267    0.267 mar345image.py:21(read)
-        1    0.000    0.000    0.001    0.001 mar345image.py:46(_readheader)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.268    0.268 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 string.py:246(strip)
-       17    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-       13    0.032    0.002    0.032    0.002 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       43    0.000    0.000    0.000    0.000 {len}
-        1    0.198    0.198    0.198    0.198 {mar345_io.unpack}
-        3    0.003    0.001    0.003    0.001 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       58    0.004    0.000    0.004    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        8    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       67    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'splitlines' of 'str' objects}
-       17    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-       17    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       11    0.000    0.000    0.000    0.000 {method 'update' of 'dict' objects}
-        1    0.013    0.013    0.013    0.013 {method 'write' of 'file' objects}
-       13    0.000    0.000    0.000    0.000 {min}
-        2    0.000    0.000    0.000    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        1    0.000    0.000    0.000    0.000 {posix.tmpfile}
-       11    0.000    0.000    0.000    0.000 {range}
-       15    0.006    0.000    0.006    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0000 0.0000 0.0100                   0.215 testimages/face.edf
-Thu Oct 30 12:14:35 2008    stats
-
-         119 function calls in 0.003 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.003    0.003 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.000    0.000 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.002    0.002 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.002    0.001 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.003    0.003 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        9    0.000    0.000    0.000    0.000 {len}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        4    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.002    0.001    0.002    0.001 {open}
-
-
-0.0000 0.0000 0.0000 0.0443 0.0000     0.215 testimages/face.edf.bz2
-Thu Oct 30 12:14:35 2008    stats
-
-         119 function calls in 0.007 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.007    0.007 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.001    0.001 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.004    0.004 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.004    0.002 fabioimage.py:259(_open)
-        2    0.004    0.002    0.004    0.002 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.007    0.007 openimage.py:67(openimage)
-        1    0.000    0.000    0.003    0.003 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        9    0.000    0.000    0.000    0.000 {len}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        4    0.003    0.001    0.003    0.001 {method 'read' of 'bz2.BZ2File' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-
-
-0.0000 0.0000 0.0100 0.0373 0.0000     0.215 testimages/face.edf.gz
-Thu Oct 30 12:14:36 2008    stats
-
-         212 function calls in 0.004 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.004    0.004 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.001    0.001 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.003    0.003 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        4    0.000    0.000    0.002    0.001 gzip.py:208(read)
-        4    0.000    0.000    0.002    0.001 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        3    0.000    0.000    0.001    0.000 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.000    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.004    0.004 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        2    0.000    0.000    0.000    0.000 {apply}
-        3    0.001    0.000    0.001    0.000 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       16    0.000    0.000    0.000    0.000 {len}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-       31    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        3    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        5    0.000    0.000    0.000    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0000 0.0000 0.0000                   0.008 testimages/face.msk
-Thu Oct 30 12:14:36 2008    stats
-
-         82 function calls in 0.008 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.008    0.008 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fit2dmaskimage.py:19(_readheader)
-        1    0.002    0.002    0.007    0.007 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 numeric.py:797(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.008    0.008 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        4    0.000    0.000    0.000    0.000 {len}
-        9    0.000    0.000    0.000    0.000 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.005    0.005    0.005    0.005 {numpy.core.multiarray.where}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.zeros}
-        2    0.000    0.000    0.000    0.000 {open}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.0100 0.0335 0.0000     0.008 testimages/face.msk.bz2
-Thu Oct 30 12:14:36 2008    stats
-
-         82 function calls in 0.010 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.010    0.010 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fit2dmaskimage.py:19(_readheader)
-        1    0.002    0.002    0.009    0.009 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 numeric.py:797(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.010    0.010 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        4    0.000    0.000    0.000    0.000 {len}
-        9    0.000    0.000    0.000    0.000 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        3    0.001    0.000    0.001    0.000 {method 'read' of 'bz2.BZ2File' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.005    0.005    0.005    0.005 {numpy.core.multiarray.where}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.zeros}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.0100 0.0317 0.0000     0.008 testimages/face.msk.gz
-Thu Oct 30 12:14:36 2008    stats
-
-         171 function calls in 0.010 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.010    0.010 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fit2dmaskimage.py:19(_readheader)
-        1    0.002    0.002    0.008    0.008 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        3    0.000    0.000    0.001    0.000 gzip.py:208(read)
-        3    0.000    0.000    0.001    0.000 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        3    0.000    0.000    0.000    0.000 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.000    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 numeric.py:797(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.010    0.010 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        3    0.000    0.000    0.000    0.000 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       11    0.000    0.000    0.000    0.000 {len}
-        9    0.000    0.000    0.000    0.000 {method 'astype' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       31    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        3    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.005    0.005    0.005    0.005 {numpy.core.multiarray.where}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.zeros}
-        2    0.000    0.000    0.000    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        1    0.000    0.000    0.000    0.000 {range}
-        5    0.000    0.000    0.000    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0100 0.0000 0.0100                   4.001 testimages/fit2d_click.edf
-Thu Oct 30 12:14:40 2008    stats
-
-         119 function calls in 0.013 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.013    0.013 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.000    0.000 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.012    0.012 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.013    0.013 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        9    0.000    0.000    0.000    0.000 {len}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        4    0.008    0.002    0.008    0.002 {method 'read' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.004    0.004    0.004    0.004 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-
-
-0.0000 0.0000 0.0200 0.0646 0.0200     4.001 testimages/fit2d_click.edf.bz2
-Thu Oct 30 12:14:40 2008    stats
-
-         119 function calls in 0.027 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.027    0.027 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.001    0.001 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.025    0.025 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.027    0.027 openimage.py:67(openimage)
-        1    0.000    0.000    0.002    0.002 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        9    0.000    0.000    0.000    0.000 {len}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        4    0.022    0.005    0.022    0.005 {method 'read' of 'bz2.BZ2File' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.004    0.004    0.004    0.004 {numpy.core.multiarray.fromstring}
-
-
-0.0000 0.0000 0.0500 0.0864 0.0300     4.001 testimages/fit2d_click.edf.gz
-Thu Oct 30 12:14:40 2008    stats
-
-         242 function calls in 0.053 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.053    0.053 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.007    0.007 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.046    0.046 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        4    0.004    0.001    0.047    0.012 gzip.py:208(read)
-        6    0.000    0.000    0.043    0.007 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        5    0.014    0.003    0.022    0.004 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.053    0.053 openimage.py:67(openimage)
-        1    0.000    0.000    0.007    0.007 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        2    0.000    0.000    0.000    0.000 {apply}
-        5    0.021    0.004    0.021    0.004 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       20    0.000    0.000    0.000    0.000 {len}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-       47    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        5    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.004    0.004    0.004    0.004 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        7    0.008    0.001    0.008    0.001 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0000 0.0000 0.1400                   0.126 testimages/fit2d_click.msk
-Thu Oct 30 12:14:41 2008    stats
-
-         82 function calls in 0.125 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.125    0.125 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fit2dmaskimage.py:19(_readheader)
-        1    0.013    0.013    0.125    0.125 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 numeric.py:797(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.125    0.125 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        4    0.000    0.000    0.000    0.000 {len}
-        9    0.014    0.002    0.014    0.002 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.097    0.097    0.097    0.097 {numpy.core.multiarray.where}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.zeros}
-        2    0.001    0.000    0.001    0.000 {open}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.1300 0.0389 0.0000     0.126 testimages/fit2d_click.msk.bz2
-Thu Oct 30 12:14:41 2008    stats
-
-         82 function calls in 0.135 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.135    0.135 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fit2dmaskimage.py:19(_readheader)
-        1    0.012    0.012    0.134    0.134 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 numeric.py:797(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.135    0.135 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        4    0.000    0.000    0.000    0.000 {len}
-        9    0.014    0.002    0.014    0.002 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        3    0.001    0.000    0.001    0.000 {method 'read' of 'bz2.BZ2File' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.106    0.106    0.106    0.106 {numpy.core.multiarray.where}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.zeros}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.1200 0.0346 0.0000     0.126 testimages/fit2d_click.msk.gz
-Thu Oct 30 12:14:41 2008    stats
-
-         193 function calls in 0.134 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.134    0.134 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.001    0.001 fit2dmaskimage.py:19(_readheader)
-        1    0.012    0.012    0.132    0.132 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        6    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        3    0.000    0.000    0.002    0.001 gzip.py:208(read)
-        2    0.000    0.000    0.002    0.001 gzip.py:245(_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        2    0.000    0.000    0.000    0.000 gzip.py:295(_add_read_data)
-        2    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        4    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.000    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 numeric.py:797(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.134    0.134 openimage.py:67(openimage)
-        1    0.000    0.000    0.002    0.002 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        4    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        2    0.001    0.001    0.001    0.001 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       10    0.000    0.000    0.000    0.000 {len}
-        9    0.013    0.001    0.013    0.001 {method 'astype' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       46    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        8    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        4    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        2    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.104    0.104    0.104    0.104 {numpy.core.multiarray.where}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.zeros}
-        2    0.000    0.000    0.000    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        1    0.000    0.000    0.000    0.000 {range}
-        4    0.000    0.000    0.000    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0800 0.0700 0.1600                  36.001 testimages/mb_LP_1_001.edf
-Thu Oct 30 12:14:42 2008    stats
-
-         119 function calls in 0.164 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.006    0.006    0.164    0.164 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.000    0.000 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.151    0.151 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.006    0.006    0.158    0.158 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        9    0.000    0.000    0.000    0.000 {len}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        4    0.072    0.018    0.072    0.018 {method 'read' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.079    0.079    0.079    0.079 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-
-
-0.0400 0.0400 0.1600                  18.000 testimages/mb_LP_1_001.img
-Thu Oct 30 12:14:42 2008    stats
-
-         183 function calls in 0.158 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.003    0.003    0.158    0.158 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.004    0.004    0.152    0.152 adscimage.py:25(read)
-        1    0.000    0.000    0.023    0.023 adscimage.py:71(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.002    0.002    0.155    0.155 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       22    0.000    0.000    0.000    0.000 {len}
-       17    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.058    0.058    0.058    0.058 {method 'byteswap' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        4    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.034    0.017    0.034    0.017 {method 'read' of 'file' objects}
-       19    0.022    0.001    0.022    0.001 {method 'readline' of 'file' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       17    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-       51    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        1    0.034    0.034    0.034    0.034 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-
-
-0.0100 0.0100 3.0700 2.2536 2.1600    18.000 testimages/mb_LP_1_001.img.bz2
-Thu Oct 30 12:14:53 2008    stats
-
-         183 function calls in 3.079 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.003    0.003    3.079    3.079 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.003    0.003    3.033    3.033 adscimage.py:25(read)
-        1    0.000    0.000    0.782    0.782 adscimage.py:71(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.004    0.004    3.076    3.076 openimage.py:67(openimage)
-        1    0.000    0.000    0.039    0.039 openimage.py:81(_openimage)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-       22    0.000    0.000    0.000    0.000 {len}
-       17    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.062    0.062    0.062    0.062 {method 'byteswap' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        4    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    2.149    1.075    2.149    1.075 {method 'read' of 'bz2.BZ2File' objects}
-       19    0.782    0.041    0.782    0.041 {method 'readline' of 'bz2.BZ2File' objects}
-        8    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.039    0.039    0.039    0.039 {method 'seek' of 'bz2.BZ2File' objects}
-       17    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-       51    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        1    0.036    0.036    0.036    0.036 {numpy.core.multiarray.fromstring}
-
-
-0.0100 0.0100 0.5100 0.4089 0.2700    18.000 testimages/mb_LP_1_001.img.gz
-Thu Oct 30 12:14:55 2008    stats
-
-         1123 function calls in 0.519 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.003    0.003    0.519    0.519 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:62(getnum)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.003    0.003    0.512    0.512 adscimage.py:25(read)
-        1    0.000    0.000    0.129    0.129 adscimage.py:71(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        3    0.000    0.000    0.002    0.001 fabioimage.py:259(_open)
-        3    0.000    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        3    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        3    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-       37    0.009    0.000    0.392    0.011 gzip.py:208(read)
-       19    0.004    0.000    0.004    0.000 gzip.py:240(_unread)
-       75    0.001    0.000    0.383    0.005 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       74    0.087    0.001    0.126    0.002 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        3    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        3    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-       19    0.003    0.000    0.129    0.007 gzip.py:391(readline)
-        3    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.003    0.003    0.516    0.516 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        3    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 {apply}
-       74    0.243    0.003    0.243    0.003 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-      239    0.000    0.000    0.000    0.000 {len}
-       51    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.062    0.062    0.062    0.062 {method 'byteswap' of 'numpy.ndarray' objects}
-        3    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       38    0.005    0.000    0.005    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-       20    0.005    0.000    0.005    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      136    0.012    0.000    0.012    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        9    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       17    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-       51    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        8    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       90    0.000    0.000    0.000    0.000 {min}
-        1    0.036    0.036    0.036    0.036 {numpy.core.multiarray.fromstring}
-        3    0.001    0.000    0.001    0.000 {open}
-        6    0.000    0.000    0.000    0.000 {ord}
-       77    0.039    0.001    0.039    0.001 {zlib.crc32}
-        3    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0200 0.0000 0.2000                   8.067 testimages/oPPA_5grains_0001.tif
-Thu Oct 30 12:14:56 2008    stats
-
-         11340 function calls in 0.234 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.005    0.005    0.236    0.236 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.008    0.008 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-      512    0.002    0.000    0.006    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.062    0.062 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.121    0.121 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-      513    0.001    0.000    0.001    0.000 Image.py:91(isTupleType)
-        1    0.005    0.005    0.098    0.098 ImageFile.py:115(load)
-        1    0.000    0.000    0.001    0.001 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-      511    0.001    0.000    0.001    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.008    0.002 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.004    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.001    0.001    0.004    0.004 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.008    0.008 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.008    0.008 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.002    0.002    0.007    0.007 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-      536    0.002    0.000    0.003    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.231    0.231 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.030    0.030 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(_readheader)
-        1    0.007    0.007    0.230    0.230 tifimage.py:53(read)
-        1    0.001    0.001    0.001    0.001 {PIL._imaging.new}
-      513    0.001    0.000    0.001    0.000 {apply}
-        1    0.022    0.022    0.022    0.022 {built-in method convert}
-      512    0.054    0.000    0.054    0.000 {built-in method decode}
-      256    0.030    0.000    0.030    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        3    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        3    0.000    0.000    0.000    0.000 {chr}
-      511    0.000    0.000    0.000    0.000 {cmp}
-      515    0.001    0.000    0.001    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-      523    0.001    0.000    0.001    0.000 {isinstance}
-      557    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-     1290    0.001    0.000    0.001    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        3    0.030    0.010    0.030    0.010 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      541    0.023    0.000    0.023    0.000 {method 'read' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'readline' of 'file' objects}
-       10    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-      528    0.007    0.000    0.007    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.002    0.002 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-     1024    0.001    0.000    0.001    0.000 {min}
-        2    0.032    0.016    0.032    0.016 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-     2244    0.001    0.000    0.001    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.7100 0.4409 0.4700     8.067 testimages/oPPA_5grains_0001.tif.bz2
-Thu Oct 30 12:14:58 2008    stats
-
-         11342 function calls in 0.722 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.005    0.005    0.723    0.723 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.009    0.009 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-      512    0.002    0.000    0.005    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.063    0.063 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.104    0.104 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-      513    0.001    0.000    0.001    0.000 Image.py:91(isTupleType)
-        1    0.005    0.005    0.080    0.080 ImageFile.py:115(load)
-        1    0.000    0.000    0.001    0.001 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-      511    0.001    0.000    0.001    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.008    0.002 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.004    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.001    0.001    0.004    0.004 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.008    0.008 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.008    0.008 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.002    0.002    0.008    0.008 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-      536    0.002    0.000    0.003    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.487    0.244 fabioimage.py:259(_open)
-        2    0.001    0.000    0.487    0.243 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.718    0.718 openimage.py:67(openimage)
-        1    0.000    0.000    0.013    0.013 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.030    0.030 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(_readheader)
-        1    0.007    0.007    0.703    0.703 tifimage.py:53(read)
-        1    0.001    0.001    0.001    0.001 {PIL._imaging.new}
-      513    0.001    0.000    0.001    0.000 {apply}
-        1    0.024    0.024    0.024    0.024 {built-in method convert}
-      512    0.054    0.000    0.054    0.000 {built-in method decode}
-      256    0.033    0.000    0.033    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        3    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        3    0.000    0.000    0.000    0.000 {chr}
-      511    0.000    0.000    0.000    0.000 {cmp}
-      515    0.001    0.000    0.001    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-      523    0.001    0.000    0.001    0.000 {isinstance}
-      557    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-     1290    0.001    0.000    0.001    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        3    0.030    0.010    0.030    0.010 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.499    0.249    0.499    0.249 {method 'read' of 'bz2.BZ2File' objects}
-      540    0.012    0.000    0.012    0.000 {method 'read' of 'cStringIO.StringI' objects}
-        2    0.000    0.000    0.000    0.000 {method 'readline' of 'cStringIO.StringI' objects}
-       10    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-      528    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.002    0.002 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-     1024    0.001    0.000    0.001    0.000 {min}
-        2    0.033    0.017    0.033    0.017 {numpy.core.multiarray.fromstring}
-     2244    0.001    0.000    0.001    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.2700 0.1194 0.0500     8.067 testimages/oPPA_5grains_0001.tif.gz
-Thu Oct 30 12:14:59 2008    stats
-
-         11494 function calls in 0.276 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.004    0.004    0.277    0.277 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.009    0.009 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-      512    0.002    0.000    0.005    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.066    0.066 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.100    0.100 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-      513    0.001    0.000    0.001    0.000 Image.py:91(isTupleType)
-        1    0.005    0.005    0.079    0.079 ImageFile.py:115(load)
-        1    0.000    0.000    0.001    0.001 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-      511    0.001    0.000    0.001    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.008    0.002 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.004    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.001    0.001    0.004    0.004 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.008    0.008 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.008    0.008 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.002    0.002    0.007    0.007 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-      536    0.002    0.000    0.003    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.055    0.027 fabioimage.py:259(_open)
-        2    0.000    0.000    0.055    0.027 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.000    0.000    0.055    0.028 gzip.py:208(read)
-        8    0.000    0.000    0.055    0.007 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        7    0.026    0.004    0.040    0.006 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.273    0.273 openimage.py:67(openimage)
-        1    0.000    0.000    0.002    0.002 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.032    0.032 string.py:306(join)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(_readheader)
-        1    0.007    0.007    0.270    0.270 tifimage.py:53(read)
-        1    0.001    0.001    0.001    0.001 {PIL._imaging.new}
-      513    0.001    0.000    0.001    0.000 {apply}
-        1    0.021    0.021    0.021    0.021 {built-in method convert}
-      512    0.052    0.000    0.052    0.000 {built-in method decode}
-        7    0.014    0.002    0.014    0.002 {built-in method decompress}
-      256    0.033    0.000    0.033    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        3    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        3    0.000    0.000    0.000    0.000 {chr}
-      511    0.000    0.000    0.000    0.000 {cmp}
-      515    0.001    0.000    0.001    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-      523    0.001    0.000    0.001    0.000 {isinstance}
-      572    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-     1290    0.001    0.000    0.001    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        3    0.032    0.011    0.032    0.011 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      540    0.012    0.000    0.012    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       61    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'readline' of 'cStringIO.StringI' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-      528    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.002    0.002 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-     1031    0.001    0.000    0.001    0.000 {min}
-        2    0.033    0.017    0.033    0.017 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-     2248    0.001    0.000    0.001    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-        9    0.013    0.001    0.013    0.001 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0100 0.0000 0.0400                   2.004 testimages/somedata_0001.mccd
-Thu Oct 30 12:15:00 2008    stats
-
-         3424 function calls in 0.032 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.032    0.032 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.001    0.001 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.010    0.010 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.008    0.008 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.004    0.004 ImageFile.py:115(load)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.006    0.006    0.007    0.007 marccdimage.py:264(interpret_header)
-        1    0.000    0.000    0.007    0.007 marccdimage.py:292(_readheader)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.032    0.032 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.006    0.006 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.032    0.032 tifimage.py:53(read)
-        1    0.000    0.000    0.000    0.000 {PIL._imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.004    0.004    0.004    0.004 {built-in method convert}
-       32    0.001    0.000    0.001    0.000 {built-in method decode}
-       64    0.004    0.000    0.004    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       12    0.000    0.000    0.000    0.000 {isinstance}
-       40    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-      229    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-     2523    0.001    0.000    0.001    0.000 {method 'has_key' of 'dict' objects}
-        3    0.006    0.002    0.006    0.002 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       56    0.002    0.000    0.002    0.000 {method 'read' of 'file' objects}
-       10    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        2    0.000    0.000    0.000    0.000 {min}
-        1    0.005    0.005    0.005    0.005 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-      188    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.2900 0.2321 0.2200     2.004 testimages/somedata_0001.mccd.bz2
-Thu Oct 30 12:15:01 2008    stats
-
-         3426 function calls in 0.300 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.300    0.300 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.002    0.002 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.013    0.013 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.007    0.007 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.003    0.003 ImageFile.py:115(load)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.214    0.107 fabioimage.py:259(_open)
-        2    0.001    0.000    0.213    0.107 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.006    0.006    0.007    0.007 marccdimage.py:264(interpret_header)
-        1    0.000    0.000    0.007    0.007 marccdimage.py:292(_readheader)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.300    0.300 openimage.py:67(openimage)
-        1    0.000    0.000    0.050    0.050 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.007    0.007 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.250    0.250 tifimage.py:53(read)
-        1    0.000    0.000    0.000    0.000 {PIL._imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.004    0.004    0.004    0.004 {built-in method convert}
-       32    0.001    0.000    0.001    0.000 {built-in method decode}
-       64    0.005    0.000    0.005    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       12    0.000    0.000    0.000    0.000 {isinstance}
-       40    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-      229    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-     2523    0.001    0.000    0.001    0.000 {method 'has_key' of 'dict' objects}
-        3    0.007    0.002    0.007    0.002 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.261    0.131    0.261    0.131 {method 'read' of 'bz2.BZ2File' objects}
-       55    0.001    0.000    0.001    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       10    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        2    0.000    0.000    0.000    0.000 {min}
-        1    0.007    0.007    0.007    0.007 {numpy.core.multiarray.fromstring}
-      188    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.0600 0.0715 0.0300     2.004 testimages/somedata_0001.mccd.gz
-Thu Oct 30 12:15:01 2008    stats
-
-         3604 function calls in 0.073 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.073    0.073 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.002    0.002 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.013    0.013 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.012    0.012 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.005    0.005 ImageFile.py:115(load)
-        1    0.000    0.000    0.001    0.001 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.032    0.016 fabioimage.py:259(_open)
-        2    0.000    0.000    0.032    0.016 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.000    0.000    0.032    0.016 gzip.py:208(read)
-       12    0.000    0.000    0.031    0.003 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       11    0.007    0.001    0.010    0.001 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        1    0.006    0.006    0.007    0.007 marccdimage.py:264(interpret_header)
-        1    0.000    0.000    0.007    0.007 marccdimage.py:292(_readheader)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.073    0.073 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.006    0.006 string.py:306(join)
-        3    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.072    0.072 tifimage.py:53(read)
-        1    0.001    0.001    0.001    0.001 {PIL._imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.007    0.007    0.007    0.007 {built-in method convert}
-       32    0.002    0.000    0.002    0.000 {built-in method decode}
-       11    0.019    0.002    0.019    0.002 {built-in method decompress}
-       64    0.006    0.000    0.006    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       12    0.000    0.000    0.000    0.000 {isinstance}
-       63    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-      229    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-     2523    0.001    0.000    0.001    0.000 {method 'has_key' of 'dict' objects}
-        3    0.006    0.002    0.006    0.002 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       55    0.002    0.000    0.002    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       59    0.001    0.000    0.001    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        3    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       13    0.000    0.000    0.000    0.000 {min}
-        1    0.006    0.006    0.006    0.006 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-      192    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-       13    0.003    0.000    0.003    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0000 0.0000 0.0000                   0.023 testimages/testmap1_0002.tif
-Thu Oct 30 12:15:01 2008    stats
-
-         616 function calls in 0.003 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.003    0.003 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.001    0.001 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        2    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.000    0.000 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.000    0.000 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        3    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:115(load)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       26    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:259(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.003    0.003 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(_readheader)
-        1    0.000    0.000    0.002    0.002 tifimage.py:53(read)
-        1    0.000    0.000    0.000    0.000 {PIL._imaging.new}
-        3    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method convert}
-        2    0.000    0.000    0.000    0.000 {built-in method decode}
-        1    0.000    0.000    0.000    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cmp}
-        5    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       13    0.000    0.000    0.000    0.000 {isinstance}
-       44    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-       15    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       29    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-       10    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       16    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {min}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-      204    0.000    0.000    0.000    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.0000 0.0360 0.0000     0.023 testimages/testmap1_0002.tif.bz2
-Thu Oct 30 12:15:01 2008    stats
-
-         618 function calls in 0.004 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.004    0.004 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.002    0.002 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        2    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.000    0.000 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.000    0.000 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        3    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:115(load)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       26    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.001    0.001 fabioimage.py:259(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.004    0.004 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        4    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(_readheader)
-        1    0.000    0.000    0.003    0.003 tifimage.py:53(read)
-        1    0.000    0.000    0.000    0.000 {PIL._imaging.new}
-        3    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method convert}
-        2    0.000    0.000    0.000    0.000 {built-in method decode}
-        1    0.000    0.000    0.000    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        1    0.000    0.000    0.000    0.000 {cmp}
-        5    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       13    0.000    0.000    0.000    0.000 {isinstance}
-       44    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-       15    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'read' of 'bz2.BZ2File' objects}
-       28    0.000    0.000    0.000    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       10    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       16    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        4    0.000    0.000    0.000    0.000 {min}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-      204    0.000    0.000    0.000    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-
-
-0.0000 0.0000 0.0000 0.0343 0.0000     0.023 testimages/testmap1_0002.tif.gz
-Thu Oct 30 12:15:02 2008    stats
-
-         738 function calls in 0.005 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.005    0.005 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.002    0.002 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        2    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.000    0.000 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.000    0.000 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        3    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:115(load)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       26    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:139(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:77(__init__)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:187(resetvals)
-        2    0.000    0.000    0.002    0.001 fabioimage.py:259(_open)
-        2    0.000    0.000    0.002    0.001 fabioimage.py:288(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:83(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        6    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.000    0.000    0.001    0.000 gzip.py:208(read)
-        3    0.000    0.000    0.001    0.000 gzip.py:245(_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        2    0.000    0.000    0.000    0.000 gzip.py:295(_add_read_data)
-        2    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        4    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.001 gzip.py:60(__init__)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.005    0.005 openimage.py:67(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:81(_openimage)
-        2    0.000    0.000    0.000    0.000 posixpath.py:74(split)
-        2    0.000    0.000    0.000    0.000 posixpath.py:89(splitext)
-        1    0.000    0.000    0.000    0.000 re.py:178(compile)
-        1    0.000    0.000    0.000    0.000 re.py:219(_compile)
-        1    0.000    0.000    0.000    0.000 string.py:306(join)
-        4    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(_readheader)
-        1    0.000    0.000    0.004    0.004 tifimage.py:53(read)
-        1    0.000    0.000    0.000    0.000 {PIL._imaging.new}
-        3    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method convert}
-        2    0.000    0.000    0.000    0.000 {built-in method decode}
-        2    0.000    0.000    0.000    0.000 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method encode}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        1    0.000    0.000    0.000    0.000 {cmp}
-        5    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       13    0.000    0.000    0.000    0.000 {isinstance}
-       50    0.000    0.000    0.000    0.000 {len}
-        1    0.000    0.000    0.000    0.000 {max}
-       15    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       28    0.000    0.000    0.000    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       50    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       16    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        9    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        6    0.000    0.000    0.000    0.000 {min}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.001    0.001    0.001    0.001 {open}
-      208    0.000    0.000    0.000    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-        4    0.000    0.000    0.000    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
diff --git a/test/get_test_images.sh b/test/get_test_images.sh
deleted file mode 100644
index aa9c120..0000000
--- a/test/get_test_images.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-
-
-#
-#wget "http://teamsites.risoe.dk/totalcryst/File exchange/fabio_testimages.zip"
-# --http-user=username
-# --http-password=password
-
-
-wget http://downloads.sourceforge.net/fable/fabio_testimages.zip
-
-cd testimages
-
-unzip ../fabio_testimages.zip
-
-for name in $(ls *.bz2 ) ; do
-    bunzip2 -k $name
-    sleep 1
-    gzip ${name%.bz2}
-    sleep 1
-    bunzip2 -k $name
-done
-
-fit2d_12_081_i686_linux2.4.20 -nogr <<EOF
-3072
-3072
-NO
-INPUT
-ADSC
-mb_LP_1_001.img
-OUTPUT
-"KLORA" 
-mb_LP_1_001.edf
-QUIT
-YES
-EOF
diff --git a/test/lapwright_benchheaders b/test/lapwright_benchheaders
deleted file mode 100644
index 6e13ad3..0000000
--- a/test/lapwright_benchheaders
+++ /dev/null
@@ -1,47 +0,0 @@
-  0.000583 testimages/Cr8F8140k103.0026
-  0.051907 testimages/Cr8F8140k103.0026.bz2
-  0.000820 testimages/Cr8F8140k103.0026.gz
-  0.000396 testimages/F2K_Seb_Lyso0675.edf
-  0.100052 testimages/F2K_Seb_Lyso0675.edf.bz2
-  0.000672 testimages/F2K_Seb_Lyso0675.edf.gz
-  0.000184 testimages/GE_aSI_detector_image_1529
-  0.071242 testimages/GE_aSI_detector_image_1529.bz2
-  0.000594 testimages/GE_aSI_detector_image_1529.gz
-  0.000318 testimages/b191_1_9_1.img
-  0.073274 testimages/b191_1_9_1.img.bz2
-  0.000767 testimages/b191_1_9_1.img.gz
-  0.000301 testimages/b191_1_9_1_uncompressed.img
-  0.088887 testimages/b191_1_9_1_uncompressed.img.bz2
-  0.000809 testimages/b191_1_9_1_uncompressed.img.gz
-  0.003353 testimages/corkcont2_H_0089.mccd
-  0.081050 testimages/corkcont2_H_0089.mccd.bz2
-  0.003884 testimages/corkcont2_H_0089.mccd.gz
-  0.000363 testimages/example.mar2300
-  0.193586 testimages/example.mar2300.bz2
-  0.000607 testimages/example.mar2300.gz
-  0.000173 testimages/face.edf
-  0.001616 testimages/face.edf.bz2
-  0.001207 testimages/face.edf.gz
-  0.000128 testimages/face.msk
-  0.000726 testimages/face.msk.bz2
-  0.000348 testimages/face.msk.gz
-  0.000167 testimages/fit2d_click.edf
-  0.002242 testimages/fit2d_click.edf.bz2
-  0.009748 testimages/fit2d_click.edf.gz
-  0.000131 testimages/fit2d_click.msk
-  0.000441 testimages/fit2d_click.msk.bz2
-  0.001680 testimages/fit2d_click.msk.gz
-  0.000174 testimages/mb_LP_1_001.edf
-  0.013777 testimages/mb_LP_1_001.img
-  0.666265 testimages/mb_LP_1_001.img.bz2
-  0.147505 testimages/mb_LP_1_001.img.gz
-  0.000139 testimages/oPPA_5grains_0001.tif
-  0.011123 testimages/oPPA_5grains_0001.tif.bz2
-  0.001009 testimages/oPPA_5grains_0001.tif.gz
-  0.003373 testimages/somedata_0001.mccd
-  0.095547 testimages/somedata_0001.mccd.bz2
-  0.003814 testimages/somedata_0001.mccd.gz
-  0.000128 testimages/testmap1_0002.tif
-  0.000211 testimages/testmap1_0002.tif.bz2
-  0.000349 testimages/testmap1_0002.tif.gz
-  0.000383 testimages/testspr.spr.gz
diff --git a/test/lapwright_benchmark b/test/lapwright_benchmark
deleted file mode 100644
index aa9b7ec..0000000
--- a/test/lapwright_benchmark
+++ /dev/null
@@ -1,54 +0,0 @@
-I/O 1  : Time to read the image
-I/O 2  : Time to read the image (repeat
-Fabio  : Time for fabio to read the image
-Shell  : Time for shell to do decompression
-Python : Time for python to do decompression
-
-I/O 1  I/O 2  Fabio  Shell  Python   Size/MB
-0.0000 0.0000 0.0000                   0.508 testimages/Cr8F8140k103.0026
-0.0000 0.0000 0.0600 0.0363 0.0300     0.508 testimages/Cr8F8140k103.0026.bz2
-0.0000 0.0000 0.0100 0.0111 0.0100     0.508 testimages/Cr8F8140k103.0026.gz
-0.0100 0.0100 0.0200                   8.003 testimages/F2K_Seb_Lyso0675.edf
-0.0100 0.0000 0.7300 0.7201 0.6900     8.003 testimages/F2K_Seb_Lyso0675.edf.bz2
-0.0100 0.0000 0.1600 0.1851 0.1500     8.003 testimages/F2K_Seb_Lyso0675.edf.gz
-0.0100 0.0100 0.0200                   8.008 testimages/GE_aSI_detector_image_1529
-0.0100 0.0000 0.6200 0.6092 0.4900     8.008 testimages/GE_aSI_detector_image_1529.bz2
-0.0000 0.0100 0.1200 0.1191 0.1200     8.008 testimages/GE_aSI_detector_image_1529.gz
-0.0100 0.0000 0.4100                   0.256 testimages/b191_1_9_1.img
-0.0000 0.0000 0.4700 0.0305 0.0300     0.256 testimages/b191_1_9_1.img.bz2
-0.0000 0.0000 0.4600 0.0071 0.0100     0.256 testimages/b191_1_9_1.img.gz
-0.0000 0.0000 0.0100                   1.005 testimages/b191_1_9_1_uncompressed.img
-0.0000 0.0000 0.1200 0.0655 0.0600     1.005 testimages/b191_1_9_1_uncompressed.img.bz2
-0.0000 0.0000 0.0400 0.0341 0.0100     1.005 testimages/b191_1_9_1_uncompressed.img.gz
-0.0200 0.0000 0.1300                   8.004 testimages/corkcont2_H_0089.mccd
-0.0000 0.0000 0.4200 0.3214 0.2900     8.004 testimages/corkcont2_H_0089.mccd.bz2
-0.0000 0.0000 0.1800 0.0977 0.0900     8.004 testimages/corkcont2_H_0089.mccd.gz
-0.0000 0.0000 0.1800                   3.471 testimages/example.mar2300
-0.0100 0.0000 0.7600 0.4990 0.5800     3.471 testimages/example.mar2300.bz2
-0.0100 0.0000 0.3000 0.0672 0.0500     3.471 testimages/example.mar2300.gz
-0.0000 0.0000 0.0000                   0.215 testimages/face.edf
-0.0000 0.0000 0.0000 0.0109 0.0000     0.215 testimages/face.edf.bz2
-0.0000 0.0000 0.0000 0.0098 0.0000     0.215 testimages/face.edf.gz
-0.0000 0.0000 0.0100                   0.008 testimages/face.msk
-0.0000 0.0000 0.0100 0.0089 0.0000     0.008 testimages/face.msk.bz2
-0.0000 0.0000 0.0100 0.0084 0.0000     0.008 testimages/face.msk.gz
-0.0000 0.0100 0.0100                   4.001 testimages/fit2d_click.edf
-0.0000 0.0000 0.0300 0.0498 0.0200     4.001 testimages/fit2d_click.edf.bz2
-0.0000 0.0000 0.0400 0.0433 0.0300     4.001 testimages/fit2d_click.edf.gz
-0.0000 0.0000 0.1100                   0.126 testimages/fit2d_click.msk
-0.0000 0.0000 0.1100 0.0184 0.0000     0.126 testimages/fit2d_click.msk.bz2
-0.0000 0.0000 0.1300 0.0117 0.0000     0.126 testimages/fit2d_click.msk.gz
-0.0400 0.0400 0.0800                  36.001 testimages/mb_LP_1_001.edf
-0.0200 0.0200 0.1100                  18.000 testimages/mb_LP_1_001.img
-0.0100 0.0000 1.9300 1.3436 1.1800    18.000 testimages/mb_LP_1_001.img.bz2
-0.0100 0.0100 0.4200 0.3263 0.2600    18.000 testimages/mb_LP_1_001.img.gz
-0.0200 0.0000 0.1400                   8.067 testimages/oPPA_5grains_0001.tif
-0.0000 0.0000 0.3800 0.2985 0.2300     8.067 testimages/oPPA_5grains_0001.tif.bz2
-0.0000 0.0000 0.1600 0.0624 0.0600     8.067 testimages/oPPA_5grains_0001.tif.gz
-0.0100 0.0000 0.0200                   2.004 testimages/somedata_0001.mccd
-0.0000 0.0000 0.1800 0.1373 0.1200     2.004 testimages/somedata_0001.mccd.bz2
-0.0000 0.0000 0.0400 0.0466 0.0300     2.004 testimages/somedata_0001.mccd.gz
-0.0000 0.0000 0.0100                   0.023 testimages/testmap1_0002.tif
-0.0000 0.0000 0.0000 0.0080 0.0000     0.023 testimages/testmap1_0002.tif.bz2
-0.0000 0.0000 0.0000 0.0078 0.0000     0.023 testimages/testmap1_0002.tif.gz
-0.0000 0.0000 1.0200 0.1523 0.1200     9.141 testimages/testspr.spr.gz
diff --git a/test/lintaillefer_benchHeaders b/test/lintaillefer_benchHeaders
deleted file mode 100644
index c08838e..0000000
--- a/test/lintaillefer_benchHeaders
+++ /dev/null
@@ -1,95 +0,0 @@
-  0.000329 testimages/Cr8F8140k103.0026
-  0.037044 testimages/Cr8F8140k103.0026.bz2
-  0.000592 testimages/Cr8F8140k103.0026.gz
-  0.003818 testimages/F2K_Seb_Lyso0675.edf
-  0.557174 testimages/F2K_Seb_Lyso0675.edf.bz2
-  0.086970 testimages/F2K_Seb_Lyso0675.edf.gz
-  0.000493 testimages/F2K_Seb_Lyso0675_header_only.edf
-  0.001307 testimages/F2K_Seb_Lyso0675_header_only.edf.bz2
-  0.000816 testimages/F2K_Seb_Lyso0675_header_only.edf.gz
-  0.000236 testimages/GE_aSI_detector_image_1529
-  0.051342 testimages/GE_aSI_detector_image_1529.bz2
-  0.000785 testimages/GE_aSI_detector_image_1529.gz
-  0.001612 testimages/MultiFrame-Frame0.edf
-  0.176526 testimages/MultiFrame-Frame0.edf.bz2
-  0.021154 testimages/MultiFrame-Frame0.edf.gz
-  0.001412 testimages/MultiFrame-Frame1.edf
-  0.176522 testimages/MultiFrame-Frame1.edf.bz2
-  0.021324 testimages/MultiFrame-Frame1.edf.gz
-  0.003797 testimages/MultiFrame.edf
-  0.505238 testimages/MultiFrame.edf.bz2
-  0.086753 testimages/MultiFrame.edf.gz
-  0.000412 testimages/XSDataImage.edf
-  0.003893 testimages/XSDataImage.xml
-  0.003825 testimages/XSDataImageInv.xml
-  0.000221 testimages/b191_1_9_1.img
-  0.055115 testimages/b191_1_9_1.img.bz2
-  0.000593 testimages/b191_1_9_1.img.gz
-  0.000210 testimages/b191_1_9_1_uncompressed.img
-  0.060150 testimages/b191_1_9_1_uncompressed.img.bz2
-  0.000622 testimages/b191_1_9_1_uncompressed.img.gz
-  0.002060 testimages/corkcont2_H_0089.mccd
-  0.056873 testimages/corkcont2_H_0089.mccd.bz2
-  0.002520 testimages/corkcont2_H_0089.mccd.gz
-  0.001412 testimages/edfCompressed_U16.edf
-  0.409378 testimages/edfCompressed_U16.edf.bz2
-  0.009362 testimages/edfCompressed_U16.edf.gz
-  0.001355 testimages/edfGzip_U16.edf
-  0.409779 testimages/edfGzip_U16.edf.bz2
-  0.009243 testimages/edfGzip_U16.edf.gz
-  0.003138 testimages/edfUncompressed_U16.edf
-  0.461300 testimages/edfUncompressed_U16.edf.bz2
-  0.065004 testimages/edfUncompressed_U16.edf.gz
-  0.000304 testimages/example.mar2300
-  0.132916 testimages/example.mar2300.bz2
-  0.000491 testimages/example.mar2300.gz
-  0.000294 testimages/face.edf
-  0.002074 testimages/face.edf.bz2
-  0.001499 testimages/face.edf.gz
-  0.000097 testimages/face.msk
-  0.000470 testimages/face.msk.bz2
-  0.000302 testimages/face.msk.gz
-  0.001673 testimages/fit2d_click.edf
-  0.018431 testimages/fit2d_click.edf.bz2
-  0.020730 testimages/fit2d_click.edf.gz
-  0.000095 testimages/fit2d_click.msk
-  0.000281 testimages/fit2d_click.msk.bz2
-  0.001220 testimages/fit2d_click.msk.gz
-  0.001084 testimages/i01f0001.edf
-  0.110340 testimages/i01f0001.edf.bz2
-  0.012220 testimages/i01f0001.edf.gz
-  0.001402 testimages/i01f0001.kcd
-  0.078815 testimages/i01f0001.kcd.bz2
-  0.007362 testimages/i01f0001.kcd.gz
-  0.000401 testimages/id13_badPadding.edf
-  0.066293 testimages/id13_badPadding.edf.bz2
-  0.007500 testimages/id13_badPadding.edf.gz
-  0.000297 testimages/im0000.edf
-  0.005363 testimages/im0000.edf.bz2
-  0.001566 testimages/im0000.edf.gz
-  0.000166 testimages/image.0000
-  0.001915 testimages/image.0000.bz2
-  0.000981 testimages/image.0000.gz
-  0.021417 testimages/mb_LP_1_001.edf
-  1.442814 testimages/mb_LP_1_001.edf.bz2
-  0.267614 testimages/mb_LP_1_001.edf.gz
-  0.011164 testimages/mb_LP_1_001.img
-  0.395687 testimages/mb_LP_1_001.img.bz2
-  0.067309 testimages/mb_LP_1_001.img.gz
-  0.011211 testimages/mb_LP_1_002.img
-  0.000093 testimages/oPPA_5grains_0001.tif
-  0.011608 testimages/oPPA_5grains_0001.tif.bz2
-  0.001260 testimages/oPPA_5grains_0001.tif.gz
-  0.102151 testimages/run2_1_00148.cbf
-  0.577272 testimages/run2_1_00148.cbf.bz2
-  0.156771 testimages/run2_1_00148.cbf.gz
-  0.010526 testimages/run2_1_00148.edf
-  0.862486 testimages/run2_1_00148.edf.bz2
-  0.118586 testimages/run2_1_00148.edf.gz
-  0.002041 testimages/somedata_0001.mccd
-  0.070370 testimages/somedata_0001.mccd.bz2
-  0.002538 testimages/somedata_0001.mccd.gz
-  0.000089 testimages/testmap1_0002.tif
-  0.000198 testimages/testmap1_0002.tif.bz2
-  0.000430 testimages/testmap1_0002.tif.gz
-  0.000087 testimages/tifimagewrite_test0000.tif
diff --git a/test/testGEimage.py b/test/testGEimage.py
index d5f5efd..16fa9b4 100644
--- a/test/testGEimage.py
+++ b/test/testGEimage.py
@@ -42,7 +42,7 @@ class testGE(unittest.TestCase):
         """
         download images
         """
-        UtilsTest.getimage("GE_aSI_detector_image_1529.bz2")
+        self.GE = UtilsTest.getimage("GE_aSI_detector_image_1529.bz2")
 
 
     def test_read(self):
@@ -52,7 +52,7 @@ class testGE(unittest.TestCase):
             dim1, dim2 = [int(x) for x in vals[1:3]]
             mini, maxi, mean, stddev = [float(x) for x in vals[3:]]
             obj = GEimage()
-            obj.read(os.path.join("testimages", name))
+            obj.read(os.path.join(os.path.dirname(self.GE), name))
 
             self.assertAlmostEqual(mini, obj.getmin(), 4, "getmin")
             self.assertAlmostEqual(maxi, obj.getmax(), 4, "getmax")
diff --git a/test/testOXDimage.py b/test/testOXDimage.py
old mode 100644
new mode 100755
index e18903a..1b33798
--- a/test/testOXDimage.py
+++ b/test/testOXDimage.py
@@ -6,10 +6,11 @@
 # builds on stuff from ImageD11.test.testpeaksearch
 """
 
-import unittest, sys, os, logging
+import unittest, sys, os, logging, tempfile
 logger = logging.getLogger("testOXDimage")
 force_build = False
 
+
 for opts in sys.argv[:]:
     if opts in ["-d", "--debug"]:
         logging.basicConfig(level=logging.DEBUG)
@@ -31,6 +32,7 @@ if force_build:
 import fabio
 from fabio.OXDimage import OXDimage
 
+
 # filename dim1 dim2 min max mean stddev values are from OD Sapphire 3.0 
 TESTIMAGES = """b191_1_9_1_uncompressed.img  512 512 -500 11975 25.70 90.2526
                 b191_1_9_1_uncompressed.img  512 512 -500 11975 25.70 90.2526"""
@@ -38,9 +40,14 @@ TESTIMAGES = """b191_1_9_1_uncompressed.img  512 512 -500 11975 25.70 90.2526
 
 class testOXD(unittest.TestCase):
     def setUp(self):
-        UtilsTest.getimage("b191_1_9_1.img.bz2")
-        UtilsTest.getimage("b191_1_9_1_uncompressed.img.bz2")
-
+        self.fn = {}
+        for i in ["b191_1_9_1.img", "b191_1_9_1_uncompressed.img"]:
+            self.fn[i] = UtilsTest.getimage(i + ".bz2")[:-4]
+        for i in self.fn:
+            assert os.path.exists(self.fn[i])
+        self.tempdir = tempfile.mkdtemp()
+    def tearDown(self):
+        UtilsTest.recursive_delete(self.tempdir)
     def test_read(self):
         "Test reading of compressed OXD images"
         for line in TESTIMAGES.split("\n"):
@@ -49,7 +56,7 @@ class testOXD(unittest.TestCase):
             dim1, dim2 = [int(x) for x in vals[1:3]]
             mini, maxi, mean, stddev = [float(x) for x in vals[3:]]
             obj = OXDimage()
-            obj.read(os.path.join("testimages", name))
+            obj.read(self.fn[name])
 
             self.assertAlmostEqual(mini, obj.getmin(), 2, "getmin")
             self.assertAlmostEqual(maxi, obj.getmax(), 2, "getmax")
@@ -57,27 +64,58 @@ class testOXD(unittest.TestCase):
             self.assertAlmostEqual(stddev, obj.getstddev(), 2, "getstddev")
             self.assertEqual(dim1, obj.dim1, "dim1")
             self.assertEqual(dim2, obj.dim2, "dim2")
-
-
+    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 = OXDimage()
+            obj.read(self.fn[name])
+            obj.write(os.path.join(self.tempdir, name))
+            other = OXDimage()
+            other.read(os.path.join(self.tempdir, name))
+            self.assertEqual(abs(obj.data - other.data).max(), 0, "data are the same")
+            for key in obj.header:
+                if key == "filename":
+                    continue
+                self.assertTrue(key in other.header, "Key %s is in header" % key)
+                self.assertEqual(obj.header[key], other.header[key], "value are the same for key %s" % key)
 
 class testOXD_same(unittest.TestCase):
     def setUp(self):
-        self.f1 = UtilsTest.getimage("b191_1_9_1.img.bz2")[:-4]
-        self.f2 = UtilsTest.getimage("b191_1_9_1_uncompressed.img.bz2")[:-4]
+        self.fn = {}
+        for i in ["b191_1_9_1.img", "b191_1_9_1_uncompressed.img"]:
+            self.fn[i] = UtilsTest.getimage(i + ".bz2")[:-4]
+        for i in self.fn:
+            assert os.path.exists(self.fn[i])
     def test_same(self):
         """test if images are actually the same"""
-        o1 = fabio.open(self.f1)
-        o2 = fabio.open(self.f2)
+        o1 = fabio.open(self.fn["b191_1_9_1.img"])
+        o2 = fabio.open(self.fn["b191_1_9_1_uncompressed.img"])
         for attr in ["getmin", "getmax", "getmean", "getstddev"]:
             a1 = getattr(o1, attr)()
             a2 = getattr(o2, attr)()
-            self.assertEqual(a1, a2, attr)
+            self.assertEqual(a1, a2, "testing %s: %s | %s" % (attr, a1, a2))
 
+class testOXD_big(unittest.TestCase):
+    """class to test bugs if OI is large (lot of exceptions 16 bits)"""
+    def setUp(self):
+        self.fn = {}
+        for i in ["d80_60s.img", "d80_60s.edf"]:
+            self.fn[i] = UtilsTest.getimage(i + ".bz2")[:-4]
+        for i in self.fn:
+            self.assertTrue(os.path.exists(self.fn[i]), self.fn[i])
+    def test_same(self):
+#        print self.fn
+        df = [fabio.open(i).data for i in self.fn.values()]
+        self.assertEqual(abs(df[0] - df[1]).max(), 0, "Data are the same")
 
 def test_suite_all_OXD():
     testSuite = unittest.TestSuite()
     testSuite.addTest(testOXD("test_read"))
+    testSuite.addTest(testOXD("test_write"))
     testSuite.addTest(testOXD_same("test_same"))
+    testSuite.addTest(testOXD_big("test_same"))
     return testSuite
 
 if __name__ == '__main__':
diff --git a/test/testXSDimage.py b/test/testXSDimage.py
index 91789e6..ad9ae38 100755
--- a/test/testXSDimage.py
+++ b/test/testXSDimage.py
@@ -41,9 +41,9 @@ TESTIMAGES = """XSDataImage.xml     512 512        86 61204     511.63    667.15
 
 class testXSD(unittest.TestCase):
     def setUp(self):
-        UtilsTest.getimage("XSDataImage.edf")
-        UtilsTest.getimage("XSDataImage.xml")
-        UtilsTest.getimage("XSDataImageInv.xml")
+        self.fn = {}
+        for i in ["XSDataImage.edf", "XSDataImage.xml", "XSDataImageInv.xml"]:
+            self.fn[i] = UtilsTest.getimage(i)
 
     def test_read(self):
         "Test reading of XSD images"
@@ -53,7 +53,7 @@ class testXSD(unittest.TestCase):
             dim1, dim2 = [int(x) for x in vals[1:3]]
             mini, maxi, mean, stddev = [float(x) for x in vals[3:]]
             obj = xsdimage()
-            obj.read(os.path.join("testimages", name))
+            obj.read(self.fn[name])
 
             self.assertAlmostEqual(mini, obj.getmin(), 2, "getmin")
             self.assertAlmostEqual(maxi, obj.getmax(), 2, "getmax")
@@ -65,14 +65,14 @@ class testXSD(unittest.TestCase):
 
     def test_same(self):
         """ test if an image is the same as the EDF equivalent"""
-        xsd = fabio.open(os.path.join("testimages", "XSDataImage.edf"))
-        edf = fabio.open(os.path.join("testimages", "XSDataImage.xml"))
+        xsd = fabio.open(self.fn["XSDataImage.xml"])
+        edf = fabio.open(self.fn["XSDataImage.edf"])
         self.assertAlmostEqual(0, abs(xsd.data - edf.data).max(), 1, "images are the same")
 
     def test_invert(self):
         """ Tests that 2 matrixes are invert """
-        m1 = fabio.open(os.path.join("testimages", "XSDataImage.xml"))
-        m2 = fabio.open(os.path.join("testimages", "XSDataImageInv.xml"))
+        m1 = fabio.open(self.fn["XSDataImage.xml"])
+        m2 = fabio.open(self.fn["XSDataImageInv.xml"])
         self.assertAlmostEqual(
         abs((numpy.matrix(m1.data) * numpy.matrix(m2.data)) - numpy.identity(m1.data.shape[0])).max(),
         0, 3, "matrices are invert of each other")
diff --git a/test/test_all.bat b/test/test_all.bat
deleted file mode 100644
index aee516e..0000000
--- a/test/test_all.bat
+++ /dev/null
@@ -1,26 +0,0 @@
-cd ..
-set PYT=c:\python25\python
-%PYT% setup.py build --compiler=mingw32
-set PYTHONPATH=..\build\lib.win32-2.5
-cd test
-
-%PYT% testheadernotsingleton.py
-%PYT% testadscimage.py
-%PYT% testbrukerimage.py
-%PYT% testedfimage.py
-%PYT% testfabioimage.py
-%PYT% testfilenames.py
-%PYT% test_filename_steps.py
-%PYT% test_file_series.py
-%PYT% testfit2dmaskimage.py
-%PYT% testGEimage.py
-%PYT% testmar345image.py
-%PYT% testmccdimage.py
-%PYT% testopenheader.py
-%PYT% testopenimage.py
-%PYT% testOXDimage.py
-%PYT% testtifgz.py
-
-%PYT% test_all_images.py > win32_benchmark
-%PYT% benchheader.py > win32_benchheaders
-:END
diff --git a/test/test_all.py b/test/test_all.py
index b48da45..bc1c98d 100755
--- a/test/test_all.py
+++ b/test/test_all.py
@@ -40,7 +40,7 @@ from testcbfimage           import test_suite_all_cbf
 from testfilenames          import test_suite_all_filenames
 from test_file_series       import test_suite_all_series
 from test_filename_steps    import test_suite_all_steps
-from test_flat_binary       import test_suite_all_flat
+#from test_flat_binary       import test_suite_all_flat
 from testadscimage          import test_suite_all_adsc
 from testfit2dmaskimage     import test_suite_all_fit2d
 from testGEimage            import test_suite_all_GE
diff --git a/test/test_all.sh b/test/test_all.sh
deleted file mode 100755
index 164a018..0000000
--- a/test/test_all.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-
-echo "Deprecated !!!"
-exit 0
-
-cd ..
-export PYT=python
-$PYT setup.py build
-export PYTHONPATH=../build/lib.linux-x86_64-2.6
-cd test
-
-# ls *.py | awk '{print "$PYT",$1}'
-
-$PYT testheadernotsingleton.py
-$PYT testadscimage.py
-$PYT testbrukerimage.py
-$PYT testedfimage.py
-$PYT testfabioimage.py
-$PYT testfilenames.py
-$PYT test_filename_steps.py
-$PYT test_file_series.py
-$PYT testfit2dmaskimage.py
-$PYT testGEimage.py
-$PYT testmar345image.py
-$PYT testmccdimage.py
-$PYT testopenheader.py
-$PYT testopenimage.py
-$PYT testOXDimage.py
-$PYT testtifgz.py
-
-$PYT test_all_images.py > `hostname`_benchmark
-$PYT benchheader.py > `hostname`_benchheaders
-
diff --git a/test/test_file_series.py b/test/test_file_series.py
old mode 100644
new mode 100755
diff --git a/test/test_filename_steps.py b/test/test_filename_steps.py
old mode 100644
new mode 100755
diff --git a/test/test_flat_binary.py b/test/test_flat_binary.py
index 49599b4..fd3fa8f 100644
--- a/test/test_flat_binary.py
+++ b/test/test_flat_binary.py
@@ -39,7 +39,7 @@ class test_flat_binary(unittest.TestCase):
             f.write("\0x0" * 2048 * 2048 * 2)
         f.close()
 
-    def test_openimage(self):
+    def NOtest_openimage(self):
         """
         test the opening of "junk" empty images ...
         JK: I wonder if this test makes sense !
@@ -61,11 +61,11 @@ class test_flat_binary(unittest.TestCase):
         for filename in self.filenames:
             os.remove(filename)
 
-def test_suite_all_flat():
-    testSuite = unittest.TestSuite()
-
-    testSuite.addTest(test_flat_binary("test_openimage"))
-    return testSuite
+#def test_suite_all_flat():
+#    testSuite = unittest.TestSuite()
+#
+#    testSuite.addTest(test_flat_binary("test_openimage"))
+#    return testSuite
 
 if __name__ == '__main__':
     mysuite = test_suite_all_flat()
diff --git a/test/testadscimage.py b/test/testadscimage.py
index b49b21d..3d79ad2 100644
--- a/test/testadscimage.py
+++ b/test/testadscimage.py
@@ -39,8 +39,8 @@ from fabio.edfimage import edfimage
 # statistics come from fit2d I think
 # filename dim1 dim2 min max mean stddev
 TESTIMAGES = """mb_LP_1_001.img 3072 3072 0.0000 65535. 120.33 147.38 
-mb_LP_1_001.img.gz  3072 3072 0.0000 65535.  120.33 147.38 
-mb_LP_1_001.img.bz2 3072 3072 0.0000 65535.  120.33 147.38 """
+                mb_LP_1_001.img.gz  3072 3072 0.0000 65535.  120.33 147.38 
+                mb_LP_1_001.img.bz2 3072 3072 0.0000 65535.  120.33 147.38 """
 
 
 
@@ -69,6 +69,10 @@ class testmatch(unittest.TestCase):
 class testflatmccdsadsc(unittest.TestCase):
     """
     """
+    def setUp(self):
+        """ Download images """
+        self.im_dir = os.path.dirname(UtilsTest.getimage("mb_LP_1_001.img.bz2"))
+
     def test_read(self):
         """ check we can read flat ADSC images"""
         for line in TESTIMAGES.split("\n"):
@@ -77,7 +81,7 @@ class testflatmccdsadsc(unittest.TestCase):
             dim1, dim2 = [int(x) for x in vals[1:3]]
             mini, maxi, mean, stddev = [float(x) for x in vals[3:]]
             obj = adscimage()
-            obj.read(os.path.join("testimages", name))
+            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")
diff --git a/test/testbrukerimage.py b/test/testbrukerimage.py
index bd7ee05..21d0a19 100644
--- a/test/testbrukerimage.py
+++ b/test/testbrukerimage.py
@@ -58,7 +58,7 @@ OVERFLOWS = [
 
 class testbruker(unittest.TestCase):
     """basic test"""
-    filename = 'testimages/image.0000'
+    filename = os.path.join(UtilsTest.test_home, "testimages", "image.0000")
 
     def setUp(self):
         """ Generate a test bruker image """
@@ -71,7 +71,7 @@ class testbruker(unittest.TestCase):
             hdrblks = int(MYHEADER['HDRBLKS'])
             while (wrb < hdrblks * 512):
                 fout.write("\x1a\x04")
-                fout.write('.'*78)
+                fout.write('.' * 78)
                 wrb = wrb + 80
             fout.write(MYIMAGE.tostring())
 
@@ -114,8 +114,8 @@ class testgzipbruker(testbruker):
 # filename dim1 dim2 min max mean stddev
 
 TESTIMAGES = """Cr8F8140k103.0026   512  512  0  145942 289.37  432.17 
-Cr8F8140k103.0026.gz   512  512  0  145942 289.37  432.17 
-Cr8F8140k103.0026.bz2   512  512  0 145942 289.37  432.17 """
+                Cr8F8140k103.0026.gz   512  512  0  145942 289.37  432.17 
+                Cr8F8140k103.0026.bz2   512  512  0 145942 289.37  432.17 """
 
 
 class test_real_im(unittest.TestCase):
@@ -124,7 +124,7 @@ class test_real_im(unittest.TestCase):
         """
         download images
         """
-        UtilsTest.getimage("Cr8F8140k103.0026.bz2")
+        self.im_dir = os.path.dirname(UtilsTest.getimage("Cr8F8140k103.0026.bz2"))
 
     def test_read(self):
         """ check we can read bruker images"""
@@ -134,7 +134,7 @@ class test_real_im(unittest.TestCase):
             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("testimages", name))
+            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")
diff --git a/test/testcbfimage.py b/test/testcbfimage.py
index a7ea466..8009c8f 100755
--- a/test/testcbfimage.py
+++ b/test/testcbfimage.py
@@ -8,7 +8,7 @@ Unit tests for CBF images based on references images taken from:
 http://pilatus.web.psi.ch/DATA/DATASETS/insulin_0.2/
 
 """
-import unittest, sys, os, logging
+import unittest, sys, os, logging, tempfile
 logger = logging.getLogger("testcbfimage")
 force_build = False
 
@@ -32,6 +32,7 @@ if force_build:
     UtilsTest.forceBuild()
 import fabio
 from fabio.cbfimage import cbfimage
+from fabio.compression import decByteOffet_numpy, decByteOffet_cython
 import time
 
 class test_cbfimage_reader(unittest.TestCase):
@@ -50,6 +51,9 @@ class test_cbfimage_reader(unittest.TestCase):
 
         UtilsTest.getimage(os.path.basename(self.edf_filename + ".bz2"))
         UtilsTest.getimage(os.path.basename(self.cbf_filename))
+        self.tempdir = tempfile.mkdtemp()
+    def tearDown(self):
+        UtilsTest.recursive_delete(self.tempdir)
 
 
     def test_read(self):
@@ -64,6 +68,21 @@ class test_cbfimage_reader(unittest.TestCase):
         self.assertAlmostEqual(0, abs(cbf.data - edf.data).max())
         logger.info("Reading CBF took %.3fs whereas the same EDF took %.3fs" % (times[1] - times[0], times[2] - times[1]))
 
+    def test_write(self):
+        "Rest writing with self consistency at the fabio level"
+        name = os.path.basename(self.cbf_filename)
+        obj = cbfimage()
+        obj.read(self.cbf_filename)
+        obj.write(os.path.join(self.tempdir, name))
+        other = cbfimage()
+        other.read(os.path.join(self.tempdir, name))
+        self.assertEqual(abs(obj.data - other.data).max(), 0, "data are the same")
+        for key in obj.header:
+            if key in[ "filename", "X-Binary-Size-Padding"]:
+                continue
+            self.assertTrue(key in other.header, "Key %s is in header" % key)
+            self.assertEqual(obj.header[key], other.header[key], "value are the same for key %s" % key)
+
     def test_byte_offset(self):
         """ check byte offset algorythm"""
         cbf = fabio.open(self.cbf_filename)
@@ -71,7 +90,7 @@ class test_cbfimage_reader(unittest.TestCase):
         startPos = cbf.cif["_array_data.data"].find(starter) + 4
         data = cbf.cif["_array_data.data"][ startPos: startPos + int(cbf.header["X-Binary-Size"])]
         startTime = time.time()
-        numpyRes = cbfimage.analyseNumpy(data, size=cbf.dim1 * cbf.dim2)
+        numpyRes = decByteOffet_numpy(data, size=cbf.dim1 * cbf.dim2)
         tNumpy = time.time() - startTime
         logger.info("Timing for Numpy method : %.3fs" % tNumpy)
 
@@ -81,17 +100,16 @@ class test_cbfimage_reader(unittest.TestCase):
 #        delta = abs(numpyRes - weaveRes).max()
 #        self.assertAlmostEqual(0, delta)
 #        logger.info("Timing for Weave method : %.3fs, max delta=%s" % (tWeave, delta))
+#
+#        startTime = time.time()
+#        pythonRes = decByteOffet_numpy(data, size=cbf.dim1 * cbf.dim2)
+#        tPython = time.time() - startTime
+#        delta = abs(numpyRes - pythonRes).max()
+#        self.assertAlmostEqual(0, delta)
+#        logger.info("Timing for Python method : %.3fs, max delta= %s" % (tPython, delta))
 
         startTime = time.time()
-        pythonRes = cbfimage.analysePython(data, size=cbf.dim1 * cbf.dim2)
-        tPython = time.time() - startTime
-        delta = abs(numpyRes - pythonRes).max()
-        self.assertAlmostEqual(0, delta)
-        logger.info("Timing for Python method : %.3fs, max delta= %s" % (tPython, delta))
-
-        from fabio.byte_offset import analyseCython
-        startTime = time.time()
-        cythonRes = analyseCython(stream=data, size=cbf.dim1 * cbf.dim2)
+        cythonRes = decByteOffet_cython(stream=data, size=cbf.dim1 * cbf.dim2)
         tCython = time.time() - startTime
         delta = abs(numpyRes - cythonRes).max()
         self.assertAlmostEqual(0, delta)
@@ -101,6 +119,7 @@ class test_cbfimage_reader(unittest.TestCase):
 def test_suite_all_cbf():
     testSuite = unittest.TestSuite()
     testSuite.addTest(test_cbfimage_reader("test_read"))
+    testSuite.addTest(test_cbfimage_reader("test_write"))
     testSuite.addTest(test_cbfimage_reader("test_byte_offset"))
     return testSuite
 
diff --git a/test/testcompression.py b/test/testcompression.py
new file mode 100755
index 0000000..ee0541a
--- /dev/null
+++ b/test/testcompression.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+# -*- coding: utf8 -*-
+
+"""
+# Unit tests
+
+Updated by Jerome Kieffer (jerome.kieffer at esrf.eu), 2011
+"""
+
+import unittest, sys, os, logging
+logger = logging.getLogger("testcompression")
+force_build = False
+
+for opts in sys.argv[:]:
+    if opts in ["-d", "--debug"]:
+        logging.basicConfig(level=logging.DEBUG)
+        sys.argv.pop(sys.argv.index(opts))
+    elif opts in ["-i", "--info"]:
+        logging.basicConfig(level=logging.INFO)
+        sys.argv.pop(sys.argv.index(opts))
+    elif opts in ["-f", "--force"]:
+        force_build = True
+        sys.argv.pop(sys.argv.index(opts))
+try:
+    logger.debug("Tests loaded from file: %s" % __file__)
+except:
+    __file__ = os.getcwd()
+
+from utilstest import UtilsTest
+if force_build:
+    UtilsTest.forceBuild()
+import fabio
+import fabio.compression as compression
+import numpy
+
+
+class testbyteoffset(unittest.TestCase):
+    """ 
+    test the byte offset compression and decompression 
+    """
+    def setUp(self):
+        self.ds = numpy.array([0, 1, 2, 127, 0, 1, 2, 128, 0, 1, 2, 32767, 0, 1, 2, 32768, 0, 1, 2, 2147483647, 0, 1, 2, 2147483648, 0, 1, 2, 128, 129, 130, 32767, 32768, 128, 129, 130, 32768, 2147483647, 2147483648])
+        self.ref = '\x00\x01\x01}\x81\x01\x01~\x80\x80\xff\x01\x01\x80\xfd\x7f\x80\x01\x80\x01\x01\x80\xfe\x7f\x80\x00\x80\x00\x80\xff\xff\x01\x01\x80\x00\x80\xfd\xff\xff\x7f\x80\x00\x80\x01\x00\x00\x80\x01\x01\x80\x00\x80\xfe\xff\xff\x7f\x80\x00\x80\x00\x00\x00\x80\x00\x00\x00\x80\xff\xff\xff\xff\x01\x01~\x01\x01\x80}\x7f\x01\x80\x80\x80\x01\x01\x80~\x7f\x80\x00\x80\xff\x7f\xff\x7f\x01'
+    def testComp(self):
+        """
+        """
+        ds = numpy.array([0, 128])
+        ref = "\x00\x80\x80\00"
+        self.assertEqual(ref, compression.compByteOffet_numpy(ds) , "test +128")
+        ds = numpy.array([0, -128])
+        ref = '\x00\x80\x80\xff'
+        self.assertEqual(ref, compression.compByteOffet_numpy(ds) , "test -128")
+        ds = numpy.array([10, -128])
+        ref = '\n\x80v\xff'
+        self.assertEqual(ref, compression.compByteOffet_numpy(ds) , "test +10 -128")
+        self.assertEqual(self.ref, compression.compByteOffet_numpy(self.ds) , "test larger")
+
+    def testSC(self):
+        """test that datasets are unchanged after various comression/decompressions"""
+
+        obt_np = compression.decByteOffet_numpy(compression.compByteOffet_numpy(self.ds))
+        self.assertEqual(abs(self.ds - obt_np).max(), 0.0, "numpy algo")
+        obt_cy = compression.decByteOffet_cython(compression.compByteOffet_numpy(self.ds))
+        self.assertEqual(abs(self.ds - obt_cy).max(), 0.0, "cython algo")
+        obt_cy2 = compression.decByteOffet_cython(compression.compByteOffet_numpy(self.ds), self.ds.size)
+        self.assertEqual(abs(self.ds - obt_cy2).max(), 0.0, "cython algo_orig")
+        obt_we = compression.decByteOffet_weave(compression.compByteOffet_numpy(self.ds), self.ds.size)
+        self.assertEqual(abs(self.ds - obt_we).max(), 0.0, "weave algo")
+
+
+
+
+
+def test_suite_all_compression():
+    testSuite = unittest.TestSuite()
+    testSuite.addTest(testbyteoffset("testSC"))
+    testSuite.addTest(testbyteoffset("testSC"))
+    return testSuite
+
+if __name__ == '__main__':
+    mysuite = test_suite_all_compression()
+    runner = unittest.TextTestRunner()
+    runner.run(mysuite)
+
+
+
diff --git a/test/testedfimage.py b/test/testedfimage.py
index 4038ff0..f6e0cd9 100644
--- a/test/testedfimage.py
+++ b/test/testedfimage.py
@@ -37,7 +37,7 @@ import gzip, bz2
 
 class testflatedfs(unittest.TestCase):
     """ test some flat images """
-    filename = "testimages/im0000.edf"
+    filename = os.path.join(UtilsTest.test_home, "testimages", "im0000.edf")
     MYHEADER = "{\n%-1020s}\n" % (
 """Omega = 0.0 ; 
 Dim_1 = 256 ;
@@ -122,7 +122,7 @@ class testedfs(unittest.TestCase):
     Read some test images 
     """
     def setUp(self):
-        UtilsTest.getimage("F2K_Seb_Lyso0675.edf.bz2")
+        self.im_dir = os.path.dirname(UtilsTest.getimage("F2K_Seb_Lyso0675.edf.bz2"))
         UtilsTest.getimage("id13_badPadding.edf.bz2")
 
     def test_read(self):
@@ -134,7 +134,7 @@ class testedfs(unittest.TestCase):
             mini, maxi, mean, stddev = [float(x) for x in vals[3:]]
             obj = edfimage()
             try:
-                obj.read(os.path.join("testimages", name))
+                obj.read(os.path.join(self.im_dir, name))
             except:
                 print "Cannot read image", name
                 raise
@@ -150,7 +150,7 @@ class testedfs(unittest.TestCase):
     def test_rebin(self):
         """test the rebin of edfdata"""
         f = edfimage()
-        f.read(os.path.join("testimages", "F2K_Seb_Lyso0675.edf"))
+        f.read(os.path.join(self.im_dir, "F2K_Seb_Lyso0675.edf"))
         f.rebin(1024, 1024)
         self.assertEqual(abs(numpy.array([[1547, 1439], [1536, 1494]]) - f.data).max(), 0, "data are the same after rebin")
 
@@ -162,7 +162,7 @@ class testedfcompresseddata(unittest.TestCase):
     Z-Compression and Gzip compression are implemented Bzip2 and byte offet are experimental 
     """
     def setUp(self):
-        UtilsTest.getimage("edfGzip_U16.edf.bz2")
+        self.im_dir = os.path.dirname(UtilsTest.getimage("edfGzip_U16.edf.bz2"))
         UtilsTest.getimage("edfCompressed_U16.edf.bz2")
         UtilsTest.getimage("edfUncompressed_U16.edf.bz2")
 
@@ -175,15 +175,15 @@ class testedfcompresseddata(unittest.TestCase):
         gzippedFile = "edfGzip_U16.edf"
         compressedFile = "edfCompressed_U16.edf"
         try:
-            ref.read(os.path.join("testimages", refFile))
+            ref.read(os.path.join(self.im_dir, refFile))
         except:
             raise RuntimeError("Cannot read image Uncompressed image %s" % refFile)
         try:
-            gzipped.read(os.path.join("testimages", gzippedFile))
+            gzipped.read(os.path.join(self.im_dir, gzippedFile))
         except:
             raise RuntimeError("Cannot read image gzippedFile image %s" % gzippedFile)
         try:
-            compressed.read(os.path.join("testimages", compressedFile))
+            compressed.read(os.path.join(self.im_dir, compressedFile))
         except:
             raise RuntimeError("Cannot read image compressedFile image %s" % compressedFile)
         self.assertEqual((ref.data - gzipped.data).max(), 0, "Gzipped data block is correct")
@@ -196,25 +196,22 @@ class testedfmultiframe(unittest.TestCase):
     Z-Compression and Gzip compression are implemented Bzip2 and byte offet are experimental 
     """
     def setUp(self):
-        UtilsTest.getimage("MultiFrame.edf.bz2")
-        UtilsTest.getimage("MultiFrame-Frame0.edf.bz2")
-        UtilsTest.getimage("MultiFrame-Frame1.edf.bz2")
+        self.multiFrameFilename = UtilsTest.getimage("MultiFrame.edf.bz2")[:-4]
+        self.Frame0Filename = UtilsTest.getimage("MultiFrame-Frame0.edf.bz2")[:-4]
+        self.Frame1Filename = UtilsTest.getimage("MultiFrame-Frame1.edf.bz2")[:-4]
         self.ref = edfimage()
         self.frame0 = edfimage()
         self.frame1 = edfimage()
-        self.refFile = "MultiFrame.edf"
-        self.Frame0File = "MultiFrame-Frame0.edf"
-        self.Frame1File = "MultiFrame-Frame1.edf"
         try:
-            self.ref.read(os.path.join("testimages", self.refFile))
+            self.ref.read(self.multiFrameFilename)
         except:
-            raise RuntimeError("Cannot read image refFile image %s" % self.refFile)
+            raise RuntimeError("Cannot read image multiFrameFilename image %s" % self.multiFrameFilename)
         try:
-            self.frame0.read(os.path.join("testimages", self.Frame0File))
+            self.frame0.read(self.Frame0Filename)
         except:
             raise RuntimeError("Cannot read image Frame0File image %s" % self.Frame0File)
         try:
-            self.frame1.read(os.path.join("testimages", self.Frame1File))
+            self.frame1.read(self.Frame1Filename)
         except:
             raise RuntimeError("Cannot read image Frame1File image %s" % self.Frame1File)
 
@@ -250,13 +247,18 @@ class testedfmultiframe(unittest.TestCase):
         f0 = f1.previous()
         self.assertEqual((f0.data - self.frame1.data).max(), 0, "previous_multi: Same data for frame 0")
 
-    def text_previous_mono(self):
-        "testedfmultiframe.text_previous_mono"
+    def test_previous_mono(self):
+        "testedfmultiframe.test_previous_mono"
         f1 = self.ref.getframe(1)
         self.assertEqual((f1.data - self.frame1.data).max(), 0, "previous_mono: Same data for frame 1")
         prev = self.frame1.previous()
         self.assertEqual((prev.data - self.frame0.data).max(), 0, "previous_mono: Same data for frame 0")
 
+    def  test_openimage_multiframes(self):
+        "test if openimage can directly read first or second frame of a multi-frame"
+        self.assertEqual((fabio.open(self.multiFrameFilename).data - self.frame0.data).max(), 0, "openimage_multiframes: Same data for default ")
+        self.assertEqual((fabio.open(self.multiFrameFilename, 0).data - self.frame0.data).max(), 0, "openimage_multiframes: Same data for frame 0")
+        self.assertEqual((fabio.open(self.multiFrameFilename, 1).data - self.frame1.data).max(), 0, "openimage_multiframes: Same data for frame 1")
 
 def test_suite_all_edf():
     testSuite = unittest.TestSuite()
@@ -274,7 +276,7 @@ def test_suite_all_edf():
     testSuite.addTest(testedfmultiframe("test_next_multi"))
     testSuite.addTest(testedfmultiframe("text_next_mono"))
     testSuite.addTest(testedfmultiframe("test_previous_multi"))
-    testSuite.addTest(testedfmultiframe("text_previous_mono"))
+    testSuite.addTest(testedfmultiframe("test_openimage_multiframes"))
     return testSuite
 
 if __name__ == '__main__':
diff --git a/test/testfabioimage.py b/test/testfabioimage.py
index 1a3e36a..ee47909 100644
--- a/test/testfabioimage.py
+++ b/test/testfabioimage.py
@@ -102,7 +102,7 @@ class testslices(unittest.TestCase):
 
 class testopen(unittest.TestCase):
     """check opening compressed files"""
-    testfile = "testimages/testfile"
+    testfile = os.path.join(UtilsTest.test_home, "testimages", "testfile")
     def setUp(self):
         """ create test files"""
         if not os.path.isfile(self.testfile):
diff --git a/test/testfilenames.py b/test/testfilenames.py
index 6f76392..30a5072 100644
--- a/test/testfilenames.py
+++ b/test/testfilenames.py
@@ -108,7 +108,7 @@ def test_suite_all_filenames():
     testSuite = unittest.TestSuite()
 
     testSuite.addTest(testfilenames("test_many_cases"))
-#    testSuite.addTest(testfilenames("test_more_cases"))
+    testSuite.addTest(testfilenames("test_more_cases"))
     testSuite.addTest(testfilenames("test_more_cases_jump"))
 
     return testSuite
diff --git a/test/testfit2dmaskimage.py b/test/testfit2dmaskimage.py
old mode 100644
new mode 100755
diff --git a/test/testheadernotsingleton.py b/test/testheadernotsingleton.py
old mode 100644
new mode 100755
diff --git a/test/testkcdimage.py b/test/testkcdimage.py
index c39bbd6..f11f183 100755
--- a/test/testkcdimage.py
+++ b/test/testkcdimage.py
@@ -44,8 +44,11 @@ class testkcd(unittest.TestCase):
 
     def setUp(self):
         """Download files"""
-        self.kcdfilename = UtilsTest.getimage(self.kcdfilename)
-        self.edffilename = UtilsTest.getimage(self.edffilename)
+        self.fn = {}
+        for i in ["i01f0001.kcd", "i01f0001.edf"]:
+            self.fn[i] = UtilsTest.getimage(i + ".bz2")[:-4]
+        for i in self.fn:
+            assert os.path.exists(self.fn[i])
 
     def test_read(self):
         """ check we can read kcd images"""
@@ -53,7 +56,7 @@ class testkcd(unittest.TestCase):
         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 = openimage(os.path.join("testimages", name))
+        obj = openimage(self.fn[self.kcdfilename])
         self.assertAlmostEqual(mini, obj.getmin(), 4, "getmin")
         self.assertAlmostEqual(maxi, obj.getmax(), 4, "getmax")
         self.assertAlmostEqual(mean, obj.getmean(), 4, "getmean")
@@ -65,8 +68,8 @@ class testkcd(unittest.TestCase):
     def test_same(self):
         """ see if we can read kcd images and if they are the same as the EDF """
         kcd = kcdimage()
-        kcd.read(self.kcdfilename)
-        edf = fabio.open(self.edffilename)
+        kcd.read(self.fn[self.kcdfilename])
+        edf = fabio.open(self.fn[self.edffilename])
         diff = (kcd.data.astype("int32") - edf.data.astype("int32"))
         self.assertAlmostEqual(abs(diff).sum(dtype=int), 0, 4)
 
diff --git a/test/testmar345image.py b/test/testmar345image.py
index 79bf3d5..c5dda4c 100644
--- a/test/testmar345image.py
+++ b/test/testmar345image.py
@@ -5,7 +5,7 @@
 
 # builds on stuff from ImageD11.test.testpeaksearch
 """
-import unittest, sys, os, logging
+import unittest, sys, os, logging, tempfile
 logger = logging.getLogger("testmar345image")
 force_build = False
 
@@ -42,6 +42,9 @@ class testMAR345(unittest.TestCase):
         download images
         """
         self.mar = UtilsTest.getimage("example.mar2300.bz2")[:-4]
+        self.tempdir = tempfile.mkdtemp()
+    def tearDown(self):
+        UtilsTest.recursive_delete(self.tempdir)
 
     def test_read(self):
         """
@@ -53,20 +56,38 @@ class testMAR345(unittest.TestCase):
             dim1, dim2 = [int(x) for x in vals[1:3]]
             mini, maxi, mean, stddev = [float(x) for x in vals[3:]]
             obj = mar345image()
-            obj.read(os.path.join("testimages", name))
+            obj.read(os.path.join(os.path.dirname(self.mar), 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.assertAlmostEqual(mini, obj.getmin(), 2, "getmin [%s,%s]" % (mini, obj.getmin()))
+            self.assertAlmostEqual(maxi, obj.getmax(), 2, "getmax [%s,%s]" % (maxi, obj.getmax()))
+            self.assertAlmostEqual(mean, obj.getmean(), 2, "getmean [%s,%s]" % (mean, obj.getmean()))
+            self.assertAlmostEqual(stddev, obj.getstddev(), 2, "getstddev [%s,%s]" % (stddev, obj.getstddev()))
             self.assertEqual(dim1, obj.dim1, "dim1")
             self.assertEqual(obj.dim1, obj.dim2, "dim2!=dim1")
+    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 = mar345image()
+            obj.read(os.path.join(os.path.dirname(self.mar), name))
+            obj.write(os.path.join(self.tempdir, name))
+            other = mar345image()
+            other.read(os.path.join(self.tempdir, name))
+            self.assertEqual(abs(obj.data - other.data).max(), 0, "data are the same")
+            for key in obj.header:
+                if key == "filename":
+                    continue
+                self.assertTrue(key in other.header, "Key %s is in header" % key)
+                self.assertEqual(obj.header[key], other.header[key], "value are the same for key %s: [%s|%s]" % (key, obj.header[key], other.header[key]))
 
 
 
 def test_suite_all_mar345():
     testSuite = unittest.TestSuite()
     testSuite.addTest(testMAR345("test_read"))
+    testSuite.addTest(testMAR345("test_write"))
+
     return testSuite
 
 if __name__ == '__main__':
diff --git a/test/testmccdimage.py b/test/testmccdimage.py
index 3fdd169..9d8a9a5 100644
--- a/test/testmccdimage.py
+++ b/test/testmccdimage.py
@@ -47,7 +47,7 @@ class testnormaltifok(unittest.TestCase):
     check we can read normal tifs as well as mccd
     """
     imdata = None
-    image = 'testimages/tifimagewrite_test0000.tif'
+    image = os.path.join(UtilsTest.test_home, "testimages", "tifimagewrite_test0000.tif")
     def setUp(self):
         """
         create an image 
@@ -72,8 +72,13 @@ class testnormaltifok(unittest.TestCase):
 
 class testflatmccds(unittest.TestCase):
     def setUp(self):
-        UtilsTest.getimage("corkcont2_H_0089.mccd.bz2")
-        UtilsTest.getimage("somedata_0001.mccd.bz2")
+        self.fn = {}
+        for i in ["corkcont2_H_0089.mccd", "somedata_0001.mccd"]:
+            self.fn[i] = UtilsTest.getimage(i + ".bz2")[:-4]
+            self.fn[i + ".bz2"] = self.fn[i] + ".bz2"
+            self.fn[i + ".gz"] = self.fn[i] + ".gz"
+        for i in self.fn:
+            assert os.path.exists(self.fn[i])
 
     def test_read(self):
         """ check we can read MarCCD images"""
@@ -83,7 +88,7 @@ class testflatmccds(unittest.TestCase):
             dim1, dim2 = [int(x) for x in vals[1:3]]
             mini, maxi, mean, stddev = [float(x) for x in vals[3:]]
             obj = marccdimage()
-            obj.read(os.path.join("testimages", name))
+            obj.read(self.fn[name])
             self.assertAlmostEqual(mini, obj.getmin(), 2, "getmin")
             self.assertAlmostEqual(maxi, obj.getmax(), 2, "getmax")
             self.assertAlmostEqual(mean, obj.getmean(), 2, "getmean")
diff --git a/test/testopenheader.py b/test/testopenheader.py
old mode 100644
new mode 100755
diff --git a/test/testopenimage.py b/test/testopenimage.py
old mode 100644
new mode 100755
diff --git a/test/testtifgz.py b/test/testtifgz.py
old mode 100644
new mode 100755
diff --git a/test/testtifimage.py b/test/testtifimage.py
index a1bba9a..80b75b2 100755
--- a/test/testtifimage.py
+++ b/test/testtifimage.py
@@ -36,62 +36,51 @@ from testtifgz import testtif_rect, testgziptif
 
 class testtifimage_pilatus(unittest.TestCase):
     def setUp(self):
-        UtilsTest.getimage("pilatus2M.tif.bz2")
-        UtilsTest.getimage("pilatus2M.edf.bz2")
+        self.fn = {}
+        for i in ["pilatus2M.tif", "pilatus2M.edf"]:
+            self.fn[i] = UtilsTest.getimage(i + ".bz2")
+        for i in self.fn:
+            assert os.path.exists(self.fn[i])
 
-        self.tif = os.path.join("testimages",
-                                   "pilatus2M.tif")
-        self.edf = os.path.join("testimages",
-                                     "pilatus2M.edf")
-        assert os.path.exists(self.tif)
-        assert os.path.exists(self.edf)
 
     def test1(self):
         """
         Testing pilatus tif bug
         """
-        o1 = fabio.open(self.tif).data
-        o2 = fabio.open(self.edf).data
+        o1 = fabio.open(self.fn["pilatus2M.tif"]).data
+        o2 = fabio.open(self.fn["pilatus2M.edf"]).data
         self.assertEqual(abs(o1 - o2).max(), 0.0)
 
 class testtifimage_packbits(unittest.TestCase):
     def setUp(self):
-        UtilsTest.getimage("oPPA_5grains_0001.tif.bz2")
-        UtilsTest.getimage("oPPA_5grains_0001.edf.bz2")
-
-        self.tif = os.path.join("testimages",
-                                   "oPPA_5grains_0001.tif")
-        self.edf = os.path.join("testimages",
-                                     "oPPA_5grains_0001.edf")
-        assert os.path.exists(self.tif)
-        assert os.path.exists(self.edf)
+        self.fn = {}
+        for i in ["oPPA_5grains_0001.tif", "oPPA_5grains_0001.edf"]:
+            self.fn[i] = UtilsTest.getimage(i + ".bz2")
+        for i in self.fn:
+            assert os.path.exists(self.fn[i])
 
     def test1(self):
         """
         Testing packbit comressed data tif bug
         """
-        o1 = fabio.open(self.tif).data
-        o2 = fabio.open(self.edf).data
+        o1 = fabio.open(self.fn["oPPA_5grains_0001.tif"]).data
+        o2 = fabio.open(self.fn["oPPA_5grains_0001.edf"]).data
         self.assertEqual(abs(o1 - o2).max(), 0.0)
 
 class testtifimage_fit2d(unittest.TestCase):
     def setUp(self):
-        UtilsTest.getimage("fit2d.tif.bz2")
-        UtilsTest.getimage("fit2d.edf.bz2")
-
-        self.tif = os.path.join("testimages",
-                                   "fit2d.tif")
-        self.edf = os.path.join("testimages",
-                                     "fit2d.edf")
-        assert os.path.exists(self.tif)
-        assert os.path.exists(self.edf)
+        self.fn = {}
+        for i in ["fit2d.tif", "fit2d.edf"]:
+            self.fn[i] = UtilsTest.getimage(i + ".bz2")
+        for i in self.fn:
+            assert os.path.exists(self.fn[i])
 
     def test1(self):
         """
         Testing packbit comressed data tif bug
         """
-        o1 = fabio.open(self.tif).data
-        o2 = fabio.open(self.edf).data
+        o1 = fabio.open(self.fn["fit2d.tif"]).data
+        o2 = fabio.open(self.fn["fit2d.edf"]).data
         self.assertEqual(abs(o1 - o2).max(), 0.0)
 
 class testtifimage_a0009(unittest.TestCase):
@@ -103,18 +92,18 @@ identify: a0009.tif: TIFF directory is missing required "StripByteCounts" field,
 
     """
     def setUp(self):
-        self.tif = UtilsTest.getimage("a0009.tif.bz2")[:-4]
-        self.edf = UtilsTest.getimage("a0009.edf.bz2")[:-4]
-        logger.warning("files %s %s ", self.tif, self.edf)
-        assert os.path.exists(self.tif)
-        assert os.path.exists(self.edf)
+        self.fn = {}
+        for i in ["a0009.tif", "a0009.edf"]:
+            self.fn[i] = UtilsTest.getimage(i + ".bz2")[:-4]
+        for i in self.fn:
+            assert os.path.exists(self.fn[i])
 
     def test1(self):
         """
         Testing packbit comressed data tif bug
         """
-        o1 = fabio.open(self.tif).data
-        o2 = fabio.open(self.edf).data
+        o1 = fabio.open(self.fn["a0009.tif"]).data
+        o2 = fabio.open(self.fn["a0009.edf"]).data
         self.assertEqual(abs(o1 - o2).max(), 0.0)
 
 
diff --git a/test/utilstest.py b/test/utilstest.py
index 0f53548..c84e014 100644
--- a/test/utilstest.py
+++ b/test/utilstest.py
@@ -55,20 +55,20 @@ class UtilsTest(object):
     platform = distutils.util.get_platform()
     architecture = "lib.%s-%i.%i" % (platform,
                                     sys.version_info[0], sys.version_info[1])
-    fabio_home = os.path.join(os.path.dirname(test_home),
-                                        "build", architecture)
-    logger.info("Fabio Home is: " + fabio_home)
+    fabio_home = os.path.dirname(test_home)
+    fabio_build_home = os.path.join(fabio_home, "build", architecture)
+    logger.info("Fabio Home is: " + fabio_build_home)
     if "fabio" in sys.modules:
         logger.info("Fabio module was already loaded from  %s" % sys.modules["fabio"])
         fabio = None
         sys.modules.pop("fabio")
-    if not os.path.isdir(fabio_home):
-        logger.warning("Building Fabio to %s" % fabio_home)
+    if not os.path.isdir(fabio_build_home):
+        logger.warning("Building Fabio to %s" % fabio_build_home)
         p = subprocess.Popen([sys.executable, "setup.py", "build"],
                          shell=False, cwd=os.path.dirname(test_home))
         logger.info("subprocess ended with rc= %s" % p.wait())
 
-    fabio = imp.load_module(*((name,) + imp.find_module(name, [fabio_home])))
+    fabio = imp.load_module(*((name,) + imp.find_module(name, [fabio_build_home, fabio_home])))
     sys.modules[name] = fabio
     logging.info("pyFAI loaded from %s" % fabio.__file__)
 
@@ -77,11 +77,11 @@ class UtilsTest(object):
         """
         force the recompilation of Fabio
         """
-        logger.info("Building Fabio to %s" % cls.fabio_home)
+        logger.info("Building Fabio to %s" % cls.fabio_build_home)
         p = subprocess.Popen([sys.executable, "setup.py", "build"],
                          shell=False, cwd=os.path.dirname(cls.test_home))
         logger.info("subprocess ended with rc= %s" % p.wait())
-        fabio = imp.load_module(*((cls.name,) + imp.find_module(cls.name, [cls.fabio_home])))
+        fabio = imp.load_module(*((cls.name,) + imp.find_module(cls.name, [cls.fabio_build_home])))
         sys.modules[cls.name] = fabio
         logger.info("fabio loaded from %s" % fabio.__file__)
 
@@ -176,5 +176,19 @@ Otherwise please try to download the images manually from
                     data to disk at %s" % cls.image_home)
         return fullimagename
 
-
-
+    @staticmethod
+    def recursive_delete(strDirname):
+        """
+        Delete everything reachable from the directory named in "top",
+        assuming there are no symbolic links.
+        CAUTION:  This is dangerous!  For example, if top == '/', it
+        could delete all your disk files.
+        @param strDirname: top directory to delete
+        @type strDirname: string 
+        """
+        for root, dirs, files in os.walk(strDirname, topdown=False):
+            for name in files:
+                os.remove(os.path.join(root, name))
+            for name in dirs:
+                os.rmdir(os.path.join(root, name))
+        os.rmdir(strDirname)
diff --git a/test/win32_benchheaders b/test/win32_benchheaders
deleted file mode 100644
index d8c759d..0000000
--- a/test/win32_benchheaders
+++ /dev/null
@@ -1,46 +0,0 @@
-  0.002363 testimages\Cr8F8140k103.0026
-  0.066067 testimages\Cr8F8140k103.0026.bz2
-  0.001853 testimages\Cr8F8140k103.0026.gz
-  0.002819 testimages\F2K_Seb_Lyso0675.edf
-  0.121077 testimages\F2K_Seb_Lyso0675.edf.bz2
-  0.002366 testimages\F2K_Seb_Lyso0675.edf.gz
-  0.001428 testimages\GE_aSI_detector_image_1529
-  0.082350 testimages\GE_aSI_detector_image_1529.bz2
-  0.003077 testimages\GE_aSI_detector_image_1529.gz
-  0.000956 testimages\b191_1_9_1.img
-  0.096141 testimages\b191_1_9_1.img.bz2
-  0.002030 testimages\b191_1_9_1.img.gz
-  0.001849 testimages\b191_1_9_1_uncompressed.img
-  0.107067 testimages\b191_1_9_1_uncompressed.img.bz2
-  0.001737 testimages\b191_1_9_1_uncompressed.img.gz
-  0.001170 testimages\corkcont2_H_0089.mccd
-  0.091742 testimages\corkcont2_H_0089.mccd.bz2
-  0.002270 testimages\corkcont2_H_0089.mccd.gz
-  0.001537 testimages\example.mar2300
-  0.257166 testimages\example.mar2300.bz2
-  0.002286 testimages\example.mar2300.gz
-  0.001194 testimages\face.edf
-  0.002741 testimages\face.edf.bz2
-  0.003132 testimages\face.edf.gz
-  0.000567 testimages\face.msk
-  0.001318 testimages\face.msk.bz2
-  0.000881 testimages\face.msk.gz
-  0.001576 testimages\fit2d_click.edf
-  0.002984 testimages\fit2d_click.edf.bz2
-  0.016475 testimages\fit2d_click.edf.gz
-  0.000976 testimages\fit2d_click.msk
-  0.000984 testimages\fit2d_click.msk.bz2
-  0.003222 testimages\fit2d_click.msk.gz
-  0.062191 testimages\mb_LP_1_001.img
-  1.668834 testimages\mb_LP_1_001.img.bz2
-  0.181976 testimages\mb_LP_1_001.img.gz
-  0.058940 testimages\mb_LP_1_002.img
-  0.000631 testimages\oPPA_5grains_0001.tif
-  0.028324 testimages\oPPA_5grains_0001.tif.bz2
-  0.004554 testimages\oPPA_5grains_0001.tif.gz
-  0.000595 testimages\somedata_0001.mccd
-  0.113065 testimages\somedata_0001.mccd.bz2
-  0.001092 testimages\somedata_0001.mccd.gz
-  0.000538 testimages\testmap1_0002.tif
-  0.000787 testimages\testmap1_0002.tif.bz2
-  0.001096 testimages\testmap1_0002.tif.gz
diff --git a/test/win32_benchmark b/test/win32_benchmark
deleted file mode 100644
index 6fe2c51..0000000
--- a/test/win32_benchmark
+++ /dev/null
@@ -1,3285 +0,0 @@
-I/O 1  : Time to read the image
-I/O 2  : Time to read the image (repeat
-Fabio  : Time for fabio to read the image
-Shell  : Time for shell to do decompression
-Python : Time for python to do decompression
-
-I/O 1  I/O 2  Fabio  Shell  Python   Size/MB
-0.0025 0.0020 0.0095                   0.508 testimages\Cr8F8140k103.0026
-Mon Mar 16 12:20:12 2009    stats
-
-         637 function calls in 0.011 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.011    0.011 <string>:1(<module>)
-        1    0.001    0.001    0.002    0.002 brukerimage.py:35(_readheader)
-        1    0.000    0.000    0.010    0.010 brukerimage.py:84(read)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.011    0.011 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.005    0.005 readbytestream.py:27(readbytestream)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        6    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        4    0.000    0.000    0.000    0.000 {max}
-       80    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.003    0.003    0.003    0.003 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-      127    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-       92    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        6    0.002    0.000    0.002    0.000 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       92    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-      184    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.array}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0012 0.0009 0.1342 0.1880 0.0778     0.508 testimages\Cr8F8140k103.0026.bz2
-Mon Mar 16 12:20:14 2009    stats
-
-         637 function calls in 0.137 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.137    0.137 <string>:1(<module>)
-        1    0.002    0.002    0.054    0.054 brukerimage.py:35(_readheader)
-        1    0.000    0.000    0.083    0.083 brukerimage.py:84(read)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.001 fabioimage.py:284(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.137    0.137 openimage.py:68(openimage)
-        1    0.000    0.000    0.054    0.054 openimage.py:94(_openimage)
-        1    0.000    0.000    0.025    0.025 readbytestream.py:27(readbytestream)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        6    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        4    0.000    0.000    0.000    0.000 {max}
-       80    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.003    0.003    0.003    0.003 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-      127    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-       92    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        6    0.126    0.021    0.126    0.021 {method 'read' of 'bz2.BZ2File' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'seek' of 'bz2.BZ2File' objects}
-       92    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-      184    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'tell' of 'bz2.BZ2File' objects}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.array}
-        1    0.002    0.002    0.002    0.002 {numpy.core.multiarray.fromstring}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0015 0.0011 0.0306 0.1250 0.0194     0.508 testimages\Cr8F8140k103.0026.gz
-Mon Mar 16 12:20:14 2009    stats
-
-         814 function calls in 0.032 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.032    0.032 <string>:1(<module>)
-        1    0.001    0.001    0.003    0.003 brukerimage.py:35(_readheader)
-        1    0.000    0.000    0.030    0.030 brukerimage.py:84(read)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        7    0.002    0.000    0.021    0.003 gzip.py:208(read)
-       12    0.000    0.000    0.019    0.002 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       12    0.005    0.000    0.006    0.000 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:360(tell)
-        1    0.000    0.000    0.000    0.000 gzip.py:374(seek)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.032    0.032 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.024    0.024 readbytestream.py:27(readbytestream)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-       12    0.011    0.001    0.011    0.001 {built-in method decompress}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        6    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       25    0.000    0.000    0.000    0.000 {len}
-        2    0.000    0.000    0.000    0.000 {max}
-       80    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.003    0.003    0.003    0.003 {method 'astype' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-      127    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-       92    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       58    0.001    0.000    0.001    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       92    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-      184    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        4    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       12    0.000    0.000    0.000    0.000 {min}
-        1    0.002    0.002    0.002    0.002 {numpy.core.multiarray.array}
-        1    0.002    0.002    0.002    0.002 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        2    0.000    0.000    0.000    0.000 {range}
-       14    0.001    0.000    0.001    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0350 0.0294 0.0529                   8.003 testimages\F2K_Seb_Lyso0675.edf
-Mon Mar 16 12:20:14 2009    stats
-
-         624 function calls in 0.052 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    0.052    0.052 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.002    0.002    0.002    0.002 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.049    0.049 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.051    0.051 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 {apply}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       10    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-       90    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      180    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        8    0.027    0.003    0.027    0.003 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-      180    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       91    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.019    0.019    0.019    0.019 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-
-
-0.0102 0.0091 1.3386 1.6250 1.2248     8.003 testimages\F2K_Seb_Lyso0675.edf.bz2
-Mon Mar 16 12:20:20 2009    stats
-
-         624 function calls in 1.319 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    1.319    1.319 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.001    0.001    0.061    0.061 edfimage.py:55(_readheader)
-        1    0.000    0.000    1.252    1.252 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    1.318    1.318 openimage.py:68(openimage)
-        1    0.001    0.001    0.065    0.065 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 {apply}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       10    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-       90    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.001    0.001    0.001    0.001 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      180    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        8    1.301    0.163    1.301    0.163 {method 'read' of 'bz2.BZ2File' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-      180    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-       91    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.012    0.012    0.012    0.012 {numpy.core.multiarray.fromstring}
-
-
-0.0115 0.0139 0.2080 0.3750 0.1809     8.003 testimages\F2K_Seb_Lyso0675.edf.gz
-Mon Mar 16 12:20:20 2009    stats
-
-         841 function calls in 0.209 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    0.209    0.209 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.002    0.002    0.003    0.003 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.206    0.206 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        8    0.002    0.000    0.189    0.024 gzip.py:208(read)
-       17    0.001    0.000    0.187    0.011 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       16    0.032    0.002    0.044    0.003 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.208    0.208 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 {apply}
-       16    0.125    0.008    0.125    0.008 {built-in method decompress}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       43    0.000    0.000    0.000    0.000 {len}
-        2    0.000    0.000    0.000    0.000 {max}
-       90    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      180    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-       68    0.018    0.000    0.018    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-      180    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       91    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       16    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.014    0.014    0.014    0.014 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-       18    0.011    0.001    0.011    0.001 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0174 0.0233 0.0333                   8.008 testimages\GE_aSI_detector_image_1529
-Mon Mar 16 12:20:20 2009    stats
-
-         475 function calls in 0.039 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    0.039    0.039 <string>:1(<module>)
-        1    0.001    0.001    0.002    0.002 GEimage.py:183(_readheader)
-        1    0.000    0.000    0.038    0.038 GEimage.py:196(read)
-        1    0.000    0.000    0.000    0.000 GEimage.py:211(_makeframename)
-        1    0.001    0.001    0.035    0.035 GEimage.py:217(_readframe)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.038    0.038 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-      130    0.000    0.000    0.001    0.000 struct.py:77(unpack)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        4    0.000    0.000    0.000    0.000 {max}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      157    0.022    0.000    0.022    0.000 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-      130    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        1    0.012    0.012    0.012    0.012 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-
-
-0.0047 0.0043 1.0045 1.3290 0.9405     8.008 testimages\GE_aSI_detector_image_1529.bz2
-Mon Mar 16 12:20:24 2009    stats
-
-         477 function calls in 1.016 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    1.016    1.016 <string>:1(<module>)
-        1    0.001    0.001    0.002    0.002 GEimage.py:183(_readheader)
-        1    0.000    0.000    0.970    0.970 GEimage.py:196(read)
-        1    0.000    0.000    0.000    0.000 GEimage.py:211(_makeframename)
-        1    0.001    0.001    0.028    0.028 GEimage.py:217(_readframe)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.001    0.000    0.939    0.470 fabioimage.py:284(_open)
-        2    0.001    0.000    0.938    0.469 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    1.015    1.015 openimage.py:68(openimage)
-        1    0.001    0.001    0.045    0.045 openimage.py:94(_openimage)
-      130    0.001    0.000    0.001    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        4    0.000    0.000    0.000    0.000 {max}
-        1    0.001    0.001    0.001    0.001 {method 'close' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.982    0.491    0.982    0.491 {method 'read' of 'bz2.BZ2File' objects}
-      156    0.015    0.000    0.015    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-      130    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        1    0.012    0.012    0.012    0.012 {numpy.core.multiarray.fromstring}
-
-
-0.0079 0.0071 0.2199 0.3750 0.1330     8.008 testimages\GE_aSI_detector_image_1529.gz
-Mon Mar 16 12:20:26 2009    stats
-
-         683 function calls in 0.166 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    0.166    0.166 <string>:1(<module>)
-        1    0.001    0.001    0.002    0.002 GEimage.py:183(_readheader)
-        1    0.000    0.000    0.165    0.165 GEimage.py:196(read)
-        1    0.000    0.000    0.000    0.000 GEimage.py:211(_makeframename)
-        1    0.001    0.001    0.026    0.026 GEimage.py:217(_readframe)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.136    0.068 fabioimage.py:284(_open)
-        2    0.000    0.000    0.136    0.068 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.001    0.001    0.136    0.068 gzip.py:208(read)
-       14    0.000    0.000    0.135    0.010 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       13    0.033    0.003    0.044    0.003 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.000    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.166    0.166 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-      132    0.001    0.000    0.001    0.000 struct.py:77(unpack)
-       13    0.082    0.006    0.082    0.006 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       27    0.000    0.000    0.000    0.000 {len}
-        2    0.000    0.000    0.000    0.000 {max}
-        1    0.001    0.001    0.001    0.001 {method 'close' of 'cStringIO.StringI' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      156    0.014    0.000    0.014    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       77    0.008    0.000    0.008    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-      132    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       13    0.000    0.000    0.000    0.000 {min}
-        1    0.011    0.011    0.011    0.011 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-       15    0.011    0.001    0.011    0.001 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0017 0.0007 0.8216                   0.256 testimages\b191_1_9_1.img
-Mon Mar 16 12:20:28 2009    stats
-
-         128 function calls in 0.758 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.758    0.758 <string>:1(<module>)
-        1    0.743    0.743    0.757    0.757 OXDimage.py:145(read)
-        1    0.001    0.001    0.001    0.001 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.758    0.758 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        2    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        2    0.003    0.002    0.003    0.002 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.002    0.002    0.002    0.002 {method 'copy' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        9    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        8    0.001    0.000    0.001    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'readline' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       46    0.001    0.000    0.001    0.000 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-        1    0.006    0.006    0.006    0.006 {range}
-
-
-0.0179 0.0004 0.7436 0.0930 0.0380     0.256 testimages\b191_1_9_1.img.bz2
-Mon Mar 16 12:20:28 2009    stats
-
-         128 function calls in 0.773 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.773    0.773 <string>:1(<module>)
-        1    0.657    0.657    0.740    0.740 OXDimage.py:145(read)
-        1    0.001    0.001    0.066    0.066 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.001 fabioimage.py:284(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.773    0.773 openimage.py:68(openimage)
-        1    0.000    0.000    0.032    0.032 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        2    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        2    0.003    0.001    0.003    0.001 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.002    0.002    0.002    0.002 {method 'copy' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        9    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        8    0.037    0.005    0.037    0.005 {method 'read' of 'bz2.BZ2File' objects}
-        6    0.034    0.006    0.034    0.006 {method 'readline' of 'bz2.BZ2File' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        3    0.031    0.010    0.031    0.010 {method 'seek' of 'bz2.BZ2File' objects}
-        2    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       46    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.006    0.006    0.006    0.006 {range}
-
-
-0.0141 0.0004 0.6509 0.0620 0.0056     0.256 testimages\b191_1_9_1.img.gz
-Mon Mar 16 12:20:30 2009    stats
-
-         394 function calls in 0.660 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.660    0.660 <string>:1(<module>)
-        1    0.642    0.642    0.659    0.659 OXDimage.py:145(read)
-        1    0.001    0.001    0.002    0.002 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        3    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        3    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-       22    0.001    0.000    0.006    0.000 gzip.py:208(read)
-        6    0.000    0.000    0.000    0.000 gzip.py:240(_unread)
-       11    0.000    0.000    0.006    0.001 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       11    0.001    0.000    0.001    0.000 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        1    0.000    0.000    0.000    0.000 gzip.py:363(rewind)
-        3    0.000    0.000    0.000    0.000 gzip.py:374(seek)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        6    0.000    0.000    0.001    0.000 gzip.py:391(readline)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.660    0.660 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-       11    0.003    0.000    0.003    0.000 {built-in method decompress}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       45    0.000    0.000    0.000    0.000 {len}
-        2    0.000    0.000    0.000    0.000 {max}
-       10    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.002    0.001    0.002    0.001 {method 'astype' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.002    0.002    0.002    0.002 {method 'copy' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       19    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       70    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        9    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       16    0.000    0.000    0.000    0.000 {min}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       46    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-        6    0.000    0.000    0.000    0.000 {ord}
-        4    0.006    0.001    0.006    0.001 {range}
-       14    0.000    0.000    0.000    0.000 {zlib.crc32}
-        3    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0024 0.0024 0.0064                   1.005 testimages\b191_1_9_1_uncompressed.img
-Mon Mar 16 12:20:30 2009    stats
-
-         120 function calls in 0.007 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.007    0.007 <string>:1(<module>)
-        1    0.000    0.000    0.006    0.006 OXDimage.py:145(read)
-        1    0.000    0.000    0.000    0.000 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.007    0.007 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        1    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        1    0.002    0.002    0.002    0.002 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        9    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        7    0.001    0.000    0.001    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'readline' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       45    0.001    0.000    0.001    0.000 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-
-
-0.0021 0.0005 0.1782 0.1870 0.1076     1.005 testimages\b191_1_9_1_uncompressed.img.bz2
-Mon Mar 16 12:20:32 2009    stats
-
-         120 function calls in 0.178 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.178    0.178 <string>:1(<module>)
-        1    0.000    0.000    0.142    0.142 OXDimage.py:145(read)
-        1    0.000    0.000    0.071    0.071 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.178    0.178 openimage.py:68(openimage)
-        1    0.001    0.001    0.036    0.036 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        1    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        1    0.001    0.001    0.001    0.001 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        9    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        7    0.102    0.015    0.102    0.015 {method 'read' of 'bz2.BZ2File' objects}
-        6    0.035    0.006    0.035    0.006 {method 'readline' of 'bz2.BZ2File' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        3    0.036    0.012    0.036    0.012 {method 'seek' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       45    0.002    0.000    0.002    0.000 {numpy.core.multiarray.fromstring}
-
-
-0.0030 0.0009 0.0189 0.0790 0.0152     1.005 testimages\b191_1_9_1_uncompressed.img.gz
-Mon Mar 16 12:20:32 2009    stats
-
-         429 function calls in 0.020 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.020    0.020 <string>:1(<module>)
-        1    0.000    0.000    0.019    0.019 OXDimage.py:145(read)
-        1    0.000    0.000    0.001    0.001 OXDimage.py:27(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        3    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        3    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-       19    0.000    0.000    0.015    0.001 gzip.py:208(read)
-        6    0.000    0.000    0.000    0.000 gzip.py:240(_unread)
-       13    0.000    0.000    0.015    0.001 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       13    0.004    0.000    0.005    0.000 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        1    0.000    0.000    0.000    0.000 gzip.py:363(rewind)
-        3    0.000    0.000    0.000    0.000 gzip.py:374(seek)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        6    0.000    0.000    0.001    0.000 gzip.py:391(readline)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.020    0.020 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-       13    0.008    0.001    0.008    0.001 {built-in method decompress}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       44    0.000    0.000    0.000    0.000 {len}
-        2    0.000    0.000    0.000    0.000 {max}
-        8    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.001    0.001    0.001    0.001 {method 'astype' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       17    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      111    0.001    0.000    0.001    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        9    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       16    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-       45    0.001    0.000    0.001    0.000 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-        6    0.000    0.000    0.000    0.000 {ord}
-        3    0.000    0.000    0.000    0.000 {range}
-       16    0.001    0.000    0.001    0.000 {zlib.crc32}
-        3    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0164 0.0176 0.2444                   8.004 testimages\corkcont2_H_0089.mccd
-Mon Mar 16 12:20:32 2009    stats
-
-         1304 function calls in 0.142 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.006    0.006    0.142    0.142 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.003    0.003 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.049    0.049 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.050    0.050 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.001    0.001    0.028    0.028 ImageFile.py:115(load)
-        1    0.000    0.000    0.012    0.012 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.002    0.001 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.001    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.001    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.002    0.002 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.002    0.002 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.136    0.136 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.023    0.023 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.006    0.006    0.135    0.135 tifimage.py:58(read)
-        1    0.012    0.012    0.012    0.012 {_imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.022    0.022    0.022    0.022 {built-in method convert}
-      128    0.005    0.000    0.005    0.000 {built-in method decode}
-      256    0.025    0.000    0.025    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       13    0.000    0.000    0.000    0.000 {isinstance}
-       34    0.000    0.000    0.000    0.000 {len}
-        5    0.000    0.000    0.000    0.000 {max}
-      267    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.023    0.011    0.023    0.011 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      152    0.010    0.000    0.010    0.000 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       11    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {min}
-        2    0.028    0.014    0.028    0.014 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-      188    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0034 0.0042 0.7445 0.8120 0.5688     8.004 testimages\corkcont2_H_0089.mccd.bz2
-Mon Mar 16 12:20:34 2009    stats
-
-         1306 function calls in 0.748 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.006    0.006    0.748    0.748 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.003    0.003 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.049    0.049 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.040    0.040 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.001    0.001    0.018    0.018 ImageFile.py:115(load)
-        1    0.000    0.000    0.009    0.009 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.002    0.001 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.001    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.001    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.002    0.002 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.002    0.002 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.001    0.000    0.566    0.283 fabioimage.py:284(_open)
-        2    0.001    0.000    0.565    0.282 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.742    0.742 openimage.py:68(openimage)
-        1    0.001    0.001    0.050    0.050 openimage.py:94(_openimage)
-        1    0.000    0.000    0.023    0.023 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.007    0.007    0.691    0.691 tifimage.py:58(read)
-        1    0.009    0.009    0.009    0.009 {_imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.023    0.023    0.023    0.023 {built-in method convert}
-      128    0.004    0.000    0.004    0.000 {built-in method decode}
-      256    0.024    0.000    0.024    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       13    0.000    0.000    0.000    0.000 {isinstance}
-       34    0.000    0.000    0.000    0.000 {len}
-        5    0.000    0.000    0.000    0.000 {max}
-      267    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.023    0.012    0.023    0.012 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.613    0.307    0.613    0.307 {method 'read' of 'bz2.BZ2File' objects}
-      151    0.003    0.000    0.003    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       11    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        2    0.000    0.000    0.000    0.000 {min}
-        2    0.027    0.014    0.027    0.014 {numpy.core.multiarray.fromstring}
-      188    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0045 0.0051 0.2546 0.3130 0.1230     8.004 testimages\corkcont2_H_0089.mccd.gz
-Mon Mar 16 12:20:36 2009    stats
-
-         1494 function calls in 0.258 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.005    0.005    0.258    0.258 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.001    0.001 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.048    0.048 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.041    0.041 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.001    0.001    0.019    0.019 ImageFile.py:115(load)
-        1    0.000    0.000    0.010    0.010 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.122    0.061 fabioimage.py:284(_open)
-        2    0.000    0.000    0.122    0.061 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.001    0.001    0.122    0.061 gzip.py:208(read)
-       13    0.000    0.000    0.120    0.009 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       12    0.040    0.003    0.051    0.004 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.253    0.253 openimage.py:68(openimage)
-        1    0.000    0.000    0.002    0.002 openimage.py:94(_openimage)
-        1    0.000    0.000    0.023    0.023 string.py:306(join)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.009    0.009    0.250    0.250 tifimage.py:58(read)
-        1    0.010    0.010    0.010    0.010 {_imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.022    0.022    0.022    0.022 {built-in method convert}
-      128    0.005    0.000    0.005    0.000 {built-in method decode}
-       12    0.065    0.005    0.065    0.005 {built-in method decompress}
-      256    0.024    0.000    0.024    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       13    0.000    0.000    0.000    0.000 {isinstance}
-       59    0.000    0.000    0.000    0.000 {len}
-        3    0.000    0.000    0.000    0.000 {max}
-      267    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.023    0.012    0.023    0.012 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      151    0.003    0.000    0.003    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       66    0.003    0.000    0.003    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       11    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       14    0.000    0.000    0.000    0.000 {min}
-        2    0.029    0.015    0.029    0.015 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-      192    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-       14    0.011    0.001    0.011    0.001 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0100 0.0089 0.8983                   3.471 testimages\example.mar2300
-Mon Mar 16 12:20:36 2009    stats
-
-         231 function calls in 0.517 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.517    0.517 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:137(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:74(__init__)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.515    0.515 mar345image.py:19(read)
-        1    0.001    0.001    0.001    0.001 mar345image.py:47(_readheader)
-        2    0.000    0.000    0.000    0.000 ntpath.py:116(splitdrive)
-        2    0.000    0.000    0.000    0.000 ntpath.py:158(split)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.517    0.517 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 re.py:186(compile)
-        1    0.000    0.000    0.000    0.000 re.py:227(_compile)
-        1    0.000    0.000    0.000    0.000 string.py:246(strip)
-       15    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       17    0.000    0.000    0.000    0.000 {len}
-        1    0.514    0.514    0.514    0.514 {mar345_io.unpack}
-        4    0.000    0.000    0.000    0.000 {max}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        4    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       67    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'splitlines' of 'str' objects}
-       17    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-       15    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       11    0.000    0.000    0.000    0.000 {method 'update' of 'dict' objects}
-        2    0.001    0.000    0.001    0.000 {open}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0077 0.0079 1.4724 1.0150 0.7642     3.471 testimages\example.mar2300.bz2
-Mon Mar 16 12:20:42 2009    stats
-
-         236 function calls in 1.510 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    1.510    1.510 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:137(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:74(__init__)
-        2    0.000    0.000    0.837    0.418 fabioimage.py:284(_open)
-        2    0.001    0.001    0.836    0.418 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    1.383    1.383 mar345image.py:19(read)
-        1    0.000    0.000    0.001    0.001 mar345image.py:47(_readheader)
-        2    0.000    0.000    0.000    0.000 ntpath.py:116(splitdrive)
-        2    0.000    0.000    0.000    0.000 ntpath.py:158(split)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    1.510    1.510 openimage.py:68(openimage)
-        1    0.001    0.001    0.127    0.127 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 re.py:186(compile)
-        1    0.000    0.000    0.000    0.000 re.py:227(_compile)
-        1    0.000    0.000    0.000    0.000 string.py:246(strip)
-       15    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       17    0.000    0.000    0.000    0.000 {len}
-        1    0.545    0.545    0.545    0.545 {mar345_io.unpack}
-        4    0.000    0.000    0.000    0.000 {max}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.886    0.443    0.886    0.443 {method 'read' of 'bz2.BZ2File' objects}
-        3    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       67    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'splitlines' of 'str' objects}
-       17    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-       15    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       11    0.000    0.000    0.000    0.000 {method 'update' of 'dict' objects}
-        1    0.074    0.074    0.074    0.074 {method 'write' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {nt.tmpfile}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0076 0.0078 0.6351 0.1410 0.0660     3.471 testimages\example.mar2300.gz
-Mon Mar 16 12:20:44 2009    stats
-
-         419 function calls in 0.649 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.649    0.649 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:121(numstem)
-        1    0.000    0.000    0.000    0.000 __init__.py:137(deconstruct_filename)
-        1    0.000    0.000    0.000    0.000 __init__.py:74(__init__)
-        2    0.000    0.000    0.127    0.064 fabioimage.py:284(_open)
-        2    0.000    0.000    0.127    0.064 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.001    0.000    0.066    0.033 gzip.py:208(read)
-       14    0.000    0.000    0.065    0.005 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       13    0.012    0.001    0.017    0.001 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.000    0.000 gzip.py:60(__init__)
-        1    0.000    0.000    0.648    0.648 mar345image.py:19(read)
-        1    0.001    0.001    0.001    0.001 mar345image.py:47(_readheader)
-        2    0.000    0.000    0.000    0.000 ntpath.py:116(splitdrive)
-        2    0.000    0.000    0.000    0.000 ntpath.py:158(split)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.649    0.649 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 re.py:186(compile)
-        1    0.000    0.000    0.000    0.000 re.py:227(_compile)
-        1    0.000    0.000    0.000    0.000 string.py:246(strip)
-       17    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-       13    0.040    0.003    0.040    0.003 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method groups}
-        1    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       44    0.000    0.000    0.000    0.000 {len}
-        1    0.519    0.519    0.519    0.519 {mar345_io.unpack}
-        2    0.000    0.000    0.000    0.000 {max}
-        3    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'get' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        3    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       58    0.008    0.000    0.008    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        8    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       67    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'splitlines' of 'str' objects}
-       17    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-       17    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       11    0.000    0.000    0.000    0.000 {method 'update' of 'dict' objects}
-        1    0.060    0.060    0.060    0.060 {method 'write' of 'file' objects}
-       13    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {nt.tmpfile}
-        2    0.000    0.000    0.000    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-       15    0.005    0.000    0.005    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0046 0.0005 0.0012                   0.215 testimages\face.edf
-Mon Mar 16 12:20:44 2009    stats
-
-         119 function calls in 0.001 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.001    0.001 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.000    0.000 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.001    0.001 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.001    0.001 openimage.py:68(openimage)
-        1    0.000    0.000    0.000    0.000 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {apply}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        7    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        4    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-
-
-0.0016 0.0002 0.0045 0.0620 0.0036     0.215 testimages\face.edf.bz2
-Mon Mar 16 12:20:44 2009    stats
-
-         119 function calls in 0.005 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.005    0.005 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.001    0.001 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.004    0.004 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.005    0.005 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {apply}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        7    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        4    0.004    0.001    0.004    0.001 {method 'read' of 'bz2.BZ2File' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-
-
-0.0003 0.0003 0.0038 0.0620 0.0030     0.215 testimages\face.edf.gz
-Mon Mar 16 12:20:44 2009    stats
-
-         208 function calls in 0.005 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.005    0.005 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.001    0.001 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.003    0.003 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        4    0.000    0.000    0.003    0.001 gzip.py:208(read)
-        4    0.000    0.000    0.003    0.001 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        3    0.000    0.000    0.001    0.000 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.005    0.005 openimage.py:68(openimage)
-        1    0.000    0.000    0.002    0.002 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        2    0.000    0.000    0.000    0.000 {apply}
-        3    0.002    0.001    0.002    0.001 {built-in method decompress}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       14    0.000    0.000    0.000    0.000 {len}
-        2    0.000    0.000    0.000    0.000 {max}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-       31    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        3    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        5    0.000    0.000    0.000    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0007 0.0004 0.0054                   0.008 testimages\face.msk
-Mon Mar 16 12:20:44 2009    stats
-
-         82 function calls in 0.006 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.006    0.006 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fit2dmaskimage.py:19(_readheader)
-        1    0.002    0.002    0.005    0.005 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 numeric.py:1461(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.006    0.006 openimage.py:68(openimage)
-        1    0.000    0.000    0.000    0.000 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        2    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        9    0.000    0.000    0.000    0.000 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.003    0.003    0.003    0.003 {numpy.core.multiarray.where}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.zeros}
-        2    0.000    0.000    0.000    0.000 {open}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0003 0.0002 0.0057 0.0630 0.0012     0.008 testimages\face.msk.bz2
-Mon Mar 16 12:20:44 2009    stats
-
-         82 function calls in 0.007 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.007    0.007 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fit2dmaskimage.py:19(_readheader)
-        1    0.001    0.001    0.006    0.006 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 numeric.py:1461(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.007    0.007 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        2    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        9    0.000    0.000    0.000    0.000 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        3    0.001    0.000    0.001    0.000 {method 'read' of 'bz2.BZ2File' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.003    0.003    0.003    0.003 {numpy.core.multiarray.where}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.zeros}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0004 0.0004 0.0056 0.0630 0.0010     0.008 testimages\face.msk.gz
-Mon Mar 16 12:20:44 2009    stats
-
-         167 function calls in 0.007 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.007    0.007 <string>:1(<module>)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fit2dmaskimage.py:19(_readheader)
-        1    0.001    0.001    0.005    0.005 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        3    0.000    0.000    0.001    0.000 gzip.py:208(read)
-        3    0.000    0.000    0.001    0.000 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        3    0.000    0.000    0.000    0.000 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 numeric.py:1461(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.007    0.007 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        3    0.000    0.000    0.000    0.000 {built-in method decompress}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        9    0.000    0.000    0.000    0.000 {len}
-        2    0.000    0.000    0.000    0.000 {max}
-        9    0.000    0.000    0.000    0.000 {method 'astype' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       31    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        3    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.003    0.003    0.003    0.003 {numpy.core.multiarray.where}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.zeros}
-        2    0.000    0.000    0.000    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        1    0.000    0.000    0.000    0.000 {range}
-        5    0.000    0.000    0.000    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.1201 0.0069 0.0154                   4.001 testimages\fit2d_click.edf
-Mon Mar 16 12:20:44 2009    stats
-
-         119 function calls in 0.025 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    0.025    0.025 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.000    0.000 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.023    0.023 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.025    0.025 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {apply}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        7    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        4    0.006    0.001    0.006    0.001 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.016    0.016    0.016    0.016 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-
-
-0.0030 0.0005 0.0681 0.1250 0.0623     4.001 testimages\fit2d_click.edf.bz2
-Mon Mar 16 12:20:44 2009    stats
-
-         119 function calls in 0.067 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    0.067    0.067 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.002    0.002 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.062    0.062 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.065    0.065 openimage.py:68(openimage)
-        1    0.000    0.000    0.003    0.003 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {apply}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        7    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-        4    0.057    0.014    0.057    0.014 {method 'read' of 'bz2.BZ2File' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.006    0.006    0.006    0.006 {numpy.core.multiarray.fromstring}
-
-
-0.0008 0.0004 0.0632 0.1410 0.0437     4.001 testimages\fit2d_click.edf.gz
-Mon Mar 16 12:20:44 2009    stats
-
-         238 function calls in 0.063 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.063    0.063 <string>:1(<module>)
-        2    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:1321(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:959(debug)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.000    0.000    0.000    0.000 edfimage.py:153(swap_needed)
-        1    0.000    0.000    0.011    0.011 edfimage.py:55(_readheader)
-        1    0.000    0.000    0.055    0.055 edfimage.py:87(read)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        4    0.004    0.001    0.052    0.013 gzip.py:208(read)
-        6    0.000    0.000    0.048    0.008 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        5    0.015    0.003    0.023    0.005 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.062    0.062 openimage.py:68(openimage)
-        1    0.000    0.000    0.007    0.007 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        2    0.000    0.000    0.000    0.000 {apply}
-        5    0.024    0.005    0.024    0.005 {built-in method decompress}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       18    0.000    0.000    0.000    0.000 {len}
-        2    0.000    0.000    0.000    0.000 {max}
-        7    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        8    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       12    0.000    0.000    0.000    0.000 {method 'lstrip' of 'str' objects}
-       47    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rstrip' of 'str' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        7    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        5    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.008    0.008    0.008    0.008 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        7    0.007    0.001    0.007    0.001 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0009 0.0003 0.0767                   0.126 testimages\fit2d_click.msk
-Mon Mar 16 12:20:44 2009    stats
-
-         82 function calls in 0.081 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.081    0.081 <string>:1(<module>)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fit2dmaskimage.py:19(_readheader)
-        1    0.014    0.014    0.080    0.080 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 numeric.py:1461(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.081    0.081 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        2    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        9    0.007    0.001    0.007    0.001 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        3    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.057    0.057    0.057    0.057 {numpy.core.multiarray.where}
-        1    0.002    0.002    0.002    0.002 {numpy.core.multiarray.zeros}
-        2    0.001    0.000    0.001    0.000 {open}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0017 0.0003 0.0777 0.0620 0.0022     0.126 testimages\fit2d_click.msk.bz2
-Mon Mar 16 12:20:44 2009    stats
-
-         82 function calls in 0.080 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.080    0.080 <string>:1(<module>)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fit2dmaskimage.py:19(_readheader)
-        1    0.012    0.012    0.079    0.079 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 numeric.py:1461(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.080    0.080 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        2    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-        9    0.007    0.001    0.007    0.001 {method 'astype' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        3    0.001    0.000    0.001    0.000 {method 'read' of 'bz2.BZ2File' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.057    0.057    0.057    0.057 {numpy.core.multiarray.where}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.zeros}
-        1    0.000    0.000    0.000    0.000 {range}
-
-
-0.0021 0.0003 0.0750 0.0630 0.0020     0.126 testimages\fit2d_click.msk.gz
-Mon Mar 16 12:20:46 2009    stats
-
-         189 function calls in 0.077 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.077    0.077 <string>:1(<module>)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.001    0.001 fit2dmaskimage.py:19(_readheader)
-        1    0.012    0.012    0.075    0.075 fit2dmaskimage.py:36(read)
-        2    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        6    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        3    0.000    0.000    0.003    0.001 gzip.py:208(read)
-        2    0.000    0.000    0.002    0.001 gzip.py:245(_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        2    0.000    0.000    0.000    0.000 gzip.py:295(_add_read_data)
-        2    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        4    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.000    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 numeric.py:1461(ones)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.077    0.077 openimage.py:68(openimage)
-        1    0.000    0.000    0.002    0.002 openimage.py:94(_openimage)
-        4    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        2    0.001    0.001    0.001    0.001 {built-in method decompress}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-        8    0.000    0.000    0.000    0.000 {len}
-        2    0.000    0.000    0.000    0.000 {max}
-        9    0.006    0.001    0.006    0.001 {method 'astype' of 'numpy.ndarray' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        1    0.000    0.000    0.000    0.000 {method 'fill' of 'numpy.ndarray' objects}
-       12    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       46    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        8    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'tostring' of 'numpy.ndarray' objects}
-        4    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        2    0.000    0.000    0.000    0.000 {min}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.array}
-        1    0.000    0.000    0.000    0.000 {numpy.core.multiarray.empty}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        1    0.054    0.054    0.054    0.054 {numpy.core.multiarray.where}
-        1    0.001    0.001    0.001    0.001 {numpy.core.multiarray.zeros}
-        2    0.000    0.000    0.000    0.000 {open}
-        4    0.000    0.000    0.000    0.000 {ord}
-        1    0.000    0.000    0.000    0.000 {range}
-        4    0.000    0.000    0.000    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0377 0.0507 0.2064                  18.000 testimages\mb_LP_1_001.img
-Mon Mar 16 12:20:46 2009    stats
-
-         183 function calls in 0.210 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.002    0.002    0.210    0.210 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.003    0.003    0.204    0.204 adscimage.py:25(read)
-        1    0.000    0.000    0.074    0.074 adscimage.py:71(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.003    0.003    0.208    0.208 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 {apply}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       20    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-       17    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.060    0.060    0.060    0.060 {method 'byteswap' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        4    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.040    0.020    0.040    0.020 {method 'read' of 'file' objects}
-       19    0.074    0.004    0.074    0.004 {method 'readline' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       17    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-       51    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        1    0.027    0.027    0.027    0.027 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-
-
-0.1270 0.0125 4.6505 3.4060 2.6507    18.000 testimages\mb_LP_1_001.img.bz2
-Mon Mar 16 12:21:00 2009    stats
-
-         183 function calls in 4.413 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.002    0.002    4.413    4.413 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.002    0.002    4.356    4.356 adscimage.py:25(read)
-        1    0.000    0.000    1.657    1.657 adscimage.py:71(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.001    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.002    0.002    4.411    4.411 openimage.py:68(openimage)
-        1    0.001    0.001    0.054    0.054 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 {apply}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       20    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-       17    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.051    0.051    0.051    0.051 {method 'byteswap' of 'numpy.ndarray' objects}
-        1    0.001    0.001    0.001    0.001 {method 'close' of 'bz2.BZ2File' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        4    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    2.626    1.313    2.626    1.313 {method 'read' of 'bz2.BZ2File' objects}
-       19    1.657    0.087    1.657    0.087 {method 'readline' of 'bz2.BZ2File' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.045    0.045    0.045    0.045 {method 'seek' of 'bz2.BZ2File' objects}
-       17    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-       51    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        1    0.026    0.026    0.026    0.026 {numpy.core.multiarray.fromstring}
-
-
-0.1923 0.0227 0.5979 1.0000 0.3347    18.000 testimages\mb_LP_1_001.img.gz
-Mon Mar 16 12:21:04 2009    stats
-
-         1121 function calls in 0.607 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.002    0.002    0.607    0.607 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.003    0.003    0.601    0.601 adscimage.py:25(read)
-        1    0.001    0.001    0.179    0.179 adscimage.py:71(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        3    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        3    0.000    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        3    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        3    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-       37    0.019    0.001    0.485    0.013 gzip.py:208(read)
-       19    0.005    0.000    0.005    0.000 gzip.py:240(_unread)
-       75    0.002    0.000    0.466    0.006 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       74    0.104    0.001    0.138    0.002 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        3    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        3    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-       19    0.005    0.000    0.178    0.009 gzip.py:391(readline)
-        3    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        3    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.002    0.002    0.605    0.605 openimage.py:68(openimage)
-        1    0.000    0.000    0.002    0.002 openimage.py:94(_openimage)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 {apply}
-       74    0.295    0.004    0.295    0.004 {built-in method decompress}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-      237    0.000    0.000    0.000    0.000 {len}
-        3    0.000    0.000    0.000    0.000 {max}
-       51    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.056    0.056    0.056    0.056 {method 'byteswap' of 'numpy.ndarray' objects}
-        3    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-       38    0.005    0.000    0.005    0.000 {method 'find' of 'str' objects}
-       20    0.007    0.000    0.007    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      136    0.030    0.000    0.030    0.000 {method 'read' of 'file' objects}
-        9    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        9    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       17    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-       51    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        8    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       90    0.000    0.000    0.000    0.000 {min}
-        1    0.034    0.034    0.034    0.034 {numpy.core.multiarray.fromstring}
-        3    0.001    0.000    0.001    0.000 {open}
-        6    0.000    0.000    0.000    0.000 {ord}
-       77    0.034    0.000    0.034    0.000 {zlib.crc32}
-        3    0.001    0.000    0.001    0.000 {zlib.decompressobj}
-
-
-0.7949 0.0430 0.1928                  18.000 testimages\mb_LP_1_002.img
-Mon Mar 16 12:21:04 2009    stats
-
-         183 function calls in 0.208 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.002    0.002    0.208    0.208 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 __init__.py:1158(getEffectiveLevel)
-        1    0.000    0.000    0.000    0.000 __init__.py:1313(info)
-        1    0.000    0.000    0.000    0.000 __init__.py:973(info)
-        1    0.003    0.003    0.203    0.203 adscimage.py:25(read)
-        1    0.000    0.000    0.084    0.084 adscimage.py:71(_readheader)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.002    0.002    0.206    0.206 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 {apply}
-        2    0.000    0.000    0.000    0.000 {getattr}
-        4    0.000    0.000    0.000    0.000 {hasattr}
-        1    0.000    0.000    0.000    0.000 {isinstance}
-       20    0.000    0.000    0.000    0.000 {len}
-        4    0.000    0.000    0.000    0.000 {max}
-       17    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.052    0.052    0.052    0.052 {method 'byteswap' of 'numpy.ndarray' objects}
-        1    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        4    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.037    0.018    0.037    0.018 {method 'read' of 'file' objects}
-       19    0.084    0.004    0.084    0.004 {method 'readline' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-        1    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-       17    0.000    0.000    0.000    0.000 {method 'split' of 'str' objects}
-       51    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
-        1    0.027    0.027    0.027    0.027 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-
-
-0.2505 0.0227 0.2163                   8.067 testimages\oPPA_5grains_0001.tif
-Mon Mar 16 12:21:06 2009    stats
-
-         11319 function calls in 0.221 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.004    0.004    0.223    0.223 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.019    0.019 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-      512    0.003    0.000    0.006    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.055    0.055 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.110    0.110 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-      513    0.001    0.000    0.002    0.000 Image.py:91(isTupleType)
-        1    0.008    0.008    0.088    0.088 ImageFile.py:115(load)
-        1    0.000    0.000    0.010    0.010 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-      511    0.001    0.000    0.001    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.018    0.005 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.010    0.001 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.001    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.003    0.003    0.009    0.009 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.018    0.018 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.018    0.018 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.005    0.005    0.017    0.017 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-      536    0.005    0.000    0.007    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.219    0.219 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.030    0.030 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.005    0.005    0.218    0.218 tifimage.py:58(read)
-        1    0.010    0.010    0.010    0.010 {_imaging.new}
-      513    0.001    0.000    0.001    0.000 {apply}
-        1    0.022    0.022    0.022    0.022 {built-in method convert}
-      512    0.039    0.000    0.039    0.000 {built-in method decode}
-      256    0.024    0.000    0.024    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        3    0.000    0.000    0.000    0.000 {chr}
-      511    0.000    0.000    0.000    0.000 {cmp}
-      515    0.001    0.000    0.001    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-      524    0.001    0.000    0.001    0.000 {isinstance}
-      551    0.000    0.000    0.000    0.000 {len}
-        5    0.000    0.000    0.000    0.000 {max}
-     1290    0.001    0.000    0.001    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.030    0.015    0.030    0.015 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      541    0.019    0.000    0.019    0.000 {method 'read' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'readline' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-      528    0.002    0.000    0.002    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.001    0.001 {method 'sort' of 'list' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-     1024    0.001    0.000    0.001    0.000 {min}
-        2    0.030    0.015    0.030    0.015 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-     2244    0.002    0.000    0.002    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-
-
-0.0164 0.0005 0.7279 0.8430 0.5297     8.067 testimages\oPPA_5grains_0001.tif.bz2
-Mon Mar 16 12:21:08 2009    stats
-
-         11321 function calls in 0.759 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.004    0.004    0.765    0.765 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.010    0.010 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-      512    0.003    0.000    0.007    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.053    0.053 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.121    0.121 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-      513    0.001    0.000    0.002    0.000 Image.py:91(isTupleType)
-        1    0.008    0.008    0.099    0.099 ImageFile.py:115(load)
-        1    0.000    0.000    0.007    0.007 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-      511    0.001    0.000    0.001    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.010    0.002 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.006    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.001    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.001    0.001    0.005    0.005 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.010    0.010 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.009    0.009 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.002    0.002    0.008    0.008 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-      536    0.003    0.000    0.004    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.001    0.000    0.528    0.264 fabioimage.py:284(_open)
-        2    0.001    0.000    0.527    0.264 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.761    0.761 openimage.py:68(openimage)
-        1    0.001    0.001    0.015    0.015 openimage.py:94(_openimage)
-        1    0.000    0.000    0.028    0.028 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.006    0.006    0.746    0.746 tifimage.py:58(read)
-        1    0.007    0.007    0.007    0.007 {_imaging.new}
-      513    0.001    0.000    0.001    0.000 {apply}
-        1    0.022    0.022    0.022    0.022 {built-in method convert}
-      512    0.040    0.000    0.040    0.000 {built-in method decode}
-      256    0.024    0.000    0.024    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        3    0.000    0.000    0.000    0.000 {chr}
-      511    0.000    0.000    0.000    0.000 {cmp}
-      515    0.001    0.000    0.001    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-      524    0.001    0.000    0.001    0.000 {isinstance}
-      551    0.000    0.000    0.000    0.000 {len}
-        5    0.000    0.000    0.000    0.000 {max}
-     1290    0.001    0.000    0.001    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.028    0.014    0.028    0.014 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.540    0.270    0.540    0.270 {method 'read' of 'bz2.BZ2File' objects}
-      540    0.028    0.000    0.028    0.000 {method 'read' of 'cStringIO.StringI' objects}
-        2    0.000    0.000    0.000    0.000 {method 'readline' of 'cStringIO.StringI' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-      528    0.001    0.000    0.001    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.001    0.001 {method 'sort' of 'list' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-     1024    0.001    0.000    0.001    0.000 {min}
-        2    0.028    0.014    0.028    0.014 {numpy.core.multiarray.fromstring}
-     2244    0.001    0.000    0.001    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-
-
-0.0125 0.0006 0.2968 0.2810 0.0891     8.067 testimages\oPPA_5grains_0001.tif.gz
-Mon Mar 16 12:21:10 2009    stats
-
-         11469 function calls in 0.283 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.006    0.006    0.284    0.284 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.010    0.010 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-      512    0.003    0.000    0.006    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.001    0.001    0.049    0.049 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.096    0.096 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-      513    0.001    0.000    0.002    0.000 Image.py:91(isTupleType)
-        1    0.007    0.007    0.074    0.074 ImageFile.py:115(load)
-        1    0.000    0.000    0.007    0.007 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-      511    0.001    0.000    0.001    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.010    0.002 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.006    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.001    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.001    0.001    0.005    0.005 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.010    0.010 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.010    0.010 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.002    0.002    0.009    0.009 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-      536    0.003    0.000    0.004    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.082    0.041 fabioimage.py:284(_open)
-        2    0.000    0.000    0.082    0.041 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.001    0.001    0.084    0.042 gzip.py:208(read)
-        8    0.000    0.000    0.083    0.010 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        7    0.032    0.005    0.045    0.006 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.001    0.001    0.278    0.278 openimage.py:68(openimage)
-        1    0.000    0.000    0.004    0.004 openimage.py:94(_openimage)
-        1    0.000    0.000    0.024    0.024 string.py:306(join)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.008    0.008    0.273    0.273 tifimage.py:58(read)
-        1    0.007    0.007    0.007    0.007 {_imaging.new}
-      513    0.001    0.000    0.001    0.000 {apply}
-        1    0.022    0.022    0.022    0.022 {built-in method convert}
-      512    0.039    0.000    0.039    0.000 {built-in method decode}
-        7    0.037    0.005    0.037    0.005 {built-in method decompress}
-      256    0.024    0.000    0.024    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method match}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        3    0.000    0.000    0.000    0.000 {chr}
-      511    0.000    0.000    0.000    0.000 {cmp}
-      515    0.001    0.000    0.001    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-      524    0.001    0.000    0.001    0.000 {isinstance}
-      566    0.000    0.000    0.000    0.000 {len}
-        3    0.000    0.000    0.000    0.000 {max}
-     1290    0.001    0.000    0.001    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.024    0.012    0.024    0.012 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-      540    0.010    0.000    0.010    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       61    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'readline' of 'cStringIO.StringI' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-      528    0.001    0.000    0.001    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.001    0.001 {method 'sort' of 'list' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-     1031    0.001    0.000    0.001    0.000 {min}
-        2    0.028    0.014    0.028    0.014 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-     2248    0.001    0.000    0.001    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-        9    0.012    0.001    0.012    0.001 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0576 0.0076 0.0391                   2.004 testimages\somedata_0001.mccd
-Mon Mar 16 12:21:10 2009    stats
-
-         728 function calls in 0.045 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    0.045    0.045 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.003    0.003 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.016    0.016 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.016    0.016 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.008    0.008 ImageFile.py:115(load)
-        1    0.000    0.000    0.002    0.002 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.002    0.001 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.001    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.001    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.002    0.002 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.002    0.002 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.044    0.044 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.006    0.006 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.002    0.002    0.043    0.043 tifimage.py:58(read)
-        1    0.002    0.002    0.002    0.002 {_imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.008    0.008    0.008    0.008 {built-in method convert}
-       32    0.002    0.000    0.002    0.000 {built-in method decode}
-       64    0.010    0.000    0.010    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       13    0.000    0.000    0.000    0.000 {isinstance}
-       34    0.000    0.000    0.000    0.000 {len}
-        5    0.000    0.000    0.000    0.000 {max}
-       75    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.006    0.003    0.006    0.003 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       56    0.004    0.000    0.004    0.000 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       11    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {min}
-        2    0.006    0.003    0.006    0.003 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-      188    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0265 0.0011 0.2741 0.3130 0.1863     2.004 testimages\somedata_0001.mccd.bz2
-Mon Mar 16 12:21:10 2009    stats
-
-         730 function calls in 0.280 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    0.280    0.280 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.003    0.003 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.012    0.012 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.009    0.009 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.004    0.004 ImageFile.py:115(load)
-        1    0.000    0.000    0.002    0.002 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.002    0.001 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.001    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.001    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.002    0.002 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.002    0.002 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.001    0.000    0.189    0.095 fabioimage.py:284(_open)
-        2    0.001    0.000    0.189    0.094 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.279    0.279 openimage.py:68(openimage)
-        1    0.001    0.001    0.059    0.059 openimage.py:94(_openimage)
-        1    0.000    0.000    0.006    0.006 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.002    0.002    0.220    0.220 tifimage.py:58(read)
-        1    0.002    0.002    0.002    0.002 {_imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.005    0.005    0.005    0.005 {built-in method convert}
-       32    0.001    0.000    0.001    0.000 {built-in method decode}
-       64    0.006    0.000    0.006    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       13    0.000    0.000    0.000    0.000 {isinstance}
-       34    0.000    0.000    0.000    0.000 {len}
-        5    0.000    0.000    0.000    0.000 {max}
-       75    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.006    0.003    0.006    0.003 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.246    0.123    0.246    0.123 {method 'read' of 'bz2.BZ2File' objects}
-       55    0.001    0.000    0.001    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       11    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        2    0.000    0.000    0.000    0.000 {min}
-        2    0.006    0.003    0.006    0.003 {numpy.core.multiarray.fromstring}
-      188    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-
-
-0.0307 0.0016 0.0655 0.1090 0.0349     2.004 testimages\somedata_0001.mccd.gz
-Mon Mar 16 12:21:12 2009    stats
-
-         904 function calls in 0.067 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.001    0.001    0.067    0.067 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.002    0.002 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        1    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.012    0.012 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.008    0.008 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        2    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.004    0.004 ImageFile.py:115(load)
-        1    0.000    0.000    0.001    0.001 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        2    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        4    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:521(_setup)
-       31    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       25    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.034    0.017 fabioimage.py:284(_open)
-        2    0.000    0.000    0.034    0.017 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        3    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.000    0.000    0.035    0.017 gzip.py:208(read)
-       12    0.000    0.000    0.034    0.003 gzip.py:245(_read)
-        1    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-       11    0.007    0.001    0.010    0.001 gzip.py:295(_add_read_data)
-        1    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        2    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.001    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.066    0.066 openimage.py:68(openimage)
-        1    0.000    0.000    0.002    0.002 openimage.py:94(_openimage)
-        1    0.000    0.000    0.006    0.006 string.py:306(join)
-        2    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.002    0.002    0.064    0.064 tifimage.py:58(read)
-        1    0.001    0.001    0.001    0.001 {_imaging.new}
-        2    0.000    0.000    0.000    0.000 {apply}
-        1    0.005    0.005    0.005    0.005 {built-in method convert}
-       32    0.001    0.000    0.001    0.000 {built-in method decode}
-       11    0.021    0.002    0.021    0.002 {built-in method decompress}
-       64    0.006    0.000    0.006    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        4    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       13    0.000    0.000    0.000    0.000 {isinstance}
-       57    0.000    0.000    0.000    0.000 {len}
-        3    0.000    0.000    0.000    0.000 {max}
-       75    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.006    0.003    0.006    0.003 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       55    0.001    0.000    0.001    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       59    0.002    0.000    0.002    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       11    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        7    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        3    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        2    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-       13    0.000    0.000    0.000    0.000 {min}
-        2    0.006    0.003    0.006    0.003 {numpy.core.multiarray.fromstring}
-        2    0.001    0.000    0.001    0.000 {open}
-      192    0.000    0.000    0.000    0.000 {ord}
-       11    0.000    0.000    0.000    0.000 {range}
-       13    0.003    0.000    0.003    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-
-0.0031 0.0008 0.0030                   0.023 testimages\testmap1_0002.tif
-Mon Mar 16 12:21:12 2009    stats
-
-         595 function calls in 0.003 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.003    0.003 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.002    0.002 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        2    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.000    0.000 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.000    0.000 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        3    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:115(load)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       26    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.003    0.003 openimage.py:68(openimage)
-        1    0.000    0.000    0.000    0.000 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.000    0.000    0.002    0.002 tifimage.py:58(read)
-        1    0.000    0.000    0.000    0.000 {_imaging.new}
-        3    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method convert}
-        2    0.000    0.000    0.000    0.000 {built-in method decode}
-        1    0.000    0.000    0.000    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cmp}
-        5    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       14    0.000    0.000    0.000    0.000 {isinstance}
-       38    0.000    0.000    0.000    0.000 {len}
-        5    0.000    0.000    0.000    0.000 {max}
-       15    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       29    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       16    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {min}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-      204    0.000    0.000    0.000    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-
-
-0.0018 0.0003 0.0024 0.0470 0.0008     0.023 testimages\testmap1_0002.tif.bz2
-Mon Mar 16 12:21:12 2009    stats
-
-         597 function calls in 0.003 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.003    0.003 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.001    0.001 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        2    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.000    0.000 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.000    0.000 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        3    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:115(load)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       26    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:284(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        4    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.003    0.003 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 string.py:306(join)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.000    0.000    0.003    0.003 tifimage.py:58(read)
-        1    0.000    0.000    0.000    0.000 {_imaging.new}
-        3    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method convert}
-        2    0.000    0.000    0.000    0.000 {built-in method decode}
-        1    0.000    0.000    0.000    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        1    0.000    0.000    0.000    0.000 {cmp}
-        5    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       14    0.000    0.000    0.000    0.000 {isinstance}
-       38    0.000    0.000    0.000    0.000 {len}
-        5    0.000    0.000    0.000    0.000 {max}
-       15    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'read' of 'bz2.BZ2File' objects}
-       28    0.000    0.000    0.000    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       12    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       16    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        4    0.000    0.000    0.000    0.000 {min}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-      204    0.000    0.000    0.000    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-
-
-0.0004 0.0003 0.0023 0.0470 0.0012     0.023 testimages\testmap1_0002.tif.gz
-Mon Mar 16 12:21:12 2009    stats
-
-         713 function calls in 0.004 CPU seconds
-
-   Ordered by: standard name
-
-   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
-        1    0.000    0.000    0.004    0.004 <string>:1(<module>)
-        1    0.000    0.000    0.000    0.000 ArgImagePlugin.py:401(_accept)
-        1    0.000    0.000    0.000    0.000 BmpImagePlugin.py:55(_accept)
-        1    0.000    0.000    0.000    0.000 BufrStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 CurImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:32(i32)
-        1    0.000    0.000    0.000    0.000 DcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:118(_accept)
-        1    0.000    0.000    0.000    0.000 EpsImagePlugin.py:29(i32)
-        1    0.000    0.000    0.000    0.000 FitsStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:25(i16)
-        1    0.000    0.000    0.000    0.000 FliImagePlugin.py:34(_accept)
-        1    0.000    0.000    0.000    0.000 FpxImagePlugin.py:46(_accept)
-        2    0.000    0.000    0.000    0.000 GbrImagePlugin.py:18(i32)
-        1    0.000    0.000    0.000    0.000 GbrImagePlugin.py:21(_accept)
-        1    0.000    0.000    0.000    0.000 GifImagePlugin.py:47(_accept)
-        1    0.000    0.000    0.000    0.000 GribStubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 Hdf5StubImagePlugin.py:28(_accept)
-        1    0.000    0.000    0.000    0.000 IcnsImagePlugin.py:204(<lambda>)
-        1    0.000    0.000    0.000    0.000 IcoImagePlugin.py:37(_accept)
-        1    0.000    0.000    0.000    0.000 ImImagePlugin.py:110(_open)
-        1    0.000    0.000    0.001    0.001 Image.py:1879(open)
-        1    0.000    0.000    0.000    0.000 Image.py:280(preinit)
-        2    0.000    0.000    0.000    0.000 Image.py:361(_getdecoder)
-        1    0.000    0.000    0.000    0.000 Image.py:377(_getencoder)
-        5    0.000    0.000    0.000    0.000 Image.py:439(__init__)
-        1    0.000    0.000    0.000    0.000 Image.py:448(_new)
-        4    0.000    0.000    0.000    0.000 Image.py:484(__getattr__)
-        1    0.000    0.000    0.000    0.000 Image.py:503(tostring)
-        3    0.000    0.000    0.000    0.000 Image.py:587(load)
-        1    0.000    0.000    0.000    0.000 Image.py:638(convert)
-        5    0.000    0.000    0.000    0.000 Image.py:82(isStringType)
-        3    0.000    0.000    0.000    0.000 Image.py:91(isTupleType)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:115(load)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:219(load_prepare)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:228(load_end)
-        1    0.000    0.000    0.000    0.000 ImageFile.py:49(_tilesort)
-        4    0.000    0.000    0.000    0.000 ImageFile.py:508(_safe_read)
-        4    0.000    0.000    0.001    0.000 ImageFile.py:63(__init__)
-        1    0.000    0.000    0.000    0.000 ImtImagePlugin.py:37(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:110(_open)
-        1    0.000    0.000    0.000    0.000 IptcImagePlugin.py:62(field)
-        1    0.000    0.000    0.000    0.000 JpegImagePlugin.py:231(_accept)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:28(i32)
-        1    0.000    0.000    0.000    0.000 McIdasImagePlugin.py:31(_accept)
-        1    0.000    0.000    0.000    0.000 PcxImagePlugin.py:35(_accept)
-        1    0.000    0.000    0.000    0.000 PngImagePlugin.py:261(_accept)
-        1    0.000    0.000    0.000    0.000 PpmImagePlugin.py:40(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:157(_accept)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:168(__init__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:180(reset)
-       14    0.000    0.000    0.000    0.000 TiffImagePlugin.py:199(__getitem__)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:209(get)
-       11    0.000    0.000    0.000    0.000 TiffImagePlugin.py:215(getscalar)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:230(has_key)
-        8    0.000    0.000    0.000    0.000 TiffImagePlugin.py:255(load_short)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:262(load_long)
-        2    0.000    0.000    0.000    0.000 TiffImagePlugin.py:269(load_rational)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:295(load)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:445(_open)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:477(_seek)
-        1    0.000    0.000    0.000    0.000 TiffImagePlugin.py:497(_decoder)
-        1    0.000    0.000    0.001    0.001 TiffImagePlugin.py:521(_setup)
-       37    0.000    0.000    0.000    0.000 TiffImagePlugin.py:64(il16)
-       26    0.000    0.000    0.000    0.000 TiffImagePlugin.py:66(il32)
-        1    0.000    0.000    0.000    0.000 fabioimage.py:212(resetvals)
-        2    0.000    0.000    0.001    0.001 fabioimage.py:284(_open)
-        2    0.000    0.000    0.001    0.000 fabioimage.py:314(_compressed_stream)
-        2    0.000    0.000    0.000    0.000 fabioimage.py:39(__init__)
-        1    0.000    0.000    0.000    0.000 fromnumeric.py:101(reshape)
-        2    0.000    0.000    0.000    0.000 gzip.py:157(_init_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:161(_read_gzip_header)
-        6    0.000    0.000    0.000    0.000 gzip.py:18(U32)
-        2    0.000    0.000    0.001    0.000 gzip.py:208(read)
-        3    0.000    0.000    0.001    0.000 gzip.py:245(_read)
-        2    0.000    0.000    0.000    0.000 gzip.py:27(LOWU32)
-        2    0.000    0.000    0.000    0.000 gzip.py:295(_add_read_data)
-        2    0.000    0.000    0.000    0.000 gzip.py:301(_read_eof)
-        2    0.000    0.000    0.000    0.000 gzip.py:315(close)
-        2    0.000    0.000    0.000    0.000 gzip.py:334(__del__)
-        4    0.000    0.000    0.000    0.000 gzip.py:39(read32)
-        2    0.000    0.000    0.000    0.000 gzip.py:60(__init__)
-        2    0.000    0.000    0.000    0.000 ntpath.py:183(splitext)
-        1    0.000    0.000    0.000    0.000 openimage.py:54(do_magic)
-        1    0.000    0.000    0.004    0.004 openimage.py:68(openimage)
-        1    0.000    0.000    0.001    0.001 openimage.py:94(_openimage)
-        1    0.000    0.000    0.000    0.000 string.py:306(join)
-        4    0.000    0.000    0.000    0.000 struct.py:77(unpack)
-        1    0.000    0.000    0.000    0.000 tifimage.py:34(__init__)
-        1    0.000    0.000    0.000    0.000 tifimage.py:39(_readheader)
-        1    0.000    0.000    0.003    0.003 tifimage.py:58(read)
-        1    0.000    0.000    0.000    0.000 {_imaging.new}
-        3    0.000    0.000    0.000    0.000 {apply}
-        1    0.000    0.000    0.000    0.000 {built-in method convert}
-        2    0.000    0.000    0.000    0.000 {built-in method decode}
-        2    0.000    0.000    0.000    0.000 {built-in method decompress}
-        1    0.000    0.000    0.000    0.000 {built-in method encode}
-        2    0.000    0.000    0.000    0.000 {built-in method pixel_access}
-        1    0.000    0.000    0.000    0.000 {built-in method setimage}
-        1    0.000    0.000    0.000    0.000 {cStringIO.StringIO}
-        1    0.000    0.000    0.000    0.000 {cmp}
-        5    0.000    0.000    0.000    0.000 {getattr}
-        5    0.000    0.000    0.000    0.000 {hasattr}
-       14    0.000    0.000    0.000    0.000 {isinstance}
-       44    0.000    0.000    0.000    0.000 {len}
-        3    0.000    0.000    0.000    0.000 {max}
-       15    0.000    0.000    0.000    0.000 {method 'append' of 'list' objects}
-        2    0.000    0.000    0.000    0.000 {method 'close' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'copy' of 'dict' objects}
-        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
-        3    0.000    0.000    0.000    0.000 {method 'find' of 'str' objects}
-        5    0.000    0.000    0.000    0.000 {method 'has_key' of 'dict' objects}
-        2    0.000    0.000    0.000    0.000 {method 'join' of 'str' objects}
-        2    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
-       28    0.000    0.000    0.000    0.000 {method 'read' of 'cStringIO.StringI' objects}
-       50    0.000    0.000    0.000    0.000 {method 'read' of 'file' objects}
-        6    0.000    0.000    0.000    0.000 {method 'rfind' of 'str' objects}
-       16    0.000    0.000    0.000    0.000 {method 'seek' of 'cStringIO.StringI' objects}
-        9    0.000    0.000    0.000    0.000 {method 'seek' of 'file' objects}
-        1    0.000    0.000    0.000    0.000 {method 'sort' of 'list' objects}
-        5    0.000    0.000    0.000    0.000 {method 'tell' of 'cStringIO.StringI' objects}
-        6    0.000    0.000    0.000    0.000 {method 'tell' of 'file' objects}
-        4    0.000    0.000    0.000    0.000 {method 'unpack' of 'Struct' objects}
-        6    0.000    0.000    0.000    0.000 {min}
-        2    0.000    0.000    0.000    0.000 {numpy.core.multiarray.fromstring}
-        2    0.000    0.000    0.000    0.000 {open}
-      208    0.000    0.000    0.000    0.000 {ord}
-       12    0.000    0.000    0.000    0.000 {range}
-        4    0.000    0.000    0.000    0.000 {zlib.crc32}
-        2    0.000    0.000    0.000    0.000 {zlib.decompressobj}
-
-

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/python-fabio.git



More information about the debian-science-commits mailing list