Code reference

module-level

qpformat.load_data(path, fmt=None, bg_data=None, bg_fmt=None, meta_data=None, holo_kw=None, qpretrieve_kw=None, as_type='float32')[source]

Load experimental data

Parameters:
  • path (str or pathlib.Path) – Path to experimental data file or folder

  • fmt (str) – The file format to use (see file_formats.formats). If set to None, the file format is guessed.

  • bg_data (str or pathlib.Path or qpimage.QPImage) – Path to background data file or qpimage.QPImage

  • bg_fmt (str) – The file format to use (see file_formats.formats) for the background. If set to None, the file format is guessed.

  • meta_data (dict) – Meta data (see qpimage.meta.META_KEYS)

  • holo_kw (dict) – Deprecated, please use qpretrieve_kw instead!

  • qpretrieve_kw (dict) – Keyword arguments passed to qpretrieve for phase retrieval from interferometric data.

  • as_type (str) – Defines the data type that the input data is casted to. The default is “float32” which saves memory. If high numerical accuracy is required (does not apply for a simple 2D phase analysis), set this to double precision (“float64”).

Returns:

dataobj – Object that gives lazy access to the experimental data.

Return type:

SeriesData or SingleData

file format base classes

SeriesData

class qpformat.file_formats.SeriesData(path, meta_data=None, holo_kw=None, qpretrieve_kw=None, as_type='float32')[source]

Series data file format base class

Parameters:
  • path (str or pathlib.Path) – Path to the experimental data file.

  • meta_data (dict) – Dictionary containing meta data. see qpimage.META_KEYS.

  • holo_kw (dict) – Deprecated, please use qpretrieve_kw instead!

  • qpretrieve_kw (dict) – Keyword arguments passed to qpretrieve for phase retrieval from interferometric data.

  • as_type (str) – Defines the data type that the input data is casted to. The default is “float32” which saves memory. If high numerical accuracy is required (does not apply for a simple 2D phase analysis), set this to double precision (“float64”).

as_type

Enforced dtype via keyword arguments

path

pathlib.Path to data file or io.IOBase

meta_data

Enforced metadata via keyword arguments

qpretrieve_kw

Keyword arguments for interferometric phase retrieval

background_identifier

Unique string that identifies the background data that was set using set_bg.

format

the file format name

property identifier

Return a unique identifier for the given data set

property shape

Return dataset shape (lenght, image0, image1).

This should be overridden by the subclass, because by default the first qpimage is used for that.

get_identifier(idx)[source]

Return an identifier for the data at index idx

Changed in version 0.4.2: indexing starts at 1 instead of 0

get_metadata(idx)[source]

Return the metadata of data at index idx

Subclasses should implement this with speed in mind.

get_name(idx)[source]

Return name of data at index idx

Changed in version 0.4.2: indexing starts at 1 instead of 0

get_qpimage(idx)[source]

Return background-corrected QPImage of data at index idx

abstract get_qpimage_raw(idx)[source]

Return QPImage without background correction

Note that this method must always return a QPImage instance with the “identifier” metadata key set!

saveh5(h5file, qpi_slice=None, series_slice=None, time_interval=None, count=None, max_count=None)[source]

Save the data set as an HDF5 file (qpimage.QPSeries format)

Parameters:
  • h5file (str, pathlib.Path, or h5py.Group) – Where to store the series data

  • qpi_slice (tuple of (slice, slice)) – If not None, only store a slice of each QPImage in h5file. A value of None is equivalent to (slice(0, -1), slice(0, -1)).

  • series_slice (slice) – If None, save the entire series, otherwise only save the images specified by this slice.

  • time_interval (tuple of (float, float)) – If not None, only stores QPImages that were recorded within the given time interval.

  • count (multiprocessing.Value) – Can be used to monitor the progress of the algorithm. Initially, the value of max_count.value is incremented by the total number of steps. At each step, the value of count.value is incremented.

  • max_count (multiprocessing.Value) – Can be used to monitor the progress of the algorithm. Initially, the value of max_count.value is incremented by the total number of steps. At each step, the value of count.value is incremented.

Notes

The series “identifier” meta data is only set when all of qpi_slice, series_slice, and time_interval are None.

set_bg(dataset)[source]

Set background data

Parameters:

dataset (DataSet, qpimage.QPImage, or int) – If the len(dataset) matches len(self), then background correction is performed element-wise. Otherwise, len(dataset) must be one and is used for all data of self.

See also

get_qpimage

obtain the background corrected QPImage

abstract static verify(path)[source]

Verify that path has this file format

Returns True if the file format matches. The implementation of this method should be fast and memory efficient, because e.g. the “GroupFolder” file format depends on it.

SingleData

class qpformat.file_formats.SingleData(path, meta_data=None, holo_kw=None, qpretrieve_kw=None, as_type='float32')[source]

Single data file format base class

Parameters:
  • path (str or pathlib.Path) – Path to the experimental data file.

  • meta_data (dict) – Dictionary containing meta data. see qpimage.META_KEYS.

  • holo_kw (dict) – Deprecated, please use qpretrieve_kw instead!

  • qpretrieve_kw (dict) – Keyword arguments passed to qpretrieve for phase retrieval from interferometric data.

  • as_type (str) – Defines the data type that the input data is casted to. The default is “float32” which saves memory. If high numerical accuracy is required (does not apply for a simple 2D phase analysis), set this to double precision (“float64”).

get_identifier(idx=0)[source]

Return an identifier for the data at index idx

Changed in version 0.4.2: indexing starts at 1 instead of 0

get_metadata(idx=0)[source]

Return the metadata of data at index idx

Subclasses should implement this with speed in mind.

get_name(idx=0)[source]

Return name of data at index idx

Changed in version 0.4.2: indexing starts at 1 instead of 0

get_qpimage(idx=0)[source]

Return background-corrected QPImage of data at index idx

abstract get_qpimage_raw(idx=0)[source]

QPImage without background correction

get_time(idx=0)[source]

Time of the data

Returns nan if the time is not defined

get_wavelength(idx=0)[source]

Time of the data

Returns nan if the time is not defined

property identifier

Return a unique identifier for the given data set

saveh5(h5file, qpi_slice=None, series_slice=None, time_interval=None, count=None, max_count=None)

Save the data set as an HDF5 file (qpimage.QPSeries format)

Parameters:
  • h5file (str, pathlib.Path, or h5py.Group) – Where to store the series data

  • qpi_slice (tuple of (slice, slice)) – If not None, only store a slice of each QPImage in h5file. A value of None is equivalent to (slice(0, -1), slice(0, -1)).

  • series_slice (slice) – If None, save the entire series, otherwise only save the images specified by this slice.

  • time_interval (tuple of (float, float)) – If not None, only stores QPImages that were recorded within the given time interval.

  • count (multiprocessing.Value) – Can be used to monitor the progress of the algorithm. Initially, the value of max_count.value is incremented by the total number of steps. At each step, the value of count.value is incremented.

  • max_count (multiprocessing.Value) – Can be used to monitor the progress of the algorithm. Initially, the value of max_count.value is incremented by the total number of steps. At each step, the value of count.value is incremented.

Notes

The series “identifier” meta data is only set when all of qpi_slice, series_slice, and time_interval are None.

set_bg(dataset)

Set background data

Parameters:

dataset (DataSet, qpimage.QPImage, or int) – If the len(dataset) matches len(self), then background correction is performed element-wise. Otherwise, len(dataset) must be one and is used for all data of self.

See also

get_qpimage

obtain the background corrected QPImage

property shape

Return dataset shape (lenght, image0, image1).

This should be overridden by the subclass, because by default the first qpimage is used for that.

abstract static verify(path)

Verify that path has this file format

Returns True if the file format matches. The implementation of this method should be fast and memory efficient, because e.g. the “GroupFolder” file format depends on it.

as_type

Enforced dtype via keyword arguments

path

pathlib.Path to data file or io.IOBase

meta_data

Enforced metadata via keyword arguments

qpretrieve_kw

Keyword arguments for interferometric phase retrieval

background_identifier

Unique string that identifies the background data that was set using set_bg.

format

the file format name

file format readers

All file formats inherit from qpformat.file_formats.SeriesData (and/or qpformat.file_formats.SingleData).

SeriesFieldSinogramMeepHDF5

SeriesFolder

SeriesPhasePhasicsZipTif

SeriesPhaseQpimageHDF5

SeriesPhaseQpimageSubjoinedHDF5

SeriesRawOAHHyperSpyHDF5

SeriesRawOAHQpformatHDF5

SeriesRawOAHZipTif

SeriesRawQLSIQpformatHDF5

SingleFieldPhaseNumpyNpy

SinglePhasePhasicsTif

SinglePhaseQpimageHDF5

SingleRawOAHQpformatHDF5

SingleRawOAHTif

SingleRawQLSIQpformatHDF5

exceptions

exception qpformat.file_formats.UnknownFileFormatError[source]

Used when a file format could not be detected