Class ExtrudedStrel

java.lang.Object
All Implemented Interfaces:
Algo, Strel3D

public class ExtrudedStrel
extends AbstractStrel3D
Creates a 3D strel by replicating a 2D strel on a given number of slices.
Author:
dlegland
  • Nested Class Summary

    Nested classes/interfaces inherited from interface inra.ijpb.morphology.Strel3D

    Strel3D.Shape
  • Field Summary

    Fields inherited from interface inra.ijpb.morphology.Strel3D

    BACKGROUND, FOREGROUND
  • Constructor Summary

    Constructors
    Constructor Description
    ExtrudedStrel​(Strel strel2d, int nSlices)
    Creates a 3D structuring element by extruding ("repeating") a 2D structuring element along the given number of slices.
    ExtrudedStrel​(Strel strel2d, int nSlices, int offset)
    Creates a 3D structuring element by extruding ("repeating") a 2D structuring element along the given number of slices.
  • Method Summary

    Modifier and Type Method Description
    ij.ImageStack dilation​(ij.ImageStack image)
    Implements a default algorithm for dilation, that consists in iterating over the neighbors of each pixel to compute the maximum value.
    ij.ImageStack erosion​(ij.ImageStack image)
    Implements a default algorithm for erosion, that consists in iterating over the neighbors of each pixel to compute the minimum value.
    int[][][] getMask3D()
    Returns the structuring element as a mask.
    int[] getOffset()
    Returns the offset in the mask for each direction.
    int[][] getShifts3D()
    Returns the structuring element as a set of shifts.
    int[] getSize()
    Returns the size of the structuring element, as an array of size in each direction.
    Strel3D reverse()
    Returns a reversed (i.e. symmetric wrt the origin) version of this structuring element.

    Methods inherited from class inra.ijpb.morphology.strel.AbstractStrel3D

    addBorder, closing, cropBorder, opening, showProgress, showProgress

    Methods inherited from class inra.ijpb.algo.AlgoStub

    addAlgoListener, removeAlgoListener

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface inra.ijpb.algo.Algo

    addAlgoListener, removeAlgoListener
  • Constructor Details

    • ExtrudedStrel

      public ExtrudedStrel​(Strel strel2d, int nSlices)
      Creates a 3D structuring element by extruding ("repeating") a 2D structuring element along the given number of slices.
      Parameters:
      strel2d - the 2D structuring to repeat
      nSlices - the number of slices for replication
    • ExtrudedStrel

      public ExtrudedStrel​(Strel strel2d, int nSlices, int offset)
      Creates a 3D structuring element by extruding ("repeating") a 2D structuring element along the given number of slices.
      Parameters:
      strel2d - the 2D structuring to repeat
      nSlices - the number of slices for replication
      offset - the offset along the Z-axis for the new strel
  • Method Details

    • getSize

      public int[] getSize()
      Description copied from interface: Strel3D
      Returns the size of the structuring element, as an array of size in each direction. The first index corresponds to the number of pixels in the x direction.
      Returns:
      the size of the structuring element
    • getMask3D

      public int[][][] getMask3D()
      Description copied from interface: Strel3D
      Returns the structuring element as a mask. Each value is either 0 or 255. The first index corresponds to the z position, the second index to the y direction, and the third one to the x position.
      Returns:
      the mask of the structuring element
    • getOffset

      public int[] getOffset()
      Description copied from interface: Strel3D
      Returns the offset in the mask for each direction. The first value corresponds to the shift in the x direction.
      Returns:
      the offset in the mask
    • getShifts3D

      public int[][] getShifts3D()
      Description copied from interface: Strel3D
      Returns the structuring element as a set of shifts. The size of the result is N-by-3, where N is the number of elements of the structuring element. The first value corresponds to the shift in the x direction.
      Returns:
      a set of shifts
    • dilation

      public ij.ImageStack dilation​(ij.ImageStack image)
      Description copied from class: AbstractStrel3D
      Implements a default algorithm for dilation, that consists in iterating over the neighbors of each pixel to compute the maximum value. The neighbors are obtained via the getShifts() method.
      Specified by:
      dilation in interface Strel3D
      Overrides:
      dilation in class AbstractStrel3D
      Parameters:
      image - the input image
      Returns:
      the result of dilation with this structuring element
      See Also:
      Strel3D.getShifts3D(), AbstractStrel3D.erosion(ImageStack)
    • erosion

      public ij.ImageStack erosion​(ij.ImageStack image)
      Description copied from class: AbstractStrel3D
      Implements a default algorithm for erosion, that consists in iterating over the neighbors of each pixel to compute the minimum value. The neighbors are obtained via the getShifts() method.
      Specified by:
      erosion in interface Strel3D
      Overrides:
      erosion in class AbstractStrel3D
      Parameters:
      image - the input image
      Returns:
      the result of erosion with this structuring element
      See Also:
      Strel3D.getShifts3D(), AbstractStrel3D.dilation(ImageStack)
    • reverse

      public Strel3D reverse()
      Description copied from interface: Strel3D
      Returns a reversed (i.e. symmetric wrt the origin) version of this structuring element. Implementations can return more specialized type depending on the implemented interfaces.
      Returns:
      the reversed structuring element