uzunb / Non-Subsampled_Shearlet_Transform

NSST is a discrete form of Shearlet transform, and it differs from other multi-scale transformations by avoiding up-down samplers. NSST consists of two main stages, multi-scale and multi-directional separations.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Non-Subsampled_Shearlet_Transform

What is NSST ?

NSST is a discrete form of Shearlet transform, and it differs from other multi-scale transformations by avoiding up-down samplers. NSST consists of two main stages, multi-scale and multi-directional separations.

Multi-scale

  • The Laplacian Pyramid (NSLP) without subsampling produces low and high frequency images whose size is the same as the size of the source image.

Multi-directional

  • Versatility is achieved by using different "combinations of Shear Filters" in the so-called polar (pseude-polar) coordinate

NSST Steps

The process steps performed to obtain the NSST coefficients of an image of NxN size at a fixed resolution scale are as follows:

  1. Laplacian pyramid is applied to the image. Low and High pass sub-images are obtained.
  2. The fourier transformations of the high pass sub-images are calculated and transformed into the Polar coordinate system.
  3. Bandpass filter is applied to Polar coordinate system transformations and Fourier transforms (FFT) of Shearlet coefficients are obtained.
  4. The Inverse Fourier Transform (IFT) is applied to obtain the Shearlet coefficients and the transformation is performed to the Cartesian coordinate system.

Generally Design

image 1

  1. Firstly, the input image must be converted to the Intensity channel. At this stage, only Y channel will be used for NSST. You can use ConvertBMPToIntensity() for this process. General formula :

    Y = (0.11 * Red + 0.59 * Green + 0.3 * Blue)

  2. Intensity image given to NSST function. Low (AFK) and High (YFK) Frequency coefficients are obtained at its output. You can use NsstDec1e() for this process.

You can get the input Intensity image using TNSST (Inverse NSST). You can use NsstRec1() for this process.

image 2

Thanks !

About

NSST is a discrete form of Shearlet transform, and it differs from other multi-scale transformations by avoiding up-down samplers. NSST consists of two main stages, multi-scale and multi-directional separations.

License:MIT License


Languages

Language:C++ 91.1%Language:C 8.9%