## Installing and using the Matlab interfaces

Makefiles are provided to build the code. The locations of **FLAG**, **S2LET**, **SSHT** and **FFTW** must be specified, i.e. be valid symbols in Bash/Shell. In **FLAGLET** the default Makefile will look at these symbols in Bash/Shell profiles. Alternatively you may declare them explicitely in the first section of the makefile. The compilers and their options may also be changed in the Makefile.

Once you have set the Makefile up for your system,
the C library and the Matlab interfaces for **FLAGLET** may be compiled by running:

>> make lib matlab

To tidy up all temporary files and objects run:

>> make tidy

To remove all compiled files and programs run:

>> make clean

## Source code documentation

**FLAGLET** ships with source documentation that is
generated by doxygen.
The Matlab documentation is available here. Also, the
Matlab routines are self
documenting so that documentation can be accessed through the help command in
Matlab, as discussed below.

## Testing and using the interfaces

Once the Matlab interface is built, you must have
`$FLAGLET/src/main/matlab`

, `$FLAG/src/main/matlab`

, `$S2LET/src/main/matlab`

and `$SSHT/src/matlab`

in your path in order to run the Matlab functions.
A number of Matlab functions and demos illustrating their use are
provided.

#### Functions

A list of the high-level Matlab functions, with brief descriptions, is given here:

flaglet_axisym_analysis Compute exact flaglet transform of a signal sampled on the ball flaglet_axisym_synthesis Exactly reconstuct a signal on the ball from its flaglet contributions flaglet_axisym_tiling Compute the tiling of Fourier-Laguerre harmonic space for the flaglets flaglet_check_axisym_tiling Check exactness (i.e. identity resolution) of the Fourier-Laguerre tiling flaglet_plot_f Plot a 3D signal map (sampled on the Fourier-Laguerre grid)

To access the documentation for each function in Matlab, simply run:

>> help <function>

where `<function>`

is the function name.

#### Demos

A number of demos are provided to illustrate the use of the Matlab interface.

flaglet_fulltest Run and test all functionalties of the flaglet transform, including exactness. flaglet_demo1 Compute and plot slices of flaglets on the ball. flaglet_demo2 Compute and plot radial profile and slices of translated flaglets to illustrate the translation operator. flaglet_demo3 Compute and plot the flaglet transform of a large-scale structure simulation. The data for this example can be found here. flaglet_demo4 Compute and plot the flaglet transform of a geological model. The data for this example is *not* provided. flaglet_denoising_demo Denoising example through flaglet thresholding of a geological model. The data for this example is *not* provided. flaglet_denoising_demo2 Denoising example through flaglet thresholding of a large-scale structure simulation. The data for this example can be found here.

Model details on these examples can be found in the related publications. To access the documentation for each demo in Matlab, simply run:

>> help <demo>

where `<demo>`

is the demo name.