API documentation¶
This document contains the documentation contained within the docstrings of all available functions and classes.
Back projection¶
-
axitom.backprojection.
map_object_to_detector_coords
(object_xs, object_ys, object_zs, config)¶ Map the object coordinates to detector pixel coordinates accounting for cone beam divergence.
Parameters: - object_xs (np.ndarray) – The x-coordinate array of the object to be reconstructed
- object_ys (np.ndarray) – The y-coordinate array of the object to be reconstructed
- object_zs (np.ndarray) – The z-coordinate array of the object to be reconstructed
- config (obj) – The config object containing all necessary settings for the reconstruction
Returns: - detector_cords_a – The detector coordinates along the a-axis corresponding to the given points
- detector_cords_b – The detector coordinates along the b-axis corresponding to the given points
-
axitom.backprojection.
fdk
(projection, config)¶ Filtered back projection algorithm as proposed by Feldkamp David Kress, adapted for axisymmetry.
This implementation has been adapted for axis-symmetry by using a single projection only and by only reconstructing a single R-Z slice.
This algorithm is based on: https://doi.org/10.1364/JOSAA.1.000612
but follows the notation used by: Turbell, H. (2001). Cone-Beam Reconstruction Using Filtered Backprojectionn. Science And Technology. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.134.5224&rep=rep1&type=pdf
Parameters: - projection (np.ndarray) – The projection used in the reconstruction
- config (obj) – The config object containing all necessary settings for the reconstruction
Returns: The reconstructed slice is a R-Z plane of a axis-symmetric tomogram where Z is the symmetry axis.
Return type: ndarray
Forward projection¶
-
axitom.projection.
axis_sym_projection
(volume, config, angles=None)¶ Projection of a volume onto a sensor plane using a conical beam geometry
This implementation has been adapted for axis-symmetry and returns a single projection only. The forward projection is done for several angles and the average projection is returned.
Parameters: - volume (np.ndarray) – The volume which will be projected onto the sensor
- config (obj) – The settings object
- angles (list) – The angles in degrees which will be used for the forward projection
Returns: The projection
Return type: ndarray
Config¶
-
axitom.config.
config_from_xtekct
(file_path)¶ Make config object from a Nikon X-tek CT input file
The .xtekct file is parsed and a config file containing all relevant settings is returned.
Parameters: file_path (str) – The path to the .xtekct file Returns: Config object Return type: obj
-
class
axitom.config.
Config
(n_pixels_u, n_pixels_v, detector_size_u, detector_size_v, source_to_detector_dist, source_to_object_dist, angular_inc=1, center_of_rot=0, **kwargs)¶ Methods
with_param
(self, \*\*kwargs)Get a clone of the object with the parameter changed and all calculations repeated -
__init__
(self, n_pixels_u, n_pixels_v, detector_size_u, detector_size_v, source_to_detector_dist, source_to_object_dist, angular_inc=1, center_of_rot=0, **kwargs)¶ - Configuration object which contains all settings necessary for the forward projection
- and tomographic reconstruction.
Parameters: - n_pixels_u (int) – Number of pixels in the u direction of the sensor
- n_pixels_v (int) – Number of pixels in the u direction of the sensor
- detector_size_u (float) – Detector size in the u direction [mm]
- detector_size_v (float) – Detector size in the u direction [mm]
- source_to_detector_dist (float) – Distance between source and detector [mm]
- source_to_object_dist (float) – Distance between source and object [mm]
- angular_inc (float) – Angular increment used in the reconstruction [deg]
- center_of_rot (float) – Position of the rotation axis in pixels. 0 corresponds to the center of the image
- NOTE (Any non valid arguments are neglected without warning) –
-
with_param
(self, **kwargs)¶ Get a clone of the object with the parameter changed and all calculations repeated
Parameters: kwargs – The arguments of the config object that should be changed Returns: Config object with new arguments set Return type: obj
-
Filtering¶
-
axitom.filtering.
ramp_filter_and_weight
(projection, config)¶ Add weights to the projection and apply a ramp-high-pass filter set to 0.5*Nyquist_frequency
Parameters: - projection (np.ndarray) – The projection used in the reconstruction
- config (obj) – The config object containing all necessary settings for the reconstruction
Returns: The projections weighted by the ray length and filtered by ramp filter
Return type: ndarray
Parse files¶
Phantoms¶
-
axitom.phantoms.
barrel
(domain_size=128, outer_rad_fraction=0.7, center_val=None)¶ Barrel shaped phantom with a linear density gradient The domain size is cubic with dimension “domain_size” along each axis
Parameters: - domain_size (int) – The length of the sides of the domain
- outer_rad_fraction (float) – The diameter of the barrel given as a the fraction of the side length
- center_val (float) – The density value in the center of the barrel
Returns: The phantom
Return type: ndarray
Utilities¶
-
axitom.utilities.
rotate_coordinates
(xs_array, ys_array, angle_rad)¶ Rotate coordinate arrays by a given angle
Parameters: - xs_array (ndarray) – Two dimensional coordinate array with x-coordinates
- ys_array (ndarray) – Two dimensional coordinate array with y-coordinates
- angle_rad (float) – Rotation angle in radians
Returns: - ndarray – The rotated x-coordinates
- ndarray – The rotated x-coordinates
-
axitom.utilities.
list_files_in_folder
(path, file_type='.tif')¶ List all files with a given extension for a given path. The output is sorted
Parameters: - path (str) – Path to the folder containing the files
- file_type (str) – The file extension ex. “.tif”
Returns: A list of sorted file names
Return type: list
-
axitom.utilities.
shading_correction
(projections, flats, darks)¶ Perform shading correction on a a list of projections based on a list of flat images and list of dark images.
The correction is: corrected = (projections-dark)/(flat-dark)
Parameters: - projections (list) – A list of projections that will be corrected
- flats (list) – A list of flat images
- darks (list) – A list of dark images
Returns: A list of corrected projections
Return type: list
-
axitom.utilities.
read_image
(file_path, flat_corrected=False)¶ Read an image specified by the file_path This function always returns a transposed float64 single channel image
Parameters: file_path (str) – Path to the file Returns: The single channel image with float64 values Return type: ndarray