This notebook allows you to run a full CT reconstruction.


How to launch the notebook

Connect to the analysis computer (see tutorial if you need a refresher), and access the CT reconstruction shortcut:

From the list of notebooks available, click imars3d_ui_embedded.ipynb

Select your IPTS

Need help using the IPTS selector?

Select the input data set

Here is a tutorial to learn to use the file selection tool

raw data

Select the folder containing the data to reconstruct


Select one or more folders containing the open beam data file


Select one or more folders containing the dark current data file


Load and display data

Just run the cell to import all the data.  A progress bar will display the progress of the loading. Once done, 3 plots will show the minimum value for each pixel, for each data (projections, ob, and dc)


This is where you can narrow down the size of the images by just focusing on the sample.

Use the embedded ROI selection tool to select a region that includes all parts of your sample. Just move the slider to define the edges of the region to keep.




Zzz tells you that this process may take several minutes

Gamma filtering (Zzz)

This will remove all the gamma spots (abnormal high counts) from the projection images. The method called (imars3d gamma filter) it’s in fact calling tomopy remove_outlier method.

Normalization (Zzz)

The math here is simple as it’s just doing  (projections – dc)/(ob – dc).

Running the cell will normalize and give you a preview of the projections normalized.

Beam fluctuation correction

Because of the nature of the incident neutron beam, and to improve the normalization, the beam fluctuation correction allows you to select a background region from the normalized data and use this region (attenuation value of 0) to improve the background counts (and at the same time, the signal of the sample).

Using the embedded ROI tool, select a region away from your sample (as illustrated here)


The resulting new improved normalized data will be displayed.

Transmission to Attenuation

This step is converting the data from Transmission intensities to Attenuation times sample thickness, according to the Lambert-Beer law:

Tilt Correction (Zzz)

Several tilt correction algorithms are used to evaluate the tilt of the sample. Select the algorithm/value you want to use to correct the data, or enter a tilt angle value if you want to use a different value.

find 0 and 180 degrees files

First, the notebook needs to extract the 0and 1800 data sets. The full list of images will be displayed and the two file names highlighted. Feel free to select a different file but pretty much all the time, iMars3d will pick the right ones for you.

calculate the tilt

iMars3d will use those two data sets to evaluate the tilt value using various algorithms. Once the calculation is done, select the angle you want to use and apply to the data sets.

Apply correction

Strikes removal (Zzz)

Cleaning the data. This method uses the ketcham method.

Rotation Center (Zzz)

The Center of rotation is calculated to be used as an input parameter to the final reconstruction step.


This is the final step where the data are reconstructed using tomopy engine. 


Select the final location where you want to export the images. A folder based on the input projection folder name + date will be created. By default, the starting folder will be the shared/processed_data of the selected IPTS. 

The iMars3D library can also be installed manually if you want to use it on your local machine. Conda installation packaget can be found here.