materialsautomated / materialsautomated.github.io

Home of Materials Automated Sessions
MIT License
7 stars 8 forks source link

Reconstructing/Handling Micro-CT Data #4

Closed lucaspressley closed 4 years ago

lucaspressley commented 4 years ago

2 parts: Reconstruction->Viewing 3D data

Reconstruction-

Input: Raw files collected from Micro CT (Skyscan usually has it as .tiff files)

Output: Reconstructed slices (potentially with artifact/alignment corrections added) as .tiff, .bmp

Detailed Description: uCT data is collected by taking multiple "snapshots" of an object using penetrating x-rays while rotating the object by a certain degree over 180-360 degrees. The snapshots are then reconstructed using a filtered back-projection to recreate your 3D image (a collection of cross sections that build up the object). While there exists software that handles and reconstructs 3D CT data, much of it is under a commercial license and some open-source codes don't quite handle the data "easily" (issues with the .tiff type for myself). The other issue is that uCT data can be large (small for big data) for one computer to handle (1-20 GB) multiple data sets at one time. The ability to pull the data remotely and handle it through a Jupiter notebook would be useful.

Impact: Here at Hopkins, many students who use the uCT are stuck having to access the same computer that collects the data to also reconstruct and perform analysis on it due to the licensing. Having the ability for students (across multiple departments) to be able to remotely access and view the data would free up the instrument for more use as well as give students the freedom to manipulate it in further ways than the commercial software allows, although I'm sure there will still be times when it will be used for unique problems.

Handling Data-

Input: Reconstructed data from either previous notebook or uploaded files (.bmp, .tiff, .jpg, etc.)

Output: The ability to view the 3D data/or cross sections of 2D data and obtain basic dimensional information (if you know the resolution of the camera taking the raw image you can determine the size of the voxels)

Detailed Description: Once uCT data is reconstructed, it can then be viewed by a variety of software. The benefit of this notebook would be quick visualization of data (potentially with the ability to manipulate the transfer function) as well as being able to obtain dimensional information easily (measuring leads across a sample).

Impact: The ability to do quick sanity checks on your data (issues with reconstruction) as well as obtain dimensional information that other commercial software may be overkill for. A large benefit of this again here at Hopkins would be the ability to access the data remotely as some laptops may have issues handling the "large" 3D data with their current processing power.

Input: https://materialsautomated.org/MaterialsAutomated4-Input.zip Output: https://materialsautomated.org/MaterialsAutomated4-Output.zip

Useful resources:

Python package for reconstruction- https://tomopy.readthedocs.io/en/latest/about.html

Python package for viewing CT data (paper on it below)- https://scikit-image.org/docs/stable/ https://link.springer.com/article/10.1186/s40679-016-0031-0

Example Output Images (visualized using ImageJ):

Output_image_1

output_image_2

tmcqueen-materials commented 4 years ago

Thanks for this great suggestion— can you perhaps link to a sample dataset usable for showing inputs/outputs?

lucaspressley commented 4 years ago

Thank you for the feedback and assistance, the initial requested has been updated as such, with links to the python packages that I think will be of best use, although I'm still grasping with them myself.