Skip to main content

Additional Operations

The Additional menu provides access to supplementary image processing operations including intensity inversion, edge sharpening, and advanced filters.

Accessing the Tools

  1. Navigate to the Image tab in the ribbon.
  2. Click the Additional dropdown in the Operations section.
  3. Select the desired operation from the menu.

Invert

The Invert operation reverses the intensity values of volume images, creating a negative image where bright becomes dark and dark becomes bright.

How It Works

Intensity values are inverted relative to the data range:

Result(x,y,z)=MaxVolume(x,y,z)+Min\text{Result}(x,y,z) = \text{Max} - \text{Volume}(x,y,z) + \text{Min}

Where Max and Min are the maximum and minimum intensity values in the data type or volume.

Use Cases

  • Visualization: View structures that are better visible with inverted contrast.
  • Compatibility: Convert between imaging conventions (e.g., inverted radiograph display).
  • Processing: Prepare data for algorithms expecting opposite intensity polarity.

Workflow

  1. Select the target volume(s).
  2. Click AdditionalInvert.
  3. Choose target objects (active, selected, or all).
  4. Click Apply to invert the intensities.

Scripting

import ScriptingApi as api

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

volume_operations.invert_intensity(["Volume1", "Volume2"])

Sharpen

The Sharpen operation enhances edges and fine details in volume images by amplifying high-frequency components.

Available Methods

MethodDescription
Laplacian Edge SharpeningUses Laplacian operator to detect and enhance edges
Convolution-Based Edge SharpeningUses convolution kernel for edge enhancement
Butterworth High-Pass FilterFrequency-domain filtering for controlled sharpening

Use Cases

  • Detail enhancement: Make fine structures more visible.
  • Edge detection preparation: Enhance boundaries before segmentation.
  • Visualization improvement: Increase perceived image sharpness.

Workflow

  1. Select the target volume(s).
  2. Click AdditionalSharpen.
  3. Choose the sharpening method.
  4. Adjust parameters if applicable.
  5. Click Apply to sharpen the image.
warning

Over-sharpening can amplify noise and create artifacts. Apply sparingly and review results carefully.

Scripting

import ScriptingApi as api

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

# Laplacian sharpening
volume_ops.laplacian_edge_sharpening(["Volume1"])

# Convolution-based sharpening
volume_ops.convolution_based_edge_sharpening(["Volume1"])

# Butterworth high-pass filter
volume_ops.butterworth_high_pass_filter(["Volume1"], 0.1, 0.1)

Advanced Filters

The Advanced Filters tool provides access to specialized image processing filters for specific analysis needs.

Accessing Advanced Filters

  1. Click AdditionalAdvanced Filters.
  2. Select the filter type from the dropdown.
  3. Configure filter parameters.
  4. Click Apply.

Available Filters

Sigmoid Filter

Applies a sigmoid (S-curve) intensity transformation for contrast adjustment.

ParameterDescription
Output minimumMinimum output intensity
Output maximumMaximum output intensity
AlphaControls the sigmoid offset
BetaControls the sigmoid steepness

Use case: Non-linear contrast enhancement, preparing data for visualization.


Gradient Magnitude

Computes the magnitude of intensity gradients at each voxel.

I=(Ix)2+(Iy)2+(Iz)2|\nabla I| = \sqrt{\left(\frac{\partial I}{\partial x}\right)^2 + \left(\frac{\partial I}{\partial y}\right)^2 + \left(\frac{\partial I}{\partial z}\right)^2}

Use case: Edge detection, feature enhancement.


Gradient Magnitude Recursive Gaussian

Gradient magnitude with Gaussian smoothing for noise reduction.

ParameterDescription
Sigma (mm)Gaussian kernel width

Use case: Robust edge detection in noisy images.


Distance Map Filters

Calculate distance from each voxel to the nearest boundary:

FilterDescription
Danielsson Distance MapUnsigned distance to nearest non-zero voxel
Signed Danielsson Distance MapSigned distance (positive inside, negative outside)
Signed Maurer Distance MapEfficient signed distance calculation

Use case: Shape analysis, level set initialization, morphological gradients.


Regional Extrema Filters

Identify local intensity extrema:

FilterDescription
Regional MinimaIdentify connected regions at local minimum intensity
Regional MaximaIdentify connected regions at local maximum intensity

Use case: Seed point detection, marker-based segmentation.


Grayscale Morphology Filters

Morphological operations on grayscale images:

FilterDescription
Grayscale Fill HoleFill holes in grayscale intensity
Grayscale Grind PeakRemove intensity peaks

Use case: Intensity-based hole filling, peak removal.


Intensity Adjustment

FilterDescription
Rescale IntensityMap intensity to specified range [min, max]
NormalizeZero mean, unit variance normalization

Use case: Standardizing intensity ranges, preparing for multi-dataset analysis.


Scripting

import ScriptingApi as api

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

# Sigmoid filter
volume_operations.sigmoid_filter(["Volume1"], 0, 255, 128, 0.05)

# Gradient magnitude
volume_operations.gradient_magnitude_filter(["Volume1"])

# Gradient magnitude with Gaussian
volume_operations.gradient_magnitude_recursive_gaussian_filter(["Volume1"], 1.0)

# Distance maps
volume_operations.danielsson_distance_map_filter(["Volume1"])
volume_operations.signed_danielsson_distance_map_filter(["Volume1"])
volume_operations.signed_maurer_distance_map_filter(["Volume1"])

# Regional extrema
volume_operations.regional_minima_filter(["Volume1"])
volume_operations.regional_maxima_filter(["Volume1"])

# Grayscale morphology
volume_operations.grayscale_fill_hole_filter(["Volume1"], False)
volume_operations.grayscale_grind_peak_filter(["Volume1"])

# Intensity adjustment
volume_operations.rescale_intensity_filter(["Volume1"], 0, 255)
volume_operations.normalize_filter(["Volume1"])

See the VolumeOperations API Reference for details.