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
7b3e4ca8
Commit
7b3e4ca8
authored
5 years ago
by
Paul McCarthy
Browse files
Options
Downloads
Patches
Plain Diff
BF: makeWriteable will make a copy of an array if its base is a bytes object.
Works around older numpy versions
parent
d6ba364b
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
fsl/data/utils.py
+12
-0
12 additions, 0 deletions
fsl/data/utils.py
with
12 additions
and
0 deletions
fsl/data/utils.py
+
12
−
0
View file @
7b3e4ca8
...
@@ -84,7 +84,19 @@ def makeWriteable(array):
...
@@ -84,7 +84,19 @@ def makeWriteable(array):
is not possible, a copy is created and returned.
is not possible, a copy is created and returned.
"""
"""
try
:
try
:
# Versions of numpy prior to 1.16 will
# happily mutate a bytes array, whcih
# is supposed to be immutable. So if
# is the case, let's force a copy.
if
isinstance
(
array
.
base
,
bytes
):
raise
ValueError
()
# In versions of numpy 1.16 and newer,
# setting the WRITEABLE flag on an
# immutable array will cause a
# ValueError to be raised
array
.
flags
[
'
WRITEABLE
'
]
=
True
array
.
flags
[
'
WRITEABLE
'
]
=
True
except
ValueError
:
except
ValueError
:
array
=
np
.
array
(
array
)
array
=
np
.
array
(
array
)
return
array
return
array
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