DMRITool
v0.1.1-139-g860d86b4
Diffusion MRI Tool
|
#include <itkSpamsWeightedLassoSolver.h>
solve weighted LASSO using spams
For all columns b of B, and w of W, it computes one column x of X which is the solution of
0) when mode=0 1) when mode=1 2) when mode=2 (default)
where A is a matrix, w is a vector, b, x are vectors, and lambda is a scalar value.
Definition at line 49 of file itkSpamsWeightedLassoSolver.h.
Public Member Functions | |
void | Clear () ITK_OVERRIDE |
void | ClearA () |
void | ClearB () |
void | ClearW () |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
ValueType | EvaluateCostFunction (const MatrixType &x=MatrixType()) const ITK_OVERRIDE |
ValueType | EvaluateCostFunctionInColumn (const VectorType &x, const int col) const |
virtual MatrixPointer | GetA () |
virtual MatrixPointer | GetB () |
virtual ConstraintType | GetConstraintType () |
virtual double | GetLambda () |
virtual const char * | GetNameOfClass () const |
virtual int | GetNumberOfThreads () |
virtual bool | GetPositive () |
virtual MatrixPointer | GetW () |
virtual MatrixPointer | GetX () |
int | GetXDimension () const ITK_OVERRIDE |
int | GetXNumber () const |
virtual void | PositiveOff () |
virtual void | PositiveOn () |
void | SetA (const MatrixPointer &mat) |
void | SetB (const MatrixPointer &B) |
void | Setb (const VectorPointer &b) |
virtual void | SetConstraintType (ConstraintType _arg) |
virtual void | SetLambda (double _arg) |
virtual void | SetNumberOfThreads (int _arg) |
virtual void | SetPositive (bool _arg) |
void | SetW (const MatrixPointer &W) |
void | Setw (const VectorPointer &w) |
void | Solve (const VectorType &xInitial=VectorType()) ITK_OVERRIDE |
void | VerifyInputs () const ITK_OVERRIDE |
Public Member Functions inherited from itk::SolverBase< TPrecision > | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual void | EndSolve () |
virtual ValueType | EvaluateCostFunction (const VectorType &x=VectorType()) const |
virtual VectorType | EvaluateGradientOfCostFunction (const VectorType &x) const |
virtual const VectorType & | Getx () |
virtual void | Initialize (const VectorType &xInitial=VectorType()) |
virtual void | Solve (const MatrixType &xInitial=MatrixType()) |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::SolverBase< TPrecision > | |
static Pointer | New () |
Protected Member Functions | |
virtual LightObject::Pointer | InternalClone () const ITK_OVERRIDE |
void | PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE |
SpamsWeightedLassoSolver () | |
virtual | ~SpamsWeightedLassoSolver () |
Protected Member Functions inherited from itk::SolverBase< TPrecision > | |
void | PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE |
SolverBase () | |
virtual | ~SolverBase () |
Protected Attributes | |
MatrixPointer | m_A |
SpamsMatrixPointer | m_As |
MatrixPointer | m_B |
SpamsMatrixPointer | m_Bs |
ConstraintType | m_ConstraintType |
double | m_Lambda |
int | m_NumberOfThreads |
bool | m_Positive |
MatrixPointer | m_W |
SpamsMatrixPointer | m_Ws |
MatrixPointer | m_X |
SpamsSpMatrixPointer | m_Xs |
Protected Attributes inherited from itk::SolverBase< TPrecision > | |
VectorType | m_x |
Private Member Functions | |
void | operator= (const Self &) |
SpamsWeightedLassoSolver (const Self &) | |
typedef Superclass::MatrixPointer itk::SpamsWeightedLassoSolver< TPrecision >::MatrixPointer |
Definition at line 68 of file itkSpamsWeightedLassoSolver.h.
typedef Superclass::MatrixType itk::SpamsWeightedLassoSolver< TPrecision >::MatrixType |
Definition at line 66 of file itkSpamsWeightedLassoSolver.h.
typedef SmartPointer<Self> itk::SpamsWeightedLassoSolver< TPrecision >::Pointer |
Definition at line 57 of file itkSpamsWeightedLassoSolver.h.
typedef SpamsWeightedLassoSolver itk::SpamsWeightedLassoSolver< TPrecision >::Self |
Standard class typedefs.
Definition at line 55 of file itkSpamsWeightedLassoSolver.h.
typedef utl_shared_ptr<spams::Matrix<double> > itk::SpamsWeightedLassoSolver< TPrecision >::SpamsMatrixPointer |
Definition at line 74 of file itkSpamsWeightedLassoSolver.h.
typedef spams::Matrix<double> itk::SpamsWeightedLassoSolver< TPrecision >::SpamsMatrixType |
Definition at line 71 of file itkSpamsWeightedLassoSolver.h.
typedef utl_shared_ptr<spams::SpMatrix<double> > itk::SpamsWeightedLassoSolver< TPrecision >::SpamsSpMatrixPointer |
Definition at line 75 of file itkSpamsWeightedLassoSolver.h.
typedef spams::SpMatrix<double> itk::SpamsWeightedLassoSolver< TPrecision >::SpamsSpMatrixType |
Definition at line 72 of file itkSpamsWeightedLassoSolver.h.
typedef utl_shared_ptr<spams::Vector<double> > itk::SpamsWeightedLassoSolver< TPrecision >::SpamsVectorPointer |
Definition at line 76 of file itkSpamsWeightedLassoSolver.h.
typedef spams::Vector<double> itk::SpamsWeightedLassoSolver< TPrecision >::SpamsVectorType |
Definition at line 73 of file itkSpamsWeightedLassoSolver.h.
typedef SolverBase<TPrecision> itk::SpamsWeightedLassoSolver< TPrecision >::Superclass |
Definition at line 56 of file itkSpamsWeightedLassoSolver.h.
typedef Superclass::ValueType itk::SpamsWeightedLassoSolver< TPrecision >::ValueType |
Definition at line 63 of file itkSpamsWeightedLassoSolver.h.
typedef Superclass::VectorPointer itk::SpamsWeightedLassoSolver< TPrecision >::VectorPointer |
Definition at line 69 of file itkSpamsWeightedLassoSolver.h.
typedef Superclass::VectorType itk::SpamsWeightedLassoSolver< TPrecision >::VectorType |
Definition at line 67 of file itkSpamsWeightedLassoSolver.h.
enum itk::SpamsWeightedLassoSolver::ConstraintType |
Enumerator | |
---|---|
L1CONS | |
L2CONS | |
PENALTY |
Definition at line 78 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 32 of file itkSpamsWeightedLassoSolver.hxx.
References spams::PENALTY, and itk::SpamsWeightedLassoSolver< TPrecision >::SetA().
|
inlineprotectedvirtual |
Definition at line 154 of file itkSpamsWeightedLassoSolver.h.
References ITK_OVERRIDE.
|
private |
|
inlinevirtual |
Reimplemented from itk::SolverBase< TPrecision >.
Definition at line 123 of file itkSpamsWeightedLassoSolver.h.
|
inline |
Definition at line 130 of file itkSpamsWeightedLassoSolver.h.
|
inline |
Definition at line 138 of file itkSpamsWeightedLassoSolver.h.
References ITK_OVERRIDE.
|
inline |
Definition at line 134 of file itkSpamsWeightedLassoSolver.h.
virtual::itk::LightObject::Pointer itk::SpamsWeightedLassoSolver< TPrecision >::CreateAnother | ( | void | ) | const |
|
virtual |
Reimplemented from itk::SolverBase< TPrecision >.
Definition at line 235 of file itkSpamsWeightedLassoSolver.hxx.
References itk::SpamsWeightedLassoSolver< TPrecision >::PrintSelf(), and utl::NDArrayBase< T, Dim >::Size().
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::EvaluateCostFunctionInColumn().
SpamsWeightedLassoSolver< TPrecision >::ValueType itk::SpamsWeightedLassoSolver< TPrecision >::EvaluateCostFunctionInColumn | ( | const VectorType & | x, |
const int | col | ||
) | const |
Definition at line 223 of file itkSpamsWeightedLassoSolver.hxx.
References itk::SpamsWeightedLassoSolver< TPrecision >::EvaluateCostFunction(), utl::NDArrayBase< T, Dim >::GetSquaredTwoNorm(), utl::NDArrayBase< T, Dim >::Size(), and utlException.
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::Solve().
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::SolverBase< TPrecision >.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
inlinevirtual |
Reimplemented from itk::SolverBase< TPrecision >.
Definition at line 110 of file itkSpamsWeightedLassoSolver.h.
References utlException.
|
inline |
Definition at line 116 of file itkSpamsWeightedLassoSolver.h.
References utlException.
|
protectedvirtual |
Reimplemented from itk::SolverBase< TPrecision >.
Definition at line 144 of file itkSpamsWeightedLassoSolver.hxx.
References itk::SpamsWeightedLassoSolver< TPrecision >::Solve().
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::VerifyInputs().
|
static |
Method for creation through the object factory.
|
private |
|
virtual |
|
virtual |
|
protected |
Definition at line 252 of file itkSpamsWeightedLassoSolver.hxx.
References utl::PrintUtlMatrix(), and PrintVar3.
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::EvaluateCostFunction().
void itk::SpamsWeightedLassoSolver< TPrecision >::SetA | ( | const MatrixPointer & | mat | ) |
Definition at line 51 of file itkSpamsWeightedLassoSolver.hxx.
References itk::SpamsWeightedLassoSolver< TPrecision >::SetB(), and spams::UtlMatrixToMatrix().
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::SpamsWeightedLassoSolver().
void itk::SpamsWeightedLassoSolver< TPrecision >::SetB | ( | const MatrixPointer & | B | ) |
Definition at line 66 of file itkSpamsWeightedLassoSolver.hxx.
References itk::SpamsWeightedLassoSolver< TPrecision >::Setb(), and spams::UtlMatrixToMatrix().
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::SetA().
void itk::SpamsWeightedLassoSolver< TPrecision >::Setb | ( | const VectorPointer & | b | ) |
Definition at line 81 of file itkSpamsWeightedLassoSolver.hxx.
References itk::SpamsWeightedLassoSolver< TPrecision >::SetW(), and spams::UtlMatrixToMatrix().
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::SetB().
|
virtual |
|
virtual |
|
virtual |
|
virtual |
void itk::SpamsWeightedLassoSolver< TPrecision >::SetW | ( | const MatrixPointer & | W | ) |
Definition at line 98 of file itkSpamsWeightedLassoSolver.hxx.
References itk::SpamsWeightedLassoSolver< TPrecision >::Setw(), and spams::UtlMatrixToMatrix().
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::Setb().
void itk::SpamsWeightedLassoSolver< TPrecision >::Setw | ( | const VectorPointer & | w | ) |
Definition at line 113 of file itkSpamsWeightedLassoSolver.hxx.
References spams::UtlMatrixToMatrix(), and itk::SpamsWeightedLassoSolver< TPrecision >::VerifyInputs().
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::SetW().
|
virtual |
Reimplemented from itk::SolverBase< TPrecision >.
Definition at line 178 of file itkSpamsWeightedLassoSolver.hxx.
References itk::SpamsWeightedLassoSolver< TPrecision >::EvaluateCostFunctionInColumn(), spams::L1COEFFS, spams::L2ERROR, utl::min(), spams::PENALTY, spams::SpMatrixToUtlMatrix(), utlGlobalException, and utlShowPosition.
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::InternalClone().
|
virtual |
Reimplemented from itk::SolverBase< TPrecision >.
Definition at line 131 of file itkSpamsWeightedLassoSolver.hxx.
References itk::SpamsWeightedLassoSolver< TPrecision >::InternalClone(), and utlException.
Referenced by itk::SpamsWeightedLassoSolver< TPrecision >::Setw().
|
protected |
MxN matrix
Definition at line 161 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 166 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 162 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 167 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 172 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 176 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 177 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 174 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 163 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 168 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 164 of file itkSpamsWeightedLassoSolver.h.
|
protected |
Definition at line 170 of file itkSpamsWeightedLassoSolver.h.