Skip to content
Permalink
02f25a58e6
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
136 lines (82 sloc) 3.37 KB
function BIDS = OPTIMA_make_BIDS(input_dir)
%
% Prepare datasets for BIDS format
%
% Required fields of make_BIDS:
%
% input_dir - location of the GE data, use absolute path
%
% data must have passed consistency checks using
% OPTIMA_consistency.m in /run/media/spectro/DATAPART1/OPTIMA/autoscripts_BIOMAX
% the script is expecting a file named
% "biomax_out_*_VERIFIED*.txt" or
% "biomax_out_*_MODIFIED*.txt"
% to be present in the subjects main directory
%
% directories must be known:
% addpath '/run/media/spectro/DATAPART1/OPTIMA/autoscripts_BIDS'
%
% function call, e.g.: OPTIMA_make_BIDS('/run/media/spectro/DATAPART1/OPTIMA/PTP0270_T0')
%
% structure BIDS
% input.dir - directory with verified data
% e.g. BIDS.input.dir = '/run/media/spectro/DATAPART1/OPTIMA/PTP0270_T0'
% input.biomax - biomax_out filename
%
% file history:
% created M. Czisch 18.4.2019
% last modified 24.4.2019 M. Czisch
% BecomeVersion 1.0.2
fprintf('\n\nStart BIDS conversion\n');
clear BIDS
BIDS.input.dir = input_dir;
BIDS.output.dir = '';
BIDS.autoscripts.dir = '/run/media/spectro/DATAPART1/OPTIMA/autoscripts_BIDS';
% have the data being for consistency checked already?
% does biomax_out exist?
BIDS = OPTIMA_check_BIOMAX(BIDS);
% check and prepare temporary BIDS directory structure
pathInfo = what(BIDS.input.dir);
current_dir = pathInfo.path;
BIDS.output.dir = [current_dir,'/BIDS/'];
OPTIMA_check_BIDS(BIDS.input.dir);
mkdir_BIDS(BIDS.output.dir);
% load and format biomax_out info
biomax = load(BIDS.input.biomax);
biomax_table = array2table(biomax,...
'VariableNames',{'Ser','Log','EDF','PPG'},...
'RowNames',{'Loc';'T1w';'Cal';'rest1';...
'EPI1';'FLAIR';...
'DTI';'Pepolar'});
% copy biomax_out file to BIDS directory
cmd_str = sprintf('cp %s %s/%s', BIDS.input.biomax, BIDS.output.dir, BIDS.input.biomax); system(cmd_str);
% read content of GE EXAM and SERIES files
BIDS = OPTIMA_read_GE_BIDS(BIDS);
% do the conversion to BIDS format
OPTIMA_convert_GE_BIDS(BIDS, biomax_table);
% make a json file with dataset description
OPTIMA_dataset_description_BIDS(BIDS,biomax_table);
% copy the ANALYZER files to BIDS naming format
OPTIMA_convert_ANALYZER_BIDS(BIDS,biomax_table);
% do the conversion of logfiles to BIDS naming format
OPTIMA_convert_LOG_BIDS(BIDS,biomax_table);
% do the conversion of EDF files to BIDS naming format
OPTIMA_convert_EDF_BIDS(BIDS,biomax_table);
% do the conversion of PPG and RESP files to BIDS
OPTIMA_convert_PPG_BIDS(BIDS, biomax_table);
% do tsv conversion of logfiles
%Hariri_logfile_bids(BIDS,biomax_table);
%NBack_logfile_bids(BIDS,biomax_table);
%TET_logfile_bids(BIDS,biomax_table);
% for the IST, this is a bit more tricky due to 2 different versions
% this differentiation is based on Anne Kuehnels script
% 24.1.2018
%IST_logfile_bids(BIDS,biomax_table);
cd([BIDS.input.dir]);
% finally, rename the BIDS directory to a proper name
cmd_str = ['rm -r ', BIDS.output.dir,'../',BIDS.input.data_dir(1).PatientID{3},'_BIDS'];
system(cmd_str);
cmd_str = ['mv ', BIDS.output.dir,' ', BIDS.output.dir,'../',BIDS.input.data_dir(1).PatientID{3},'_BIDS'];
system(cmd_str);
fprintf('\n\ndone %s\n', BIDS.input.data_dir(1).PatientID{3});
clear all