[FieldTrip] headmovement - circumcenter function

Conny Quaedflieg cornelia.quaedflieg at uni-hamburg.de
Wed Jun 21 10:10:00 CEST 2017


Dear Fieldtrip users, 

 

I would like to add / regress out headmovement in my MEG data. 

I found the nice wiki tutorial from fieldtrip: 

http://www.fieldtriptoolbox.org/example/how_to_incorporate_head_movements_in
_meg_analysis 

 

However, when running the code I get the following error message: 

Undefined function 'circumcenter' for input arguments of type 'double'.

 

I checked my paths and circumcenter is in it. Though if I open it, I see the
following code. 

%circumcenter  Circumcenter of triangle or tetrahedron

% CC = circumcenter(TR, TI) returns the coordinates of the circumcenter

%     of each triangle or tetrahedron in TI.

%     TI is a column vector of triangle or tetrahedron IDs corresponding to

%     the row numbers of the triangulation connectivity matrix
TR.ConnectivityList.

%     CC is an m-by-n matrix, where m is of length(TI), the number of
specified

%     triangles/tetrahedra, and n is the spatial dimension 2 <= n <= 3.

%     Each row CC(i,:) represents the coordinates of the circumcenter

%     of TI(i). If TI is not specified the circumcenter information for

%     the entire triangulation is returned, where the circumcenter
associated

%     with triangle/tetrahedron i is the i'th row of CC.

%

%     [CC RCC] = circumcenter(TR, TI) returns in addition, the corresponding

%     radius of the circumscribed circle/sphere. RCC is a vector of length

%     length(TI), the number of specified triangles/tetrahedra.

%

%   Example 1: Load a 2D triangulation and use the triangulation to compute
the

%              circumcenters.

%       load trimesh2d

%       % This loads triangulation tri and vertex coordinates  x, y

%       trep = triangulation(tri, x,y)

%       cc = circumcenter(trep);

%       triplot(trep);

%       axis([-50 350 -50 350]);

%       axis equal;

%       hold on; plot(cc(:,1),cc(:,2),'*r'); hold off;

%       % The circumcenters represent points on the medial axis of the
polygon.

%

%   Example 2: Direct query of a 3D triangulation created using
delaunayTriangulation

%              Compute the circumcenters of the first five tetrahedra.

%       X = rand(10,3);

%       dt = delaunayTriangulation(X);

%       [cc rcc] = circumcenter(dt, [1:5]')

%

%   See also triangulation, triangulation.incenter, delaunayTriangulation.

%   Copyright 2008-2012 The MathWorks, Inc.

%   Built-in function.

 

It seems to me that the real function is missing. Is this normal? Could this
be the problem? 

I googled circumcenter and found the function, though I am not sure whether
this is doing what it should do. Besides it also doesn’t run when including
the 3 coil variables (error messages: Error using circumcenter2 Too many
input arguments.)

Help is really appreciated :) 

Best 

Dr. C. Quaedflieg, Hamburg University 

 

 

The code that I Found for circumcenter

 

function [ pc, r ] = circumcenter ( p, t )

 

%***************************************************************************
**80

%

%% CIRCUMCENTER computes the circumcenters of a set of triangles.

%

%  Discussion:

%

%    The circumcenter of a triangle is the circle which passes through

%    all three vertices of the triangle.

%

%  Licensing:

%

%    (C) 2004 Per-Olof Persson. 

%    See COPYRIGHT.TXT for details.

%

%  Reference:

%

%    Per-Olof Persson and Gilbert Strang,

%    A Simple Mesh Generator in MATLAB,

%    SIAM Review,

%    Volume 46, Number 2, June 2004, pages 329-345.

%

%  Modified:

%

%    11 June 2004

%

%  Parameters:

%

%    Input, real P(NP,2), the coordinates of a set of nodes.

%

%    Input, integer T(NT,1:3), a list of the nodes which make up each
triangle

%    of a triangulation of the nodes in P.

%

%    Output, real PC(NT,2), the centers of the circumcircles.

%

%    Output, real R(NT,1), the radii of the circumcircles.

%

  nt = size ( t, 1 );

 

  pc = zeros ( nt, 2 );

  r  = zeros ( nt, 1 );

 

  for it = 1 : nt

 

    ct = t(it,:);

    dp1 = p(ct(2),:) - p(ct(1),:);

    dp2 = p(ct(3),:) - p(ct(1),:);

  

    mid1 = ( p(ct(2),:) + p(ct(1),:) ) / 2;

    mid2 = ( p(ct(3),:) + p(ct(1),:) ) / 2;

  

    s = [ -dp1(2), dp2(2); dp1(1), -dp2(1) ] \ [ -mid1 + mid2 ]';

  

    cpc = mid1 + s(1) * [ -dp1(2), dp1(1) ];

    cr = norm ( p(ct(1),:) - cpc );

  

    pc(it,:) = cpc;

    r(it,1) = cr;

    

  end

 

  return 

end

 

 

Mit freundlichen Grüßen,

 

 



E-Mail:  <mailto:cornelia.quaedflieg at uni-hamburg.de>
cornelia.quaedflieg at uni-hamburg.de 

Tel.:  <tel:+49%2040%2042838-5448> +49 40 42838-5448   Website:
<https://www.psy.uni-hamburg.de/arbeitsbereiche/kognitionspsychologie/person
en/quaedflieg-conny.html> Hyperlink

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20170621/1fb414da/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.jpg
Type: image/jpeg
Size: 5394 bytes
Desc: not available
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20170621/1fb414da/attachment-0001.jpg>


More information about the fieldtrip mailing list