-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathVolume4D.h
More file actions
76 lines (62 loc) · 1.69 KB
/
Volume4D.h
File metadata and controls
76 lines (62 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
* File: Volume4D.h
* Author: zoizoi
*
* Created on 23 January 2011, 17:45
*/
#ifndef VOLUME4D_H
#define VOLUME4D_H
#include "StepToParamConverter.h"
#include "vtkEssentials.h"
#include "OVASControl.h"
#include "Data.h"
#include "Mesh.h"
#include <vector>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <vector>
#include <sstream>
#include "CriticalPoint.h"
#include "vtkImageResample.h"
extern "C"
{
#include <tourtre.h>
}
#include <unistd.h>
using std::cin;
using std::cout;
using std::clog;
using std::cerr;
using std::endl;
class Volume4D {
public:
Volume4D();
Volume4D(OVASControl* oc);
Volume4D(const Volume4D& orig);
virtual ~Volume4D();
virtual void setToStep(int Step);
virtual float getVoxelValue(int x,int y,int z,int step){ return 0;}
void updateActor();
void loadFloatVolume(string* fileName);
void createCharVolume();
void testReebGraph();
void testContourTree();
void findCritcalPoints();
float evalPersistence(Data* data,ctBranch* b);
void addPersistentBranches(Data*,ctBranch*,float thresh,ctBranch* rootBranch);
// void outputTree(std::ofstream & out, ctBranch * b,Data* d);
int DisplayReebGraph(vtkReebGraph *g);
int DisplayVolumeSkeleton(vtkUnstructuredGrid* vtkNotUsed(volumeMesh), vtkTable *skeleton);
vector<CriticalPoint*>* criticalPoints;
// size_t neighbors ( size_t v, size_t * nbrs, void * d );
// double value ( size_t v, void * d );
unsigned char* charVol;
vtkSmartPointer<vtkContourFilter> contourer;
protected:
OVASControl* oc;
vtkSmartPointer<vtkImageData> vtkVol;
float* isoVal;
bool loaded;
};
#endif /* VOLUME4D_H */