36 #ifndef MIXTURE_OF_PPCA_H
37 #define MIXTURE_OF_PPCA_H
58 void init(
const std::list<int>& selectedIndividuals,
double initialPi,
60 double noiseRef = 1. ) ;
63 bool useOnlyCorrIndiv ) ;
67 double noiseRef = 1. ) ;
69 const std::vector<double>&
mean()
const ;
85 static double * _exp ;
89 int totalNbOfIndividuals,
double noiseRef = 1. ) ;
91 bool _useOnlyCorrIndiv ;
92 int _significantNumberOfVp ;
104 int _explosionIndex ;
105 double _sumDiff2Rni ;
117 MixtureOfPPCA(
int nbOfClasses,
int significantNumberOfVp,
int maxNbOfIterations,
119 const std::vector< std::list <int> >& initialClasses,
120 const std::string & fileOut,
int runNb,
int iterationToUseOnlyCorrelatedIndiv =
false ) ;
135 int _significantNumberOfEigenValues ;
136 int _maxNbOfIterations ;
138 const std::vector<Point3d> _indPosVector ;
139 const std::string _fileOut ;
142 std::vector< PpcaAnalyserElement > _elements ;
144 std::vector<double> _sigma2init ;
145 std::vector< std::list< int > > _finalClasses ;
148 std::list< int > _nullPtnIndiv ;
149 double _logLikelihood ;
152 int _itToUseOnlyCorrelatedIndiv ;
carto::VolumeRef< double > getRni()
bool classesVisualisation(int nbOfIterations, const std::string &fileOut, bool theEnd)
bool distMatrixComputation()
MixtureOfPPCA(int nbOfClasses, int significantNumberOfVp, int maxNbOfIterations, const carto::rc_ptr< carto::Volume< T > > &individuals, const std::vector< Point3d > indPosVector, const std::vector< std::list< int > > &initialClasses, const std::string &fileOut, int runNb, int iterationToUseOnlyCorrelatedIndiv=false)
const carto::VolumeRef< double > & getMean()
const carto::VolumeRef< double > & getDist()
const carto::VolumeRef< double > & getRn()
const carto::VolumeRef< double > & getInvCi()
void init(const std::list< int > &selectedIndividuals, double initialPi, const carto::rc_ptr< carto::Volume< T > > &individuals, double noiseRef=1.)
double getSumDiff2Rni() const
bool newStep1(const carto::rc_ptr< carto::Volume< T > > &indivMatrix, bool useOnlyCorrIndiv)
const carto::VolumeRef< double > & getPtni()
double newStep2(carto::rc_ptr< carto::Volume< double > > pTn, const carto::rc_ptr< carto::Volume< T > > &indivMatrix, double noiseRef=1.)
PpcaAnalyserElement(int significantNumberOfVp, bool useOnlyCorrIndiv=false)
const std::vector< double > & mean() const