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
fa458217
Commit
fa458217
authored
5 years ago
by
Paul McCarthy
Browse files
Options
Downloads
Patches
Plain Diff
TEST: Test convertx5 script
parent
d861c3e7
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
tests/test_scripts/test_fsl_convert_x5.py
+68
-2
68 additions, 2 deletions
tests/test_scripts/test_fsl_convert_x5.py
with
68 additions
and
2 deletions
tests/test_scripts/test_fsl_convert_x5.py
+
68
−
2
View file @
fa458217
#!/usr/bin/env python
#!/usr/bin/env python
import
os.path
as
op
import
numpy
as
np
import
numpy
as
np
import
fsl.utils.tempdir
as
tempdir
import
fsl.utils.tempdir
as
tempdir
import
fsl.transform.affine
as
affine
import
fsl.transform.affine
as
affine
import
fsl.transform.flirt
as
flirt
import
fsl.transform.flirt
as
flirt
import
fsl.transform.fnirt
as
fnirt
import
fsl.transform.x5
as
x5
import
fsl.transform.x5
as
x5
import
fsl.data.image
as
fslimage
import
fsl.data.image
as
fslimage
import
fsl.scripts.fsl_convert_x5
as
fsl_convert_x5
import
fsl.scripts.fsl_convert_x5
as
fsl_convert_x5
def
random_image
():
def
random_image
():
vx
,
vy
,
vz
=
np
.
random
.
randint
(
10
,
50
,
3
)
vx
,
vy
,
vz
=
np
.
random
.
randint
(
10
,
50
,
3
)
dx
,
dy
,
dz
=
np
.
random
.
randint
(
1
,
10
,
3
)
dx
,
dy
,
dz
=
np
.
random
.
randint
(
1
,
10
,
3
)
...
@@ -50,8 +54,70 @@ def test_convert_flirt():
...
@@ -50,8 +54,70 @@ def test_convert_flirt():
assert
src
.
sameSpace
(
gotsrc
)
assert
src
.
sameSpace
(
gotsrc
)
assert
ref
.
sameSpace
(
gotref
)
assert
ref
.
sameSpace
(
gotref
)
fsl_convert_x5
.
main
(
'
flirt -s src -r ref src2ref.x5
'
fsl_convert_x5
.
main
(
'
flirt src2ref.x5 src2ref_copy.mat
'
.
split
())
'
src2ref_copy.mat
'
.
split
())
gotxform
=
flirt
.
readFlirt
(
'
src2ref_copy.mat
'
)
gotxform
=
flirt
.
readFlirt
(
'
src2ref_copy.mat
'
)
assert
np
.
all
(
np
.
isclose
(
gotxform
,
xform
))
assert
np
.
all
(
np
.
isclose
(
gotxform
,
xform
))
def
test_convert_fnirt_displacement_field
():
datadir
=
op
.
join
(
op
.
dirname
(
__file__
),
'
..
'
,
'
test_transform
'
,
'
testdata
'
,
'
nonlinear
'
)
srcfile
=
op
.
join
(
datadir
,
'
src.nii.gz
'
)
reffile
=
op
.
join
(
datadir
,
'
ref.nii.gz
'
)
dffile
=
op
.
join
(
datadir
,
'
displacementfield.nii.gz
'
)
with
tempdir
.
tempdir
():
# nii -> x5
fsl_convert_x5
.
main
(
'
fnirt -s {} -r {} {} disp.x5
'
.
format
(
srcfile
,
reffile
,
dffile
).
split
())
# x5 -> nii
fsl_convert_x5
.
main
(
'
fnirt disp.x5 disp.nii.gz
'
.
split
())
src
=
fslimage
.
Image
(
srcfile
)
ref
=
fslimage
.
Image
(
reffile
)
df
=
fnirt
.
readFnirt
(
dffile
,
src
,
ref
)
dfnii
=
fnirt
.
readFnirt
(
'
disp.nii.gz
'
,
src
,
ref
)
assert
dfnii
.
src
.
sameSpace
(
src
)
assert
dfnii
.
ref
.
sameSpace
(
ref
)
assert
dfnii
.
srcSpace
==
df
.
srcSpace
assert
dfnii
.
refSpace
==
df
.
refSpace
assert
dfnii
.
displacementType
==
df
.
displacementType
assert
np
.
all
(
np
.
isclose
(
dfnii
.
data
,
df
.
data
))
def
test_convert_fnirt_coefficient_field
():
datadir
=
op
.
join
(
op
.
dirname
(
__file__
),
'
..
'
,
'
test_transform
'
,
'
testdata
'
,
'
nonlinear
'
)
srcfile
=
op
.
join
(
datadir
,
'
src.nii.gz
'
)
reffile
=
op
.
join
(
datadir
,
'
ref.nii.gz
'
)
cffile
=
op
.
join
(
datadir
,
'
coefficientfield.nii.gz
'
)
with
tempdir
.
tempdir
():
# nii -> x5
fsl_convert_x5
.
main
(
'
fnirt -s {} -r {} {} coef.x5
'
.
format
(
srcfile
,
reffile
,
cffile
).
split
())
# x5 -> nii
fsl_convert_x5
.
main
(
'
fnirt coef.x5 coef.nii.gz
'
.
split
())
src
=
fslimage
.
Image
(
srcfile
)
ref
=
fslimage
.
Image
(
reffile
)
cf
=
fnirt
.
readFnirt
(
cffile
,
src
,
ref
)
cfnii
=
fnirt
.
readFnirt
(
'
coef.nii.gz
'
,
src
,
ref
)
assert
cfnii
.
src
.
sameSpace
(
src
)
assert
cfnii
.
ref
.
sameSpace
(
ref
)
assert
cfnii
.
srcSpace
==
cf
.
srcSpace
assert
cfnii
.
refSpace
==
cf
.
refSpace
assert
cfnii
.
knotSpacing
==
cf
.
knotSpacing
assert
np
.
all
(
np
.
isclose
(
cfnii
.
fieldToRefMat
,
cf
.
fieldToRefMat
))
assert
np
.
all
(
np
.
isclose
(
cfnii
.
srcToRefMat
,
cf
.
srcToRefMat
))
assert
np
.
all
(
np
.
isclose
(
cfnii
.
data
,
cf
.
data
))
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