Can you help me find a Fourier transform-able approximation function basis for compression?

38 Views Asked by At

I have four-dimensional, piece-wise smooth, discrete (4D voxel) data that I want to approximate/ compress using as few basis functions as possible.

The data are discontinuous in three dimensions, where they are confined within a 3D polyhedron (of infinite/irrelevant extent in the 4th dimension). Within the polyhedron they are smooth, and outside they are $0$.

I want to use a minimal set of basis functions to approximate the data. There are therefore two conflicting demands on the functions - the need to be able to accurately fit the discrete step, and also the need to represent the smoothness well.

Functions that are good at modelling the discontinuity (like a step function) are typically not good for the smooth area. Likewise, a smooth function (like a Gaussian) is going to struggle to fit the discontinuous step, without using an undesirable number of terms.

And there is a further requirement: It is essential that I can find a solution for the Fourier transform of each basis function (or combination) over the first three (confined) dimensions, which can be calculated rapidly with high accuracy (an analytic solution would be a big bonus).

Using two kinds of functions is an option I have been considering:

i.e. splitting the data $D(a,b,c,d)$ into $D_{\text{smooth}}(a,b,c,d)D_{\text{step}}(a,b,c,d)$, where $D_{\text{step}}(a,b,c,d)$ is defined to be equal (or approximately equal) to zero outside the polyhedron, i.e.:$$D_{\text{step}}(a,b,c,d)\approx\begin{cases} 0, & \text{outside}\\ 1, & \text{inside}\end{cases}$$

The Fourier Transform requirement is then that I need a rapidly calculable solution to $$\mathcal{F}\left[D_{\text{step}}(a,b,c,d)D_{\text{smooth}}(a,b,c,d)\right] $$ or by the convolution theorem $$\mathcal{F}\left[D_{\text{step}}(a,b,c,d)\right]*\mathcal{F}\left[D_{\text{smooth}}(a,b,c,d)\right] $$

$D_{\text{step}}$ does not have to be a sharp step - it could be any kind of sufficiently narrow step function with a $tanh$ - like profile, for example, and for $D_{smooth}$, something like a Gaussian function or some kind of wavelet might work well (the data is not strongly periodic).

For the case of a hard $(0\to 1)$ step at the boundary, the Fourier transform over three dimensions of $D_{\text{step}}$ AKA the form factor of the polyhedron is solved here: https://arxiv.org/abs/1703.00255 (thanks to user achille hui for this).

So one way to approach this is to look for a smooth basis that can be convolved with the solution for the form factor of the shape, as presented in the paper.

Alternatively, I have tried to look for a suitable function that I can incorporate into the derivation on equation 19 (page 5) in the linked paper to calculate a form factor that accounts for the smooth variation as well as the hard edge. So far however I have no been successful.

Any thoughts/comments or suggestions that could point me towards a solution are greatly appreciated.