Skip to content
Snippets Groups Projects
Commit 254ec932 authored by Stephen Smith's avatar Stephen Smith
Browse files

*** empty log message ***

parent 6eaaaf37
No related branches found
No related tags found
No related merge requests found
! VEST-Waveform File
/NumWaves 1
/NumPoints 6
/Skip
/Matrix
1.000000e+00
1.000000e+00
1.000000e+00
1.000000e+00
1.000000e+00
1.000000e+00
......@@ -6,6 +6,7 @@
Copyright (C) 1999-2000 University of Oxford */
/* CCOPYRIGHT */
#if !defined(__cspline_h)
#define __cspline_h
......
Log directory is: /usr/people/woolrich/fsl/nsrc/smmfast/logdir++++
epibt =1000
spatialdatafile =/usr/people/woolrich/matlab/smm/data/art_z_checker
maskfile =/usr/people/woolrich/matlab/smm/data/art_mask_checker
mrf_precision=0.25
means=-0.187964 2.466296 -5.830409
vars=0.781579 2.096998 1.603299
props=0.559440 0.127918 0.312642
it=1
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=1988.99
smmfunc.evaluate_withmrfprec(latest)=-1702.47
latest(nclasses*num_superthreshold+1)=71.6585
mrf_precision=71.6585
it=2
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-1702.47
smmfunc.evaluate_withmrfprec(latest)=-1969.63
latest(nclasses*num_superthreshold+1)=114.107
mrf_precision=114.107
it=3
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-1969.63
smmfunc.evaluate_withmrfprec(latest)=-2069.99
latest(nclasses*num_superthreshold+1)=135.829
mrf_precision=135.829
it=4
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2069.99
smmfunc.evaluate_withmrfprec(latest)=-2119.04
latest(nclasses*num_superthreshold+1)=147.931
mrf_precision=147.931
it=5
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2119.04
smmfunc.evaluate_withmrfprec(latest)=-2168.2
latest(nclasses*num_superthreshold+1)=161.158
mrf_precision=161.158
it=6
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2168.2
smmfunc.evaluate_withmrfprec(latest)=-2202.21
latest(nclasses*num_superthreshold+1)=170.851
mrf_precision=170.851
it=7
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2202.21
smmfunc.evaluate_withmrfprec(latest)=-2257.59
latest(nclasses*num_superthreshold+1)=187.959
mrf_precision=187.959
it=8
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2257.59
smmfunc.evaluate_withmrfprec(latest)=-2291.83
latest(nclasses*num_superthreshold+1)=199.568
mrf_precision=199.568
it=9
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2291.83
smmfunc.evaluate_withmrfprec(latest)=-2320.1
latest(nclasses*num_superthreshold+1)=209.342
mrf_precision=209.342
it=10
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2320.1
smmfunc.evaluate_withmrfprec(latest)=-2339.78
latest(nclasses*num_superthreshold+1)=216.569
mrf_precision=216.569
it=11
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2339.78
smmfunc.evaluate_withmrfprec(latest)=-2362.63
latest(nclasses*num_superthreshold+1)=225.299
mrf_precision=225.299
it=12
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2362.63
smmfunc.evaluate_withmrfprec(latest)=-2374.07
latest(nclasses*num_superthreshold+1)=229.721
mrf_precision=229.721
it=13
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2374.07
smmfunc.evaluate_withmrfprec(latest)=-2385.38
latest(nclasses*num_superthreshold+1)=234.241
mrf_precision=234.241
it=14
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2385.38
smmfunc.evaluate_withmrfprec(latest)=-2397.25
latest(nclasses*num_superthreshold+1)=239.055
mrf_precision=239.055
it=15
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2397.25
smmfunc.evaluate_withmrfprec(latest)=-2412.04
latest(nclasses*num_superthreshold+1)=245.244
mrf_precision=245.244
it=16
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2412.04
smmfunc.evaluate_withmrfprec(latest)=-2422.29
latest(nclasses*num_superthreshold+1)=249.555
mrf_precision=249.555
it=17
sit=1
"Updating distribution params"=Updating distribution params
"Updating weights"=Updating weights
smmfunc.evaluate_withmrfprec(latest)=-2422.29
! VEST-Waveform File
/NumWaves 1
/NumPoints 1
/Skip
/Matrix
1.000000e+00
! VEST-Waveform File
/NumWaves 1
/NumPoints 1
/Skip
/Matrix
1.000000e+00
! VEST-Waveform File
/NumWaves 1
/NumPoints 6
/Skip
/Matrix
1.000000e+00
1.000000e+00
1.000000e+00
1.000000e+00
1.000000e+00
1.000000e+00
/* kertest.cc
Mark Jenkinson, FMRIB Image Analysis Group
Copyright (C) 2001 University of Oxford */
/* CCOPYRIGHT */
#include "kernel.h"
using namespace MISCMATHS;
......
/* miscprob.cc
Christian Beckmann & Mark Woolrich, FMRIB Image Analysis Group
Copyright (C) 1999-2000 University of Oxford */
/* CCOPYRIGHT */
// Miscellaneous maths functions that rely on libprob
#include "miscprob.h"
#include "stdlib.h"
#include "newmatio.h"
using namespace NEWMAT;
namespace MISCMATHS {
ReturnMatrix unifrnd(const int dim1, const int dim2, const float start, const float end)
{
int tdim = dim2;
double tmpD=1.0;
if(tdim<0){tdim=dim1;}
Matrix res(dim1,tdim);
for (int mc=1; mc<=res.Ncols(); mc++) {
for (int mr=1; mr<=res.Nrows(); mr++) {
drand(&tmpD);
res(mr,mc)=(tmpD-1)*(end-start)+start;
}
}
res.Release();
return res;
}
ReturnMatrix normrnd(const int dim1, const int dim2, const float mu, const float sigma)
{
int tdim = dim2;
double tmpD=1.0;
if(tdim<0){tdim=dim1;}
Matrix res(dim1,tdim);
for (int mc=1; mc<=res.Ncols(); mc++) {
for (int mr=1; mr<=res.Nrows(); mr++) {
drand(&tmpD);
res(mr,mc)=ndtri(tmpD-1.0)*sigma+mu ;
}
}
res.Release();
return res;
}
ReturnMatrix normpdf(const RowVector& vals, const float mu, const float sigma)
{
RowVector res(vals);
for (int mc=1; mc<=res.Ncols(); mc++){
res(mc) = std::exp(-0.5*(std::pow(vals(mc)-mu,2)/sigma))*std::pow(2*M_PI*sigma,-0.5);
}
res.Release();
return res;
}
ReturnMatrix normcdf(const RowVector& vals, const float mu, const float sigma)
{
RowVector res(vals);
RowVector tmp;
tmp = (vals-mu)/std::sqrt(sigma);
for (int mc=1; mc<=res.Ncols(); mc++){
res(mc) = ndtr(tmp(mc));
}
res.Release();
return res;
}
ReturnMatrix gammapdf(const RowVector& vals, const float mu, const float sigma)
{
RowVector res(vals);
float a = std::pow(mu,2)/sigma;
float b = mu/sigma;
float c = std::pow(b,a)/gamma(a);
for (int mc=1; mc<=res.Ncols(); mc++){
res(mc) = c*std::pow(std::abs(vals(mc)),a-1)*std::exp(-b*std::abs(vals(mc)));
}
res.Release();
return res;
}
ReturnMatrix normpdf(const RowVector& vals, const RowVector& mu, const RowVector& sigma)
{
Matrix res(mu.Ncols(),vals.Ncols());
for (int mc=1; mc<=res.Ncols(); mc++){
for (int mr=1; mr<=res.Nrows(); mr++){
res(mr,mc) = std::exp(-0.5*(std::pow(vals(mc)-mu(mr),2)/sigma(mr)))*std::pow(2*M_PI*sigma(mr),-0.5);
}
}
res.Release();
return res;
}
ReturnMatrix mvnormrandm(const RowVector& mu, const SymmetricMatrix& covar, int nsamp)
{
// Matrix eig_vec;
// DiagonalMatrix eig_val;
// EigenValues(covar,eig_val,eig_vec);
// Matrix ret = ones(nsamp, 1)*mu + dnormrandm(nsamp,mu.Ncols())*sqrt(eig_val)*eig_vec.t();
Mvnormrandm mvn(mu, covar);
return mvn.next(nsamp);
}
}
/* miscprob.h
Christian Beckmann & Mark Woolrich, FMRIB Image Analysis Group
Copyright (C) 1999-2000 University of Oxford */
/* CCOPYRIGHT */
// Miscellaneous maths functions that rely on libprob build ontop of miscmaths
#if !defined(__miscprob_h)
#define __miscprob_h
#include "miscmaths.h"
#include "libprob.h"
using namespace NEWMAT;
namespace MISCMATHS {
ReturnMatrix unifrnd(const int dim1 = 1, const int dim2 = -1, const float start = 0, const float end = 1);
ReturnMatrix normrnd(const int dim1 = 1, const int dim2 = -1, const float mu = 0, const float sigma = 1);
ReturnMatrix normpdf(const RowVector& vals, const float mu = 0, const float sigma = 1);
ReturnMatrix normcdf(const RowVector& vals, const float mu = 0, const float sigma = 1);
ReturnMatrix gammapdf(const RowVector& vals, const float mu, const float sigma);
ReturnMatrix normpdf(const RowVector& vals, const RowVector& mus, const RowVector& sigmas);
ReturnMatrix mvnrnd(const RowVector& mu, const SymmetricMatrix& covar, int nsamp = 1);
class Mvnormrandm
{
public:
Mvnormrandm(){}
Mvnormrandm(const RowVector& pmu, const SymmetricMatrix& pcovar) :
mu(pmu),
covar(pcovar)
{
Matrix eig_vec;
DiagonalMatrix eig_val;
EigenValues(covar,eig_val,eig_vec);
covarw = sqrt(eig_val)*eig_vec.t();
}
ReturnMatrix next(int nsamp = 1) const
{
Matrix ret = ones(nsamp, 1)*mu + normrnd(nsamp,mu.Ncols())*covarw;
ret.Release();
return ret;
}
private:
RowVector mu;
SymmetricMatrix covar;
Matrix covarw;
};
}
#endif
/* quick.cc
Mark Woolrich, FMRIB Image Analysis Group
Copyright (C) 1999-2000 University of Oxford */
/* CCOPYRIGHT */
#include <iostream>
#include <fstream>
#include <iomanip>
......
/* sparse_matrix.h
Mark Woolrich, FMRIB Image Analysis Group
Copyright (C) 1999-2000 University of Oxford */
/* CCOPYRIGHT */
#include <iostream>
#include <iomanip>
#include <strstream>
......
/* sparsefn.h
Mark Woolrich, FMRIB Image Analysis Group
Copyright (C) 1999-2000 University of Oxford */
/* CCOPYRIGHT */
#include <iostream>
#include <iomanip>
#include <strstream>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment