APS 2-BM & 32-IDΒΆ
This section contains a script to read the APS 2-BM and 32-ID tomography dataset and reconstruct it with tomoPy.
Download file: rec_aps_32id_full.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
TomoPy example script to reconstruct TXM data set.
"""
from __future__ import print_function
import tomopy
import dxchange
if __name__ == '__main__':
# Set path to the micro-CT data to reconstruct.
fname = 'data_dir/sample.h5'
# Select sinogram range to reconstruct.
start = 0
end = 16
# Read APS 32-ID raw data.
proj, flat, dark, theta = dxchange.read_aps_32id(fname, sino=(start, end))
# If data collection angles is not defined in the hdf file then set it as equally spaced between 0-180 degrees.
if (theta is None):
theta = tomopy.angles(proj.shape[0])
else:
pass
# Flat-field correction of raw data.
proj = tomopy.normalize(proj, flat, dark)
# Find rotation center.
rot_center = tomopy.find_center(proj, theta, ind=0, init=1024, tol=0.5)
print("Center of rotation: ", rot_center)
proj = tomopy.minus_log(proj)
# Reconstruct object using Gridrec algorithm.
rec = tomopy.recon(proj, theta, center=rot_center, algorithm='gridrec')
# Mask each reconstructed slice with a circle.
rec = tomopy.circ_mask(rec, axis=0, ratio=0.95)
# Write data as stack of TIFs.
dxchange.write_tiff_stack(rec, fname='recon_dir/recon')
|