void peakView::toTable(realvec& vecTable) { //resize and initialize the table (assuming the largest possible number of peaks + the header for now...) vecTable.create(frameMaxNumPeaks_*numFrames_+1, nbPkParameters); //In Table format, the 1st row is a "header row" vecTable(0, 0) = -1; vecTable(0, 1) = fs_; vecTable(0, 2) = frameSize_; vecTable(0, 3) = frameMaxNumPeaks_; vecTable(0, 4) = numFrames_; vecTable(0, 5) = -1; vecTable(0, pkGroup) = -2; for (mrs_natural i = pkGroup+1 ; i < nbPkParameters ; ++i) //i = pkGroup or i = pkGroup+1 [?] vecTable(0, i)=0; //fill the table with peak data mrs_natural l = 1; //l = peak index for table format (i.e. row index) for (mrs_natural j=0 ; j < vec_.getCols(); ++j) //j = frame index for (mrs_natural i=0 ; i < frameMaxNumPeaks_; ++i) //i = peak index { //just output existing peaks at each frame (i.e. freq != 0) if(vec_(i, j) != 0.0) { for(mrs_natural k = 0; k < nbPkParameters; k++)// k = parameter index vecTable(l, k) = (*this)(i, pkParameter(k), j); l++; } } //resize the table to the correct (i.e. possibly smaller) //number of peaks (i.e. nr of rows) vecTable.stretch(l, nbPkParameters); }