Helper function

A helper function is provided for the fast approximation of the mean voxel reuse:

ImageQuilting.voxelreuseFunction
voxelreuse(trainimg::AbstractArray{T,N}, tilesize::Dims{N};
           overlap::NTuple{N,Float64}=ntuple(i->1/6,N),
           nreal::Integer=10, kwargs...)

Returns the mean voxel reuse in [0,1] and its standard deviation.

Notes

The approximation gets better as nreal is made larger.

Keyword arguments kwargs are passed to iqsim directly.

source

Plot recipe

A plot recipe is provided for tile design in image quilting:

ImageQuilting.voxelreuseplotFunction
voxelreuseplot(trainimg; [options])

Mean voxel reuse plot of trainimg.

Available options:

  • tmin - minimum tile size (default to 7)
  • tmax - maximum tile size (default to minimum(size(trainimg)))
  • overlap - the percentage of overlap (default to 1/6 of tile size)
  • nreal - number of realizations (default to 10)
  • rng - random number generator (default to Random.default_rng())
source

In order to plot the voxel reuse of a training image, install any of the Makie.jl backends.

] add CairoMakie

The example below uses training images from the GeoStatsImages.jl package:

using ImageQuilting
using GeoStatsImages
using CairoMakie

TI₁ = geostatsimage("Strebelle")
TI₂ = geostatsimage("StoneWall")

timg₁ = asarray(TI₁, :facies)
timg₂ = asarray(TI₂, :Z)

voxelreuseplot(timg₁)
voxelreuseplot!(timg₂)

Voxel reuse plot