FineShift Package

May 12, 2022 ยท View on GitHub

LicenseBuild StatusCode Coverage
LicenseBuild Status Build StatusCode Coverage Code Coverage

FineShift is a Julia package for fast sub-sample shifting of multi-dimensional arrays. It can also be used to apply separable stationary linear filters of small sizes (a.k.a. discrete correlations or discrete convolutions).

FineShift implements fine-shifting of Julia arrays by means of separable interpolation. After installation (see below), calling using FineShift provides the following methods:

  • fineshift for fine-shifting along a dimension;
  • fineshift! is an in-place version of for fineshift;
  • convolve for separable convolution by a small sampled kernel;
  • convolve! is an in-place version of for convolve;
  • correlate for separable correlation by a small sampled kernel;
  • correlate! is an in-place version of for correlate;

Installation

The easiest way to install FineShift is via Julia registry EmmtRegistry:

using Pkg
pkg"registry add General" # if you have not yet any registries
pkg"registry add https://github.com/emmt/EmmtRegistry"
pkg"add FineShift"