#include <mia/core/fastica.hh>
Public Types | |
enum | EApproach { appr_defl, appr_symm } |
This class implements the FastICA blind source separation
As additional feature the saddle-check [1] can be run to improve the obtained results.
[1] Petr Tichavský, Zbynek Koldovský, and Erkki Oja "Performance Analysis of the FastICA Algorithm and Cramér–Rao " "Bounds for Linear Independent Component Analysis" IEEE Tran Signal Processing, 54(4), 2006, 1189-1203
Definition at line 43 of file fastica.hh.
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 |
Definition at line 49 of file fastica.hh.
mia::FastICA::FastICA | ( | int | num_ic | ) |
Construct the FastICA algorithms with the number of expected components.
num_ic | will seperate in at most this number of components |
const gsl::Matrix& mia::FastICA::get_dewhitening_matrix | ( | ) | const |
const gsl::Matrix& mia::FastICA::get_independent_components | ( | ) | const |
const gsl::Matrix& mia::FastICA::get_mixing_matrix | ( | ) | const |
int mia::FastICA::get_nr_of_independent_components | ( | ) | const |
const gsl::Matrix& mia::FastICA::get_principal_eigenvectors | ( | ) | const |
const gsl::Matrix& mia::FastICA::get_separating_matrix | ( | ) | const |
const gsl::Matrix& mia::FastICA::get_white_signal | ( | ) | const |
const gsl::Matrix& mia::FastICA::get_whitening_matrix | ( | ) | const |
bool mia::FastICA::separate | ( | const gsl::Matrix & | mix | ) |
Separate the given signal
mix | the mixed signal, each row contains a time step |
void mia::FastICA::set_approach | ( | EApproach | apr | ) |
Set the separation approach to be used.
apr | appr_delf|appr_symm |
void mia::FastICA::set_component_energy_limit | ( | double | limit | ) |
Set the limit of the energy sum used to estimate the number of components that make sense based on the PCA
limit | energy limit, set >= 1.0 if you want to enforce the number |
void mia::FastICA::set_epsilon | ( | double | epsilon | ) |
Iteration breaking condition, i.e. maximum change in mixing vector
void mia::FastICA::set_finetune | ( | bool | in_finetune | ) |
Set if fine tuning is to be applied
void mia::FastICA::set_init_guess | ( | const gsl::Matrix & | ma_initGuess | ) |
Set an initial guess (not yet used)
void mia::FastICA::set_max_fine_tune | ( | int | maxFineTune | ) |
Set number of additional fine-tune iterations that might be run
void mia::FastICA::set_max_num_iterations | ( | int | maxNumIterations | ) |
Set maximum number of iteration to run
void mia::FastICA::set_mu | ( | double | mu | ) |
Set parameter mu to run the iteration
void mia::FastICA::set_nonlinearity | ( | PFastICADeflNonlinearity | in_g | ) |
Set the non-linearity to be used for separation
void mia::FastICA::set_nr_of_independent_components | ( | int | nrIC | ) |
Set the number of components to be estimated
nrIC | (maximum) number of components to be estimated |
void mia::FastICA::set_pca_only | ( | bool | in_PCAonly | ) |
Run only PCA (Why is this here, PCA is a aseparate class?)
void mia::FastICA::set_saddle_check | ( | bool | saddle_check | ) |
Use the saddle check in the symetric method
void mia::FastICA::set_saddle_check_postiterations | ( | int | saddle_postiter | ) |
Number of iterations after a sucessful saddle check
void mia::FastICA::set_sample_size | ( | double | sampleSize | ) |
Sample size to be used (not yet implemented)
void mia::FastICA::set_stabilization | ( | bool | in_stabilization | ) |
Set if stablilization is to be used.