Open WilliamFCB opened 1 week ago
Choose one:
I wrapped dumps into html <details>
flag to make this issue manageable.
so what is that PermissionError: [Errno 13] Permission denied: '/mnt/projects/VIA_BIDS/BIDS_MRI_DRCMR/rawdata/sub-via006/ses-02DRCMRprisma/func/sub-via006_ses-02DRCMRprisma_task-at_run-01_part-mag_events.tsv'
about? I recommend to fix it up!
this fixup to your heuristic would make it work with released version
--- heuristic.py 2024-09-18 16:06:12.301320883 -0400
+++ heuristic_fixed.py 2024-09-18 16:08:00.845927516 -0400
@@ -1,6 +1,6 @@
import os
-def create_key(template, outtype=('nii.gz'), annotation_classes=None):
+def create_key(template, outtype=('nii.gz',), annotation_classes=None):
if template is None or not template:
raise ValueError('template must be a valid format string')
return template, outtype, annotation_classes
and #787 should provide workaround at heudiconv level in the future release.
@yarikoptic, many thanks for condensing the info. I learned something new.
I have no idea what the "that PermissionError: [Errno 13] " is about. That file does not exist. Moreover, why would heudiconv want to access a subjectid that is not ported for conversion? What could cause such behavior?
The added "," did the trick. Many thanks!!
Think I figured it out. Heudonv goes through all subject id in rawdata/
I will just revert to the standard behavior of heudiconv and let it create the separate events file again.
However, I typically make subject directories read only after conversion to prevent accidental deletion.
nice strategy! may I recommend DataLad and datalad run
command (https://handbook.datalad.org/en/latest/basics/basics-run.html) -- it can help keeping your mind at peace while running anything which could remove/change/etc your data ;-) I tend to keep everything under git/git-annex/datalad for such a reason
Many thanks for the suggestion. I have no experience with Datalad, but will look into it!
there is even --datalad
mode for heudiconv happen you want to try ;-)
Summary
@yarikoptic
BIDS conversion with heudiconv 0.10.0 produces the expected output. However, no output is generated when using heudiconv 1.2.0. The anat, dwi, fmap, and func subdirectories are created, but empty Might this be related to the used heuristic fíle (created for heudiconv 0.10.0) not being compatible with heudiconv 1.2.0?
A minor issue, for both heudiconv version is that the fmri event files are not created
Any ideas?
Many thanks in advance William
Heudiconv call:
heuristic file:
````python import os def create_key(template, outtype=('nii.gz'), annotation_classes=None): if template is None or not template: raise ValueError('template must be a valid format string') return template, outtype, annotation_classes def infotodict(seqinfo): t23d = create_key('sub-{subject}/{session}/anat/sub-{subject}_{session}_acq-{acq}_run-01_T2w') # use run-0{item:01d} to import multiple scans with same name unit = create_key('sub-{subject}/{session}/anat/sub-{subject}_{session}_acq-{acq}_rec-{rec}_run-01_UNIT1') inverse1 = create_key('sub-{subject}/{session}/anat/sub-{subject}_{session}_acq-{acq}_rec-{rec}_run-01_inv-1_MP2RAGE') inverse2 = create_key('sub-{subject}/{session}/anat/sub-{subject}_{session}_acq-{acq}_rec-{rec}_run-01_inv-2_MP2RAGE') dwi = create_key('sub-{subject}/{session}/dwi/sub-{subject}_{session}_acq-{acq}_run-01_dwi') dwi_PA = create_key('sub-{subject}/{session}/fmap/sub-{subject}_{session}_acq-{acq}_dir-PA_run-01_epi') task1 = create_key('sub-{subject}/{session}/func/sub-{subject}_{session}_task-{task}_run-01_part-{part}_bold') task1_PA = create_key('sub-{subject}/{session}/fmap/sub-{subject}_{session}_acq-{acq}_dir-PA_run-01_part-{part}_epi') # note: In case of complex (magnitude and phase) images. Heudiconv automatically adds part-