ImageDev

WedgeMaskImage3d

Generates a three-dimensional binary image representing the region of acquisition of an electron tilted image series.

Access to parameter description

In electron tomography, the missing wedge artifacts arise from the limited angular range (typically between -70 and +70 degrees) over which projection images can be collected, rather than the ideal full 180 degrees. This results in a wedge-shaped region of missing data in Fourier space, leading to several issues in the 3D reconstructed volume, such as feature elongation, anisotropic resolution, introduction of artifacts and noise, and reduced contrast. These artifacts can lead to erroneous results when applying a post-processing such as template matching for detecting a known structure. To mitigate this problem, a mask can be considered by the algorithm to reduce the false positive and false negative rates.

This algorithm generates a mask image in accordance with the tilt angles and axis used during acquistion. The output voxels corresponding to the missing wedge region are set to 0, voxels covered by the tilt angles are set to 1.

See also

Function Syntax

This function returns outputBinaryImage.
// Function prototype
std::shared_ptr< iolink::ImageView > wedgeMaskImage3d( WedgeMaskImage3d::TiltAxis tiltAxis, const iolink::Vector3u32& shape, const iolink::Vector2d& tiltAngle, std::shared_ptr< iolink::ImageView > outputBinaryImage = nullptr );
This function returns outputBinaryImage.
// Function prototype.
wedge_mask_image_3d(tilt_axis: WedgeMaskImage3d.TiltAxis = WedgeMaskImage3d.TiltAxis.Y_TILT,
                    shape: Iterable[int] = [32, 32, 32],
                    tilt_angle: Union[Iterable[int], Iterable[float]] = [-70, 70],
                    output_binary_image: idt.ImageType = None) -> idt.ImageType
This function returns outputBinaryImage.
// Function prototype.
public static IOLink.ImageView
WedgeMaskImage3d( WedgeMaskImage3d.TiltAxis tiltAxis = ImageDev.WedgeMaskImage3d.TiltAxis.Y_TILT,
                  uint[] shape = null,
                  double[] tiltAngle = null,
                  IOLink.ImageView outputBinaryImage = null );

Class Syntax

Parameters

Parameter Name Description Type Supported Values Default Value
input
shape
The X, Y, and Z dimensions, in voxels, of the output image. Vector3u32 != 0 {32, 32, 32}
input
tiltAngle
The minimum and maximum tilt angles, in degrees, for masking images acquired by tilted tomography. These angles are generally [-70, 70] degrees for electron tomography systems. Supported values are [-90, 90]. Vector2d [-90, 90] {-70.f, 70.f}
input
tiltAxis
The axis on which the scene has been tilted during the acquisition.
X_TILT Images were tilted on the X axis.
Y_TILT Images were tilted on the Y axis.
DUAL_TILT Images were tilted on the X and Y axis.
Enumeration Y_TILT
output
outputBinaryImage
The output 3D binary image. Image nullptr
Parameter Name Description Type Supported Values Default Value
input
shape
The X, Y, and Z dimensions, in voxels, of the output image. vector3u32 != 0 [32, 32, 32]
input
tilt_angle
The minimum and maximum tilt angles, in degrees, for masking images acquired by tilted tomography. These angles are generally [-70, 70] degrees for electron tomography systems. Supported values are [-90, 90]. vector2d [-90, 90] [-70, 70]
input
tilt_axis
The axis on which the scene has been tilted during the acquisition.
X_TILT Images were tilted on the X axis.
Y_TILT Images were tilted on the Y axis.
DUAL_TILT Images were tilted on the X and Y axis.
enumeration Y_TILT
output
output_binary_image
The output 3D binary image. image None
Parameter Name Description Type Supported Values Default Value
input
shape
The X, Y, and Z dimensions, in voxels, of the output image. Vector3u32 != 0 {32, 32, 32}
input
tiltAngle
The minimum and maximum tilt angles, in degrees, for masking images acquired by tilted tomography. These angles are generally [-70, 70] degrees for electron tomography systems. Supported values are [-90, 90]. Vector2d [-90, 90] {-70f, 70f}
input
tiltAxis
The axis on which the scene has been tilted during the acquisition.
X_TILT Images were tilted on the X axis.
Y_TILT Images were tilted on the Y axis.
DUAL_TILT Images were tilted on the X and Y axis.
Enumeration Y_TILT
output
outputBinaryImage
The output 3D binary image. Image null

Object Examples


WedgeMaskImage3d wedgeMaskImage3dAlgo;
wedgeMaskImage3dAlgo.setTiltAxis( WedgeMaskImage3d::TiltAxis::X_TILT );
wedgeMaskImage3dAlgo.setShape( {256, 256, 256} );
wedgeMaskImage3dAlgo.setTiltAngle( {-60, 60} );
wedgeMaskImage3dAlgo.execute();

std::cout << "outputBinaryImage:" << wedgeMaskImage3dAlgo.outputBinaryImage()->toString();

wedge_mask_image_3d_algo = imagedev.WedgeMaskImage3d()
wedge_mask_image_3d_algo.tilt_axis = imagedev.WedgeMaskImage3d.X_TILT
wedge_mask_image_3d_algo.shape = [256, 256, 256]
wedge_mask_image_3d_algo.tilt_angle = [-60, 60]
wedge_mask_image_3d_algo.execute()

print("output_binary_image:", str(wedge_mask_image_3d_algo.output_binary_image))

WedgeMaskImage3d wedgeMaskImage3dAlgo = new WedgeMaskImage3d
{
    tiltAxis = WedgeMaskImage3d.TiltAxis.X_TILT,
    shape = new uint[]{256, 256, 256},
    tiltAngle = new double[]{-60, 60}
};
wedgeMaskImage3dAlgo.Execute();

Console.WriteLine( "outputBinaryImage:" + wedgeMaskImage3dAlgo.outputBinaryImage.ToString() );

Function Examples


auto result = wedgeMaskImage3d( WedgeMaskImage3d::TiltAxis::X_TILT, {256, 256, 256}, {-60, 60} );

std::cout << "outputBinaryImage:" << result->toString();

result = imagedev.wedge_mask_image_3d(imagedev.WedgeMaskImage3d.X_TILT, [256, 256, 256], [-60, 60])

print("output_binary_image:", str(result))

IOLink.ImageView result = Processing.WedgeMaskImage3d( WedgeMaskImage3d.TiltAxis.X_TILT, new uint[]{256, 256, 256}, new double[]{-60, 60} );

Console.WriteLine( "outputBinaryImage:" + result.ToString() );





© 2025 Thermo Fisher Scientific Inc. All rights reserved.