• Main Page
  • Related Pages
  • Modules
  • Classes
  • Files
  • File List

driftcorr.h

00001 /***************************************************************************
00002                           driftcorr.h  -  description
00003                              -------------------
00004     begin                : Thu Mar 1 2012
00005     copyright            : (C) 2001 by Thies Jochimsen
00006     email                : jochimse@cns.mpg.de
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 RECODRIFTCORR_H
00019 #define RECODRIFTCORR_H
00020 
00021 #include "step.h"
00022 
00023 static const char* posted_repdrift_str="fieldrepdrift";
00024 
00025 
00026 static void modify4repdrift(RecoCoord& coord);
00027 
00028 
00029 class RecoDriftCalc: public RecoStep {
00030 
00031   // implementing virtual functions of RecoStep
00032   STD_string label() const {return "driftcalc";}
00033   STD_string description() const {return "Calculate field drift for each repetition";}
00034   bool process(RecoData& rd, RecoController& controller);
00035   RecoCoord input_coord() const {return RecoCoord::coord_with_mode(RecoIndex::collected,cycle,slice,echo,epi,channel,line3d,line,readout);}
00036   void modify_coord(RecoCoord& coord) const {/*coord.set_mode(RecoIndex::single, channel,slice,line3d,line,readout);*/}
00037   bool query(RecoQueryContext& context);
00038   RecoStep* allocate() const {return new RecoDriftCalc;}
00039   void init();
00040 
00041   JDXstring driftcalcFile;
00042   JDXfloat driftcalcTE;
00043 
00044 };
00045 
00046 
00047 
00049 
00050 
00051 class RecoDriftCorr: public RecoStep {
00052 
00053   // implementing virtual functions of RecoStep
00054   STD_string label() const {return "driftcorr";}
00055   STD_string description() const {return "Correct for linear field drift over repetitions";}
00056   bool process(RecoData& rd, RecoController& controller);
00057   RecoCoord input_coord() const {return RecoCoord::coord_with_mode(RecoIndex::collected,readout);}
00058   void modify_coord(RecoCoord& coord) const {}
00059   RecoStep* allocate() const {return new RecoDriftCorr;}
00060   void init() {}
00061 
00062   Data<float,1> driftcache;
00063   Mutex mutex;
00064 };
00065 
00066 
00067 #endif
00068 

Generated on Tue Dec 18 2012 15:11:14 by  doxygen 1.7.1