main.cpp
2.12 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <iostream>
#include <fstream>
//#include<stdio.h>
#include <cuda_runtime.h>
#include <stim/math/vector.h>
#include <stim/parser/arguments.h>
#include <stim/parser/filename.h>
#include <stim/grids/image_stack.h>
#include <stim/grids/grid.h>
#include <stim/visualization/colormap.h>
#define pi 3.14159
void ivote3(float* out, float* img, float std, unsigned int x, unsigned int y, unsigned int z);
int main(){
float sigma =3;
std::string filename = "nissl-float-512.512.512.vol";
unsigned int x = 512;
unsigned int y = 512;
unsigned int z = 512;
unsigned int bytes = x*y*z*sizeof(float);
float* cpuI = (float*) malloc(bytes);
std::ifstream nissl(filename, std::ios::in | std::ios::binary);
nissl.read((char*)cpuI, bytes);
nissl.close();
std::ofstream original("original.vol", std::ofstream::out | std::ofstream::binary);
original.write((char*)cpuI, bytes);
original.close();
float* cpu_grad = (float*) malloc(bytes*3);
ivote3(cpu_grad, cpuI, sigma, x, y, z);
std::ofstream blur("blur.vol", std::ofstream::out | std::ofstream::binary);
blur.write((char*)cpuI, bytes);
blur.close();
// load the imagestack from the given directory
//std::string file_mask = "D:\\source\\ivote3\\data\\nissl\\*.png";
/*stim::image_stack<float> I;
unsigned int x =512;
unsigned int y =512;
unsigned int z =512;
unsigned int bytes = x*y*z* sizeof(float);
I.read("nissl-float-512.512.512.vol", 512, 512, 512, 1, 0);
//float test = I.get(128, 128, 128);
//std::cout<< test<<std::endl;
float* ptr0 = I.data();
//stim::cpu2image<float>(I.data(), "after_loading.bmp", 512, 512);
float* cpuI = (float*) malloc(bytes);
memcpy (cpuI, ptr0, bytes);
std::ofstream infile ("original-2.vol");
infile.write((char*)cpuI, bytes);
infile.close();*/
//stim::cpu2image(cpuI, "00-cpuI.bmp", 512, 1024);
//std::fstream file2;
//file2.write((char*)cpuI, 512*512*512*sizeof(unsigned char));
//I.write("data\\volume1.raw");
//test = ptr0[128*128*128];
//std::cout<< test<<std::endl;
//memset(I.data(), 0, 512*512*512);
//I.write("data\\volume.raw");
//I.save_images("data\\????.bmp");
cudaDeviceReset();
}