Mercurial > hg > jslab
view src/scheme/analysis.scm @ 1:5df24c91468d
Oh my what a mess.
author | samer |
---|---|
date | Fri, 05 Apr 2019 16:26:00 +0100 |
parents | bf79fb79ee13 |
children |
line wrap: on
line source
;(load "view3d.scm") (load "models.scm") (load "functions.scm") (define o CompoundFunction.) (define distances null) (define reset-P null) (define computeD null) (define get-P null) (define (stats->mds stats mds) (let* ((N (.N$# mds)) (R (Matrix. "R" N N)) (stats->corr (task (.getCorrelation stats R))) (corr->D (samer.mds.CorrelationTask. mds R))) (set! distances (VVector. "distances" (.getLinkArray mds))) (set! computeD (seq stats->corr corr->D (Ops.apply (o (vscale 16.0) (vpower 1.0)) distances) (Ops.update distances) ) ) (matexec R "image") computeD ) ) (define (R->mds R mds) (set! distances (VVector. "distances" (.getLinkArray mds))) (set! computeD (seq (samer.mds.CorrelationTask. mds R) (Ops.apply (o (vscale 16.0) (vpower 1.0)) distances) (Ops.update distances) ) ) (matexec R "image") computeD ) (define (analyse x) (define N (.size x)) ; (define hist (histogram x 256)) (define stats (node (child x "statistics") (GaussianStatsOnline. x))) (define P (node (.getNode x) (Matrix. "P" N 3))) ; 4D points (define mds (samer.mds.MDS. P)) (define tasks (seq stats)) (set! reset-P (lambda () (.set P (samer.maths.random.NormalisedGaussian.)))) (set! get-P (lambda () P)) ;(matexec P "load") (reset-P) ;(.setMetric mds (samer.mds.Manhatten.)) ;(exec (viewable "mds.stress") "trace") (matexec P "image") ;(exec (.getLikelihoodSignal hist) "trace") (with-tasks tasks (addtasks ; hist (sub 128 (stats->mds stats mds)) (sub 24 mds)) ; (view3d x P id) ) tasks ) (define (analyse-mds x) (define N (.size x)) (define R (Matrix. "R" N N)) (define P (node (.getNode x) (Matrix. "P" N 3))) ; 4D points (define mds (samer.mds.MDS. P)) (set! reset-P (lambda () (.set P (samer.maths.random.NormalisedGaussian.)))) (set! get-P (lambda () P)) ;(matexec P "load") (reset-P) ;(.setMetric mds (samer.mds.Manhatten.)) ;(exec (viewable "mds.stress") "trace") (matexec P "image") (seq (sub 128 (R->mds R mds)) (sub 24 mds)) )