Package fabio :: Module file_series
[hide private]
[frames] | no frames]

Module file_series

source code



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

Classes [hide private]
  file_series
represents a series of files to iterate has an idea of a current position to do next and prev
  numbered_file_series
mydata0001.edf = "mydata" + 0001 + ".edf" mydata0002.edf = "mydata" + 0002 + ".edf" mydata0003.edf = "mydata" + 0003 + ".edf"
  filename_series
Much like the others, but created from a string filename
Functions [hide private]
 
new_file_series0(first_object, first=None, last=None, step=1)
Created from a fabio image first and last are file numbers
source code
 
new_file_series(first_object, nimages=0, step=1, traceback=False)
A generator function that creates a file series starting from a a fabioimage.
source code
Variables [hide private]
  __package__ = 'fabio'
Function Details [hide private]

new_file_series(first_object, nimages=0, step=1, traceback=False)

source code 

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])