Class DefaultTubeness<T extends RealType<T>>

  • Type Parameters:
    T - the type of the source pixels. Must extends RealType.
    All Implemented Interfaces:
    Computers.Arity3<RandomAccessibleInterval<T>,​Double,​double[],​IterableInterval<DoubleType>>, Consumers.Arity4<RandomAccessibleInterval<T>,​Double,​double[],​IterableInterval<DoubleType>>

    public class DefaultTubeness<T extends RealType<T>>
    extends Object
    implements Computers.Arity3<RandomAccessibleInterval<T>,​Double,​double[],​IterableInterval<DoubleType>>
    The Tubeness filter: enhance filamentous structures of a specified thickness.

    This filter works on 2D and 3D image exclusively and produces a score for how "tube-like" each point in the image is. This is useful as a preprocessing step for tracing neurons or blood vessels, for example. For 3D image stacks, the filter uses the eigenvalues of the Hessian matrix to calculate this measure of "tubeness", using one of the simpler metrics me mentioned in Sato et al 1997: if the larger two eigenvalues (λ₂ and λ₃) are both negative then value is √(λ₂λ₃), otherwise the value is 0. For 2D images, if the large eigenvalue is negative, we return its absolute value and otherwise return 0.

    • Source image is filtered first by a gaussian with 𝜎 that sets its scale.
    • The the Hessian matrix is calculated for each pixel.
    • We yield the eigenvalues of the Hessian matrix. The output of the tubeness filter is a combination of these eigenvalues:
      • in 2D where λ₂ is the largest eigenvalue: out = 𝜎 × 𝜎 × |λ₂| if λ₂ is negative, 0 otherwise.
      • in 3D where λ₂ and λ₃ are the largest eigenvalues:, out = 𝜎 × 𝜎 × sqrt( λ₂ * λ₃ ) if λ₂ and λ₃ are negative, 0 otherwise.
    This results in enhancing filaments of roughly 𝜎 / sqrt(d) thickness.

    Port of the tubeness filter of the VIB package, with original authors Mark Longair and Stephan Preibisch, to ImageJ-ops.

    Author:
    Jean-Yves Tinevez
    See Also:
    Tubeness VIB plugin code
    Implementation Note:
    op names='filter.tubeness'