First steps in neutron tomography processing: a freeware solution for newbies
(by Sergey Kichanov, March 2017)
One fine day you have joined the neutron radiographic society through neutron measurements of your unique and wonderful material by means of a neutron tomography method. You had obtain the sets of radiography images, open beam and dark field patterns and hard question: “What should I do with all this?”
Here, I want to show some easy steps in a neutron tomography processing and short review of free available software for this. My tips are not strict rules for action, but, in my opinion, set the starting point for newbies in the neutron tomography. ….Oh, yes, I remember a time when I was collecting information about the software algorithms, bit by bit, with many unnecessary data filtering…
1. Firstly, we need some software for visualization our imaging data and performing simple operations: denoising, summing, background corrections ant etc. A leader in my private rating is ImageJ software. Easy using, a great extension by plugins, great and helpful community distinguish this software.
Do you have some “exotic” image format? Do not worry – install additional plugin. Do you want to prepare useful script? Do not worry – the powerful script writing system, python, Ruby, java code support are waiting you. It is tons of possibilities. It is fast and furious. In my opinion, the ImageJ have no competitors.
You can download this from https://imagej.nih.gov/ij/download.html
Alternatively, an inflated by plugins FIJI: http://fiji.sc, with nice slogan: “Fiji is just ImageJ”
ImageJ can open great images formats easy. Oh, no, it is VERY EASY. The modest interface hides a powerful stuffing.
Ok, you can load your set of projection data “File → Import → Image Sequence”. Now you have image stack and can push “play” button to watch movie “How my object rotates in neutron beam”. This is a funny comedy.
Seriously, you can perform many operations in batch: denoising (“Process → Noise → Despeckle”), filtering (“Process → Filters → ”As you like filter”) and etc. However, in our case, it is useful for open beam and dark field correction. In additional, open “open beam” file, “dark field” file and perform normalization:
Read more: http://www.sciencedirect.com/science/article/pii/S1110016815000952 or other literary source.
It can be done via “Process → Image Calculator”.
So many steps? “Plugins → Macros → Record” and after only one treatment you can obtain ready script for subsequent automatic treatments.
After normalization procedure, we can pass to tomography reconstruction.
2. The tomography reconstruction procedure.
In simple words, we want convert our angular projections to planar slices perpendicular to rotation axes OR a 3D model of neutron attention mapping.
Here, I recommended use H-PITRE software. https://webint.ts.infn.it/en/research/exp/beats2/h-pitre-beta-version.html
It is high-level software. Really. This software use the CUDA technology https://developer.nvidia.com/about-cuda. Therefore, you should use NVIDIA graphic card. Please, download a recent driver for you card. Download and install CUDA libraries. It is of ~1.2 Gb of hard drive space. Nevertheless, CUDA is working.
Now, the tomography reconstruction of big data is available on personal PC!
If you have no NVIDIA card or others causing, you can use PITRE: https://webint.ts.infn.it/en/research/exp/beats2/pitre.html. Install only IDL Virtual Machine.
Ok, load you angular images into H-PITRE. Don’t forget rename you file name to demanded names for PITRE: “tomo_***.tif”. Check parameters, input correct center of rotation. I calculate rotation center in ImageJ: add first and last projection and searching for center of this hybrid image.
The H-PITRE is waiting of our mouse click for tomography reconstruction start. Please, do not make it wait long… The GPU chips should not idle.
After start process, you should take a cup of tea (the cup of coffee would work too) and wait. In finish, we should obtain a directory with slices images. That is all.
I recommend paying attention on other tomography reconstruction software:
TomoPy: http://tomopy.readthedocs.io/en/latest/. It is powerful software package and it includes the great algorithms from initial data loading to outstanding tomography reconstruction cases: GRIDREC, SIRT, ART and others. It demands Python or Matlab. However, version for Windows do not work. In Linux OS (I try it in Ubunta) it is able to work. For users friendly with the programming.
The ASTRA Toolbox: http://www.astra-toolbox.com. The CUDA support. But only reconstruction algorithms. I have not known how to load my own imaging data. May be someone will pass this way to the end.
3. The 3D model presentation and calculation something.
In my opinion, the software for 3D visualization and analysis is presented in freeware segment very poor.
The first useful software is …# drumroll#... ImageJ. Get the 3D viewer plugin https://imagej.nih.gov/ij/plugins/3d-viewer/ and load your slices inside. The rotation, zooming, moviemaker is possible.
The ImageJ is powerful not only in 2D world but also 3D rendering is able.
For ImageJ there are great number plugins for 3D model treatment: Local Thickness, 3D particle calculator and etc. You can find everything your heart desires.
Keep your attention to Drishti: http://anusf.anu.edu.au/Vizlab/drishti/ However, I have no experience to work with software.
Of course, for more professional 3D data treatment you can buy commercial software: FEI Avizo® or Volume Graphics VGStudio®. But they are expensive.
Ok, above I described briefly some software for neutron imaging and tomography. If you uses other soft or you have own code or scripts, please, share them. If you wants. But it is well known:
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
George Bernard Shaw