Base Parameters#

The following documents the base parameters used by the Tomography Model class. Any of these parameters can be modified with set_params().

Note that the default detector channel spacing is delta_det_channel = 1 ALU, and the voxel spacing is automatically set to delta_voxel = 1/magnifaction ALU where magnification is the magnification of a voxel at iso.

However, if you change geometry parameters with set_params(), make sure to run auto_set_recon_geometry() afterwards since this will update the reconstruction parameters such as the detector channel spacing to reasonable values.

Reconstruction Parameters#

sharpness#

Type:

float (Defaults to 1.0)

Specifies the sharpness of the reconstruction. Larger values produce sharper images. Smaller values produce softer images. (For advanced users: This actually controls the underlying parameter sigma_x.)

snr_db#

Type:

float (Defaults to 30.0)

Specifies the assumed signal-to-noise ratio in dB of the sinogram data. Larger values produce sharper and more edgy images. Smaller values produce softer and less edgy images. (For advanced users: This parameter actually controls the underlying parameter sigma_y.)

qggmrf_nbr_wts#

Type:

list (Defaults to [1.0, 1.0, 1.0])

This parameter controls the relative QGGMRF regularization strength along the row, column, and slice direction. qggmrf_nbr_wts = [1.0, 1.0, 1.0] corresponds to isotropic regularization.

positivity_flag#

Type:

boolean (Defaults to False)

This parameter determines if positivity is enforced in MBIR reconstruction.

max_overrelaxation#

Type:

float (Defaults to 1.5)

This parameter limits the step size of VCD updates.

verbose#

Type:

int (Defaults to 1)

Larger values produce more status information. Change to 0 for silent operation or 2 or 3 for more detailed output.

use_gpu#

Type:

string (Defaults to ‘automatic’)

Possible values are ‘automatic’ and ‘none’ (‘full’ is accepted as a deprecated synonym of ‘automatic’).

  • ‘automatic’ - recommended setting: the reconstruction runs on the GPU when one is available. On a machine with multiple GPUs, MBIRJAX automatically divides the work across them, which increases the available memory and typically reduces reconstruction time (see Multi-GPU Reconstruction);

  • ‘none’ - disables GPU use and runs everything on the CPU.

This parameter expresses your request; the devices actually chosen are reported in the log at the start of each reconstruction and by model.device_summary. For explicit control over which (and how many) devices are used, see TomographyModel.configure_devices().

Geometry Parameters#

recon_shape#

Type:

tuple (num_rows, num_cols, num_slices)

Array size of reconstruction. This is set automatically and is available from get_params('recon_shape'). It is recommended to use scale_recon_shape() to increase this by a factor of 10–15% when the object extends beyond the field of view.

delta_det_channel#

Type:

float (Defaults to 1.0)

Spacing between detector channels in ALU.

delta_det_row#

Type:

float (Defaults to 1.0)

Spacing between detector rows in ALU.

det_channel_offset#

Type:

float (Defaults to 0.0)

Assumed offset between center of rotation and center of detector between detector channels in ALU.

det_row_offset#

Type:

float (Defaults to 0.0)

Assumed offset in rows of the source-to-detector line with center of detector in ALU.

delta_voxel#

Type:

float (Defaults to None)

Spacing between voxels in ALU. If None, then it is automatically set to delta_voxel = delta_det_channel / magnification where magnification is the magnification of a voxel at iso determined from the function get_magnification().

voxel_row_aspect#

Type:

float (Defaults to 1.0)

Ratio of voxel spacing in rows to voxel spacing in columns. This defaults to 1.0, so that the voxel spacing is the same in rows and columns, i.e., the voxels are square looking from the top.

voxel_slice_aspect#

Type:

float (Defaults to 1.0)

Ratio of voxel spacing in slices to voxel spacing in columns. This defaults to 1.0, so that the voxel spacing is the same in slices and columns, i.e., the voxels are square looking from the side.

use_ror_mask#

Type:

float (Defaults to True)

Determines what type of mask is used in the column-row space. The mask determines which voxel cylinders are updated and which are not. When use_ror_mask = True, an eliptical mask is used that inscribes the region of reconstruction. When use_ror_mask = False, no mask is used, and the entire column-row space is reconstructed. Alternatively, the user can supply a custom mask by setting use_ror_mask = array, where array is a 2D array of 0’s and 1’s with the same shape as the column-row space.

alu_unit#

Type:

string (Defaults to None)

alu_value#

Type:

float (Defaults to 1.0)

These two parameters are used to store the unit and value of 1 ALU. So for example, if alu_unit = “cm” and alu_value = 0.5, then we know that 1 ALU = 0.5 cm. With this information, quantities such as the detector channel spacing can be converted from ALU to physical units. These parameters are set by the preprocessing function for various devices, so they pass back information that can be used to compute quantitative reconstructions.

Proximal Map Parameters#

sigma_y#

Type:

float (Defaults to 1.0)

Assumed standard deviation of sinogram noise.

sigma_prox#

Type:

float (Defaults to 1.0)

Proximal map parameter.