Package jhd.FloodFill

Contains methods for computing distance transforms in 2D and 3D images. Anisotropic image pixel/voxel dimensions are supported.

  1. Gray scale flooding.
  2. Computing the exact 2D and 3D Euclidean distance map (EDM) using Danielsson's algorithm.
         Danielsson P.E. Euclidean distance mapping. Computer Graphics Image Processing, 14, 1980, pp. 227-248.
  3. Drawing Euclidean spheres.
  4. Computing the 2D and 3D geodesic distance transform (GDT) by serial propagation.
  5. Finding the shortest path to a source point in a GDT mapped image
  6. Simulation of non-wetting invasion of random porous media using EDM and sphere drawing for resolved porosity, gray level flood for unresolved porosity and GDT for tortuosity of flooded path.

All calculations are done in-place, on the supplied image data.

  • Class Summary
    Class Description
    EuclideanSpheres
    Class for drawing Euclidean spheres scaled in image units
    EuclideanSpheres.RandomSphereParams
    Nested class to simplify random sphere draw arguments list
    EuclideanSpheres.SphereParams
    Nested class to simplify sphere draw arguments list
    ExactEuclideanMap
    Functions for computing the exact 2D and 3D Euclidean distance using Danielsson's algorithm.
    FloodFill
    Class for simulation of non-wetting imbibition into random porous media with both resolved and unresolved porosity
    FloodFill.FloodParams
    Experimental data structure passed to Flood_Fill
    FloodFill.FloodReport
    Data structure returned by hybridFloodFill
    FloodFill.FloodStats
    A data structure returned by hybridFloodFill
    FloodFill.PorosityReport
    A data structure returned by characterize and hybridFloodFill
    GDT3D
    Methods for 2D and 3D Geodesic transform and tortousity
    HybridFloodFill
    Class for simulation of non-wetting imbibition into random porous media with both resolved and unresolved porosity
    HybridFloodFill.FloodParams
    Experimental data structure passed to Flood_Fill
    HybridFloodFill.FloodReport
    Data structure returned by hybridFloodFill
    HybridFloodFill.FloodStats
    A data structure returned by hybridFloodFill
    HybridFloodFill.PorosityReport
    A data structure returned by characterize and hybridFloodFill
    Offsets
    A class with static methods for working with voxel offsets Offsets are used to quickly access the indices of voxels touching a central voxel by simply adding the offset to the voxel's 1D, 2D or 3D index. Offsets arrays are in decreasing order of connectivity, in 3D Face touching(0-5), Edge touching (6-17)and finally Corner touching(17-25). The connectivity of a flood is determined by how far down the list one goes.
    Offsets.PointDesc
    Class for 2D and 3D pixel offset and value information