ALBULA  4.0.1
dectris.albula.DHdf5Writer Class Reference


Class DHdf5Writer writes DImage objects to an HDF5 container file. More...

Public Member Functions

def DHdf5Writer ()
 Create empty DHdf5Writer. More...
 
def DHdf5Writer (fileName, numImagePerFile, neXus=None, filter=None)
 
Create DHdf5Writer that opens hdf5 data for writing. More...
 
def open (fileName, numImagePerFile, neXus=None, filter=None)
 
Open hdf5 data for writing. More...
 
def write (img)
 
Add an image to the HDF5 container file. More...
 
def close ()
 
Write all data to the HDF5 container and close the container. More...
 
def flush ()
 
Same as close(). More...
 

Detailed Description


Class DHdf5Writer writes DImage objects to an HDF5 container file.


HDF5 is a container like data format, that can store multiple images and header information in one file. DHdf5Writer writes the data to one master file and muliple image files where the image data resides. The number of images per file needs to be set in the constructor. DHdf5Writer can be used in a with statement:

with dectris.albula.DHdf5Writer("/tmp/test.h5",0) as h5Writer:
h5Writer.write(img)

Constructor & Destructor Documentation

◆ DHdf5Writer() [1/2]

def dectris.albula.DHdf5Writer.DHdf5Writer ( )

Create empty DHdf5Writer.

◆ DHdf5Writer() [2/2]

def dectris.albula.DHdf5Writer.DHdf5Writer (   fileName,
  numImagePerFile,
  neXus = None,
  filter = None 
)


Create DHdf5Writer that opens hdf5 data for writing.

Parameters
fileNameGeneric file name containing the path, where the data is written to. The file name extension should be by convention h5 or hdf5. If fileName is "/path/to/hdf_file.h5" all data may be accessed via the master file "/path/to/hdf_file_master.h5".
numImagePerFileNumber of images that are stored in one file. If numImagePerFile is 0, all data is written to fileName.
neXusDNeXusTree object. Set the NeXus header of the written file.
filterString defining the compression filter: "lz4", "bs2lz4", "bs4lz4" or None

Member Function Documentation

◆ close()

def dectris.albula.DHdf5Writer.close ( )


Write all data to the HDF5 container and close the container.

After calling close() no more images can be added the DHdf5Writer.

◆ flush()

def dectris.albula.DHdf5Writer.flush ( )


Same as close().

◆ open()

def dectris.albula.DHdf5Writer.open (   fileName,
  numImagePerFile,
  neXus = None,
  filter = None 
)


Open hdf5 data for writing.

Parameters
fileNameGeneric file name containing the path, where the data is written to. The file name extension should be by convention h5 or hdf5. If fileName is "/path/to/hdf_file.h5" all data may be accessed via the master file "/path/to/hdf_file_master.h5".
numImagePerFileNumber of images that are stored in one file. If numImagePerFile is 0, all data is written to fileName.
neXusDNeXusTree object. Set the NeXus header of the written file.
filterString defining the compression filter: "lz4", "bs2lz4", "bs4lz4" or None

◆ write()

def dectris.albula.DHdf5Writer.write (   img)


Add an image to the HDF5 container file.

Note, you need to finish the container by calling close() before the data is finally written to the files.

Parameters
imgDImage object.