Slice order in DPABI

Submitted by Zeqiang Linli on

Dear Dr. Yan, 

DAPBI can get a .josn file from FunRaw data in which the information of slice timing seems to be provided. For example,  the json file have a field: 

"Slice tieming" :[
0.99,
0,
1.045,
....
1.925,
0.935]

I think it indirectly tell us the slice number (=36) and slice order (here is interval ascending).

However, when I use MATLAB function dicominfo to read DCM file, the slice order information seems to inconsistent with the above. Spefically, the return values of dicominfo provide a data-field named "Private_0019_1029" which seems to be the slice timing information, as following:

1e3*
[0.935
0.1925
0.880
...
01045
0
0.99]

It look like also provide the information of slice timing (interval descending), but this scan order are inconsistent with that of the above.

I wonder whether the slice timing information in the .json file provided automatically by DPABI are based on the DICOM header information? Or it is always assume the interval ascending?

Best wishes,

Zeqiang

Zeqiang Linli

Thu, 07/08/2021 - 09:24

I have another problem that which is the best solution if my computer suddenly loses power while the DpabiSurf is running the statge of "preprocessing with fmripre"?  May be re-run this stage for all subjects? OR run this step firstly for the subjects who have not yet been run and then run the remain steps for all subject.

The first potential solution is a simple but relative stupidity one, which should delete some generated file. The second potential solution continue to run the unfinished subject, which may be divided into two steps, i.e., run "preprcessing with fmripre"  and run the remain steps. This solution may be more troublesome or error-prone in the later stages.

Do you have any more recommended solutions for this problem?

 

Zeqiang Linli

Fri, 07/09/2021 - 05:24

Dear Dr. Yan, 

You said that if there is a log dictionary in the ".\fmriprep\sub-**\log", it mean error might occur in the preprocessing for sub-**.  I found that all my subjects have the log files in this dictionary, however, the matlab and DpabiSurf is still runing well, and there are many sub-**.html files (provede the segement information) in the  ".\fmriprep\" dictionary for those subjects who have  finished the stage of "preprocessing with fmriprep" which may indicate that this step is relatively sucessful although  these log files. Should I stop the preprocessing stage and try to debug? Or ignore these log files and continue to let the program run?

All subject have similar log information, as follows: 

 [environment]
cpu_count = 24
exec_env = "docker"
free_mem = 45.6
overcommit_policy = "heuristic"
overcommit_limit = "50%"
nipype_version = "1.5.1"
templateflow_version = "0.6.3"
version = "20.2.1"

[execution]
bids_dir = "/data/BIDS"
bids_database_dir = "/data/fmriprepwork/sub-HC001/20210702-100106_16de4292-6826-49e4-9176-b4cb78ffedb3/bids_db"
bids_description_hash = "ceb55f9ef8d5658e7418760e3be9884a4199d08a3fe8d1097cc0ad9faf5ae0a2"
boilerplate_only = false
sloppy = false
debug = []
fmriprep_dir = "/data/fmriprep"
fs_license_file = "/opt/freesurfer/license.txt"
fs_subjects_dir = "/data/freesurfer"
layout = "BIDS Layout: .../data/BIDS | Subjects: 178 | Sessions: 0 | Runs: 0"
log_dir = "/data/fmriprep/logs"
log_level = 25
low_mem = true
md_only_boilerplate = false
notrack = false
output_dir = "/data"
output_layout = "legacy"
output_spaces = "fsaverage:den-10k MNI152NLin2009cAsym:res-2"
reports_only = false
run_uuid = "20210702-100106_16de4292-6826-49e4-9176-b4cb78ffedb3"
participant_label = [ "HC001",]
templateflow_home = "/home/fmriprep/.cache/templateflow"
work_dir = "/data/fmriprepwork/sub-HC001"
write_graph = false

[workflow]
anat_only = false
aroma_err_on_warn = false
aroma_melodic_dim = -200
bold2t1w_dof = 6
bold2t1w_init = "register"
cifti_output = false
fmap_bspline = false
force_syn = false
hires = true
ignore = [ "slicetiming",]
longitudinal = false
medial_surface_nan = false
regressors_all_comps = false
regressors_dvars_th = 1.5
regressors_fd_th = 0.5
run_reconall = true
skull_strip_fixed_seed = false
skull_strip_template = "OASIS30ANTs"
skull_strip_t1w = "force"
spaces = "fsaverage:den-10k MNI152NLin2009cAsym:res-2"
use_aroma = false
use_syn_sdc = false

[nipype]
crashfile_format = "txt"
get_linked_libs = false
nprocs = 1
omp_nthreads = 1
plugin = "MultiProc"
resource_monitor = true
stop_on_first_crash = false

[seeds]
master = 43616
ants = 54452

[nipype.plugin_args]
maxtasksperchild = 1
raise_insufficient = false
 

1. JSON file under FunRaw comes from dcm2niix, you can have a check.

2. DPABISurf->Utilites->Re-Run fmriprep failed subjects.

3. log folders are normal in the latest fmriprep.