SpikeStats.cpp

Go to the documentation of this file.
00001 #include "CMtuFormat.h"
00002 #include "CDespike.h"
00003 #include "CSpikeStats.h"
00004 #include "CTsSpectrum.h"
00005 #include <iostream>
00006 #include <fstream>
00007 #include <string>
00008 
00009 using namespace std;
00010 int main(void)
00011 {
00012         CMtuFormat TestData;
00013         CSpikeStats SpikeStatsX;
00014         CSpikeStats SpikeStatsY;
00015         ofstream spikestats,statsum;
00016         titspikeindex spikeposout;
00017         string infilename;
00018         string temp;
00019         double width;
00020         
00021         do
00022         {
00023         cout << "Inputfile: ";
00024         cin >> infilename;
00025         }
00026         while (TestData.GetData(infilename.c_str()));
00027         temp = infilename + "_spikestats.dat";
00028         spikestats.open(temp.c_str());
00029         temp = infilename + "_statsum.dat";
00030         statsum.open(temp.c_str());
00031         SpikeStatsX.nValueBins = 1000;
00032         SpikeStatsX.nDerivBins = 1000;
00033         SpikeStatsX.samplerate = TestData.samplerate;
00034         
00035         
00036         SpikeStatsX.Data = &(TestData.Ex.data);
00037         SpikeStatsX.Time = &(TestData.t);
00038         SpikeStatsX.AnalyseSpikes();    
00039         
00040         vector<int>::iterator occ = SpikeStatsX.AbsoluteValueOcc.begin();
00041         vector<double>::iterator bin = SpikeStatsX.AbsoluteValueBin.begin();
00042         double sum = 0;
00043         width = (*(bin+1) - *bin);
00044         while (occ != SpikeStatsX.AbsoluteValueOcc.end() )
00045         {
00046                 spikestats.precision(15);
00047                 sum += *occ/SpikeStatsX.AbsoluteTotalOcc;
00048                 //statsum << *bin/(SpikeStatsX.absolutemax - SpikeStatsX.absolutemin) << " " << sum << endl;
00049                 statsum << *bin << " " << sum << endl;
00050                 //spikestats << *bin/(SpikeStatsX.absolutemax - SpikeStatsX.absolutemin) << " " << *occ/(SpikeStatsX.AbsoluteTotalOcc*
00051                 //      width/(SpikeStatsX.absolutemax - SpikeStatsX.absolutemin)) << endl;
00052                 spikestats << *bin << " " << *occ/(SpikeStatsX.AbsoluteTotalOcc*
00053                         width) << endl;
00054                 occ++;
00055                 bin++;
00056         }
00057         spikestats.close();
00058         statsum.close();
00059         cout << " done" << endl << flush;
00060 }

Generated on Tue Aug 4 16:04:07 2009 for GPLIB++ by  doxygen 1.5.8