Athabasca Recon Manual - GitHub Athabasca Recon Manual 1 / 41 Chapter 1 About Athabasca Recon Athabasca

  • View
    2

  • Download
    0

Embed Size (px)

Text of Athabasca Recon Manual - GitHub Athabasca Recon Manual 1 / 41 Chapter 1 About Athabasca Recon...

  • Athabasca Recon Manual

    Eric Nodwell and Steven K Boyd Bone Imaging Research Group, University of Calgary Numerics88 Solutions Ltd.

  • Athabasca Recon Manual ii

    Revision date: 2015-10-04

  • Athabasca Recon Manual iii

    Contents

    1 About Athabasca Recon 1

    2 License 2

    3 Definitions and conventions 3

    3.1 Geometry and coordinate systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    3.2 Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    4 Running Athabasca Recon 5

    4.1 Configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    4.2 Example run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    4.3 Progress indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    4.4 Using the Align Projections tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    5 Discussion of issues related to CT reconstruction 15

    5.1 The meaning of Attenuation Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    5.2 Correcting for detector response and beam distribution: Bright Fields, Dark Fields and Flat Fields . . . . . . . . 15

    5.3 The meaning of Filtered Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    5.4 Bad pixel correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    5.5 Correction for decaying beam power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    5.5.1 Beam power normalization method: Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    5.5.2 Beam power normalization method: Before and after bright field . . . . . . . . . . . . . . . . . . . . . . 17

    5.5.3 Beam power normalization method: Null projection edge . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    5.5.4 Beam power normalization method: Constant total attenuation . . . . . . . . . . . . . . . . . . . . . . . 18

    5.5.5 Saving and plotting the beam power corrections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    5.5.6 Example: Using a best fit to Constant Total Attenuation . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    5.5.7 Example: Using the background of the first and last projections . . . . . . . . . . . . . . . . . . . . . . 19

    5.6 Low-pass filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    5.6.1 Gaussian filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    5.6.2 Tapered cosine window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    5.7 Pixel interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    5.8 Issues with large voxel sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

  • Athabasca Recon Manual iv

    6 Configuration file reference 23

    6.1 Input parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    6.2 Output parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    6.3 Projections parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    6.4 Volume parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    6.5 Reconstruction parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    6.6 Software parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    7 ImageJ and data file formats 29

    7.1 Getting ImageJ and Required Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    7.2 ITK MetaImage file format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    7.3 Using ImageJ to Convert SimplePCI to MetaImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    8 Compiling Athabasca Recon 32

    8.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    8.2 Example build on OS X or Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    8.3 Example build on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    8.4 Running the tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    9 Generating synthetic test data 38

    10 Topics for developers 39

    10.1 Careful treatment of the ramp function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    11 Planned features 40

  • Athabasca Recon Manual 1 / 41

    Chapter 1

    About Athabasca Recon

    Athabasca Recon is a program for CT reconstruction using filtered back-projection. It has the following features:

    Precise. Athabasca Recon includes an ImageJ plug-in for optimal alignment of the input projections. It allows you to identify and correct even tiny errors in the center of rotation or the rotation axis. Athabasca Recon also implements a number of methods to correct for beam power decay.

    Fast. It is fully multi-threaded, and makes full use of all available processing cores.

    Memory efficient. Athabasca Recon will use as much memory as you specify (defaults to slightly less than the amount of physical system memory), but is not limited at all in the size of models in can reconstruct, regardless of the memory limit. Projection data are streamed and never loaded all into memory at once, reducing the required memory.

    Cross-platform. It has been compiled on OS X, Linux and Windows.

    Because it was created to process synchrotron tomographic data, it currently only handles parallel beam reconstruction.

    The home page for Athabasca Recon is http://numerics88.github.io/athabasca_recon/ .

    Athabasca Recon was originally developed by Eric Nodwell at the Bone Imaging Laboratory, University of Calgary (http://bonelab.ucalgary.ca/- ) under the supervision of Dr. Steven K. Boyd for the purpose of processing data synchrotron data obtained at the Canadian Light Source. It is now supported and maintained by Numerics88 Solutions Ltd. (http://numerics88.com./)

    http://numerics88.github.io/athabasca_recon/ http://bonelab.ucalgary.ca/ http://bonelab.ucalgary.ca/ http://numerics88.com./

  • Athabasca Recon Manual 2 / 41

    Chapter 2

    License

    Athabasca Recon is licensed under GPL version 2. Here is the standard licensing statement that goes with it:

    This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along with this program. If not, see .

    The complete text of the license is in the file LICENSE.txt, distributed with the source code.

    We are interested to know who is using this software. Feel free to drop us a line at one of the above email addresses

  • Athabasca Recon Manual 3 / 41

    Chapter 3

    Definitions and conventions

    3.1 Geometry and coordinate systems

    The following figure shows the defined geometry and coordinate systems, as viewed from above (z and v are up in this figure).

    Note For the direction of rotation, the above convention is equivalent to the following: as you scroll forward through your projections, you should have the impression of walking to your right around the object. However, for parallel projections, it isn’t possible to distinguish "walking to the right around the object" from "walking to the left around a mirror image of the object". So getting the direction of rotation incorrect for parallel rotations merely mirrors the reconstructed image. For cone beam however, getting the direction of rotation incorrect results in severe distortion in the reconstruction.

    Vector values, written as number tuples, are denoted in the order (x,y,z) for volume, and (u,v) for projections.

  • Athabasca Recon Manual 4 / 41

    Note Internally, Athabasca Recon consistently uses (z,y,x) and (v,u), in accordance with the fastest-changing index by memory address being last. This however is relevant only for developers; users do not need to be aware of this.

    Pixels (and their 3D counterparts Voxels) have a finite size, which inevitably leads to the question, "Is the position of pixels denoted by their lower-left corners, or by their centers?" Here we using the ce