Skip to main content

Cone Beam Reconstruction

The Cone Beam Reconstruction plugin reconstructs 3D volumetric images from cone-beam computed tomography (CBCT) projection data. Using filtered back-projection, it transforms a series of 2D X-ray projections acquired at different angles into a 3D volume representation of the scanned object.

Overview

Cone-beam CT differs from conventional fan-beam CT by using a cone-shaped X-ray beam that illuminates a 2D detector panel, enabling faster acquisition of volumetric data. This geometry is common in:

  • Industrial CT: Non-destructive testing, metrology, quality inspection
  • Dental CBCT: Maxillofacial imaging, implant planning
  • Micro-CT: Small animal imaging, materials research
  • C-arm systems: Interventional radiology, surgical guidance

The plugin implements the Feldkamp-Davis-Kress (FDK) algorithm with configurable geometry parameters, filtering options, and post-processing controls to optimize reconstruction quality for your specific imaging setup.

Current Scope

The plugin supports circular cone-beam trajectories reconstructed with FDK. It does not currently reconstruct fan-beam, parallel-beam, planar, or helical trajectories, and it does not provide ART or other iterative reconstruction, multi-ROI reconstruction, or automatic angular-drift correction. A circular cone-beam acquisition is also mathematically incomplete away from the central plane; larger cone angles can therefore produce axial intensity and shape artifacts that post-processing cannot fully remove.

Accessing the Plugin

  1. Navigate to the Advanced ribbon tab
  2. Click Cone Beam Reconstruction in the Plugins section
  3. The reconstruction controls panel opens in the task dock

Input Projections

The plugin supports two sources for projection data:

SourceDescription
Active VolumeUse the currently loaded volume object as input projections. The volume should contain the projection stack with each slice representing one projection image.
From DiskImport projection images directly from files. Opens a file selection dialog to choose multiple image files representing the projection series.

When selecting From Disk, a file manager dialog appears where you can:

  • Select multiple projection image files
  • Configure axis inversion (X, Y, Z) if projections need reorientation
  • Apply intensity inversion if contrast is reversed

The line edit below the dropdown displays the number of selected files and their directory location.

When the selected projection folder contains phoenix datos-style .pca or .pcr metadata, Volvicon reads the clear scanner defaults automatically: source/detector geometry, detector pixel size, scan arc, FreeRay scatter threshold, sharpening settings, and local dark/bright calibration image paths when the files can be found. Verify the values before reconstructing; vendor-specific coded fields such as reconstruction kernel and beam-hardening preset are not inferred automatically.


Common Parameters

These fundamental geometry parameters define the cone-beam CT acquisition setup:

ParameterDescriptionDefault
Distance from source to detector (mm)Distance from the X-ray source to the detector plane. Affects magnification and geometry of the scan.815.19
Distance from source to object (mm)Distance from the X-ray source to the object isocenter (rotation axis). Defines the radius of the scan trajectory.153.48
Detector pixel size X (mm)Physical size of a detector pixel along the horizontal axis.0.4
Detector pixel size Y (mm)Physical size of a detector pixel along the vertical axis.0.4
X-ray scan start angle (°)Starting angle of the X-ray scan. Defines the initial gantry position.0
X-ray scan total angle (°)Total angular range covered by the scan. Use 360° for a full scan, less for short-scan acquisitions.360
Rotation directionDirection of gantry rotation during acquisition: Clockwise or Anti-clockwise.Anti-clockwise
Geometry Parameters

These values should match your scanner's physical configuration. Consult your scanner documentation or calibration data for accurate geometry parameters. Incorrect values will result in blurred or distorted reconstructions.


Projection Parameters

Advanced parameters for correcting detector and source misalignments. These are collapsed by default and only needed when fine-tuning reconstruction quality.

Automatic Scan Geometry Correction

ParameterDescriptionDefault
Auto-detect horizontal detector offset (center of rotation)Automatically estimate the horizontal detector offset directly from the scan data by registering opposing projections (180° apart). Corrects center-of-rotation misalignment without phantom pre-scans.Off

When enabled, the estimated value replaces the manual horizontal detector offset. If the estimation fails (for example, the scan arc is below 180° or the projections do not correlate reliably), the manual value is used and a warning is written to the application log.

When to Use Auto-Detection

A misaligned rotation axis is the most common cause of blurred or "double-edged" reconstructions. Enable auto-detection whenever the exact detector offset is unknown or the scanner calibration is stale. The estimation requires a scan arc of at least 180° and works best when the object is fully visible in the projections.

Detector Offsets

ParameterDescriptionDefault
Detector center offset horizontal (mm)Horizontal offset of the detector center relative to the rotation axis. Use to correct for detector misalignment.0
Detector center offset vertical (mm)Vertical offset of the detector center relative to the rotation axis. Use to correct for detector misalignment.0

Source Offsets

ParameterDescriptionDefault
Source center offset horizontal (mm)Horizontal offset of the X-ray source relative to the rotation axis.0
Source center offset vertical (mm)Vertical offset of the X-ray source relative to the rotation axis.0

Detector Tilt Angles

ParameterDescriptionDefault
Out of plane angle (°)Rotation of the detector around the X axis (out-of-plane tilt). Use to correct for detector tilt.0
In plane angle (°)Rotation of the detector around the Z axis (in-plane tilt). Use to correct for detector tilt.0

Displaced Detector

Enable this option when using off-centered (displaced) detector panels, common in systems designed to extend the effective field of view.

ParameterDescriptionDefault
Enable displaced detectorActivate special handling for off-centered detector panels.Off
Angular gap threshold (°)Angular gap threshold for detecting short scans. Above this value, Parker short-scan weighting is applied.20
Short Scans

Parker short-scan weighting is always applied automatically when the scan arc is below 360° (detected via the angular gap threshold), regardless of the displaced detector option. For full 360° scans it has no effect. This prevents the doubly-sampled angular region of a short scan from being weighted twice.


Preprocessing Parameters

Preprocessing operations improve projection quality before reconstruction. Each correction can be enabled independently; Volvicon applies the corrections you enable automatically and combines them to produce the best result for your data. Enable only the corrections your acquisition actually needs.

Enabling Corrections

The corrections in this section are optional and off by default. Turn them on one at a time and review the result, so you can identify which correction addresses the artifact you are seeing without over-processing the data.

Projection Skip

ParameterDescriptionRangeDefault
Projection skipNumber of projections to skip between used projections. 0 uses all projections, 1 uses every 2nd projection, 2 uses every 3rd, etc.0+0
Testing Only

Projection skip is intended for testing and parameter tuning only. While it significantly speeds up reconstruction by reducing the number of projections processed, it also reduces angular sampling and degrades reconstruction quality. Skipping projections introduces undersampling artifacts, including streaks and loss of fine detail.

Use cases:

  • Quick parameter previews during workflow development
  • Fast iteration when tuning geometry or filter settings
  • Preliminary reconstructions on large datasets

Do NOT use projection skip for final production reconstructions. Always use all available projections (skip = 0) for clinical, quality inspection, or publication-quality results.

Projection Smoothing

ParameterDescriptionOptionsDefault
Smoothing levelApply smoothing to projection images before reconstruction. Reduces high-frequency noise while attempting to preserve edges.Off, Low, Medium, HighOff
  • Off: No smoothing applied
  • Low: Light smoothing – recommended for most cases
  • Medium: Moderate smoothing – good balance for noisy data
  • High: Strong smoothing – maximum noise reduction but may soften details
Smoothing vs. Noise

Smoothing reduces noise but can blur fine structures. Start with Low or Medium settings. If you need heavy smoothing, consider whether your acquisition parameters (exposure time, detector gain) can be improved to reduce noise at the source.

Intensity Normalization

ParameterDescriptionOptionsDefault
Normalization modeNormalize projection intensities for consistent attenuation values across the dataset.Off, Maximum, Air Peak, FixedOff
  • Off: No normalization applied
  • Maximum: Scale all projections to the maximum intensity value found
  • Air Peak: Automatically detect the air (unattenuated beam) peak of the intensity histogram and normalize to it. More robust than Maximum against hot pixels and bright outliers.
  • Fixed: Use a relative position in the intensity range for normalization (configurable through the scripting API)
When to Normalize

Intensity normalization is useful when projections have varying brightness levels due to source fluctuations, detector drift, or inconsistent acquisition settings. It ensures uniform attenuation scaling across all projections.

Speckle Removal

ParameterDescriptionOptionsDefault
Speckle removalRemove isolated detector defects (hot/dead pixels) that appear as bright or dark spots in projections.Off, Single Pixel, Multi PixelOff
  • Off: No speckle removal
  • Single Pixel: Strict mode – removes only extreme single-pixel outliers
  • Multi Pixel: Relaxed mode – handles larger defective pixel regions
Detector Calibration

Speckle removal is a corrective filter for defective detector pixels. For best results, use proper detector calibration (flat-field correction) to prevent systematic defects. Speckle removal should be used as a supplement, not a replacement, for good calibration.

Ring Artifact Reduction

ParameterDescriptionOptionsDefault
Ring artifact reductionReduce concentric ring artifacts caused by systematic detector pixel variations. These appear as circles centered on the rotation axis.Off, Low, Medium, HighOff
  • Off: No ring artifact reduction
  • Low: Removes narrow rings (single-pixel detector defects)
  • Medium: Removes rings of moderate width
  • High: Removes wide rings (clusters of defective detector pixels)
How It Works

Ring artifacts occur when detector pixels have non-uniform gain or offset: the same pixel is wrong in every projection, which back-projects to a circle around the rotation axis. Ring artifact reduction identifies this static per-pixel pattern and removes it from the projections without blurring the rotating object, so material features are preserved. Higher levels remove wider ring structures.

Ring artifact reduction targets the same fixed detector-pattern errors as flat-field correction. Use it to remove residual rings that remain after detector calibration, or the full ring pattern when no calibration images are provided.

Beam Hardening Correction

ParameterDescriptionOptionsDefault
Beam hardening presetCorrect cupping artifacts from polychromatic X-ray beam hardening. Lower-energy photons are absorbed more in outer regions, making the center appear brighter (cupping).Off, Low, Medium, HighOff
  • Off: No beam hardening correction
  • Low: Light polynomial correction for mild cupping
  • Medium: Moderate correction for typical cupping artifacts
  • High: Strong correction for severe cupping (thick or high-Z materials)
Beam Hardening Physics

Beam hardening is a physical phenomenon in polychromatic X-ray imaging. As the X-ray beam passes through the object, lower-energy photons are preferentially absorbed, "hardening" the beam (increasing average energy). This causes non-linear attenuation and cupping artifacts. Beam hardening correction applies polynomial compensation based on water-equivalent thickness.

Logarithm Conversion

ParameterDescriptionDefault
Enable logarithm conversionConvert raw detector intensities to attenuation values using logarithmic transformation: attenuation = -log(I / I0).On

Enable this if your projections are raw transmission values (detector intensity measurements). Disable if projections are already logarithmized attenuation data.

The unattenuated intensity I0 is estimated automatically from the air peak of the projection histogram. This makes the estimate robust against saturated or hot detector pixels, which would inflate a maximum-based estimate and shift all attenuation values by a constant offset.

Raw vs. Attenuation Data

Most CBCT systems output raw detector intensities (I), which must be converted to attenuation values (-log(I/I0)) for reconstruction. If your data is already preprocessed as attenuation or "sinogram" data, disable this option to avoid double logarithm.

Scatter Correction

Enable scatter correction to reduce contrast loss and cupping caused by scattered X-ray radiation.

ParameterDescriptionDefault
Enable scatter correctionApply scatter radiation correction. X-ray scatter adds background signal that degrades image quality.Off
ParameterDescriptionRangeDefault
Scatter air thresholdDetector value threshold for identifying air regions. Pixels above this value are considered air for scatter estimation.0–6553532000
Scatter-to-primary ratioEstimated ratio of scatter to primary radiation. Depends on object size and beam energy.0.0–0.30.0
Advanced Parameter

Scatter correction requires careful tuning of the air threshold and scatter-to-primary ratio. Incorrect values can introduce artifacts. Typical scatter-to-primary ratios range from 0.02 (small objects, high energy) to 0.15 (large objects, low energy). Start with conservative values and increase gradually.

The air threshold is defined in raw detector counts and must be set slightly below the air (free-ray) gray value of your projections. Detectors delivering full 16-bit values typically need 30000–40000; systems that store lower ranges need correspondingly lower values (for example, phoenix datos|x acquisitions record the free-ray value in the .pca parameter file, often only a few hundred to a few thousand counts).

Intensity Offset Correction

ParameterDescriptionDefault
Enable intensity offset correctionSubtract a constant offset/bias from all projection intensities (percentage of maximum detector intensity).Off
ParameterDescriptionRangeDefault
Intensity offset bias (%)Percentage of maximum intensity to subtract from projections. Typical starting values: 0.5–2.0%. Higher values (up to 5%) may be used but can cause negative intensities and streak artifacts.0.0–100.00.0

This correction removes DC offsets in detector readings (e.g., from dark current or electronic bias). Use small values and inspect reconstructions; if streaks or negative values appear, reduce the bias.

Intensity Offset Precautions

Too large an offset bias can introduce negative intensities and streak artifacts in the reconstruction. Start with 0.5–2% and increase slowly while monitoring results. Prefer detector calibration (flat-field correction) over using large offset biases.


Flat-field Correction

Flat-field correction removes systematic detector artifacts using calibration images. This normalizes detector response across all pixels, compensating for gain variations and fixed-pattern noise.

Calibration Images Required

Flat-field correction requires two calibration images:

  • Dark Field: Detector response with no X-ray exposure (captures dark current and fixed noise)
  • Bright Field: Detector response to uniform X-ray illumination without any object (captures pixel-wise gain variations)

Corrected projection = (Raw - Dark) / (Bright - Dark)

ParameterDescriptionFormat
Dark field image pathPath to the dark field calibration image.Image file (TIFF, PNG, etc.)
Bright field image pathPath to the bright field (flat field) calibration image.Image file (TIFF, PNG, etc.)

Flat-field images should match the resolution, detector mode, gain, and exposure conditions of the projection images. Volvicon detects calibration cells whose bright-minus-dark gain is invalid or nearly zero and interpolates those corrected samples from valid neighboring detector cells. This prevents division by a small calibration denominator from creating extreme rays in the reconstruction.

Acquisition Best Practice

Acquire dark field and bright field images using the same detector settings (gain, exposure time) as your projection data. Re-acquire calibration images periodically to account for detector drift over time.


Reconstruction Parameters

Filter settings that control the reconstruction algorithm behavior:

ParameterDescriptionRangeDefault
Truncation correctionFraction of the detector width feathered to compensate for truncated projections. 0 disables correction; higher values feather a wider region.0.0–1.01.0
FilterApodization window applied to the ramp filter of the filtered back-projection.Ram-Lak, Shepp-Logan, Hann, HammingRam-Lak
Cut frequencyCut frequency of the selected filter. Higher values preserve more high-frequency detail (sharper but noisier), lower values increase smoothing (softer but cleaner). Set to 0 to use the pure ramp filter without windowing.0.0–1.00.0

Reconstruction Filter Selection

The ramp filter of the filtered back-projection amplifies high frequencies, which makes the reconstruction sharp but sensitive to noise. Windowing the ramp with an apodization filter trades a small amount of resolution for noise suppression:

  • Ram-Lak (sharpest): The truncated ramp filter. Maximum resolution, most sensitive to noise. Best for low-noise, high-dose acquisitions.
  • Shepp-Logan: Slight noise reduction with minimal resolution loss. A good default for typical industrial CT data with moderate noise.
  • Hann (smoothest): Strongest noise suppression, visibly softer result. Use for very noisy or low-dose data.
  • Hamming: Between Shepp-Logan and Hann.

The cut frequency controls where the window rolls off: 1.0 applies the window over the full frequency range, smaller values cut off earlier (more smoothing). At 0 the window is disabled and the pure ramp filter is used regardless of the filter selection.

Truncation Correction

When the scanned object is larger than the detector's field of view, projections become truncated at the edges. This causes cupping artifacts and intensity errors in the reconstruction. The truncation correction parameter helps mitigate these effects by extrapolating the missing data.


Result Parameters

Post-processing options applied to the reconstructed volume:

Intensity and Cropping

ParameterDescriptionDefault
Auto invert intensityAutomatically invert the intensity of the reconstructed image. Enable if the reconstructed object appears with reversed contrast (bright areas appear dark).Off
Auto cropAutomatically crop the reconstructed volume to remove empty background regions, resulting in a tighter bounding box around the object.On
Crop marginMargin in pixels to preserve around the cropped object. Only applies when auto crop is enabled.10

Intensity Clamping

Clamp reconstructed intensity values to remove outliers. This is useful for eliminating extreme values that can distort the histogram and reduce contrast in the displayed image.

Why Clamp Intensities?

Reconstruction artifacts, noise, or metal objects can produce extreme intensity values (very bright or very dark voxels). These outliers compress the useful intensity range in the histogram, reducing visible contrast. Clamping removes these extremes while preserving the main tissue/material distribution.

Low Clamping

ParameterDescriptionDefault
Enable low clampingEnable clamping of values below the specified threshold. Values below the threshold are set to the threshold value.Off
Low clamping typeAbsolute: Threshold is a fixed intensity value. Percental: The given percentage of the darkest voxels is clamped.Absolute
Low clamping valueThreshold value. In Absolute mode, this is the actual intensity cutoff. In Percental mode, this is the percentage of the darkest voxels to clamp (e.g., 0.001% raises the darkest 0.001% of voxels).0.0

Typical use: Clamp negative values or background noise to zero. For example, set type to Absolute and value to 0.0 to remove all negative intensities.

High Clamping

ParameterDescriptionDefault
Enable high clampingEnable clamping of values above the specified threshold. Values above the threshold are set to the threshold value.Off
High clamping typeAbsolute: Threshold is a fixed intensity value. Percental: The given percentage of the brightest voxels is clamped.Percental
High clamping valueThreshold value. In Absolute mode, this is the actual intensity cutoff. In Percental mode, this is the percentage of the brightest voxels to clamp (e.g., 0.001% removes the brightest 0.001% of voxels).0.001

Typical use: Remove bright artifacts or saturated regions. For example, set type to Percental and value to 0.001 to clamp the brightest 0.001% of voxels.

Clamping Strategy

Start with high clamping in Percental mode (0.001–0.01%) to remove bright outliers. This often provides the most noticeable improvement in display contrast. Use low clamping in Absolute mode only if you observe significant negative values or dark artifacts.

Noise Reduction

Optional noise reduction filter applied to the reconstructed volume. When combined with sharpening, it suppresses noise that the unsharp mask would otherwise amplify.

ParameterDescriptionOptionsDefault
Noise reductionNoise reduction filter applied to the reconstructed volume.Off, Median, Gaussian, Edge-preservingOff
StrengthStrength of the selected filter.Low, Medium, HighMedium
  • Median: Removes speckle and impulse noise while preserving edges. The recommended choice when the reconstruction will be further processed (surface determination, segmentation, measurement), as it produces cleaner gradients without shifting edges.
  • Gaussian: Uniform smoothing. Reduces all noise but also softens edges.
  • Edge-preserving: Curvature-flow smoothing that reduces noise in homogeneous regions while keeping material boundaries sharp.
Median Filtering Before Further Processing

If you plan to run image processing on the reconstructed volume (surface extraction, defect analysis, measurements), enable Median noise reduction at Low or Medium strength. Median filtering suppresses the granular reconstruction noise that otherwise degrades downstream gradient-based operations, while keeping material edges in place.

Sharpening

Optional Unsharp Mask (USM) sharpening to enhance edge contrast and local detail in the reconstruction. Enable the Sharpening checkbox to activate these controls.

ParameterDescriptionRangeDefault
Enable sharpeningEnable Unsharp Mask (USM) sharpening on the reconstructed volume. Sharpening can enhance edge contrast and local detail but may amplify noise.-On
IterationsNumber of times the sharpening operation is applied. More iterations increase sharpening strength but also processing time.1+2
Radius (pixels)Radius of the local neighborhood used for sharpening. Larger radius affects broader features, smaller radius affects fine details.1+3
Contrast (%)Sharpening amount expressed as a percentage. Higher values produce stronger sharpening.1–20050
Sharpening and Noise

Sharpening enhances edges but also amplifies noise. Use conservative settings (low contrast %, few iterations) for noisy data, or combine sharpening with the Noise reduction filter. Over-sharpening can create "halo" artifacts around edges.

Histogram Contrast Windowing

ParameterDescriptionRangeDefault
Histogram contrast windowingClip extreme outlier intensities (percentile-based) and stretch the remaining histogram over the full output range.-On
Margin (%)Margin added on both sides of the contrast window, as a percentage of the window width. Prevents the clip from cutting tightly at the percentile bounds.0–505

This step improves the contrast distribution of the reconstructed volume by removing the few extreme voxels that would otherwise compress the useful gray value range. Disable it to preserve the unstretched gray value relations of the raw reconstruction (for example, when comparing reconstructions quantitatively).

The margin widens the window beyond the computed percentile bounds (clamped to the actual data range), so voxels just outside the window keep some differentiation instead of collapsing hard onto the window edges, which would otherwise pile up as spikes at the ends of the output histogram. Set the margin to 0 for the tightest possible contrast stretch.


Running Reconstruction

  1. Configure input: Select the projection source (Active Volume or From Disk)
  2. Set geometry parameters: Enter your scanner's geometry values in the Common Parameters section
  3. Configure preprocessing (optional): Expand Preprocessing Parameters to apply filters (smoothing, artifact reduction, beam hardening correction, etc.)
  4. Adjust advanced settings (optional): Expand Projection Parameters and Reconstruction Parameters for fine-tuning
  5. Configure output options: Set Result Parameters for intensity clamping, cropping, and sharpening preferences
  6. Click Reconstruct: The reconstruction process begins with a progress dialog

The reconstructed volume is automatically added to the project with a name derived from the input source (e.g., "OriginalName (Reconstructed)").

Recommended Workflow

For a typical first reconstruction:

  1. Start with the defaults. Logarithm conversion is enabled for raw transmission projections; optional smoothing, speckle, ring, scatter, and beam-hardening corrections are off.
  2. Check the result quality
  3. If artifacts are present, enable specific preprocessing filters one at a time
  4. Use projection skip (e.g., skip=3) for fast parameter testing, then set skip=0 for final reconstruction

GPU Acceleration

Cone beam reconstruction can be accelerated on a supported NVIDIA GPU (via CUDA). The reconstruction automatically uses the GPU when one is available and falls back to the CPU otherwise, so no per-reconstruction setting is required.

This behavior is controlled globally from File → Preferences → General → Performance → GPU acceleration (NVIDIA CUDA):

  • Automatic (default): use the GPU when a supported NVIDIA device is available; otherwise the CPU.
  • CPU only: always reconstruct on the CPU.
  • GPU (NVIDIA CUDA): prefer the GPU; automatically falls back to the CPU if no usable device is found or the GPU runs out of video memory.

GPU acceleration requires an NVIDIA Turing (RTX 20-series) or newer GPU (Ampere / RTX 30-series or newer recommended) and NVIDIA driver R610 or later; see System Requirements. On machines without a supported GPU or driver, reconstruction runs on the CPU exactly as before: the Preferences option is disabled with a tooltip explaining why, and the compute path used for each reconstruction (GPU or CPU) is recorded in the application log.

note

GPU acceleration does not change which parameters are available or how reconstruction works. The GPU and CPU paths use the same FDK algorithm and the same settings, with only minor floating-point differences in the result.

Reset to Default

Click Reset to Default to restore all parameters to their factory default values. This is useful when starting a new reconstruction workflow or troubleshooting unexpected results.


Workflow Examples

Example 1: Basic Reconstruction from Projection Files

  1. Click Cone Beam Reconstruction in the Advanced tab
  2. Select From Disk in the Projections dropdown
  3. In the file dialog, select all projection images (e.g., TIFF or DICOM series)
  4. Configure axis inversion if needed (check preview to verify orientation)
  5. Enter your scanner geometry:
    • Source-to-detector distance
    • Source-to-object distance
    • Detector pixel size
    • Scan angles and rotation direction
  6. Leave Preprocessing Parameters at defaults for first attempt
  7. Leave Projection Parameters at defaults unless you know your system has misalignments
  8. Enable Auto crop and Auto invert intensity in Result Parameters
  9. Enable High clamping (Percental, 0.001%) to remove bright outliers
  10. Click Reconstruct
  11. Review the reconstructed volume in the 3D view

Example 2: High-Quality Reconstruction with Preprocessing

Use this workflow when you need maximum quality and artifact suppression:

  1. Load projections (Active Volume or From Disk)
  2. Configure geometry parameters
  3. Enable preprocessing filters:
    • Projection smoothing: Low or Medium (for noise reduction)
    • Intensity normalization: Air Peak (for consistent attenuation)
    • Speckle removal: Single Pixel (for isolated defects)
    • Ring artifact reduction: Low or Medium (if rings are visible)
    • Beam hardening correction: Medium (for typical cupping)
    • Enable logarithm conversion: On (for raw detector data)
  4. Configure flat-field correction (if calibration images available):
    • Select dark field image
    • Select bright field image
  5. Set reconstruction parameters:
    • Truncation correction: 1.0
    • Filter: Shepp-Logan, Cut frequency: 1.0 (slight noise suppression), or Hann with cut frequency 0.5 for very noisy data
  6. Enable automatic geometry correction (if the exact detector offset is unknown):
    • Auto-detect horizontal detector offset: On
  7. Configure result parameters:
    • Auto crop: On
    • High clamping: Percental, 0.001%
    • Noise reduction: Median, Low or Medium strength
    • Sharpening: On (Iterations=2, Radius=3, Contrast=50%)
  8. Click Reconstruct
Processing Time

Enabling multiple preprocessing filters increases reconstruction time. Use projection skip for parameter testing, then disable it (skip=0) for the final production reconstruction.

Example 3: Fast Parameter Testing

When testing geometry or filter parameters on large datasets:

  1. Set Projection skip to 3 or 5 (uses every 4th or 6th projection)
  2. Disable Auto crop for faster processing
  3. Disable Sharpening for faster processing
  4. Run reconstruction and check result quality
  5. Adjust parameters as needed
  6. For final reconstruction: Set projection skip back to 0 and re-enable desired post-processing
Final Production Reconstruction

Always set projection skip to 0 for final reconstructions used in analysis, publication, or quality control. Skipped projections reduce angular sampling and introduce artifacts.

Example 4: Reconstructing from Loaded Volume Stack

  1. Load the projection stack as a volume (File → Import)
  2. Ensure the projection volume is the active volume
  3. Click Cone Beam Reconstruction
  4. Select Active Volume as the projection source
  5. Enter geometry parameters
  6. Click Reconstruct

Technical Background

Feldkamp-Davis-Kress (FDK) Algorithm

The plugin implements the FDK algorithm, the standard filtered back-projection method for cone-beam CT reconstruction. The algorithm:

  1. Pre-weights each projection by the cosine of the cone angle
  2. Filters projections row-by-row using a ramp filter (optionally windowed with the Ram-Lak, Shepp-Logan, Hann, or Hamming apodization filter)
  3. Back-projects filtered data along ray paths through the reconstruction volume

The FDK algorithm provides good image quality for circular scan trajectories when the cone angle is moderate. For very large cone angles or helical trajectories, more advanced algorithms may be required.

Geometry Conventions

The plugin uses standard cone-beam CT geometry conventions:

  • Source: Point X-ray source emitting a cone-shaped beam
  • Detector: Flat-panel detector perpendicular to the central ray
  • Rotation axis: Vertical axis (Y) passing through the isocenter
  • Angles: Measured from the initial gantry position, positive in the rotation direction

Troubleshooting

Blurred or Smeared Reconstruction

Possible causes:

  • Incorrect geometry parameters (distances, pixel size)
  • Wrong rotation direction (clockwise vs. anti-clockwise)
  • Projection offsets not properly configured

Solutions:

  • Verify geometry parameters match your scanner calibration data
  • Check rotation direction and flip if necessary
  • Enable Auto-detect horizontal detector offset to correct center-of-rotation misalignment automatically
  • Verify projection offsets (detector center horizontal/vertical)
  • Select a smoothing filter (Shepp-Logan or Hann) with a lower cut frequency for a smoother reconstruction (reduces noise but softens edges)

Ring Artifacts (Concentric Circles)

Cause: Detector pixel defects or gain variations create systematic errors that appear as rings centered on the rotation axis.

Solutions:

  • Enable Ring artifact reduction (start with Low or Medium)
  • Use Flat-field correction with properly acquired dark/bright field calibration images
  • Enable Speckle removal (Single Pixel mode) to remove isolated defective pixels
  • Check detector calibration – re-calibrate if rings persist
Best Practice

Ring artifacts are best prevented through proper detector calibration. Flat-field correction is the most effective solution. Ring artifact reduction filter is a corrective measure when calibration data is unavailable.

Cupping Artifacts (Brighter Center)

Cause: Polychromatic beam hardening – lower-energy X-rays are absorbed more in outer regions, making the center appear brighter.

Solutions:

  • Enable Beam hardening correction (start with Medium preset)
  • If cupping is severe, increase to High preset
  • Verify truncation correction is enabled if object extends beyond field of view
  • For very thick or high-Z materials, custom beam hardening coefficients may be needed
When Cupping is Normal

Some cupping may be normal for objects with varying density. Only apply beam hardening correction if the cupping is an artifact (e.g., uniform materials appearing non-uniform).

Streaking Artifacts

Possible causes:

  • Insufficient angular sampling (too few projections or excessive projection skip)
  • Highly attenuating materials (metal) creating photon starvation
  • Detector saturation or clipping

Solutions:

  • Disable or reduce Projection skip (set to 0 for full angular sampling)
  • Increase number of acquired projections if possible
  • Enable Scatter correction if scatter is significant
  • Use High clamping to remove extreme bright values from metal artifacts
  • Adjust acquisition parameters (exposure time, beam energy) if detector is saturating
Projection Skip Artifacts

Projection skip reduces angular sampling, which can cause streaking. Never use projection skip values > 0 for final reconstructions.

Noisy Reconstruction

Cause: Low X-ray dose, high detector noise, or insufficient projection counts.

Solutions:

  • Enable Projection smoothing (Low or Medium)
  • Select the Shepp-Logan or Hann reconstruction filter with a cut frequency between 0.5 and 1.0 (lower values = smoother)
  • Enable Noise reduction (Median or Edge-preserving) in the Result parameters
  • Disable Sharpening (sharpening amplifies noise)
  • If possible, increase acquisition dose or detector exposure time

Reversed Contrast (Dark Object on Bright Background)

Cause: Intensity inversion during acquisition or preprocessing.

Solutions:

  • Enable Auto invert intensity in Result Parameters
  • Check Invert intensity option in input projection settings (From Disk mode)
  • Verify logarithm conversion is correctly enabled/disabled based on data type

Reconstruction Too Dark or Bright

Possible causes:

  • Histogram outliers compressing useful intensity range
  • Incorrect window/level settings in viewer

Solutions:

  • Enable High clamping (Percental, 0.001–0.01%) to remove bright outliers
  • Enable Low clamping (Absolute, 0.0) to clamp negative values
  • Adjust window/level after reconstruction using the Image tab tools
  • Check that projection data has appropriate dynamic range

Flat or Low Contrast Result

Cause: Extreme intensity values compressing the useful data range.

Solutions:

  • Enable Intensity clamping (both low and high)
  • Use Percental high clamping at 0.001–0.01% to remove the brightest outliers
  • Adjust window/level in the image viewer
  • Check histogram to identify outliers

Speckled or "Salt and Pepper" Noise

Cause: Isolated detector defects (hot pixels, dead pixels).

Solutions:

  • Enable Speckle removal (Single Pixel or Multi Pixel mode)
  • Use Flat-field correction to calibrate detector response
  • Enable Noise reduction (Median) in the Result parameters to remove residual speckle from the reconstructed volume
  • Increase speckle threshold multiplier if too many good pixels are being removed

Isolated White Dots in Dark Voids

Isolated bright dots are usually extreme reconstructed values made conspicuous by the final 16-bit intensity scaling. Common acquisition-domain causes are hot or low-performing detector pixels, invalid dark/bright calibration cells, photon-starved rays, detector saturation, and values at or below zero before logarithm conversion. A ramp filter and optional sharpening amplify these high-frequency errors; their 3D back-projection can look like small bright spots on slices even when no post-processing filter is selected.

Collapsing a parameter section only hides its controls; it does not disable them. The factory defaults enable logarithm conversion, histogram windowing, auto-cropping, and sharpening. To test the closest available unprocessed result, explicitly disable histogram windowing, auto-cropping, and sharpening (and disable logarithm conversion only when the input is already attenuation data). Final conversion to the 16-bit output range is always performed.

Use this diagnostic order:

  1. Inspect the same detector coordinates across several raw projections. A stationary bright or dark cell indicates a detector or calibration defect.
  2. Supply current dark and bright fields acquired with the same detector mode and exposure settings.
  3. Enable Speckle removal → Single Pixel. Use Multi Pixel only when defects form clusters.
  4. Disable sharpening while diagnosing the source because it amplifies impulse noise.
  5. For photon-starved or saturated data, correct the acquisition where possible (exposure, tube voltage, filtration, and detector range). A volume filter cannot recover missing ray measurements.
  6. If a few valid but extreme reconstructed voxels remain, enable High clamping → Percental and begin at 0.001%. Confirm that dense inclusions or metal are not being clipped.

If the dots move with the object between projections rather than remaining at fixed detector coordinates, investigate real high-density inclusions, scatter, beam hardening, or incomplete cone-beam sampling instead of detector defects.

Missing or Truncated Object Regions

Cause: Object extends beyond detector field of view, causing projection truncation.

Solutions:

  • Increase Truncation correction toward 1.0
  • Verify detector is properly positioned to capture the full object
  • Check projection offsets (detector center horizontal/vertical)
  • Consider using displaced detector mode if appropriate for your geometry
Truncation Limits

Truncation correction can only compensate for moderate truncation. If large portions of the object extend beyond the detector, reconstruction quality will be limited. The best solution is to reposition the detector or reduce magnification.

Reconstruction Fails or Crashes

Possible causes:

  • Insufficient memory for large datasets
  • Incompatible projection data format
  • Geometry parameter errors (e.g., source distance = 0)

Solutions:

  • Enable Projection skip to reduce memory usage (for testing only)
  • Verify all geometry parameters are non-zero and physically reasonable
  • Check projection image format and bit depth
  • Close other applications to free memory
  • For very large datasets, use a workstation with more RAM

Scripting API

The cone beam reconstruction settings are exposed through the scripting API, allowing automated batch processing and integration into custom workflows.

Python Example

import ScriptingApi as api
import os

app = api.Application()
volume_operations = app.get_volume_operations()

# Helper function to create file paths with zero-padded numbering
def create_file_paths(directory, prefix, start, end, num_zeros, extension='.tif'):
file_paths = []
for i in range(start, end + 1):
padded_number = str(i).zfill(num_zeros)
filename = f"{prefix}{padded_number}{extension}"
full_path = os.path.join(directory, filename)
file_paths.append(full_path)
return file_paths

projection_files = create_file_paths(
directory="C:/Data/Projections",
prefix="XYZ_Object",
start=100001,
end=100999,
num_zeros=6
)

# Create reconstruction settings
cone_beam_reconstruction_settings = api.ConeBeamReconstructionSettings()

# Reconstruct from projection files on disk
reconstructed_volume = volume_operations.reconstruct_volume_using_cone_beam_reconstruction(
"", # volumeName: empty string when using files
projection_files, # fileNames: list of projection file paths
cone_beam_reconstruction_settings # reconstruction parameters
)

print(f"Reconstructed volume from files: {reconstructed_volume}")

Enum Types

The scripting API provides type-safe enums for all preprocessing modes:

Enum TypeValuesDescription
api.CBR_ProjectionSmoothingLevel.OffOff, Low, Medium, HighProjection smoothing intensity
api.CBR_IntensityNormalizationMode.OffOff, Maximum, AirPeak, FixedIntensity normalization method
api.CBR_SpeckleRemovalMode.OffOff, SinglePixel, MultiPixelSpeckle removal strategy
api.CBR_RingArtifactReductionLevel.OffOff, Low, Medium, HighRing artifact correction strength
api.CBR_BeamHardeningPreset.OffOff, Low, Medium, HighBeam hardening correction preset
api.CBR_ClampingType.AbsoluteAbsolute, PercentalIntensity clamping type
api.CBR_ReconstructionFilter.RamLakRamLak, SheppLogan, Hann, HammingReconstruction (ramp apodization) filter
api.CBR_NoiseReductionMode.OffOff, Median, Gaussian, EdgePreservingPost-reconstruction noise reduction filter
api.CBR_NoiseReductionLevel.LowLow, Medium, HighNoise reduction strength

Batch Processing Example

Automation Benefits

Using the scripting API enables:

  • Batch processing of multiple datasets with identical parameters
  • Integration into automated QA/QC pipelines
  • Reproducible reconstructions with version-controlled parameter sets
  • Custom preprocessing workflows not available in the GUI

Best Practices and Recommendations

Acquisition Guidelines

  1. Projection count: Follow the scanner's sampling requirement for the detector width, magnification, and object diameter. Use every acquired projection for the final reconstruction.
  2. Detector calibration: Acquire dark and bright field images regularly for flat-field correction.
  3. Exposure settings: Balance dose, noise, and acquisition time. Higher dose reduces noise but increases scan time.
  4. Geometric accuracy: Calibrate scanner geometry periodically to ensure accurate distance and offset parameters.

Parameter Selection

  1. Start simple: Begin with default parameters and enable preprocessing only as needed.
  2. Enable one filter at a time: When troubleshooting artifacts, enable preprocessing filters individually to identify the most effective corrections.
  3. Use projection skip for testing only: Set projection skip to 3–5 for fast parameter testing, then always set to 0 for final reconstructions.
  4. Balance smoothing and detail: Low or Medium smoothing levels preserve detail while reducing noise. Avoid High unless noise is severe.
  5. Tune clamping carefully: Use Percental high clamping at 0.001–0.01% to remove bright outliers without affecting the bulk of the data.

Quality Control

  1. Visual inspection: Check for rings, cupping, streaks, and noise in reconstructed slices.
  2. Histogram analysis: Examine the intensity histogram for outliers or unexpected distributions.
  3. Quantitative metrics: If available, compare reconstructed values to known reference materials or calibration phantoms.
  4. Consistency: Use identical parameters for datasets that will be compared quantitatively.

Optimization for Large Datasets

  1. Memory management: Large reconstructions (> 2000³ voxels) require significant RAM. Close unnecessary applications.
  2. Test first: Use projection skip for initial parameter tuning, then run full reconstruction overnight.
  3. Incremental processing: For very large datasets, consider splitting into smaller angular ranges and combining afterward.
  4. Parallel processing: The reconstruction algorithm uses multi-threading. Ensure adequate CPU cores are available.
  5. GPU acceleration: On a supported NVIDIA GPU, reconstruction can run on the GPU for a significant speed-up (see GPU Acceleration). Ensure the GPU has enough free video memory for the dataset; otherwise it automatically falls back to the CPU.
Performance Tip

Reconstruction time scales with the number of projections, output voxel count, enabled preprocessing filters, and the available CPU or GPU.