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.

What the plugin takes in, and what it leaves in the project:

The preprocessing and result settings described further down refine that reconstruction. Each is documented under its own heading.

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, scan start angle, FreeRay scatter threshold, and sharpening settings. The start angle is set so that the reconstruction comes out in the same orientation the scanner software produced. Verify the values before reconstructing; vendor-specific coded fields such as reconstruction kernel and beam-hardening preset are not inferred automatically.

Detector Pixel Size on Binned Scans

The detector pixel size must describe the projections as they were written, not the unbinned panel. A scan acquired with 2x2 binning stores half as many pixels in each direction at twice the pitch. Entering the unbinned pitch scales the whole reconstruction incorrectly.

The calibration image paths stored in this metadata are deliberately not filled into the flat-field fields because the metadata alone does not reliably establish whether the exported projections are raw or already corrected. Select calibration images manually only for raw detector projections. See Flat-field Correction.


Common Parameters​

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

Plan view of the cone-beam geometry: the X-ray source, the object on the rotation axis, the detector, the two source distances, and the detector and source offsets and detector tilt the projection parameters control

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.On

When enabled, the estimated value replaces the manual horizontal detector offset, and the manual control is disabled to show which value is in effect. The estimate is written to the application log. 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 log.

Leave Auto-Detection On

A scanner's nominal detector center is almost never the exact column the rotation axis projects onto, and the correction is not cosmetic: an offset of one or two detector pixels smears every voxel onto a small ring in the axial plane, blurring edges and reversing the contrast of small pores and voids. The estimation requires a scan arc of at least 180° and works best when the object is fully visible in the projections. Turn it off only when the horizontal detector offset is already known from a current scanner calibration, and enter that value manually instead.

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.

A centred detector, where the object must fit inside the cone on every side, and a displaced detector whose two halves cover a wider field of view over a full rotation

ParameterDescriptionDefault
Displaced detector - Handle off-centered panelsActivate 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 skip (0 = use all)Number of projections to skip between used projections. 0 uses all projections, 1 uses every 2nd projection, 2 uses every 3rd, and so on.0–1000
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
Projection smoothingApply 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
Intensity normalizationNormalize projection intensities for consistent attenuation values across the dataset.Off, Maximum value, Air peak detection, Fixed relative positionOff
  • Off: No normalization applied
  • Maximum value: Scale all projections to the maximum intensity value found
  • Air peak detection: Automatically detect the air (unattenuated beam) peak of the intensity histogram and normalize to it. More robust than Maximum value against hot pixels and bright outliers.
  • Fixed relative position: 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 (strict), Multi pixel (relaxed)Off
  • Off: No speckle removal
  • Single pixel (strict): Removes only extreme single-pixel outliers
  • Multi pixel (relaxed): 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 correctionCorrect 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 conversion (raw to attenuation)Convert 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. A valid flat-field correction enables logarithm conversion automatically because its output is transmission 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
Scatter correctionApply scatter radiation correction. X-ray scatter adds background signal that degrades image quality.Off
ParameterDescriptionRangeDefault
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.50.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. The default of 32000 suits a detector that delivers full 16-bit values, where the free-ray level typically falls between 30000 and 40000. It is far too high for a detector that stores a lower count range, where the free-ray level may be only a few hundred to a few thousand counts; left at 32000 on such a scan, no pixel is classified as air and the correction has nothing to work from.

When the projection folder carries the free-ray value in its metadata, Volvicon fills this field in for you and you do not need to set it by hand. It is read from Image/FreeRay in a .pca file, or Reconstruction Settings/FreeRay in a .pcr file. Otherwise, read the gray value of an empty region of one of your projections and enter a value slightly below it. Always check the value against your own projections before enabling the correction.

Intensity Offset Correction​

ParameterDescriptionDefault
Intensity offset correctionSubtract a constant offset/bias from all projection intensities when no valid dark/bright calibration is applied (percentage of maximum detector intensity).Off
ParameterDescriptionRangeDefault
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). A valid dark and bright field calibration replaces it so the detector offset is not subtracted twice. 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.

Only for uncorrected projections

Some acquisition systems apply the detector calibration while they write the projections, so the exported images are already corrected. Leave both fields empty for such data. Applying the correction a second time imprints the inverse gain map onto already flat projections and produces shading, ring artifacts, and a distorted gray value scale.

Use these fields only when your projections are raw detector output, that is, when they still show the pixel-to-pixel gain pattern and the detector offset.

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)

For a measured bright field, corrected projection = (Raw - Dark) / (Bright - Dark). If the bright file stores a precomputed gain map with its dark offset already removed, the denominator is that gain map.

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.)

Calibration images must come from the same detector, in the same detector mode, gain, and exposure conditions as the projections. They do not have to have the same pixel dimensions:

  • A calibration image that covers the full detector panel while the projections use a smaller read-out window is cropped to that window, centered on the panel. Calibration data is never rescaled, because each value belongs to one physical detector cell.
  • Projections whose dimensions are an exact integer binning of the full panel are matched by averaging the corresponding calibration cells. Cropped and binned windows require calibration images prepared for that same window.
  • A bright field file that stores several gain maps for different exposure settings is supported when the projections contain enough free-beam area to identify the matching map. Otherwise, the correction is skipped rather than guessing.
  • Bright field images are accepted with or without the dark offset already removed; Volvicon determines which convention the file uses.

Calibration cells whose gain is invalid or nearly zero are detected, and isolated defective samples are interpolated from valid neighboring detector cells. A calibration with too many unusable cells is rejected. This prevents division by a small calibration denominator, or broad synthetic filling, from creating extreme rays in the reconstruction.

When enough free beam is visible, Volvicon verifies the correction against its uniformity, which a correct calibration must improve. If the selected images would instead increase the non-uniformity, they do not belong to these projections and the correction is skipped with a warning. If verification is impossible, a single-map calibration is applied with a warning; a multi-map file is skipped because its matching map cannot be identified. When correction is skipped, reconstruction continues with the projections unchanged.

Flat-field correction is also skipped when Invert intensity is enabled for the input projections, because inverted projections are no longer detector readings and cannot be matched against a calibration. Turn intensity inversion off when reconstructing raw projections with calibration images, and use Auto invert intensity in the result parameters instead if the reconstructed volume needs inverting.

The diagram covers the decision, not every outcome: a calibration with too many unusable cells is rejected, and when verification is impossible a single-map calibration is applied with a warning while a multi-map file is skipped.

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 (sharpest), Shepp-Logan, Hann (smoothest), HammingRam-Lak (sharpest)
Cut frequencyCut frequency of the selected filter. Higher values preserve more high-frequency detail (sharper but noisier), lower values increase smoothing (softer but cleaner). At 0, the selected window spans the full frequency band; with Ram-Lak, this is the pure ramp filter.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 nonzero values cut off earlier (more smoothing). At 0, the selected window spans the full frequency band without an additional cutoff; with Ram-Lak, this is the pure ramp filter.

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

Auto crop keeps the single largest connected object it finds and discards everything else, so a part scanned on a holder or beside separate small pieces crops to the part alone. Material of very different densities within that object, such as a plastic housing around metal contacts, is kept together.

If Auto Crop Cuts Into the Object

Raise the crop margin until the whole object is inside the box, or turn auto crop off and use Image → Crop on the finished volume, which lets you set the bounds directly. A part made of several detached pieces always crops to the largest one; keep those scans uncropped.

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
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
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
SharpeningEnable Unsharp Mask (USM) sharpening on the reconstructed volume. Sharpening can enhance edge contrast and local detail but may amplify noise.-Off
IterationsNumber of times the sharpening operation is applied. More iterations increase sharpening strength but also processing time.1–992
Radius (pixels)Radius of the local neighborhood used for sharpening. Larger radius affects broader features, smaller radius affects fine details.1–993
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).

A reconstruction histogram with a few extreme voxels clipped at percentile bounds and a window with margin marked, and the histogram after that window is stretched over the full output range

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.

Expected Reconstruction Time​

Reconstruction is a single, uninterrupted operation with a progress dialog; there is nothing to configure for speed beyond the settings already described. The figures below are reference measurements taken on one machine so you know roughly what to wait for.

Reference system

ComponentSpecification
GPUNVIDIA GeForce RTX 5080, 16 GB
CPUIntel Core Ultra 9 275HX
Memory64 GB RAM
SettingsDefaults, as restored by Reset to Default

Measured times

Projection size (width x height x projections)Reconstruction time
1012 x 1012 x 100110 to 13 seconds
1000 x 2024 x 120135 to 42 seconds

Both runs used the default parameters, where the only preprocessing in effect is logarithm conversion, with automatic detector offset detection, auto crop, and histogram contrast windowing enabled. The times cover the reconstruction itself; reading a projection stack from disk is additional and depends on your storage.

Notice that the second dataset is about 2.4 times the projection data of the first but takes roughly 3 times as long. Time does not track projection data alone: a taller detector also produces a taller output volume, so both the amount read and the amount written grow together.

What changes the time

FactorEffect
Number of projectionsRoughly proportional; each projection is back-projected in turn
Detector width and heightLarger panels mean more data per projection and a larger output volume
Preprocessing filtersEach filter enabled in Preprocessing Parameters adds a pass over every projection. Ring artifact reduction, speckle removal, and scatter correction are the most expensive
Result processingNoise reduction and sharpening act on the reconstructed volume and add time in proportion to its size
Projection skipThe most effective control while testing. A skip of 3 uses a quarter of the projections and finishes in roughly a quarter of the time. Always return it to 0 for the final run
Compute pathThe CPU path is substantially slower than the GPU path for the same data
These are reference figures, not guarantees

Your times will differ with GPU model, available video memory, CPU, storage speed, and the settings you enable. Treat the table as an order-of-magnitude guide: a reconstruction of this size finishing in seconds is normal, while one taking many minutes suggests the CPU path is in use. Check File → Preferences → General → Performance → GPU acceleration (NVIDIA CUDA), and the application log, which records the path each reconstruction actually used.

Video memory

The GPU path needs enough free video memory to hold the projection data and the output volume. When it does not fit, reconstruction falls back to the CPU automatically and completes correctly, just far more slowly. A sudden jump from seconds to minutes on a dataset that previously ran quickly is the usual sign that this has happened.

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 (only for raw, uncorrected projections):
    • Select dark field image
    • Select bright field image
    • Leave both empty when the scanner already corrected the projections
  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. Confirm automatic geometry correction (on by default; leave it on unless the detector offset is known from a current calibration):
    • 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)

Small Features Look Bright Instead of Dark (Axial View Only)​

Symptom: Small pores, voids or inclusions appear as bright dots with a dark rim instead of dark spots, and object edges carry a dark halo. Larger features of the same kind still reconstruct correctly. The effect is visible in the axial (XY) slice view and not in the two views that contain the rotation axis. Changing the reconstruction filter, cut frequency or truncation correction does not remove it.

Cause: The rotation axis does not project onto the detector column the reconstruction assumes. Each voxel is then smeared onto a small ring lying in the axial plane, which suppresses fine detail and reverses the contrast of features smaller than roughly three times the ring diameter. An offset of only one or two detector pixels is enough. Because the ring lies in the plane of rotation, the artifact never appears along the rotation axis, which is why the other two slice views look clean.

Solutions:

  • Enable Auto-detect horizontal detector offset (center of rotation) and reconstruct again
  • If the estimation fails, sweep the manual horizontal detector offset in steps of half a detector pixel and keep the value that gives the sharpest small features
  • Confirm the detector pixel size matches the acquired projections rather than the unbinned panel: binned scans halve the number of pixels and double the pitch
Verifying the Correction

Pick an axial slice containing small pores and compare reconstructions. At the correct offset the pores are dark and crisply bounded; on either side of it they lose contrast, and further out they invert to bright dots.

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, automatic detector offset detection, histogram windowing, and auto-cropping. To test the closest available unprocessed result, explicitly disable histogram windowing and auto-cropping, leave sharpening off, and disable logarithm conversion only when the input is already attenuation data. Leave automatic detector offset detection on: it corrects the scan geometry rather than processing the result, and turning it off reintroduces rotation-axis blur. 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. If the projections are raw detector output, supply current dark and bright fields acquired with the same detector mode and exposure settings. If the scanner already corrected them, leave the calibration fields empty instead.
  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, the output voxel count, the preprocessing filters you enable, and whether the GPU or the CPU path is used. See Expected Reconstruction Time for measured reference figures.