fabio.file_series
index
/usr/lib/pymodules/python2.6/fabio/file_series.py

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@risoe.dk
 
        + Jon Wright, ESRF

 
Modules
       
fabio

 
Classes
       
__builtin__.list(__builtin__.object)
file_series
numbered_file_series
filename_series

 
class file_series(__builtin__.list)
    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
 
 
Method resolution order:
file_series
__builtin__.list
__builtin__.object

Methods defined here:
__init__(self, list_of_strings)
arg should be a list of strings which are filenames
current(self)
current position in a sequence
current_image(self)
current image in sequence
current_object(self)
current image in sequence
first(self)
first image in series
first_image(self)
first image in a sequence
first_object(self)
first image in a sequence
jump(self, num)
goto a position in sequence
jump_image(self, num)
jump to and read image
jump_object(self, num)
jump to and read image
last(self)
last in series
last_image(self)
last image in a sequence
last_object(self)
last image in a sequence
len(self)
number of files
next(self)
next in a sequence
next_image(self)
Return the next image
next_object(self)
Return the next image
previous(self)
prev in a sequence
previous_image(self)
Return the previous image
previous_object(self)
Return the previous image

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Methods inherited from __builtin__.list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__iadd__(...)
x.__iadd__(y) <==> x+=y
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__reversed__(...)
L.__reversed__() -- return a reverse iterator over the list
__rmul__(...)
x.__rmul__(n) <==> n*x
__setitem__(...)
x.__setitem__(i, y) <==> x[i]=y
__setslice__(...)
x.__setslice__(i, j, y) <==> x[i:j]=y
 
Use  of negative indices is not supported.
__sizeof__(...)
L.__sizeof__() -- size of L in memory, in bytes
append(...)
L.append(object) -- append object to end
count(...)
L.count(value) -> integer -- return number of occurrences of value
extend(...)
L.extend(iterable) -- extend list by appending elements from the iterable
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value.
Raises ValueError if the value is not present.
insert(...)
L.insert(index, object) -- insert object before index
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last).
Raises IndexError if list is empty or index is out of range.
remove(...)
L.remove(value) -- remove first occurrence of value.
Raises ValueError if the value is not present.
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
cmp(x, y) -> -1, 0, 1

Data and other attributes inherited from __builtin__.list:
__hash__ = None
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T

 
class filename_series
    Much like the others, but created from a string filename
 
  Methods defined here:
__init__(self, filename)
create from a filename (String)
current(self)
return current filename string
current_image(self)
returns the current image as a fabioimage
current_object(self)
returns the current filename as a fabio.filename_object
jump(self, num)
jump to a specific number
jump_image(self, num)
returns the image number as a fabioimage
jump_object(self, num)
returns the filename num as a fabio.filename_object
next(self)
increment number
next_image(self)
returns the next image as a fabioimage
next_object(self)
returns the next filename as a fabio.filename_object
prev_image(self)
returns the previos image as a fabioimage
previous(self)
decrement number
previous_object(self)
returns the previous filename as a fabio.filename_object

 
class numbered_file_series(file_series)
    mydata0001.edf = "mydata" + 0001 + ".edf"
mydata0002.edf = "mydata" + 0002 + ".edf"
mydata0003.edf = "mydata" + 0003 + ".edf"
 
 
Method resolution order:
numbered_file_series
file_series
__builtin__.list
__builtin__.object

Methods defined here:
__init__(self, stem, first, last, extension, digits=4, padding='Y', step=1)
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

Methods inherited from file_series:
current(self)
current position in a sequence
current_image(self)
current image in sequence
current_object(self)
current image in sequence
first(self)
first image in series
first_image(self)
first image in a sequence
first_object(self)
first image in a sequence
jump(self, num)
goto a position in sequence
jump_image(self, num)
jump to and read image
jump_object(self, num)
jump to and read image
last(self)
last in series
last_image(self)
last image in a sequence
last_object(self)
last image in a sequence
len(self)
number of files
next(self)
next in a sequence
next_image(self)
Return the next image
next_object(self)
Return the next image
previous(self)
prev in a sequence
previous_image(self)
Return the previous image
previous_object(self)
Return the previous image

Data descriptors inherited from file_series:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Methods inherited from __builtin__.list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__iadd__(...)
x.__iadd__(y) <==> x+=y
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__reversed__(...)
L.__reversed__() -- return a reverse iterator over the list
__rmul__(...)
x.__rmul__(n) <==> n*x
__setitem__(...)
x.__setitem__(i, y) <==> x[i]=y
__setslice__(...)
x.__setslice__(i, j, y) <==> x[i:j]=y
 
Use  of negative indices is not supported.
__sizeof__(...)
L.__sizeof__() -- size of L in memory, in bytes
append(...)
L.append(object) -- append object to end
count(...)
L.count(value) -> integer -- return number of occurrences of value
extend(...)
L.extend(iterable) -- extend list by appending elements from the iterable
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value.
Raises ValueError if the value is not present.
insert(...)
L.insert(index, object) -- insert object before index
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last).
Raises IndexError if list is empty or index is out of range.
remove(...)
L.remove(value) -- remove first occurrence of value.
Raises ValueError if the value is not present.
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
cmp(x, y) -> -1, 0, 1

Data and other attributes inherited from __builtin__.list:
__hash__ = None
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T

 
Functions
       
new_file_series(first_object, nimages=0, step=1, traceback=False)
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])
new_file_series0(first_object, first=None, last=None, step=1)
Created from a fabio image
first and last are file numbers