DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Public Member Functions | Private Attributes | List of all members
spams::Graph< T > Class Template Reference

#include <project.h>

Detailed Description

template<typename T>
class spams::Graph< T >

Definition at line 1891 of file project.h.

Public Member Functions

void create_graph (const int Nv, const int Ng, T *weights, mwSize *var_ir, mwSize *var_jc)
 
void create_graph (const int Nv, const int Ng, T *weights, mwSize *gv_ir, mwSize *gv_jc, mwSize *gg_ir, mwSize *gg_jc)
 
dual_norm_inf (const Vector< T > &input, const Vector< T > &weights)
 
 Graph ()
 
void init_split_variables (SpMatrix< T > &splitted_w)
 
norm (const T *variables, T *work, const T *weights, const bool linf=true)
 
void print ()
 
void proximal_operator (const T *variables_in, T *variables_out, const bool clever=false, const T *weights=NULL)
 
void reset_flow ()
 
void restore_capacities ()
 
void restore_flow ()
 
void save_capacities ()
 
void save_flow ()
 
void scale_flow (const T scal)
 
void set_weights (const T lambda)
 
void set_weights (const T *weights, const T lambda)
 
void sub_gradient (const Vector< T > &input, Vector< T > &output, const Vector< T > &weights)
 
 ~Graph ()
 

Private Attributes

MaxFlow< T > * _maxflow
 
int _Ng
 
int _Nv
 
T * _weights
 

Constructor & Destructor Documentation

template<typename T >
spams::Graph< T >::Graph ( )

Definition at line 1932 of file project.h.

template<typename T >
spams::Graph< T >::~Graph ( )

Definition at line 1940 of file project.h.

Member Function Documentation

template<typename T >
void spams::Graph< T >::create_graph ( const int  Nv,
const int  Ng,
T *  weights,
mwSize var_ir,
mwSize var_jc 
)
inline

Definition at line 1946 of file project.h.

References spams::MaxFlow< T >::add_edge(), and INFINITY.

+ Here is the call graph for this function:

template<typename T >
void spams::Graph< T >::create_graph ( const int  Nv,
const int  Ng,
T *  weights,
mwSize gv_ir,
mwSize gv_jc,
mwSize gg_ir,
mwSize gg_jc 
)
inline

Definition at line 1981 of file project.h.

References spams::MaxFlow< T >::add_edge(), and INFINITY.

+ Here is the call graph for this function:

template<typename T >
T spams::Graph< T >::dual_norm_inf ( const Vector< T > &  input,
const Vector< T > &  weights 
)
inline
template<typename T>
void spams::Graph< T >::init_split_variables ( SpMatrix< T > &  splitted_w)
inline

Definition at line 1919 of file project.h.

Referenced by spams::FISTA::GraphLasso< T >::init_split_variables().

+ Here is the caller graph for this function:

template<typename T>
T spams::Graph< T >::norm ( const T *  variables,
T *  work,
const T *  weights,
const bool  linf = true 
)
inline

Definition at line 1914 of file project.h.

References spams::Tree_Seq< T >::dual_norm_inf().

Referenced by spams::FISTA::GraphLasso< T >::eval().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T>
void spams::Graph< T >::print ( )
inline

Definition at line 1913 of file project.h.

template<typename T >
void spams::Graph< T >::proximal_operator ( const T *  variables_in,
T *  variables_out,
const bool  clever = false,
const T *  weights = NULL 
)
inline

At this point, the vector _maxflow->_seen is set to true.

At this point, the vector _maxflow->_seen is set to true for all nodes not in component

Definition at line 2105 of file project.h.

References EPSILON_MAXFLOW, MAX, spams::num_gap_relabels, spams::num_global_relabels, spams::num_relabels, PRINT_I, spams::Timer::printElapsed(), spams::Timer::reset(), spams::List< T >::size(), spams::Timer::start(), and spams::Timer::stop().

+ Here is the call graph for this function:

template<typename T>
void spams::Graph< T >::reset_flow ( )
inline

Definition at line 1906 of file project.h.

Referenced by spams::FISTA::GraphLasso< T >::fenchel().

+ Here is the caller graph for this function:

template<typename T>
void spams::Graph< T >::restore_capacities ( )
inline

Definition at line 1903 of file project.h.

Referenced by spams::FISTA::GraphLasso< T >::eval(), and spams::FISTA::GraphLasso< T >::fenchel().

+ Here is the caller graph for this function:

template<typename T>
void spams::Graph< T >::restore_flow ( )
inline

Definition at line 1905 of file project.h.

Referenced by spams::FISTA::GraphLasso< T >::fenchel().

+ Here is the caller graph for this function:

template<typename T>
void spams::Graph< T >::save_capacities ( )
inline

Definition at line 1902 of file project.h.

template<typename T>
void spams::Graph< T >::save_flow ( )
inline

Definition at line 1904 of file project.h.

Referenced by spams::FISTA::GraphLasso< T >::fenchel().

+ Here is the caller graph for this function:

template<typename T>
void spams::Graph< T >::scale_flow ( const T  scal)
inline

Definition at line 1907 of file project.h.

template<typename T>
void spams::Graph< T >::set_weights ( const T  lambda)
inline

Definition at line 1908 of file project.h.

template<typename T>
void spams::Graph< T >::set_weights ( const T *  weights,
const T  lambda 
)
inline

Definition at line 1910 of file project.h.

template<typename T>
void spams::Graph< T >::sub_gradient ( const Vector< T > &  input,
Vector< T > &  output,
const Vector< T > &  weights 
)
inline

Definition at line 1916 of file project.h.

Member Data Documentation

template<typename T>
MaxFlow<T>* spams::Graph< T >::_maxflow
private

Definition at line 1928 of file project.h.

template<typename T>
int spams::Graph< T >::_Ng
private

Definition at line 1926 of file project.h.

template<typename T>
int spams::Graph< T >::_Nv
private

Definition at line 1921 of file project.h.

template<typename T>
T* spams::Graph< T >::_weights
private

Definition at line 1927 of file project.h.


The documentation for this class was generated from the following file: