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())
  • color - color of the plot (default to :slategray3)
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
import GLMakie

img1 = geostatsimage("Strebelle")
img2 = geostatsimage("StoneWall")

rawimg1 = reshape(img1.code, size(img1.geometry))
rawimg2 = reshape(img2.value, size(img2.geometry))

voxelreuseplot(rawimg1)
voxelreuseplot!(rawimg2, color="salmon")

Voxel reuse plot