77 void setImage(std::vector<T *> & _image);
83 void setName(std::string & _name);
99 unsigned char kColor[3];
107 void addStep(
float _startx,
float _starty,
float _startz,
108 float _endx,
float _endy,
float _endz);
109 void getStep(
float & _startx,
float & _starty,
float & _startz,
110 float & _endx,
float & _endy,
float & _endz,
112 void setTrack(std::vector<struct Step> & _aTrack) {kTrack = _aTrack;}
114 for(
int i = 0; i < 3; i++) kColor[i] = _color[i];
117 for(
int i = 0; i < 3; i++) _color[i] = kColor[i];
119 void translate(std::vector<float> & _tranlate);
135 unsigned char kColor[3];
144 void addEdge(
float _startx,
float _starty,
float _startz,
145 float _endx,
float _endy,
float _endz);
146 void getEdge(
float & _startx,
float & _starty,
float & _startz,
147 float & _endx,
float & _endy,
float & _endz,
149 void setDetector(std::vector<struct Edge> & _aDetector) {kDetector = _aDetector;}
151 for(
int i = 0; i < 3; i++) kColor[i] = _color[i];
154 for(
int i = 0; i < 3; i++) _color[i] = kColor[i];
156 void setName(std::string & _name) { kName = _name;}
159 void translate(std::vector<float> & _tranlate);
198 static float kVoxelSpacing[3];
207 static std::vector<class GMocrenDataPrimitive<double> >
kDose;
212 static std::vector<class GMocrenDataPrimitive<short> >
kRoi;
218 static std::vector<class GMocrenTrack>
kTracks;
237 void setFileName(std::string & _filename) {kFileName = _filename;}
242 bool storeData(
char * _filename);
244 bool storeData2(
char * _filename);
246 bool storeData3(
char * _filename);
248 bool storeData4(
char * _filename);
251 bool retrieveData(
char * _filename);
253 bool retrieveData2(
char * _filename);
254 bool retrieveData2();
255 bool retrieveData3(
char * _filename);
256 bool retrieveData3();
257 bool retrieveData4(
char * _filename);
258 bool retrieveData4();
263 void setID(std::string & _id) {kId = _id;}
266 std::string & getVersion();
267 void setVersion(std::string & _version);
270 void setLittleEndianInput(
bool _little);
271 void setLittleEndianOutput(
bool _little);
275 void setComment(std::string & _comment) {kComment = _comment;}
279 void setVoxelSpacing(
float _spacing[3]);
280 void getVoxelSpacing(
float _spacing[3]);
283 int & getNumberOfEvents();
284 void setNumberOfEvents(
int & _numberOfEvents);
288 void setPointerToModalityData(
unsigned int & _pointer);
289 unsigned int getPointerToModalityData();
291 void addPointerToDoseDistData(
unsigned int & _pointer);
292 unsigned int getPointerToDoseDistData(
int _elem = 0);
294 void setPointerToROIData(
unsigned int & _pointer);
295 unsigned int getPointerToROIData();
297 void setPointerToTrackData(
unsigned int & _pointer);
298 unsigned int getPointerToTrackData();
301 void calcPointers4();
302 void calcPointers3();
303 void calcPointers2();
309 void getModalityImageSize(
int _size[3]);
310 void setModalityImageSize(
int _size[3]);
312 void getModalityImageVoxelSpacing(
float _size[3]);
313 void setModalityImageVoxelSpacing(
float _size[3]);
315 void setModalityImageScale(
double & _scale);
316 double getModalityImageScale();
318 void setModalityImage(
short * _image);
319 short * getModalityImage(
int _z);
320 void clearModalityImage();
322 void setModalityImageDensityMap(std::vector<float> & _map);
323 std::vector<float> & getModalityImageDensityMap();
325 void setModalityImageMinMax(
short _minmax[2]);
327 void getModalityImageMinMax(
short _minmax[2]);
328 short getModalityImageMax();
329 short getModalityImageMin();
331 void setModalityCenterPosition(
float _center[3]);
332 void getModalityCenterPosition(
float _center[3]);
334 std::string getModalityImageUnit();
335 void setModalityImageUnit(std::string & _unit);
337 short convertDensityToHU(
float & _dens);
344 int getNumDoseDist();
346 std::string getDoseDistUnit(
int _num = 0);
347 void setDoseDistUnit(std::string & _unit,
int _num = 0);
349 void getDoseDistSize(
int _size[3],
int _num = 0);
350 void setDoseDistSize(
int _size[3],
int _num = 0);
352 void setDoseDistMinMax(
short _minmax[2],
int _num = 0);
353 void getDoseDistMinMax(
short _minmax[2],
int _num = 0);
355 void setDoseDistMinMax(
double _minmax[2],
int _num = 0);
356 void getDoseDistMinMax(
double _minmax[2],
int _num = 0);
358 void setDoseDistScale(
double & _scale,
int _num = 0);
359 double getDoseDistScale(
int _num = 0);
361 void setShortDoseDist(
short * _image,
int _num = 0);
362 void getShortDoseDist(
short * _data,
int _z,
int _num = 0);
363 void getShortDoseDistMinMax(
short _minmax[2],
int _num = 0);
365 void setDoseDist(
double * _image,
int _num = 0);
366 double * getDoseDist(
int _z,
int _num = 0);
368 bool addDoseDist(std::vector<double *> & _image,
int _num = 0);
371 void getDoseDistCenterPosition(
float _center[3],
int _num = 0);
372 void setDoseDistCenterPosition(
float _center[3],
int _num = 0);
375 std::string getDoseDistName(
int _num = 0);
376 void setDoseDistName(std::string _name,
int _num = 0);
384 void clearDoseDistAll();
389 void calcDoseDistScale();
399 double getROIScale(
int _num = 0);
400 void setROIScale(
double & _scale,
int _num = 0);
402 short * getROI(
int _z,
int _num = 0);
403 void setROI(
short * _image,
int _num = 0);
405 void getROISize(
int _size[3],
int _num = 0);
406 void setROISize(
int _size[3],
int _num = 0);
408 void getROICenterPosition(
float _center[3],
int _num = 0);
409 void setROICenterPosition(
float _center[3],
int _num = 0);
411 void getROIMinMax(
short _minmax[2],
int _num = 0);
412 void setROIMinMax(
short _minmax[2],
int _num = 0);
425 std::vector<float *> & getTracks();
426 void getTrack(
int _num, std::vector<float *> & _steps,
427 std::vector<unsigned char * > & _color);
428 void addTrack(
float * _tracks);
429 void setTracks(std::vector<float *> & _tracks);
430 std::vector<unsigned char *> & getTrackColors();
431 void addTrackColor(
unsigned char * _colors);
432 void setTrackColors(std::vector<unsigned char *> & _trackColors);
433 void copyTracks(std::vector<float *> & _tracks, std::vector<unsigned char *> & _colors);
434 void mergeTracks(std::vector<float *> & _tracks, std::vector<unsigned char *> & _colors);
435 void addTrack(std::vector<float *> & _steps,
unsigned char _color[3]);
438 void translateTracks(std::vector<float> & _translateo);
444 int getNumberOfDetectors();
446 void addDetector(std::string & _name, std::vector<float *> & _det,
unsigned char _color[3]);
447 void getDetector(
int _num, std::vector<float *> & _edges,
448 std::vector<unsigned char *> & _color,
449 std::string & _detectorName);
450 void translateDetector(std::vector<float> & _translate);
455 template <
typename Type>
void convertEndian(
char *, Type &);
457 template <
typename T>
void invertByteOrder(
char * _val, T & _rval);
462 void setVerboseLevel(
int _level);
std::vector< T * > kImage
static std::vector< float > kModalityImageDensityMap
void setFileName(std::string &_filename)
void getColor(unsigned char _color[3])
static char kLittleEndianOutput
std::string & getFileName()
void getColor(unsigned char _color[3])
static std::vector< class GMocrenDataPrimitive< short > > kRoi
void setTrack(std::vector< struct Step > &_aTrack)
void setComment(std::string &_comment)
std::vector< struct Step > kTrack
GMocrenDataPrimitive< T > & operator=(const GMocrenDataPrimitive< T > &_right)
void setID(std::string &_id)
GMocrenDataPrimitive< T > & operator+(const GMocrenDataPrimitive< T > &_right)
static std::vector< class GMocrenDataPrimitive< double > > kDose
static std::vector< unsigned char * > kStepColors
static std::vector< class GMocrenDetector > kDetectors
void setColor(unsigned char _color[3])
std::string & getComment()
void setFileName(char *_filename)
static char kLittleEndianInput
static std::string kVersion
std::vector< T * > & getImage()
void setScale(double &_scale)
void getCenterPosition(float _center[3])
void setMinMax(T _minmax[2])
static int kNumberOfEvents
GMocrenDataPrimitive< T > & operator+=(const GMocrenDataPrimitive< T > &_right)
void setImage(std::vector< T *> &_image)
void initialize(Config const *const theConfig)
Initialize the clustering model based on the Config object.
void setCenterPosition(float _center[3])
void setSize(int _size[3])
static unsigned int kPointerToModalityData
static std::vector< class GMocrenTrack > kTracks
void getMinMax(T _minmax[2])
std::vector< struct Edge > kDetector
static std::string kFileName
static std::string kDoseUnit
void setName(std::string &_name)
void setColor(unsigned char _color[3])
static std::string kComment
static std::vector< unsigned int > kPointerToDoseDistData
static unsigned int kPointerToDetectorData
void setDetector(std::vector< struct Edge > &_aDetector)
static std::vector< float * > kSteps
void getSize(int _size[3])
void setName(std::string &_name)
static std::string kModalityUnit
static unsigned int kPointerToROIData
static unsigned int kPointerToTrackData