Mercurial > hg > jslab
comparison src/scheme/analysis.scm @ 0:bf79fb79ee13
Initial Mercurial check in.
author | samer |
---|---|
date | Tue, 17 Jan 2012 17:50:20 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:bf79fb79ee13 |
---|---|
1 ;(load "view3d.scm") | |
2 (load "models.scm") | |
3 (load "functions.scm") | |
4 | |
5 (define o CompoundFunction.) | |
6 | |
7 (define distances null) | |
8 (define reset-P null) | |
9 (define computeD null) | |
10 (define get-P null) | |
11 | |
12 | |
13 (define (stats->mds stats mds) | |
14 (let* ((N (.N$# mds)) | |
15 (R (Matrix. "R" N N)) | |
16 (stats->corr (task (.getCorrelation stats R))) | |
17 (corr->D (samer.mds.CorrelationTask. mds R))) | |
18 (set! distances (VVector. "distances" (.getLinkArray mds))) | |
19 (set! computeD | |
20 (seq stats->corr corr->D | |
21 (Ops.apply (o (vscale 16.0) (vpower 1.0)) distances) | |
22 (Ops.update distances) | |
23 ) | |
24 ) | |
25 (matexec R "image") | |
26 computeD | |
27 ) | |
28 ) | |
29 | |
30 (define (R->mds R mds) | |
31 (set! distances (VVector. "distances" (.getLinkArray mds))) | |
32 (set! computeD | |
33 (seq | |
34 (samer.mds.CorrelationTask. mds R) | |
35 (Ops.apply (o (vscale 16.0) (vpower 1.0)) distances) | |
36 (Ops.update distances) | |
37 ) | |
38 ) | |
39 (matexec R "image") | |
40 computeD | |
41 ) | |
42 | |
43 | |
44 (define (analyse x) | |
45 (define N (.size x)) | |
46 ; (define hist (histogram x 256)) | |
47 (define stats (node (child x "statistics") (GaussianStatsOnline. x))) | |
48 (define P (node (.getNode x) (Matrix. "P" N 3))) ; 4D points | |
49 (define mds (samer.mds.MDS. P)) | |
50 (define tasks (seq stats)) | |
51 | |
52 (set! reset-P (lambda () (.set P (samer.maths.random.NormalisedGaussian.)))) | |
53 (set! get-P (lambda () P)) | |
54 ;(matexec P "load") | |
55 | |
56 (reset-P) | |
57 ;(.setMetric mds (samer.mds.Manhatten.)) | |
58 ;(exec (viewable "mds.stress") "trace") | |
59 (matexec P "image") | |
60 ;(exec (.getLikelihoodSignal hist) "trace") | |
61 | |
62 (with-tasks tasks | |
63 (addtasks | |
64 ; hist | |
65 (sub 128 (stats->mds stats mds)) | |
66 (sub 24 mds)) | |
67 ; (view3d x P id) | |
68 ) | |
69 tasks | |
70 ) | |
71 | |
72 (define (analyse-mds x) | |
73 (define N (.size x)) | |
74 (define R (Matrix. "R" N N)) | |
75 (define P (node (.getNode x) (Matrix. "P" N 3))) ; 4D points | |
76 (define mds (samer.mds.MDS. P)) | |
77 | |
78 (set! reset-P (lambda () (.set P (samer.maths.random.NormalisedGaussian.)))) | |
79 (set! get-P (lambda () P)) | |
80 ;(matexec P "load") | |
81 | |
82 (reset-P) | |
83 ;(.setMetric mds (samer.mds.Manhatten.)) | |
84 ;(exec (viewable "mds.stress") "trace") | |
85 (matexec P "image") | |
86 | |
87 (seq | |
88 (sub 128 (R->mds R mds)) | |
89 (sub 24 mds)) | |
90 ) |