PySABER is a python package for characterizing the X-ray source and detector blurs in cone-beam X-ray imaging systems. SABER is an abbreviation for systems approach to blur estimation and reduction. Note that even parallel beam X-rays in synchrotrons are in fact cone beams albeit with a large source to object distance (SOD). X-ray images, also called radiographs, are simultaneously blurred by both the X-ray source spot blur and detector blur. This python package uses a numerical optimization algorithm to disentangle and estimate both forms of blur simultaneously. The point spread function (PSF) of X-ray source blur is modeled using a density function with two parameters. The first parameter is the full width half maximum (FWHM) of the PSF along the x-axis (row-wise) and second is the FWHM along the y-axis (column-axis). The PSF of detector blur is modeled as the sum of two density functions, each with its own FWHM parameter, that are mixed together by a mixture (or weight) parameter. All these parameters are then estimated using numerical optimization from normalized radiographs of a sharp edge such as a thick Tungsten plate rollbar. To simultaneously estimate the PSFs of both source and detector blurs, radiographs must be acquired at two different values for the ratio of the source to object distance (SOD) and object to detector distance (ODD). If each radiograph has a single straight edge, then the measurements must be repeated for two different, preferably perpendicular, orientations of the edge. If the radiograph consists of two intersecting perpendicular edges, then a single radiograph at each specified SOD/ODD is sufficient.

Once the parameters of both source and detector blurs are estimated, this package is also useful to reduce blur in radiographs using deblurring algorithms. Currently, Wiener filtering and regularized least squares deconvolution are two deblurring algorithms that are supported for deblurring. Both these techniques use the estimated blur parameters to deblur radiographs. For more detailed explanation on the experimental methodology and theory of PySABER, please read the paper in References.