-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathGetPsi.m
43 lines (40 loc) · 1000 Bytes
/
GetPsi.m
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
function psi = GetPsi(varargin)
% Compute a diffeomorphism from shape basis functions
% FORMAT psi = GetPsi(z,Wv,s)
%
% z - Latent variables
% Wv - Shape basis functions
% s - Settings. Uses s.vx, s.v_settings & s.int_args.
%
% psi - The resulting diffeomorphism
%
% FORMAT psi = GetPsi(v0,s)
%
% v0 - Initial velocity
% s - Settings. Uses s.vx, s.v_settings & s.int_args.
%
% psi - The resulting diffeomorphism
%
%__________________________________________________________________________
% Copyright (C) 2017 Wellcome Trust Centre for Neuroimaging
% John Ashburner
% $Id$
if nargin==3 % && isstruct(varargin{3})
z = varargin{1};
Wv = varargin{2};
s = varargin{3};
v0 = GetV0(z,Wv);
elseif nargin==2
v0 = varargin{1};
s = varargin{2};
else
error('Unknown option.');
end
if ~iscell(v0)
psi = Shoot(v0,[s.vx s.v_settings],s.int_args);
else
for n=1:numel(v0)
v0{n} = Shoot(v0{n},[s.vx s.v_settings],s.int_args);
end
psi = v0;
end