1 #include <psychlops.h>
\r
2 using namespace Psychlops;
\r
5 void psychlops_main() {
\r
6 Canvas cnvs(1024, 768, Canvas::window);
\r
9 Matrix source_mat, filtered_mat, mat;
\r
10 source_mat.load("voltage_spec_vaio_ie.csv");
\r
11 source_mat.transpose();
\r
13 //fftworkspace.set(64,64);
\r
14 //fftworkspace.makeNoise();
\r
15 fftworkspace.set(source_mat);
\r
17 fftworkspace.getSpectrum(filtered_mat, 1.0);
\r
19 int q = filtered_mat.getCols() / 4;
\r
21 mat = filtered_mat(1, q*2+3<=col<=q*3);
\r
23 mat.save("voltage_spec.csv");
\r
26 for(int i=0; i<source_mat.getCols(); i++) {
\r
27 mean += source_mat(1, i+1);
\r
29 mean /= source_mat.getCols();
\r
31 for(int i=1; i<source_mat.getCols()-3; i++) {
\r
32 if( source_mat(1, i+1)<mean
\r
33 && source_mat(1, i+2)<mean
\r
34 && source_mat(1, i+3)>mean
\r
35 && source_mat(1, i+4)>mean
\r
38 std::cout << counter << std::endl;
\r
45 void psychlops_main() {
\r
46 Canvas cnvs(1024, 768, Canvas::window);
\r
48 Image source("test.png");
\r
52 //for(int i=0; i<1000; i++){
\r
54 Matrix source_mat(S,S), filtered_mat, filter;
\r
55 for(int x=1; x<=S; x++)
\r
56 for(int y=1; y<=S; y++)
\r
57 source_mat(x,y) = random(0.0,1.0);
\r
58 //source_mat=FFT2::makeNoise(64, 64);
\r
59 filter=FFT2::makeFilter(S, S, 8, 12);
\r
61 //fftworkspace.set(64,64);
\r
62 //fftworkspace.makeNoise();
\r
63 fftworkspace.set(source_mat);
\r
65 fftworkspace.filtering(filter);
\r
66 fftworkspace.ifft();
\r
67 fftworkspace.getImage(filtered_mat);
\r
69 img[0].from(source_mat);
\r
70 img[1].from(filter);
\r
71 img[2].from(filtered_mat);
\r
73 while(!Keyboard::esc.pushed())
\r
76 for(int i=0; i<5; i++) img[i].centering().shift(-400,0).shift((S+1)*i,0).draw();
\r
77 cnvs.var(Mouse::x, 100, 80);
\r
78 cnvs.var(Mouse::y, 100, 100);
\r