Package jhd.FloodFill
Class FloodFill
java.lang.Object
jhd.FloodFill.Offsets
jhd.FloodFill.FloodFill
public class FloodFill extends Offsets
Class for simulation of non-wetting imbibition into random porous media with both resolved and unresolved porosity
- Author:
- John H Dunsmuir
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FloodFill.FloodParams
Experimental data structure passed to Flood_Fillstatic class
FloodFill.FloodReport
Data structure returned by hybridFloodFillstatic class
FloodFill.FloodStats
A data structure returned by hybridFloodFillstatic class
FloodFill.PorosityReport
A data structure returned by characterize and hybridFloodFillNested classes/interfaces inherited from class jhd.FloodFill.Offsets
Offsets.PointDesc
-
Constructor Summary
Constructors Constructor Description FloodFill()
Constructor for FloodFill -
Method Summary
Modifier and Type Method Description FloodFill.PorosityReport
characterize(java.lang.Object[] oImageArr, int width, int height, int depth, double pixWidth, double pixHeight, double pixDepth)
int
grayFloodFill3D(java.lang.Object[] oImageArr, int imgWidth, int imgHeight, int imgDepth, int neighbors, double floodMin, double floodMax, double fillVal, java.util.List<Offsets.PointDesc> seeds)
Flood fill 3D image voxel values between floodMin and floodMax with a fillValdouble
phiMapToHybridMap(java.lang.Object[] oImageArr, int width, int height, int depth, double pixWidth, double pixHeight, double pixDepth)
Converts a porosity image 0<phi<1 to a hybrid porosity image with unresolved porosity 0<phi<1 and resolved porosity 1<phi<floodMaxMethods inherited from class jhd.FloodFill.Offsets
get1dOffsets2D, get1dOffsets2D, get1dOffsets3D, get1dOffsets3D, GetConnectivityChoices, GetConnectivityValue, getIndexOffsets2D, getIndexOffsets2D, getIndexOffsets3D, getIndexOffsets3D
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
FloodFill
public FloodFill()Constructor for FloodFill
-
-
Method Details
-
grayFloodFill3D
public int grayFloodFill3D(java.lang.Object[] oImageArr, int imgWidth, int imgHeight, int imgDepth, int neighbors, double floodMin, double floodMax, double fillVal, java.util.List<Offsets.PointDesc> seeds)Flood fill 3D image voxel values between floodMin and floodMax with a fillVal- Parameters:
oImageArr
- An Object[] as returned by ImageJ ImagePlus imp.getStack().getImageArray(); double, float, long, int, short, and byte image data types are supportedimgWidth
- The image width in pixelsimgHeight
- The image height in pixelsimgDepth
- The image depth (slices) in pixelsneighbors
- The connectedness face(6), face and edge(18), face, edge and corners(26)floodMin
- Flood connected voxels values>floodMinfloodMax
- Flood connected voxels values<floodMaxfillVal
- Set flooded voxels to this valueseeds
- An array of one or more seed points to begin the flood use jhd.DistanceMaps.libJ8.Offsets.PointDesc;- Returns:
- The number of voxels flooded.
-
characterize
public FloodFill.PorosityReport characterize(java.lang.Object[] oImageArr, int width, int height, int depth, double pixWidth, double pixHeight, double pixDepth)- Parameters:
oImageArr
- An Object[] as returned by ImageJ ImagePlus imp.getStack().getImageArray(); (must be float data where unresolved porosity 0<phi<1 and resolved porosity phi=1)width
- int The image width in pixelsheight
- int The image height in pixelsdepth
- int The image depth in pixelspixWidth
- float The width of the pixel in user units;pixHeight
- float The height of the pixel in user units;pixDepth
- float The depth of the pixel in user units;- Returns:
- A PorosityReport data structure.
-
phiMapToHybridMap
public double phiMapToHybridMap(java.lang.Object[] oImageArr, int width, int height, int depth, double pixWidth, double pixHeight, double pixDepth)Converts a porosity image 0<phi<1 to a hybrid porosity image with unresolved porosity 0<phi<1 and resolved porosity 1<phi<floodMax- Parameters:
oImageArr
- An Object[] as returned by ImageJ ImagePlus imp.getStack().getImageArray(); (must be float data where unresolved porosity 0<phi<1 and resolved porosity phi=1)width
- int The image width in pixelsheight
- int The image height in pixelsdepth
- int The image depth in pixelspixWidth
- float The width of the pixel in user units;pixHeight
- float The height of the pixel in user units;pixDepth
- float The depth of the pixel in user units;- Returns:
- The longest floodable pore radius, -1 if error occurs.
-