Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
FSL
fslpy
Commits
2aaf5fa9
Commit
2aaf5fa9
authored
Jan 11, 2019
by
Paul McCarthy
🚵
Browse files
RF: Fixes to support loading of multiple vertex sets and data from one gifti file
parent
99cc593f
Changes
1
Hide whitespace changes
Inline
Side-by-side
fsl/data/gifti.py
View file @
2aaf5fa9
...
...
@@ -35,13 +35,13 @@ import fsl.data.constants as constants
import
fsl.data.mesh
as
fslmesh
ALLOWED_EXTENSIONS
=
[
'.gii'
]
ALLOWED_EXTENSIONS
=
[
'.surf.gii'
,
'.gii'
]
"""List of file extensions that a file containing Gifti surface data
is expected to have.
"""
EXTENSION_DESCRIPTIONS
=
[
'GIFTI file'
]
EXTENSION_DESCRIPTIONS
=
[
'GIFTII surface file'
,
'GIFTI file'
]
"""A description for each of the :data:`ALLOWED_EXTENSIONS`. """
...
...
@@ -83,8 +83,10 @@ class GiftiMesh(fslmesh.Mesh):
name
=
name
,
dataSource
=
infile
)
for
v
in
vertices
:
self
.
addVertices
(
v
,
infile
,
fixWinding
=
fixWinding
)
for
i
,
v
in
enumerate
(
vertices
):
if
i
==
0
:
key
=
infile
else
:
key
=
'{} [{}]'
.
format
(
infile
,
i
)
self
.
addVertices
(
v
,
key
,
select
=
(
i
==
0
),
fixWinding
=
fixWinding
)
self
.
setMeta
(
infile
,
surfimg
)
if
vdata
is
not
None
:
...
...
@@ -95,18 +97,21 @@ class GiftiMesh(fslmesh.Mesh):
# as the specfiied one.
if
loadAll
:
nvertices
=
vertices
.
shape
[
0
]
nvertices
=
vertices
[
0
]
.
shape
[
0
]
surfFiles
=
relatedFiles
(
infile
,
ALLOWED_EXTENSIONS
)
for
sfile
in
surfFiles
:
surfimg
,
vertices
,
_
=
loadGiftiMesh
(
sfile
)
try
:
surfimg
,
_
,
vertices
,
_
=
loadGiftiMesh
(
sfile
)
except
Exception
:
continue
if
vertices
.
shape
[
0
]
!=
nvertices
:
if
vertices
[
0
]
.
shape
[
0
]
!=
nvertices
:
continue
self
.
addVertices
(
vertices
,
sfile
,
select
=
False
)
self
.
setMeta
(
sfile
,
surfimg
)
self
.
addVertices
(
vertices
[
0
]
,
sfile
,
select
=
False
)
self
.
setMeta
(
sfile
,
surfimg
)
def
loadVertices
(
self
,
infile
,
key
=
None
,
*
args
,
**
kwargs
):
...
...
@@ -126,7 +131,7 @@ class GiftiMesh(fslmesh.Mesh):
if
key
is
None
:
key
=
infile
surfimg
,
vertices
,
_
=
loadGiftiMesh
(
infile
)
surfimg
,
_
,
vertices
,
_
=
loadGiftiMesh
(
infile
)
vertices
=
self
.
addVertices
(
vertices
,
key
,
*
args
,
**
kwargs
)
...
...
@@ -229,6 +234,9 @@ def loadGiftiVertexData(filename):
def
prepareGiftiVertexData
(
darrays
,
filename
=
None
):
"""Prepares vertex data from the given list of GIFTI data arrays.
All of the data arrays are concatenated into one ``(M, N)`` array,
containing ``N`` data points for ``M`` vertices.
It is assumed that the given file does not contain any
``NIFTI_INTENT_POINTSET`` or ``NIFTI_INTENT_TRIANGLE`` data arrays, and
which contains either:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment