Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
fslpy
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Analyze
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
FSL
fslpy
Commits
69b071ec
Commit
69b071ec
authored
5 years ago
by
Michiel Cottaar
Browse files
Options
Downloads
Patches
Plain Diff
ENH: add name to find method
parent
9b2d3b1f
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
fsl/data/atlases.py
+18
-5
18 additions, 5 deletions
fsl/data/atlases.py
fsl/utils/filetree/trees/ProbtrackX.tree
+1
-1
1 addition, 1 deletion
fsl/utils/filetree/trees/ProbtrackX.tree
tests/test_atlases.py
+15
-0
15 additions, 0 deletions
tests/test_atlases.py
with
34 additions
and
6 deletions
fsl/data/atlases.py
+
18
−
5
View file @
69b071ec
...
...
@@ -595,12 +595,25 @@ class AtlasDescription(object):
labels, and a 3D ``LabelAtlas`` may have more values
than labels.
"""
if
(
index
is
None
and
value
is
None
)
or
\
(
index
is
not
None
and
value
is
not
None
):
raise
ValueError
(
'
Only one of index or value may be specified
'
)
if
((
index
is
not
None
)
+
(
value
is
not
None
)
+
(
name
is
not
None
))
!=
1
:
raise
ValueError
(
'
Only one of index, value, or name may be specified
'
)
if
index
is
not
None
:
return
self
.
labels
[
index
]
elif
value
is
not
None
:
return
self
.
__labelsByValue
[
int
(
value
)]
else
:
matches
=
[
l
for
l
in
self
.
labels
if
l
.
name
==
name
]
if
len
(
matches
)
==
0
:
# look for partial matches only if there are no full matches
matches
=
[
l
for
l
in
self
.
labels
if
l
.
name
[:
len
(
name
)]
==
name
]
if
len
(
matches
)
==
0
:
raise
IndexError
(
'
No match for {} found in labels {}
'
.
format
(
name
,
tuple
(
l
.
name
for
l
in
self
.
labels
)
))
elif
len
(
matches
)
>
1
:
raise
IndexError
(
'
Multiple matches for {} found in labels {}
'
.
format
(
name
,
tuple
(
l
.
name
for
l
in
self
.
labels
)
))
return
matches
[
0
]
if
index
is
not
None
:
return
self
.
labels
[
index
]
else
:
return
self
.
__labelsByValue
[
int
(
value
)]
def
__eq__
(
self
,
other
):
...
...
This diff is collapsed.
Click to expand it.
fsl/utils/filetree/trees/ProbtrackX.tree
+
1
−
1
View file @
69b071ec
basename=fdt
basename=fdt
_paths
probtrackx.log (log_cmd)
{basename}.log (log_settings)
...
...
This diff is collapsed.
Click to expand it.
tests/test_atlases.py
+
15
−
0
View file @
69b071ec
...
...
@@ -254,16 +254,31 @@ def test_find():
assert
atlas
.
find
(
value
=
label
.
value
)
==
label
assert
atlas
.
find
(
index
=
label
.
index
)
==
label
assert
atlas
.
find
(
name
=
label
.
name
)
==
label
assert
atlas
.
desc
.
find
(
value
=
label
.
value
)
==
label
assert
atlas
.
desc
.
find
(
index
=
label
.
index
)
==
label
assert
atlas
.
desc
.
find
(
name
=
label
.
name
)
==
label
if
atlas
is
not
lblatlas
:
# lblatlas has a lot of very similar label names
assert
atlas
.
find
(
name
=
label
.
name
[:
-
2
])
==
label
assert
atlas
.
desc
.
find
(
name
=
label
.
name
[:
-
2
])
==
label
with
pytest
.
raises
(
ValueError
):
atlas
.
find
()
with
pytest
.
raises
(
ValueError
):
atlas
.
find
(
index
=
1
,
value
=
1
)
with
pytest
.
raises
(
ValueError
):
atlas
.
find
(
index
=
1
,
name
=
1
)
with
pytest
.
raises
(
ValueError
):
atlas
.
find
(
value
=
1
,
name
=
1
)
with
pytest
.
raises
(
IndexError
):
atlas
.
find
(
index
=
len
(
labels
))
with
pytest
.
raises
(
IndexError
):
atlas
.
find
(
name
=
'
InvalidROI
'
)
with
pytest
.
raises
(
IndexError
):
atlas
.
find
(
name
=
''
)
maxval
=
max
([
l
.
value
for
l
in
labels
])
with
pytest
.
raises
(
KeyError
):
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment