## AutoCorrelationResampling.jl

Resampling of autocorrelation functions
Author fatimp
Popularity
0 Stars
Updated Last
1 Year Ago
Started In
December 2021

# AutoCorrelationResampling

This package provides means to resample autocorrelation functions.

Autocorrelation function of one variable is a Laurent polynomial on ℝ in the form \$s(x) = f(x)f(x^{-1})\$ where \$f(x)\$ is a usual polynomial on ℝ.

This package provides resampling of autocorrelation function in the sense that it changes the degree of \$s(x)\$ while maintaining the form \$f(x)f(x^{-1})\$.

Technically, this package works with autocorrelation function of three variables \$s(x,y,z)\$ in the form of three-dimensional arrays and rescales them along the third variable (or axis), i.e. an array of shape `(x, y, z)` becomes an array of shape `(x, y, nz)` where `n` is a resampling factor.

## Why is it needed?

This package is an attempt to solve the problem of reconstruction of a porous media when only a fraction of information about original media is available (e.g. you have to reconstruct 3D cube from a stack of 2D slices taken along `z` axis). If those slices are evenly sampled (i.e. you have each `n`-th slice), you can do the following:

1. Stack the slices in 3D array. This array will have a length along `z` axis reduced by `n` times.
2. Calculate autocorrelation function (also known as two-point function) for the reduced array.
3. Upsample it by `n` times using this package
4. Reconstruct original 3D image (you can use `PhaseRec.jl` package for it).

## How to use?

Resampling is done by `ac_resample` function which takes an autocorrelation array and a resample ratio. An optional low-pass filter can be passed to `ac_resample` and by default is obtained with `filter_coeffs` function. These filters are not unique, you can play with them supplying different argument `initial` to `filter_coeffs`.

### Used By Packages

No packages found.