debug/src/parameterxmlcreator.h

00001 /***************************************************************************
00002                           parameterxmlcreator.h  -  description
00003                              -------------------
00004     begin                : Fri Apr 2 2004
00005     copyright            : (C) 2004 by Lynn Hazan
00006     email                : lynn.hazan.myrealbox.com
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef PARAMETERXMLCREATOR_H
00019 #define PARAMETERXMLCREATOR_H
00020 
00021 // include files for KDE
00022 #include <kurl.h>
00023 
00024 //Application specific includes
00025 #include "sessionInformation.h"
00026 
00027 //include files for QT
00028 #include <qvaluelist.h>
00029 #include <qmap.h>
00030 #include <qdom.h> 
00031 
00032 // forward declaration
00033 class ChannelColors;
00034 
00040 class ParameterXmlCreator {
00041 public:
00042 
00045   ParameterXmlCreator();
00046 
00047   ~ParameterXmlCreator();
00048 
00053   bool writeTofile(const KURL& url);
00054 
00064   void setAcquisitionSystemInformation(int resolution,int nbChannels,double samplingRate,int voltageRange,int amplification,int offset);
00065 
00070   void setLfpInformation(double lfpSamplingRate);
00071 
00077   void setMiscellaneousInformation(float screenGain,QString traceBackgroundImage);
00078 
00087   void setChannelDisplayInformation(ChannelColors* channelColors,QMap<int,int>& channelsGroups,QMap<int,int>& channelDefaultOffsets);
00088   
00094   void setAnatomicalDescription(QMap<int, QValueList<int> >& anatomicalGroups,QMap<int,bool> skipStatus);
00095 
00102   void setSpikeDetectionInformation(int nbSamples,int peakSampleIndex,QMap<int, QValueList<int> >& spikeGroups);
00103 
00108   void setSpikeDetectionInformation(QMap<int, QValueList<int> >& spikeGroups);
00109 
00110   
00119   void setNeuroscopeVideoInformation(int rotation,int flip,QString backgroundPath,int drawTrajectory);
00120   
00126   void setVideoInformation(int width,int height);
00127   
00134   void setSampleRateByExtension(QMap<QString,double> extensionSamplingRates);
00135   
00136   private:
00137 
00139   QDomDocument doc;
00140 
00142   QDomElement root;   
00143 
00145   QDomElement acquisitionSystem;
00146 
00148   QDomElement lfp;
00149 
00151   QDomElement miscellaneous;
00152   
00154   QDomElement channels;
00155 
00157   QDomElement anatomicalDescription;
00158 
00160   QDomElement spikeDetection;
00161   
00163   QDomElement spikes;
00165   QDomElement video;
00166   
00168   QDomElement neuroscopeVideo;
00169   
00171   QDomElement files;
00172   
00173   static const QString parameterVersion;  
00174   
00175     
00176 };
00177 
00178 #endif

Generated on Mon Sep 17 20:47:31 2007 for NeuroScope by  doxygen 1.5.1