Newer
Older
/* Volume.h
Mark Woolrich, FMRIB Image Analysis Group
Copyright (C) 1999-2000 University of Oxford */
/* CCOPYRIGHT */
#if !defined(__Volume_h)
#define __Volume_h
#include <iostream>
#include <fstream>
#include "newmatap.h"
#include "newmatio.h"
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class Volume : public ColumnVector
{
public:
Volume() : ColumnVector() {}
Volume(const VolumeSeries::Dims& pdims, const ColumnVector& in) :
ColumnVector(),
dims(pdims),
preThresholdPositions(in)
{}
Volume(int psize) : ColumnVector (psize) {}
Volume(int psize,const VolumeSeries::Dims& pdims, const ColumnVector& in) :
ColumnVector (psize),
dims(pdims),
preThresholdPositions(in){}
Volume& operator=(const Volume& vol) {
ColumnVector::operator=(vol);
preThresholdPositions = vol.preThresholdPositions;
dims = vol.dims;
return *this;
}
Volume& operator=(const ColumnVector& pvec) {
ColumnVector::operator=(pvec);
return *this;
}
Volume& operator=(float pin) {
ColumnVector::operator=(pin);
return *this;
}
Volume(const ColumnVector& pvec) {ColumnVector::operator=(pvec);}
void read(const string& fname);
void threshold(float thresh);
void threshold();
void unthreshold();
void unthreshold(const VolumeSeries::Dims& pdims, const ColumnVector& in);
void writeAsInt(const string& fname);
void writeAsFloat(const string& fname);
const VolumeSeries::Dims& getDims() const { return dims; }
void setDims(const VolumeSeries::Dims& pdims) { dims = pdims; }
int getUnthresholdSize() const { return dims.x*dims.y*dims.z; }
int getVolumeSize() const { return Nrows(); }
const ColumnVector& getPreThresholdPositions() const { return preThresholdPositions; }
void setPreThresholdPositions(const ColumnVector& in) { preThresholdPositions = in; }
protected:
VolumeSeries::Dims dims;
ColumnVector preThresholdPositions;
};
}