Skip to content
Snippets Groups Projects
glimGls.h 1.29 KiB
Newer Older
Stephen Smith's avatar
Stephen Smith committed
/*  glimGls.h

    Mark Woolrich, FMRIB Image Analysis Group

    Copyright (C) 1999-2000 University of Oxford  */

Stephen Smith's avatar
Stephen Smith committed
/*  CCOPYRIGHT  */
Stephen Smith's avatar
Stephen Smith committed

#include <iostream>
#include <fstream>
#define WANT_STREAM
#define WANT_MATH

#include "newmatap.h"
#include "newmatio.h"
#include "Volume.h"
#include "VolumeSeries.h"

#ifndef NO_NAMESPACE
using namespace NEWMAT;
using namespace TACO;
namespace SIGPROC {
#endif

#if !defined(__glimgls_h)
#define __glimgls_h

#define BATCHSIZE 50

  class GlimGls
    {
    public:
      GlimGls(const int pnumTS, const int psizeTS, const int pnumParams) : 
	numTS(pnumTS),
	sizeTS(psizeTS),
	numParams(pnumParams),
	corrections(numTS, numParams*numParams),
	b(numParams, numTS),
	sigmaSquareds(numTS),
	dof(sizeTS - numParams)
	{}
     
      void setData(const ColumnVector& p_y, const Matrix& p_x, const int ind);       
      void Save(const VolumeSeries::Dims& pdims, const ColumnVector& prethreshpos);

    private:

      void SetCorrection(const Matrix& corr, const int ind);

      GlimGls(const GlimGls&);
      GlimGls& operator=(const GlimGls& p_glimgls);
   
      int numTS;
      int sizeTS;
      int numParams;

      // Data to be saved:
      Matrix corrections;
      Matrix b;
      Volume sigmaSquareds;
      float dof;
    };


#ifndef NO_NAMESPACE
       }
#endif

#endif