Popularity
0 Stars
Updated Last
6 Years Ago
Started In
February 2015

FLSA

Build Status Build status

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

flsa formula

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

demo noise

Cleaned by FLSA

demo 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).