Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
B
bidsme_examples
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Issue analytics
Insights
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
GIGA-CRC Human Imaging
Public
BIDStools
BIDSme
bidsme_examples
Commits
0c8dea10
Commit
0c8dea10
authored
5 years ago
by
Beliy Nikita
Browse files
Options
Downloads
Patches
Plain Diff
rename adapted
parent
2552fe93
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
example1/resources/plugins/rename_plugin.py
+23
-40
23 additions, 40 deletions
example1/resources/plugins/rename_plugin.py
with
23 additions
and
40 deletions
example1/resources/plugins/rename_plugin.py
+
23
−
40
View file @
0c8dea10
...
...
@@ -34,7 +34,7 @@ excel_col_list = {'Patient' : 'pat',
'
1.1
'
:
"
cnt_1
"
,
'
2.1
'
:
"
cnt_2
"
,
'
3.1
'
:
"
cnt_3
"
,
}
sub_columns
=
BIDSfieldLibrary
()
#
sub_columns = BIDSfieldLibrary()
def
InitEP
(
source
:
str
,
destination
:
str
,
...
...
@@ -58,10 +58,6 @@ def InitEP(source: str, destination: str,
raise
FileNotFoundError
(
"
Subject file
'
{}
'
not found
"
.
format
(
subject_file
))
# generating model participants.tsv
model_participants
=
os
.
path
.
join
(
resources
,
"
participants.json
"
)
sub_columns
.
LoadDefinitions
(
model_participants
)
# creating df for subjects
global
df_subjects
df_subjects
=
pandas
.
read_excel
(
subject_file
,
...
...
@@ -93,20 +89,19 @@ def SubjectEP(session: BidsSession) -> int:
sex
=
line
[
0
]
age
=
int
(
line
[
1
])
education
=
int
(
line
[
2
])
values
=
sub_columns
.
GetTemplate
()
values
[
"
participant_id
"
]
=
"
sub-
"
+
session
.
subject
values
[
"
sex
"
]
=
sex
values
[
"
age
"
]
=
age
values
[
"
education
"
]
=
education
session
.
sub_values
[
"
participant_id
"
]
=
"
sub-
"
+
session
.
subject
session
.
sub_values
[
"
sex
"
]
=
sex
session
.
sub_values
[
"
age
"
]
=
age
session
.
sub_values
[
"
education
"
]
=
education
# looking for pairing
if
status
==
0
:
values
[
"
group
"
]
=
"
patient
"
values
[
"
paired
"
]
=
"
sub-{:03}
"
.
format
(
int
(
df_subjects
session
.
sub_
values
[
"
group
"
]
=
"
patient
"
session
.
sub_
values
[
"
paired
"
]
=
"
sub-{:03}
"
.
format
(
int
(
df_subjects
.
loc
[
index
,
"
cnt
"
]))
else
:
values
[
"
group
"
]
=
"
control
"
values
[
"
paired
"
]
=
"
sub-{:03}
"
.
format
(
int
(
df_subjects
session
.
sub_
values
[
"
group
"
]
=
"
control
"
session
.
sub_
values
[
"
paired
"
]
=
"
sub-{:03}
"
.
format
(
int
(
df_subjects
.
loc
[
index
,
"
pat
"
]))
# looking for order of sessions
...
...
@@ -121,47 +116,34 @@ def SubjectEP(session: BidsSession) -> int:
v
=
"
ses-
"
+
str
(
df_subjects
.
loc
[
index
,
prefix
+
s
]).
strip
()
ses
=
"
ses
"
+
s
if
v
==
"
ses-nan
"
:
values
[
ses
]
=
""
session
.
sub_
values
[
ses
]
=
""
logger
.
warning
(
"
Subject {}({}): missing {} value
"
.
format
(
values
[
"
participant_id
"
],
values
[
"
group
"
],
.
format
(
session
.
sub_
values
[
"
participant_id
"
],
session
.
sub_
values
[
"
group
"
],
ses
)
)
elif
v
not
in
Series
:
logger
.
critical
(
"
Subject {}({}): Invalid {}: {}
"
.
format
(
values
[
"
participant_id
"
],
values
[
"
group
"
],
.
format
(
session
.
sub_
values
[
"
participant_id
"
],
session
.
sub_
values
[
"
group
"
],
ses
,
values
[
ses
])
session
.
sub_
values
[
ses
])
)
raise
KeyError
(
"
Invalid {}: {}
"
.
format
(
ses
,
v
))
else
:
values
[
ses
]
=
v
scans_map
[
scans_order
[
ind
]]
=
values
[
ses
]
session
.
sub_
values
[
ses
]
=
v
scans_map
[
scans_order
[
ind
]]
=
session
.
sub_
values
[
ses
]
# checking if all scans are identifyable
for
scan
in
scans_order
:
if
scan
not
in
scans_map
:
logger
.
error
(
"
Subject {}({}): Can
'
t identify session {}
"
.
format
(
values
[
"
participant_id
"
],
values
[
"
group
"
],
.
format
(
session
.
sub_
values
[
"
participant_id
"
],
session
.
sub_
values
[
"
group
"
],
scan
))
scans_map
[
scan
]
=
scan
# creating tsv file
tsv_file
=
os
.
path
.
join
(
bidsfolder
,
"
participants.tsv
"
)
if
not
os
.
path
.
isfile
(
tsv_file
):
with
open
(
tsv_file
,
'
w
'
)
as
f
:
f
.
write
(
sub_columns
.
GetHeader
())
f
.
write
(
"
\n
"
)
with
open
(
os
.
path
.
join
(
bidsfolder
,
"
participants.tsv
"
),
"
a
"
)
as
f
:
f
.
write
(
sub_columns
.
GetLine
(
values
))
f
.
write
(
"
\n
"
)
model_participants
=
os
.
path
.
join
(
bidsfolder
,
"
participants.json
"
)
if
not
os
.
path
.
isfile
(
model_participants
):
sub_columns
.
DumpDefinitions
(
model_participants
)
session
.
subject
=
"
sub-
"
+
session
.
subject
return
0
...
...
@@ -173,8 +155,9 @@ def SessionEP(session: BidsSession) -> int:
def
SessionEndEP
(
session
:
BidsSession
):
out_path
=
os
.
path
.
join
(
bidsfolder
,
session
.
getPath
(
True
),
path
=
os
.
path
.
join
(
bidsfolder
,
session
.
getPath
(
True
))
out_path
=
os
.
path
.
join
(
path
,
"
MRI
"
)
if
not
checkSeries
(
out_path
,
session
.
subject
,
session
.
session
,
...
...
@@ -186,7 +169,7 @@ def SessionEndEP(session: BidsSession):
return
0
logs
=
os
.
path
.
join
(
session
.
in_path
,
"
inp
"
)
aux_d
=
os
.
path
.
join
(
out_
path
,
"
aux
"
)
aux_d
=
os
.
path
.
join
(
path
,
"
aux
"
)
if
not
os
.
path
.
isdir
(
logs
):
raise
NotADirectoryError
(
logs
)
...
...
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