[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">> [...]
+<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