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
00049 statsum << *bin << " " << sum << endl;
00050
00051
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 }