Skip to content

nabu.preproc.ctf

source module nabu.preproc.ctf

Classes

  • GeoPars A class to describe the geometry of a phase contrast radiography with a source obtained by a focussing system, possibly astigmatic, which is at distance z1_vh from the sample. The detector is at z2 from the sample

  • CTFPhaseRetrieval This class implements the CTF formula of [1] in its regularised form which avoids the zeros of unregularised_filter_denominator (unreg_filter_denom is the so here named denominator/delta_beta of equation 8).

source class GeoPars(z1_vh=None, z2=None, pix_size_det=1e-06, wavelength=None, magnification=True, length_scale=1e-05, logger=None)

A class to describe the geometry of a phase contrast radiography with a source obtained by a focussing system, possibly astigmatic, which is at distance z1_vh from the sample. The detector is at z2 from the sample

Parameters

z1_vh : None, a float, or a sequence of two floats the source sample distance (meters), if None the parallel beam is assumed. If two floats are given then they are taken as the distance of the vertically focused source (horizontal line) and the horizontaly focused source (vertical line) for KB mirrors. z2 : float the sample detector distance (meters). pix_size_det: float or tuple pixel size in meters. If a tuple is passed, it is interpreted as (horizontal_size, vertical_size) wavelength: float beam wave length (meters). magnification: boolean defaults to True if false no magnification is considered length_scale: float rescaling length scale, meant to avoid having too big or too small numbers. defaults to 10.0e-6 logger: Logger, optional A logging object

source class CTFPhaseRetrieval(shape, geo_pars, delta_beta, padded_shape='auto', padding_mode='reflect', translation_vh=None, normalize_by_mean=False, lim1=1e-05, lim2=0.2, use_rfft=False, fftw_num_threads=None, fft_num_threads=None, logger=None)

This class implements the CTF formula of [1] in its regularised form which avoids the zeros of unregularised_filter_denominator (unreg_filter_denom is the so here named denominator/delta_beta of equation 8).

References

[1] B. Yu, L. Weber, A. Pacureanu, M. Langer, C. Olivier, P. Cloetens, and F. Peyrin, "Evaluation of phase retrieval approaches in magnified X-ray phase nano computerized tomography applied to bone tissue", Optics Express, Vol 26, No 9, 11110-11124 (2018)

Initialize a Contrast Transfer Function phase retrieval.

Parameters

  • geo_pars : GeoPars the geometry description

  • delta_beta : float the delta/beta ratio

  • padded_shape : str or tuple, optional Padded image shape, in the form (num_rows, num_columns) i.e (vertical, horizontal). By default, it is twice the image shape.

  • padding_mode : str Padding mode. It must be valid for the numpy.pad function

  • translation_vh : array, optional Shift in the form (y, x). It is used to perform a translation of the image before applying the CTF filter.

  • normalize_by_mean : bool Whether to divide the (padded) image with its mean before applying the CTF filter.

  • lim1 : float >0 the regulariser strenght at low frequencies

  • lim2 : float >0 the regulariser strenght at high frequencies

  • use_rfft : bool, optional Whether to use real-to-complex (R2C) FFT instead of usual complex-to-complex (C2C).

  • fftw_num_threads : bool or None or int, optional DEPRECATED - please use fft_num_threads instead.

  • fft_num_threads : bool or None or int, optional Number of threads to use for FFT. If a number is provided: number of threads to use for FFT. You can pass a negative number to use N - fft_num_threads cores.

  • logger : optional a logger object

Methods

source method CTFPhaseRetrieval.retrieve_phase(img, output=None)

Apply the CTF filter to retrieve the phase.

Parameters

  • img : np.ndarray Projection image. It must have been already flat-fielded.

Returns

  • ph : numpy.ndarray Phase image