DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Namespaces | Enumerations | Functions
decomp.h File Reference
#include <utils.h>
#include <linalg.h>
+ Include dependency graph for decomp.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 spams
 

Enumerations

enum  spams::constraint_type {
  spams::L1COEFFS,
  spams::L2ERROR,
  spams::PENALTY,
  spams::SPARSITY,
  spams::L2ERROR2,
  spams::PENALTY2
}
 

Functions

template<typename T >
spams::computeError (const T normX2, const Vector< T > &norms, const Matrix< T > &G, const Matrix< T > &RtD, const Matrix< T > &alphat)
 
template<typename T >
spams::computeError (const T normX2, const Matrix< T > &G, const Vector< T > &DtR, const Vector< T > &coeffs, SpVector< T > &coeffs_tmp)
 
template<typename T >
void spams::coreGroupIST (const Matrix< T > &G, Matrix< T > &RtD, Matrix< T > &alphat, const T thrs, const int itermax=500, const T tol=0.5)
 
template<typename T >
void spams::coreGroupISTConstrained (const Matrix< T > &G, Matrix< T > &RtD, Matrix< T > &alphat, const T normR, const T eps, const int itermax=500, const T tol=0.5)
 
template<typename T >
void spams::coreIST (const AbstractMatrix< T > &G, Vector< T > &DtR, Vector< T > &coeffs, const T thrs, const int itermax=500, const T tol=0.5)
 
template<typename T >
void spams::coreISTconstrained (const AbstractMatrix< T > &G, Vector< T > &DtR, Vector< T > &coeffs, const T normX2, const T thrs, const int itermax=500, const T tol=0.5)
 
template<typename T >
void spams::coreLARS (Vector< T > &Rdn, Vector< T > &Xdn, Vector< T > &A, Vector< T > &u, Vector< T > &sig, Vector< T > &av, Vector< T > &RUn, Matrix< T > &Un, Matrix< T > &Unds, Matrix< T > &Gs, Matrix< T > &Gsa, Matrix< T > &workT, Matrix< T > &R, const AbstractMatrix< T > &G, T &normX, Vector< int > &ind, Vector< T > &coeffs, const T constraint, const bool ols=false, const bool pos=false, constraint_type mode=L1COEFFS, T *path=NULL, int length_path=-1)
 
template<typename T >
void spams::coreLARS2 (Vector< T > &DtR, const AbstractMatrix< T > &G, Matrix< T > &Gs, Matrix< T > &Ga, Matrix< T > &invGs, Vector< T > &u, Vector< T > &coeffs, Vector< int > &ind, Matrix< T > &work, T &normX, const constraint_type mode, const T constraint, const bool pos, T *path, int length_path)
 
template<typename T >
void spams::coreLARS2W (Vector< T > &DtR, AbstractMatrix< T > &G, Matrix< T > &Gs, Matrix< T > &Ga, Matrix< T > &invGs, Vector< T > &u, Vector< T > &coeffs, const Vector< T > &weights, Vector< int > &ind, Matrix< T > &work, T &normX, const constraint_type mode, const T constraint, const bool pos)
 
template<typename T >
void spams::coreORMP (Vector< T > &scores, Vector< T > &norm, Vector< T > &tmp, Matrix< T > &Un, Matrix< T > &Undn, Matrix< T > &Unds, Matrix< T > &Gs, Vector< T > &Rdn, const AbstractMatrix< T > &G, Vector< int > &ind, Vector< T > &RUn, T &normX, const T *eps, const int *L, const T *lambda, T *path=NULL)
 
template<typename T >
void spams::coreORMPB (Vector< T > &RtD, const AbstractMatrix< T > &G, Vector< int > &ind, Vector< T > &coeffs, T &normX, const int L, const T eps, const T lambda=0)
 
template<typename T >
void spams::coreSOMP (const Matrix< T > &X, const Matrix< T > &D, const Matrix< T > &G, Matrix< T > &vM, Vector< int > &rv, const int L, const T eps)
 
template<typename T >
void spams::downDateLasso (int &j, int &minBasis, T &normX, const bool ols, const bool pos, Vector< T > &Rdn, int *ind, T *coeffs, Vector< T > &sig, Vector< T > &av, Vector< T > &Xdn, Vector< T > &RUn, Matrix< T > &Unm, Matrix< T > &Gsm, Matrix< T > &Gsam, Matrix< T > &Undsm, Matrix< T > &Rm)
 
template<typename T >
void spams::ist (const Matrix< T > &X, const Matrix< T > &D, SpMatrix< T > &spalpha, T lambda, constraint_type mode, const int itermax=500, const T tol=0.5, const int numThreads=-1)
 
template<typename T >
void spams::ist (const Matrix< T > &X, const Matrix< T > &D, Matrix< T > &spalpha, T lambda, constraint_type mode, const int itermax=500, const T tol=0.5, const int numThreads=-1)
 
template<typename T >
void spams::ist_groupLasso (const Matrix< T > *XT, const Matrix< T > &D, Matrix< T > *alphaT, const int Ngroups, const T lambda, const constraint_type mode, const int itermax=500, const T tol=0.5, const int numThreads=-1)
 
template<typename T >
void spams::lasso (const Matrix< T > &X, const Matrix< T > &D, SpMatrix< T > &spalpha, int L, const T constraint, const T lambda2=0, constraint_type mode=PENALTY, const bool pos=false, const bool ols=false, const int numThreads=-1, Matrix< T > *path=NULL, const int length_path=-1)
 
template<typename T >
void spams::lasso (const Data< T > &X, const AbstractMatrix< T > &G, const AbstractMatrix< T > &DtX, SpMatrix< T > &spalpha, int L, const T constraint, constraint_type mode=PENALTY, const bool pos=false, const bool ols=false, const int numThreads=-1, Matrix< T > *path=NULL, const int length_path=-1)
 
template<typename T >
void spams::lasso2 (const Matrix< T > &X, const Matrix< T > &D, SpMatrix< T > &spalpha, int L, const T constraint, const T lambda2=0, constraint_type mode=PENALTY, const bool pos=false, const int numThreads=-1, Matrix< T > *path=NULL, const int length_path=-1)
 
template<typename T >
void spams::lasso2 (const Data< T > &X, const AbstractMatrix< T > &G, const AbstractMatrix< T > &DtX, SpMatrix< T > &spalpha, int L, const T constraint, constraint_type mode=PENALTY, const bool pos=false, const int numThreads=-1, Matrix< T > *path=NULL, const int length_path=-1)
 
template<typename T >
void spams::lasso_mask (const Matrix< T > &X, const Matrix< T > &D, SpMatrix< T > &spalpha, const Matrix< bool > &mask, int L, const T constraint, const T lambda2=0, constraint_type mode=PENALTY, const bool pos=false, const int numThreads=-1)
 
template<typename T >
void spams::lassoReweighted (const Matrix< T > &X, const Matrix< T > &D, SpMatrix< T > &spalpha, int L, const T constraint, constraint_type mode, const bool pos, const T sigma, const int numThreads=-1)
 
template<typename T >
void spams::lassoWeight (const Matrix< T > &X, const Matrix< T > &D, const Matrix< T > &weights, SpMatrix< T > &spalpha, int L, const T constraint, constraint_type mode, const bool pos, const int numThreads)
 
template<typename T >
void spams::lassoWeightPreComputed (const Matrix< T > &X, const Matrix< T > &G, const Matrix< T > &DtR, const Matrix< T > &weights, SpMatrix< T > &spalpha, int L, const T constraint, constraint_type mode, const bool pos, const int numThreads)
 
template<typename T >
void spams::omp (const Matrix< T > &X, const Matrix< T > &D, SpMatrix< T > &spalpha, const int *L, const T *eps, const T *lambda, const bool vecL=false, const bool vecEps=false, const bool Lambda=false, const int numThreads=-1, Matrix< T > *path=NULL)
 
template<typename T >
void spams::omp_mask (const Matrix< T > &X, const Matrix< T > &D, SpMatrix< T > &spalpha, const Matrix< bool > &mask, const int *L, const T *eps, const T *lambda, const bool vecL=false, const bool vecEps=false, const bool Lambda=false, const int numThreads=-1, Matrix< T > *path=NULL)
 
template<typename T >
void spams::somp (const Matrix< T > *X, const Matrix< T > &D, SpMatrix< T > *spalpha, const int Ngroups, const int L, const T *pr_eps, const bool adapt=false, const int numThreads=-1)
 
template<typename T >
void spams::somp (const Matrix< T > *X, const Matrix< T > &D, SpMatrix< T > *spalpha, const int Ngroups, const int L, const T eps, const int numThreads=-1)
 

Detailed Description

Contains sparse decomposition algorithms It requires the toolbox linalg.

Software SPAMS v2.2 - Copyright 2009-2011 Julien Mairal

This file is part of SPAMS.

SPAMS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SPAMS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SPAMS. If not, see http://www.gnu.org/licenses/.

           toolbox decomp

           by Julien Mairal
           julien.mairal@inria.fr

           File decomp.h

Definition in file decomp.h.