FLSA
Computing a graph induced Fused LASSO Signal Approximator. You can use it to denoise data. The package includes some utility methods to assess the algorithms and apply it to images as well es ion-mobilty spectrometry (IMS) data sets.
Mathematical Formulation
For the one dimensional version of the Johnson's dynamic programming algorithm, have a look into Lasso.jl
Denoising
The fused LASSO signal approximator can be used to denoise e.g. images:
Noisy Input
Cleaned by FLSA
Algorithms
Fast Gradient Projection (FGP)
Also known as Fast Iterative Shrinkage Algorithm (FISTA).
Alternating Direction Method of Multipliers (ADMM)
Maximum Gap Tree (MGT)
Own algorithm based on a iterative approximation by dynamic programming algorithm minimizing a sub-tree-graph.
Example
Image Graph
using FLSA
graph = FLSA.img_graph(size(B)..., dn=2, lam=0.1) # (1)
F = FLSA.fista(B, graph, verbose=true; max_iter=10) # (2)
First you have to define graph (line (1)
).
Then one of the algorithms above are called (see (2)
).
HDF5 Input
In order to be easily called from other languages a HDF5 intermediate data structure is supported that looks as follows (see generate_hdf5.py for a working python example):
1 2 3 ... n
nodes/input
/weight
1 2 3 ... m
edges/head
/tail
/weight
algorithm/@name
/@param1
/@param2
Copyright
Elias Kuthe 2015, 2016, 2017, 2018. This work is provided under the simplified BSD license (see LICENSE.md).