/DCH423_2021

Material for the DCH423 course - Synchrotron Radiation (SR) enabled research in Heritage Sciences and Archaeology

Primary LanguageJupyter Notebook

06.04.2021 - SXCT: from data collection to results

Lecture material for the DCH423 course - Synchrotron Radiation (SR) enabled research in Heritage Sciences and Archaeology.

Contents:

  1. X-ray Computed Tomography (XCT) principles
  2. XCT applications in Heritage and Biomedical Sciences
  3. Tomographic reconstruction with TomoPy (demo)
  4. XCT 3D image processing hands-on session

Resources

Software
TomoPy Tomographic reconstruction in Python.
Fiji (is just ImageJ) Image processing package.
ParaView An open-source, multi-platform data analysis and visualization application.
3DSlicer Open source software platform for medical image informatics, image processing, and three-dimensional visualization.
ImageJ plugins
BoneJ Plugins for bone image analysis in ImageJ
3D ImageJ Suite High-throughput 3D image analysis in ImageJ
FeatureJ (optional)
Python resources
TomoPy_recon notebook Jupyter notebook of TomoPy reconstruction test
pyF3D by Daniela Ushizima High-resolution, high-performance 3D filters and morphological operaitons in Python
itkwidgets Interactive Jupyter widgets to visualize images, point sets, and meshes on the web

References:

Books

  1. Attwood D. Soft X-Rays and Extreme Ultraviolet Radiation: Principles and Applications [Internet]. Cambridge Core. Cambridge University Press; 1999 [cited 2020 Mar 28]. link
  2. Paganin D. Coherent X-Ray Optics [Internet]. Coherent X-Ray Optics. Oxford University Press; [cited 2021 Mar 15]. link
  3. Willmot P. An Introduction to Synchrotron Radiation: Techniques and Applications. John Wiley & Sons; 2019. 501 p.

Lectures

  1. Howells M. Coherent x-rays: overview [Internet]. ESRF Lecture Series on Coherent X-rays and their Applications; link
  2. Cloetens P. Phase Contrast Imaging - Coherent Beams [Internet]. School on X-ray Imaging Techniques at the ESRF; 2007 Feb 5 [cited 2020 Apr 21]; ESRF, Grenoble, France. link

Papers

  1. Withers PJ, Bouman C, Carmignato S, Cnudde V, Grimaldi D, Hagen CK, et al. X-ray computed tomography. Nature Reviews Methods Primers. 2021 Feb 25;1(1):1–21.
  2. Paganin D, Mayo SC, Gureyev TE, Miller PR, Wilkins SW. Simultaneous phase and amplitude extraction from a single defocused image of a homogeneous object. Journal of Microscopy. 2002;206(1):33–40.
  3. Dambrogio J, Ghassaei A, Smith DS, Jackson H, Demaine ML, Davis G, et al. Unlocking history through automated virtual unfolding of sealed documents imaged by X-ray microtomography. Nat Commun. 2021 Mar 2;12(1):1–10.
  4. Kersh ME. Resolving nanoscale strains in whole joints. Nat Biomed Eng. 2020 Mar;4(3):257–8.
  5. Madi K, Staines KA, Bay BK, Javaheri B, Geng H, Bodey AJ, et al. In situ characterization of nanoscale strains in loaded whole joints via synchrotron X-ray tomography. Nat Biomed Eng. 2020 Mar;4(3):343–54.
  6. Bernardini F, Tuniz C, Coppa A, Mancini L, Dreossi D, Eichert D, et al. Beeswax as Dental Filling on a Neolithic Human Tooth. PLoS One [Internet]. 2012 Sep 19 [cited 2020 Feb 2];7(9). Available from: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3446997/

Tutorials

  1. Dragonfly Video Tutorials | Lessons for Learning Dragonfly | ORS [Internet]. [cited 2021 Mar 14]. link
  2. 3DSlicer Tutorials - YouTube [Internet]. [cited 2021 Mar 14]. link
  3. 3D Slicer - YouTube [Internet]. [cited 2021 Mar 14]. link
  4. BioImage analysis lectures from haesleinhuepf - YouTube [Internet]. [cited 2021 Mar 14]. link

Part 1: X-ray Computed Tomography (XCT) principles

  1. History of XCT
  2. XCT experimental setups
    • Cone-beam VS Parallel-beam geometries
    • CT at synchrotron facilities
    • Time resolved CT
  3. Theoretical background
    • Radiographic (absorption) imaging
    • Tomographic reconstruction (FBP)
    • Edge enhancement and phase-contrast XCT
  4. XCT data collection
    • Time-resolved (4D) XCT

Part 2: XCT applications in Heritage and Biomedical Sciences

  • Bernardini, Federico, Claudio Tuniz, Alfredo Coppa, Lucia Mancini, Diego Dreossi, Diane Eichert, Gianluca Turco, et al. 2012. “Beeswax as Dental Filling on a Neolithic Human Tooth.” PLoS ONE 7 (9). https://doi.org/10.1371/journal.pone.0044904.
  • Dambrogio, Jana, Amanda Ghassaei, Daniel Starza Smith, Holly Jackson, Martin L. Demaine, Graham Davis, David Mills, et al. 2021. “Unlocking History through Automated Virtual Unfolding of Sealed Documents Imaged by X-Ray Microtomography.” Nature Communications 12 (1): 1–10. https://doi.org/10.1038/s41467-021-21326-w.
  • Madi, Kamel, Katherine A. Staines, Brian K. Bay, Behzad Javaheri, Hua Geng, Andrew J. Bodey, Sarah Cartmell, Andrew A. Pitsillides, and Peter D. Lee. 2020. “In Situ Characterization of Nanoscale Strains in Loaded Whole Joints via Synchrotron X-Ray Tomography.” Nature Biomedical Engineering 4 (3): 343–54. https://doi.org/10.1038/s41551-019-0477-1.

Part 3: Tomographic reconstruction with TomoPy (demo)

  • Read HDF5 file
  • Inspect projections and sinograms
  • Flat-field correction and log transform
  • Auto Center Of Rotation (COR) detection
  • COR optimization (manual inspection)
  • Tomographic reconstruction in TomoPy
  • Apply circular mask
  • Write output stack of TIFFS
  • Phase retrieval algorithms in TomoPy - comparison with absorption recon
  • Full tomopy-cli recon
  • TomoPy recon on Cyclone supercomputer (batch script)

Part 4: XCT 3D image processing hands-on session

ImageJ - Input/Output

  • Loading large dataset in ImageJ
  • Image/Show Info
  • Adjust pixel size to 1.625 um (Image/Properties)
  • Draw line; Analyze/Measure
  • Note that there are ring artefacts (slice 754)! We will crop them away :(
  • 3D filtering (Process/Filters/Gaussian Blur)
  • Rescale with factor 4 (Image/Scale)
  • Save! (File/Save As/Image Sequence)
  • Load cropped_rescale_025_00
  • Check rings @ slice 189
  • 3D ROI crop (Plugins/Stacks/Crop (3D))
  • Save! (File/Save As/Image Sequence)
  • Load cropped_rescale_025 and show result
  • Show 3D rendering: VFA=bottom)

Thresholding

  • Manual 3D ROI selection in 3DSlicer: separate VFA and MBA
    • File/Add Data
    • Segment Editor module
      • Add
      • Draw
      • Fill between slices/Initialize/Allow overlap/Apply
      • Export as STL
        • Segmentations button
        • Export to new labelmap
    • Segmentation module
      • Save
  • Inspect it in ImageJ
    • A mask is made of ones and zeroes
    • Image/Overlay/Add Image
  • Automatic thresholding in ImageJ: bone_tissue mask
    • Load (Virtual stack off)
    • Image/Adjust/Threshold
      • Otsu, Auto -> Apply
  • Remove noise speckles
    • Process/Noise/Despeckle

Perform checks!!

We check that the masking operation was fine, that we haven't introduced artefacts (e.g. wrongly removed bone areas).

  • Image/Color/Merge Channels
    • C2 (green): MBA_tissue
    • C4 (gray): cropped_rescale_025 Overlay

Morphological operations (mask refinement)

  • Keep largest strut (remove unconnected objects)
  • (Alternatively) Image open (remove unconnected objects)
    • Process/Binary/Open
  • Logical operations on masks: VFA_tissue; MBA_tissue
    • Load MBA-VFA separation
    • Process/Binary/Make binary
    • Process/Image Calculator: bone_tissue AND VFA_separation
    • Plugins/MorphoLibJ/Binary Images/Keep Largest Region
    • Image/Rename (VFA_tissue)
    • File/Save As
    • Process/Image Calculator: bone_tissue - VFA_tissue
    • Image/Rename (MBA_tissue)
    • File/Save As

Towards Bone Volume Fraction (BV/TV)!!

  • Image Erode, Dilate, Open, Close: MBA_total and VFA_total
    • Plugins/MorphoLibJ/Morphological Filters (3D)
      • Dilate; Cube (4x4x4)
    • Plugins/MorphoLibJ/Extend Image Borders (L1, R1, T0, B1, F1, B1; White)
    • Plugins/3D/3D Fill Holes
    • Plugins/Stacks/Crop 3D [1:649, 0:648, 2:350]
    • Plugins/MorphoLibJ/Binary Images/Keep Largest Region
    • Image/Rename (MBA_total)
    • File/Save As
    • Plugins/MorphoLibJ/Morphological Filters (3D)
      • Erosion; Cube (4x4x4)
  • MBA_pores and VFA_pores
    • Edit/Invert bone_tissue
    • Process/Image Calculator: bone_tissue AND MBA_total_eroded
    • Process/Noise/Despeckle (necessary?)
    • Image/Rename (MBA_pores)
    • File/Save As

Quantitative analysis (ImageJ-BoneJ)

  • BV/TV
    • Load MBA_tissue, MBA_total, VFA_tissue, VFA_total
    • Plugins/BoneJ/Fraction/Volume Fraction
    • Repeat for MBA_tissue, MBA_total, VFA_tissue, VFA_total; we are only interested in TV
    • BVTV_MBA = TV_MBA_tissue / TV_MBA_total
    • BVTV_VFA = TV_VFA_tissue / TV_VFA_total
  • Tissue density
    • Process/Image Calculator: MBA_tissue AND cropped_rescale_025
    • Histogram (shortcut: "h")
    • Repeat for VFA
  • Connectivity
  • Thickness
    • Pores
    • Trabeculae
  • Skeleton Analyzer Skeleton Analyzer
  • Particle Analyzer

Computed Tomography to Finite Elements

CT2FE - From 3D CT datasets to voxel-Finite Element (FE) models for the prediction of bone tissue stiffness.

3D Visualization (Paraview)

  • Slice
  • Threshold
  • Clip Paraview visualization