mia::CIndepCompAnalysis Class Referenceabstract

#include <mia/core/ica.hh>

Public Types

enum  EApproach { appr_defl, appr_symm, appr_unknown }
 
typedef std::set< unsigned int > IndexSet
 defines a set of indices used for mixing More...
 
typedef std::unique_ptr< CIndepCompAnalysisPointer
 

Public Member Functions

virtual std::vector< float > get_delta_feature (const IndexSet &plus, const IndexSet &minus) const =0
 
virtual std::vector< float > get_feature_row (unsigned int row) const =0
 
virtual std::vector< float > get_incomplete_mix (unsigned int idx, const IndexSet &skip) const =0
 
virtual std::vector< float > get_mix (unsigned int idx) const =0
 
virtual std::vector< float > get_mix_series (unsigned int row) const =0
 
virtual CSlopeColumns get_mixing_curves () const =0
 
virtual unsigned int get_ncomponents () const =0
 
virtual std::vector< float > get_partial_mix (unsigned int idx, const IndexSet &use) const =0
 
virtual void initialize (unsigned int series_length, unsigned int slice_size)=0
 
virtual void normalize_ICs ()=0
 
virtual std::vector< float > normalize_Mix ()=0
 
virtual bool run (unsigned int nica, std::vector< std::vector< float > > guess)=0
 
virtual void set_approach (EApproach approach)=0
 
virtual void set_deterministic_seed (int seed)=0
 
virtual void set_max_iterations (int n)=0
 
virtual void set_mixing_series (unsigned int index, const std::vector< float > &series)=0
 
template<class Iterator >
void set_row (unsigned row, Iterator begin, Iterator end)
 
virtual ~CIndepCompAnalysis ()
 

Detailed Description

Definition at line 38 of file core/ica.hh.

Member Typedef Documentation

◆ IndexSet

typedef std::set<unsigned int> mia::CIndepCompAnalysis::IndexSet

defines a set of indices used for mixing

Definition at line 54 of file core/ica.hh.

◆ Pointer

Definition at line 51 of file core/ica.hh.

Member Enumeration Documentation

◆ EApproach

Separation approach to be used.

Enumerator
appr_defl 

Deflation approach - each component is extimated separately

appr_symm 

Symmetric approach thet estimates all components at the same time

appr_unknown 

Definition at line 45 of file core/ica.hh.

Constructor & Destructor Documentation

◆ ~CIndepCompAnalysis()

virtual mia::CIndepCompAnalysis::~CIndepCompAnalysis ( )
virtual

Member Function Documentation

◆ get_delta_feature()

virtual std::vector<float> mia::CIndepCompAnalysis::get_delta_feature ( const IndexSet plus,
const IndexSet minus 
) const
pure virtual

Evaluate a mix of the feature signals by adding and subtractig individual features.

Parameters
plusfeatures o be added
minusfeatures to be subtracted
Returns
the feature mix

◆ get_feature_row()

virtual std::vector<float> mia::CIndepCompAnalysis::get_feature_row ( unsigned int  row) const
pure virtual
Returns
the feature vector of row

◆ get_incomplete_mix()

virtual std::vector<float> mia::CIndepCompAnalysis::get_incomplete_mix ( unsigned int  idx,
const IndexSet skip 
) const
pure virtual

Evaluate an incomplete mixed signal. Here the features are given that are not to be used.

See also
get_partial_mix
Parameters
idxseries index
skipa set of feature indices that will be skipped when evaluating the mix
Returns
the mixed signal

◆ get_mix()

virtual std::vector<float> mia::CIndepCompAnalysis::get_mix ( unsigned int  idx) const
pure virtual
Returns
the complete mixed signal at series index idx

◆ get_mix_series()

virtual std::vector<float> mia::CIndepCompAnalysis::get_mix_series ( unsigned int  row) const
pure virtual
Returns
the mixing signal curve of the feature row

◆ get_mixing_curves()

virtual CSlopeColumns mia::CIndepCompAnalysis::get_mixing_curves ( ) const
pure virtual
Returns
a vector containing all mixing curves

◆ get_ncomponents()

virtual unsigned int mia::CIndepCompAnalysis::get_ncomponents ( ) const
pure virtual
Returns
the number of actual ICs

◆ get_partial_mix()

virtual std::vector<float> mia::CIndepCompAnalysis::get_partial_mix ( unsigned int  idx,
const IndexSet use 
) const
pure virtual

Evaluate an incomplete mixed signal. Here the features are given that are used to create the mix.

See also
get_incomplete_mix
Parameters
idxseries index
usethe set of feature indices that will be used to evaluate the mix
Returns
an incolmplete mixed signal.

◆ initialize()

virtual void mia::CIndepCompAnalysis::initialize ( unsigned int  series_length,
unsigned int  slice_size 
)
pure virtual

◆ normalize_ICs()

virtual void mia::CIndepCompAnalysis::normalize_ICs ( )
pure virtual

Normalize the ICs in the following manner: Scale and shift the range of the ICs to [-1, 1] Scale the mixing curved to compensate for the required scaling move the means of the time points to compensate for the shifting.

◆ normalize_Mix()

virtual std::vector<float> mia::CIndepCompAnalysis::normalize_Mix ( )
pure virtual

Normalize the mixing curves to have a zero mean. As a result a mean image is created that containes the sum of the ICs weighted by the required mean shift.

◆ run()

virtual bool mia::CIndepCompAnalysis::run ( unsigned int  nica,
std::vector< std::vector< float > >  guess 
)
pure virtual

Run the independed component analysis using the given numbers of components

Parameters
nicanumber of indentepended components
guessinitial guess for the ICA, pass an empty vector of you don't want to use this feature

◆ set_approach()

virtual void mia::CIndepCompAnalysis::set_approach ( EApproach  approach)
pure virtual

Set the ICA approach to either FICA_APPROACH_DEFL(default) or FICA_APPROACH_SYMM.

Parameters
approach

◆ set_deterministic_seed()

virtual void mia::CIndepCompAnalysis::set_deterministic_seed ( int  seed)
pure virtual

◆ set_max_iterations()

virtual void mia::CIndepCompAnalysis::set_max_iterations ( int  n)
pure virtual

sets the number of iterations in the ICA

Parameters
n

◆ set_mixing_series()

virtual void mia::CIndepCompAnalysis::set_mixing_series ( unsigned int  index,
const std::vector< float > &  series 
)
pure virtual

Replace a mixing signal curve

Parameters
indexof the curve to be replaced
seriesnew data for mixing curve

◆ set_row()

template<class Iterator >
void mia::CIndepCompAnalysis::set_row ( unsigned  row,
Iterator  begin,
Iterator  end 
)

Set on row of input data

Template Parameters
Iteratorinput data iterator, must follow the model of a forward iterator
Parameters
rowindex of the input slice
beginstart iterator of input data
endend iterator of input data

Referenced by mia::produce_ica_factory().


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