SpikeStream Application Library
0.2
|
00001 #ifndef ABSTRACTSPECTROGRAMDATA_H 00002 #define ABSTRACTSPECTROGRAMDATA_H 00003 00004 //SpikeStream includes 00005 #include "AnalysisInfo.h" 00006 using namespace spikestream; 00007 00008 //Qwt includes 00009 #include "qwt_raster_data.h" 00010 00011 //Qt includes 00012 #include <QHash> 00013 00014 namespace spikestream { 00015 00017 class AbstractSpectrogramData : public QwtRasterData { 00018 public: 00019 AbstractSpectrogramData(const AnalysisInfo& analysisInfo); 00020 virtual ~AbstractSpectrogramData(); 00021 virtual QwtRasterData *copy() const = 0; 00022 virtual QwtDoubleInterval range() const; 00023 virtual void showAllTimeSteps(bool show); 00024 virtual void showSelectedTimeStep(unsigned int timeStep); 00025 virtual void setShowNeuronIDs(bool show); 00026 virtual double value(double x, double y) const; 00027 00028 protected: 00029 //======================= VARIABLES ========================= 00031 AnalysisInfo analysisInfo; 00032 00036 QHash<unsigned int, QHash<unsigned int, QHash<unsigned int, double> > > timeStepDataMap; 00037 00039 unsigned int minNeuronID; 00040 00042 unsigned int maxNeuronID; 00043 00045 int selectedTimeStep; 00046 00048 bool allTimeSteps; 00049 00051 unsigned int allTimeStepsKey; 00052 00054 bool showNeuronIDs; 00055 00056 00057 //======================= METHODS =========================== 00058 void addAllTimeStepsMap(const QList<unsigned int>& neurIDList); 00059 void addTimeStep(unsigned int timeStep, const QList<unsigned int>& neurIDList); 00060 virtual void loadData() = 0; 00061 virtual void printData(); 00062 virtual void reset(); 00063 }; 00064 00065 } 00066 00067 00068 #endif//ABSTRACTSPECTROGRAMDATA_H 00069