rpipe 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitignore +23 -0
- data/LICENSE +20 -0
- data/README +0 -0
- data/README.rdoc +33 -0
- data/Rakefile +78 -0
- data/VERSION +1 -0
- data/bin/create_driver.rb +79 -0
- data/bin/rpipe +131 -0
- data/bin/swallow_batch_run.rb +21 -0
- data/lib/core_additions.rb +5 -0
- data/lib/custom_methods/JohnsonMerit220Visit1Preproc.m +26 -0
- data/lib/custom_methods/JohnsonMerit220Visit1Preproc.rb +43 -0
- data/lib/custom_methods/JohnsonMerit220Visit1Preproc_job.m +80 -0
- data/lib/custom_methods/JohnsonMerit220Visit1Stats.m +74 -0
- data/lib/custom_methods/JohnsonMerit220Visit1Stats.rb +63 -0
- data/lib/custom_methods/JohnsonMerit220Visit1Stats_job.m +63 -0
- data/lib/custom_methods/JohnsonTbiLongitudinalSnodPreproc.m +26 -0
- data/lib/custom_methods/JohnsonTbiLongitudinalSnodPreproc.rb +41 -0
- data/lib/custom_methods/JohnsonTbiLongitudinalSnodPreproc_job.m +69 -0
- data/lib/custom_methods/JohnsonTbiLongitudinalSnodStats.m +76 -0
- data/lib/custom_methods/JohnsonTbiLongitudinalSnodStats.rb +67 -0
- data/lib/custom_methods/JohnsonTbiLongitudinalSnodStats_job.m +59 -0
- data/lib/custom_methods/ReconWithHello.rb +7 -0
- data/lib/default_logger.rb +13 -0
- data/lib/default_methods/default_preproc.rb +76 -0
- data/lib/default_methods/default_recon.rb +80 -0
- data/lib/default_methods/default_stats.rb +94 -0
- data/lib/default_methods/recon/physionoise_helper.rb +69 -0
- data/lib/default_methods/recon/raw_sequence.rb +109 -0
- data/lib/generators/job_generator.rb +36 -0
- data/lib/generators/preproc_job_generator.rb +31 -0
- data/lib/generators/recon_job_generator.rb +76 -0
- data/lib/generators/stats_job_generator.rb +70 -0
- data/lib/generators/workflow_generator.rb +128 -0
- data/lib/global_additions.rb +18 -0
- data/lib/logfile.rb +310 -0
- data/lib/matlab_helpers/CreateFunctionalVolumeStruct.m +6 -0
- data/lib/matlab_helpers/import_csv.m +32 -0
- data/lib/matlab_helpers/matlab_queue.rb +37 -0
- data/lib/matlab_helpers/prepare_onsets_xls.m +30 -0
- data/lib/rpipe.rb +254 -0
- data/rpipe.gemspec +177 -0
- data/spec/generators/preproc_job_generator_spec.rb +27 -0
- data/spec/generators/recon_job_generator_spec.rb +33 -0
- data/spec/generators/stats_job_generator_spec.rb +50 -0
- data/spec/generators/workflow_generator_spec.rb +97 -0
- data/spec/helper_spec.rb +40 -0
- data/spec/integration/johnson.merit220.visit1_spec.rb +47 -0
- data/spec/integration/johnson.tbi.longitudinal.snod_spec.rb +48 -0
- data/spec/logfile_spec.rb +96 -0
- data/spec/matlab_queue_spec.rb +40 -0
- data/spec/merit220_stats_spec.rb +81 -0
- data/spec/physio_spec.rb +98 -0
- data/test/drivers/merit220_workflow_sample.yml +15 -0
- data/test/drivers/mrt00000.yml +65 -0
- data/test/drivers/mrt00015.yml +62 -0
- data/test/drivers/mrt00015_hello.yml +41 -0
- data/test/drivers/mrt00015_withphys.yml +81 -0
- data/test/drivers/tbi000.yml +129 -0
- data/test/drivers/tbi000_separatevisits.yml +137 -0
- data/test/drivers/tmp.yml +58 -0
- data/test/fixtures/faces3_recognitionA.mat +0 -0
- data/test/fixtures/faces3_recognitionA.txt +86 -0
- data/test/fixtures/faces3_recognitionA_equal.csv +25 -0
- data/test/fixtures/faces3_recognitionA_unequal.csv +21 -0
- data/test/fixtures/faces3_recognitionB_incmisses.txt +86 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_CPd3R_40.txt +13360 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_CPd3_40.txt +13360 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_CPttl_40.txt +13360 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_CRTd3R_40.txt +13360 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_CRTd3_40.txt +13360 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_CRTttl_40.txt +13360 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_HalfTR_CRTd3R_40.txt +334 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_HalfTR_CRTd3_40.txt +334 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_HalfTR_CRTttl_40.txt +334 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_HalfTR_RRT_40.txt +334 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_HalfTR_RVT_40.txt +334 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_HalfTR_card_spline_40.txt +334 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_HalfTR_resp_spline_40.txt +334 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_RRT_40.txt +9106 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_RVT_40.txt +9106 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_TR_CRTd3R_40.txt +167 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_TR_CRTd3_40.txt +167 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_TR_CRTttl_40.txt +167 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_TR_RRT_40.txt +167 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_TR_RVT_40.txt +167 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_TR_card_spline_40.txt +167 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_TR_resp_spline_40.txt +167 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_card_spline_40.txt +13360 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_resp_spline_40.txt +9106 -0
- data/test/fixtures/physionoise_regressors/EPI__fMRI_Task1_resp_spline_downsampled_40.txt +9106 -0
- data/test/fixtures/ruport_summary.yml +123 -0
- data/test/fixtures/valid_scans.yaml +35 -0
- data/test/helper.rb +10 -0
- data/test/test_dynamic_method_inclusion.rb +10 -0
- data/test/test_includes.rb +11 -0
- data/test/test_integrative_johnson.merit220.visit1.rb +31 -0
- data/test/test_preproc.rb +11 -0
- data/test/test_recon.rb +11 -0
- data/test/test_rpipe.rb +19 -0
- data/vendor/output_catcher.rb +93 -0
- data/vendor/trollop.rb +781 -0
- metadata +260 -0
@@ -0,0 +1,81 @@
|
|
1
|
+
require 'helper_spec'
|
2
|
+
require 'rpipe'
|
3
|
+
|
4
|
+
describe "Unit testing for johnson.merit220.visit1" do
|
5
|
+
before(:each) do
|
6
|
+
@driver_file = File.join(File.dirname(__FILE__), 'drivers', 'mrt00000.yml')
|
7
|
+
@driver = YAML.load_file(@driver_file)
|
8
|
+
|
9
|
+
@driver['rawdir'] = File.join($MRI_DATA, 'mrt00000', 'dicoms')
|
10
|
+
@driver['origdir'] = @origdir = Dir.mktmpdir('orig_')
|
11
|
+
@driver['procdir'] = @procdir = Dir.mktmpdir('proc_')
|
12
|
+
@driver['statsdir'] = @statsdir = Dir.mktmpdir('stats_')
|
13
|
+
|
14
|
+
@valid_responses_options = {
|
15
|
+
'directory' => File.join($MRI_DATA, 'responses'),
|
16
|
+
'logfiles' => [
|
17
|
+
'mrt00000_abc_01012010_faces3_recognitionB.txt',
|
18
|
+
'mrt00000_abc_01012010_faces3_recognitionA.txt'
|
19
|
+
]
|
20
|
+
}
|
21
|
+
|
22
|
+
@valid_combine_options = {
|
23
|
+
:combined_vector_title => :misses,
|
24
|
+
:original_vector_titles => [:new_misses, :old_misses]
|
25
|
+
}
|
26
|
+
|
27
|
+
@pipe = RPipe.new(@driver)
|
28
|
+
@job = @pipe.stats_jobs.first
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should convert logfiles into matfiles" do
|
32
|
+
conditions = [:new_correct, :new_incorrect, :old_correct, :old_incorrect]
|
33
|
+
Dir.mktmpdir do |dir|
|
34
|
+
Dir.chdir dir do
|
35
|
+
@job.onsetsfiles = @job.create_onsets_files(@valid_responses_options, conditions)
|
36
|
+
@job.onsetsfiles.should_not be_nil
|
37
|
+
@job.onsetsfiles.should == ["mrt00000_faces3_recognitionB.mat", "mrt00000_faces3_recognitionA.mat"]
|
38
|
+
puts Dir.glob('*')
|
39
|
+
@job.onsetsfiles.each do |onsetfile|
|
40
|
+
File.exist?(onsetfile).should be_true
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should convert logfiles into matfiles including misses as a condition" do
|
47
|
+
conditions = [:new_correct, :new_incorrect, :old_correct, :old_incorrect, {:misses => [:new_misses, :old_misses]} ]
|
48
|
+
output_conditions = ['new_correct', 'new_incorrect', 'old_correct', 'old_incorrect', 'misses']
|
49
|
+
|
50
|
+
Dir.mktmpdir do |dir|
|
51
|
+
Dir.chdir dir do
|
52
|
+
@job.onsetsfiles = @job.create_onsets_files(@valid_responses_options, conditions)
|
53
|
+
@job.onsetsfiles.should_not be_nil
|
54
|
+
@job.onsetsfiles.should == ["mrt00000_faces3_recognitionB.mat", "mrt00000_faces3_recognitionA.mat"]
|
55
|
+
puts Dir.glob('*')
|
56
|
+
@job.onsetsfiles.each do |onsetfile|
|
57
|
+
File.exist?(onsetfile).should be_true
|
58
|
+
csvfile = File.basename(onsetfile, '.mat') + '.csv'
|
59
|
+
lines = File.open(csvfile, 'r') {|f| f.readlines }
|
60
|
+
header = lines.first.chomp
|
61
|
+
missing_conditions = []
|
62
|
+
header.split(", ").collect do |output_condition|
|
63
|
+
missing_conditions << output_condition unless output_conditions.include?(output_condition)
|
64
|
+
end
|
65
|
+
missing_conditions.should be_empty
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should raise a script error if neither log files nor mat files are configured." do
|
73
|
+
@job.onsetsfiles = nil
|
74
|
+
@job.responses = nil
|
75
|
+
lambda { @job.create_or_link_onsets_files }.should raise_error ScriptError, /Condition vectors cannot be created/
|
76
|
+
end
|
77
|
+
|
78
|
+
after(:each) do
|
79
|
+
FileUtils.rm_r([@origdir, @procdir, @statsdir])
|
80
|
+
end
|
81
|
+
end
|
data/spec/physio_spec.rb
ADDED
@@ -0,0 +1,98 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../physionoise/lib'))
|
2
|
+
|
3
|
+
require 'helper_spec'
|
4
|
+
require 'rpipe'
|
5
|
+
require 'physionoise'
|
6
|
+
|
7
|
+
|
8
|
+
describe "Test Phyiosnoise" do
|
9
|
+
before(:each) do
|
10
|
+
@runs_dir = File.join($MRI_DATA, 'mrt00000', 'dicoms')
|
11
|
+
job_params = {
|
12
|
+
"scans" => [{
|
13
|
+
"label"=>"task1",
|
14
|
+
"dir"=>"s07_epi",
|
15
|
+
"z_slices"=>36,
|
16
|
+
"rep_time"=>2.0,
|
17
|
+
"type"=>"func",
|
18
|
+
"physio_files"=> {
|
19
|
+
:phys_directory => "../cardiac", # Relative to rawdir
|
20
|
+
:series_description => "EPI fMRI Task1",
|
21
|
+
:respiration_signal => "RESPData_epiRT_0211201009_21_22_80",
|
22
|
+
:respiration_trigger => "RESPTrig_epiRT_0211201009_21_22_80",
|
23
|
+
:cardiac_signal => "PPGData_epiRT_0211201009_21_22_80",
|
24
|
+
:cardiac_trigger => "PPGTrig_epiRT_0211201009_21_22_80"
|
25
|
+
},
|
26
|
+
"bold_reps"=>167,
|
27
|
+
"task"=>"Faces3B"
|
28
|
+
}]
|
29
|
+
}
|
30
|
+
|
31
|
+
workflow_spec = {
|
32
|
+
"subid"=>"mrt00000",
|
33
|
+
"rawdir"=> @runs_dir,
|
34
|
+
"origdir"=> Dir.mktmpdir('orig_'),
|
35
|
+
"procdir"=> Dir.mktmpdir('proc_'),
|
36
|
+
"statsdir"=> Dir.mktmpdir('stats_'),
|
37
|
+
"collision"=> "destroy"
|
38
|
+
}
|
39
|
+
|
40
|
+
@valid_physionoise_run_spec = [{
|
41
|
+
:run_directory=> @runs_dir,
|
42
|
+
:bold_reps=>167, :respiration_signal=>"RESPData_epiRT_0211201009_21_22_80",
|
43
|
+
:respiration_trigger=>"RESPTrig_epiRT_0211201009_21_22_80",
|
44
|
+
:cardiac_signal=>"PPGData_epiRT_0211201009_21_22_80",
|
45
|
+
:cardiac_trigger=>"PPGTrig_epiRT_0211201009_21_22_80",
|
46
|
+
:phys_directory=> File.join(@runs_dir, '..', 'cardiac'),
|
47
|
+
:rep_time=>2.0,
|
48
|
+
:series_description=>"EPI fMRI Task1"
|
49
|
+
}]
|
50
|
+
|
51
|
+
@recon_job = Reconstruction.new(workflow_spec, job_params)
|
52
|
+
@scan_spec = @recon_job.scans.first
|
53
|
+
|
54
|
+
@physionoise_fixture_dir = File.join(File.dirname(__FILE__), 'fixtures', 'physionoise_regressors')
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should create physionoise regressors from Cardiac and Respiration Data" do
|
59
|
+
Dir.chdir @recon_job.origdir do
|
60
|
+
@recon_job.create_physiosnoise_regressors(@scan_spec)
|
61
|
+
end
|
62
|
+
|
63
|
+
Dir.compare_directories(@recon_job.origdir, @physionoise_fixture_dir).should be_true
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should correctly build a spec for passing to physionoise" do
|
68
|
+
@recon_job.build_physionoise_run_spec(@scan_spec).should == @valid_physionoise_run_spec
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should correctly build a physionoise python command" do
|
72
|
+
@valid_physionoise_run_spec.each do |run|
|
73
|
+
puts Physionoise.build_run_cmd(run)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should build a 3dRetroicor string" do
|
78
|
+
valid_cmd = "3dretroicor -prefix ptask1.nii -card #{@runs_dir}/../cardiac/PPGData_epiRT_0211201009_21_22_80 -resp #{@runs_dir}/../cardiac/RESPData_epiRT_0211201009_21_22_80 task1.nii"
|
79
|
+
valid_outfile = "p#{@scan_spec['label']}.nii"
|
80
|
+
test_cmd, test_outfile = @recon_job.build_retroicor_cmd(@scan_spec['physio_files'], "#{@scan_spec['label']}.nii")
|
81
|
+
|
82
|
+
valid_cmd.should == test_cmd
|
83
|
+
valid_outfile.should == test_outfile
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should raise an error building a 3dRetroicor string if improperly configured" do
|
87
|
+
physio_files = @scan_spec['physio_files']
|
88
|
+
physio_files.delete(:cardiac_signal)
|
89
|
+
|
90
|
+
lambda {@recon_job.build_retroicor_cmd(physio_files, "#{@scan_spec['label']}.nii") }.should raise_error ScriptError, /Missing .* cardiac/
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should raise an IOError building a 3dRetroicor string with bad files"
|
94
|
+
|
95
|
+
after(:each) do
|
96
|
+
FileUtils.rm_r([@recon_job.origdir, @recon_job.procdir, @recon_job.statsdir])
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Workflow Driver Sample
|
2
|
+
# johnson.merit220.visit1
|
3
|
+
# 6/15/2010
|
4
|
+
study_procedure: johnson.merit220.visit1
|
5
|
+
ignore_patterns:
|
6
|
+
- /pcasl/i
|
7
|
+
- /raw$/i
|
8
|
+
directory_formats:
|
9
|
+
origdir: /Data/vtrak1/preprocessed/visits/<study_procedure>/<subid>/fmri/images
|
10
|
+
procdir: /Data/vtrak1/preprocessed/visits/<study_procedure>/<subid>/fmri/proc
|
11
|
+
statsdir: /Data/vtrak1/preprocessed/visits/<study_procedure>/<subid>/fmri/stats_basic
|
12
|
+
responses_dir: /Data/vtrak1/raw/test/fixtures/rpipe/responses
|
13
|
+
custom_methods:
|
14
|
+
preproc: true
|
15
|
+
stats: true
|
@@ -0,0 +1,65 @@
|
|
1
|
+
subid: mrt00000
|
2
|
+
rawdir: /Data/vtrak1/raw/test/fixtures/rpipe/johnson.merit220.visit1/mrt00000/dicoms
|
3
|
+
origdir: /Data/scratch/mrt00000_orig
|
4
|
+
procdir: /Data/scratch/mrt00000_proc
|
5
|
+
statsdir: /Data/scratch/mrt00000_stats
|
6
|
+
collision: destroy
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
- step: reconstruct
|
10
|
+
scans:
|
11
|
+
- dir: s07_epi
|
12
|
+
type: func
|
13
|
+
label: task1
|
14
|
+
task: Faces3A
|
15
|
+
bold_reps: 167
|
16
|
+
volumes_to_skip: 3
|
17
|
+
z_slices: 36
|
18
|
+
- dir: s08_epi
|
19
|
+
type: func
|
20
|
+
label: task2
|
21
|
+
task: Faces3B
|
22
|
+
bold_reps: 167
|
23
|
+
volumes_to_skip: 3
|
24
|
+
z_slices: 36
|
25
|
+
- dir: s09_epi
|
26
|
+
type: func
|
27
|
+
label: rest
|
28
|
+
bold_reps: 167
|
29
|
+
volumes_to_skip: 3
|
30
|
+
z_slices: 36
|
31
|
+
|
32
|
+
- step: preprocess
|
33
|
+
method: JohnsonMerit220Visit1Preproc
|
34
|
+
bold_reps:
|
35
|
+
- 164
|
36
|
+
- 164
|
37
|
+
- 164
|
38
|
+
|
39
|
+
- step: stats
|
40
|
+
method: JohnsonMerit220Visit1Stats
|
41
|
+
responses:
|
42
|
+
directory: /Data/vtrak1/raw/test/fixtures/rpipe/responses
|
43
|
+
logfiles:
|
44
|
+
- mrt00000_abc_01012010_faces3_recognitionB.txt
|
45
|
+
- mrt00000_abc_01012010_faces3_recognitionA.txt
|
46
|
+
# - /Data/scratch/mrt00000/onsets/mrt00015_sep_021110_faces3_recognitionA.txt
|
47
|
+
# - /Data/scratch/mrt00000/onsets/mrt00015_sep_021110_faces3_recognitionB.txt
|
48
|
+
# This is an ordered list, so put A or B first as appropriate.
|
49
|
+
# onsetsfiles:
|
50
|
+
# - /Data/scratch/mrt00000/onsets/mrt00015_faces3_recognitionA.mat
|
51
|
+
# - /Data/scratch/mrt00000/onsets/mrt00015_faces3_recognitionB.mat
|
52
|
+
regressorsfiles:
|
53
|
+
- rp_amrt00000_task1.txt
|
54
|
+
- rp_amrt00000_task2.txt
|
55
|
+
conditions:
|
56
|
+
- new_correct
|
57
|
+
- new_incorrect
|
58
|
+
- old_correct
|
59
|
+
- old_incorrect
|
60
|
+
- misses:
|
61
|
+
- new_misses
|
62
|
+
- old_misses
|
63
|
+
bold_reps:
|
64
|
+
- 164
|
65
|
+
- 164
|
@@ -0,0 +1,62 @@
|
|
1
|
+
subid: mrt00015
|
2
|
+
rawdir: /Data/scratch/mrt00015/dicoms
|
3
|
+
origdir: /Data/scratch/mrt00015_orig
|
4
|
+
procdir: /Data/scratch/mrt00015_proc
|
5
|
+
statsdir: /Data/scratch/mrt00015_stats
|
6
|
+
collision: destroy
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
- step: reconstruct
|
10
|
+
scans:
|
11
|
+
- dir: s07_epi
|
12
|
+
type: func
|
13
|
+
label: task1
|
14
|
+
task: Faces3A
|
15
|
+
bold_reps: 167
|
16
|
+
volumes_to_skip: 3
|
17
|
+
z_slices: 36
|
18
|
+
- dir: s08_epi
|
19
|
+
type: func
|
20
|
+
label: task2
|
21
|
+
task: Faces3B
|
22
|
+
bold_reps: 167
|
23
|
+
volumes_to_skip: 3
|
24
|
+
z_slices: 36
|
25
|
+
- dir: s09_epi
|
26
|
+
type: func
|
27
|
+
label: rest
|
28
|
+
bold_reps: 167
|
29
|
+
volumes_to_skip: 3
|
30
|
+
z_slices: 36
|
31
|
+
|
32
|
+
- step: preprocess
|
33
|
+
method: Merit220Preproc
|
34
|
+
bold_reps:
|
35
|
+
- 164
|
36
|
+
- 164
|
37
|
+
- 164
|
38
|
+
|
39
|
+
- step: stats
|
40
|
+
method: Merit220Stats
|
41
|
+
responses:
|
42
|
+
directory: rpipe/spec/fixtures/rawdata/responses
|
43
|
+
logfiles:
|
44
|
+
- mrt00015_faces3_recognitionB.txt
|
45
|
+
- mrt00015_faces3_recognitionA.txt
|
46
|
+
# - /Data/scratch/mrt00015/onsets/mrt00015_sep_021110_faces3_recognitionA.txt
|
47
|
+
# - /Data/scratch/mrt00015/onsets/mrt00015_sep_021110_faces3_recognitionB.txt
|
48
|
+
# This is an ordered list, so put A or B first as appropriate.
|
49
|
+
# onsetsfiles:
|
50
|
+
# - /Data/scratch/mrt00015/onsets/mrt00015_faces3_recognitionA.mat
|
51
|
+
# - /Data/scratch/mrt00015/onsets/mrt00015_faces3_recognitionB.mat
|
52
|
+
regressorsfiles:
|
53
|
+
- rp_amrt00015_task1.txt
|
54
|
+
- rp_amrt00015_task2.txt
|
55
|
+
conditions:
|
56
|
+
- new_correct
|
57
|
+
- new_incorrect
|
58
|
+
- old_correct
|
59
|
+
- old_incorrect
|
60
|
+
bold_reps:
|
61
|
+
- 164
|
62
|
+
- 164
|
@@ -0,0 +1,41 @@
|
|
1
|
+
subid: mrt00015
|
2
|
+
rawdir: /Data/scratch/mrt00015
|
3
|
+
origdir: /Data/scratch/mrt00015_orig
|
4
|
+
procdir: /Data/scratch/mrt00015_proc
|
5
|
+
collision: destroy
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
- step: reconstruct
|
9
|
+
method: ReconWithHello
|
10
|
+
scans:
|
11
|
+
- dir: s07_epi
|
12
|
+
type: func
|
13
|
+
label: task1
|
14
|
+
task: Faces3A
|
15
|
+
bold_reps: 167
|
16
|
+
z_slices: 36
|
17
|
+
- dir: s08_epi
|
18
|
+
type: func
|
19
|
+
label: task2
|
20
|
+
task: Faces3B
|
21
|
+
bold_reps: 167
|
22
|
+
z_slices: 36
|
23
|
+
- dir: s09_epi
|
24
|
+
type: func
|
25
|
+
label: rest
|
26
|
+
bold_reps: 167
|
27
|
+
z_slices: 36
|
28
|
+
|
29
|
+
- step: preprocess
|
30
|
+
template_spec:
|
31
|
+
job: template_pipetest_spatial_preproc.mat
|
32
|
+
subid: Swallow003
|
33
|
+
|
34
|
+
- step: stats
|
35
|
+
onsets_files:
|
36
|
+
- Swallow003_v01_sw01_onsets.mat
|
37
|
+
- Swallow003_v01_sw02_onsets.mat
|
38
|
+
- Swallow003_v01_sw03_onsets.mat
|
39
|
+
template_spec:
|
40
|
+
job: template_stats.mat
|
41
|
+
subid: Swallow003
|
@@ -0,0 +1,81 @@
|
|
1
|
+
subid: mrt00015
|
2
|
+
rawdir: /Data/scratch/mrt00015/dicoms
|
3
|
+
origdir: /Data/scratch/mrt00015_withphys_orig
|
4
|
+
procdir: /Data/scratch/mrt00015_withphys_proc
|
5
|
+
statsdir: /Data/scratch/mrt00015_withphys_stats
|
6
|
+
collision: destroy
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
- step: reconstruct
|
10
|
+
scans:
|
11
|
+
- dir: s07_epi
|
12
|
+
type: func
|
13
|
+
label: task1
|
14
|
+
task: Faces3A
|
15
|
+
bold_reps: 167
|
16
|
+
z_slices: 36
|
17
|
+
rep_time: 2.0
|
18
|
+
physio_files:
|
19
|
+
:respiration_signal: RESPData_epiRT_0211201009_21_22_80
|
20
|
+
:phys_directory: ../cardiac # Relative to raw dir or absolute
|
21
|
+
:respiration_trigger: RESPTrig_epiRT_0211201009_21_22_80
|
22
|
+
:cardiac_signal: PPGData_epiRT_0211201009_21_22_80
|
23
|
+
:series_description: EPI fMRI Task1
|
24
|
+
:cardiac_trigger: PPGTrig_epiRT_0211201009_21_22_80
|
25
|
+
- dir: s08_epi
|
26
|
+
type: func
|
27
|
+
label: task2
|
28
|
+
task: Faces3B
|
29
|
+
bold_reps: 167
|
30
|
+
z_slices: 36
|
31
|
+
rep_time: 2.0
|
32
|
+
physio_files:
|
33
|
+
:respiration_signal: RESPData_epiRT_0211201009_28_12_835
|
34
|
+
:phys_directory: ../cardiac # Relative to raw dir or absolute
|
35
|
+
:respiration_trigger: RESPTrig_epiRT_0211201009_28_12_835
|
36
|
+
:cardiac_signal: PPGData_epiRT_0211201009_28_12_835
|
37
|
+
:series_description: EPI fMRI Task2
|
38
|
+
:cardiac_trigger: PPGTrig_epiRT_0211201009_28_12_835
|
39
|
+
- dir: s09_epi
|
40
|
+
type: func
|
41
|
+
label: rest
|
42
|
+
bold_reps: 167
|
43
|
+
z_slices: 36
|
44
|
+
rep_time: 2.0
|
45
|
+
physio_files:
|
46
|
+
:respiration_signal: RESPData_epiRT_0211201009_34_39_738
|
47
|
+
:phys_directory: ../cardiac # Relative to raw dir or absolute
|
48
|
+
:respiration_trigger: RESPTrig_epiRT_0211201009_34_39_738
|
49
|
+
:cardiac_signal: PPGData_epiRT_0211201009_34_39_738
|
50
|
+
:series_description: EPI Resting fMRI
|
51
|
+
:cardiac_trigger: PPGTrig_epiRT_0211201009_34_39_738
|
52
|
+
|
53
|
+
- step: preprocess
|
54
|
+
method: Merit220Preproc
|
55
|
+
bold_reps:
|
56
|
+
- 164
|
57
|
+
- 164
|
58
|
+
- 164
|
59
|
+
|
60
|
+
- step: stats
|
61
|
+
method: Merit220Stats
|
62
|
+
logresponsefiles:
|
63
|
+
- /Volumes/MED-CLUSTER-A.MEDICINE_DATA/team/FMRI/BEHAVIORAL_ANALYSES/CURRENT/johnson.merit220.visit1/Scan/Unprocessed/mrt00015_sep_021110_faces3_recognitionB.txt
|
64
|
+
- /Volumes/MED-CLUSTER-A.MEDICINE_DATA/team/FMRI/BEHAVIORAL_ANALYSES/CURRENT/johnson.merit220.visit1/Scan/Unprocessed/mrt00015_sep_021110_faces3_recognitionA.txt
|
65
|
+
# - /Data/scratch/mrt00015/onsets/mrt00015_sep_021110_faces3_recognitionA.txt
|
66
|
+
# - /Data/scratch/mrt00015/onsets/mrt00015_sep_021110_faces3_recognitionB.txt
|
67
|
+
# This is an ordered list, so put A or B first as appropriate.
|
68
|
+
# onsetsfiles:
|
69
|
+
# - /Data/scratch/mrt00015/onsets/mrt00015_faces3_recognitionA.mat
|
70
|
+
# - /Data/scratch/mrt00015/onsets/mrt00015_faces3_recognitionB.mat
|
71
|
+
regressorsfiles:
|
72
|
+
- rp_apmrt00015_task1.txt
|
73
|
+
- rp_apmrt00015_task2.txt
|
74
|
+
conditions:
|
75
|
+
- new_correct
|
76
|
+
- new_incorrect
|
77
|
+
- old_correct
|
78
|
+
- old_incorrect
|
79
|
+
bold_reps:
|
80
|
+
- 164
|
81
|
+
- 164
|
@@ -0,0 +1,129 @@
|
|
1
|
+
---
|
2
|
+
subid: tbi000
|
3
|
+
origdir: <%= Dir.mktmpdir('orig') %>
|
4
|
+
procdir: <%= Dir.mktmpdir('proc') %>
|
5
|
+
statsdir: <%= @statsdir = Dir.mktmpdir('stats') %>
|
6
|
+
study_procedure: johnson.tbi.longitudinal.snod
|
7
|
+
# task_onsets: /Data/vtrak1/analyses/aparna/tbifmrilongitudinal/johnson.tbi.longitudinal.snod/progs/snod_onsets.yml
|
8
|
+
collision: overwrite
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
- step: reconstruct
|
12
|
+
rawdir: /Data/vtrak1/raw/test/fixtures/rpipe/johnson.tbi.longitudinal.snod/tbi000_1/raw
|
13
|
+
scans:
|
14
|
+
- label: v1_snodB
|
15
|
+
pfile: P38400.7
|
16
|
+
type: func
|
17
|
+
volumes_to_skip: 3
|
18
|
+
bold_reps: 141
|
19
|
+
task: snodB
|
20
|
+
- label: v1_snodA
|
21
|
+
pfile: P38912.7
|
22
|
+
type: func
|
23
|
+
volumes_to_skip: 3
|
24
|
+
bold_reps: 141
|
25
|
+
task: snodA
|
26
|
+
- step: reconstruct
|
27
|
+
rawdir: /Data/vtrak1/raw/test/fixtures/rpipe/johnson.tbi.longitudinal.snod/tbi000_2/raw
|
28
|
+
scans:
|
29
|
+
- label: v2_snodC
|
30
|
+
pfile: P33280.7
|
31
|
+
type: func
|
32
|
+
volumes_to_skip: 3
|
33
|
+
bold_reps: 141
|
34
|
+
task: snodC
|
35
|
+
- label: v2_snodD
|
36
|
+
pfile: P33792.7
|
37
|
+
type: func
|
38
|
+
volumes_to_skip: 3
|
39
|
+
bold_reps: 141
|
40
|
+
task: snodD
|
41
|
+
- step: reconstruct
|
42
|
+
rawdir: /Data/vtrak1/raw/test/fixtures/rpipe/johnson.tbi.longitudinal.snod/tbi000_3/raw
|
43
|
+
scans:
|
44
|
+
- label: v3_snodB
|
45
|
+
pfile: P61440.7
|
46
|
+
type: func
|
47
|
+
volumes_to_skip: 3
|
48
|
+
bold_reps: 141
|
49
|
+
task: snodB
|
50
|
+
- label: v3_snodA
|
51
|
+
pfile: P61952.7
|
52
|
+
type: func
|
53
|
+
volumes_to_skip: 3
|
54
|
+
bold_reps: 141
|
55
|
+
task: snodA
|
56
|
+
|
57
|
+
- step: preprocess
|
58
|
+
method: JohnsonTbiLongitudinalSnodPreproc
|
59
|
+
scan_labels:
|
60
|
+
- v1_snodB
|
61
|
+
- v1_snodA
|
62
|
+
- v2_snodC
|
63
|
+
- v2_snodD
|
64
|
+
- v3_snodB
|
65
|
+
- v3_snodA
|
66
|
+
bold_reps:
|
67
|
+
- 138
|
68
|
+
- 138
|
69
|
+
- 138
|
70
|
+
- 138
|
71
|
+
- 138
|
72
|
+
- 138
|
73
|
+
|
74
|
+
- step: stats
|
75
|
+
statsdir: <%= File.join(@statsdir, 'v1') %>
|
76
|
+
method: JohnsonTbiLongitudinalSnodStats
|
77
|
+
scan_labels:
|
78
|
+
- v1_snodB
|
79
|
+
- v1_snodA
|
80
|
+
onsetsfiles:
|
81
|
+
- /Data/vtrak1/analyses/aparna/tbifmrilongitudinal/johnson.tbi.longitudinal.snod/progs/onsets/snodB_vectors.mat
|
82
|
+
- /Data/vtrak1/analyses/aparna/tbifmrilongitudinal/johnson.tbi.longitudinal.snod/progs/onsets/snodA_vectors.mat
|
83
|
+
regressorsfiles:
|
84
|
+
- rp_atbi000_v1_snodB.txt
|
85
|
+
- rp_atbi000_v1_snodA.txt
|
86
|
+
bold_reps:
|
87
|
+
- 138
|
88
|
+
- 138
|
89
|
+
conditions:
|
90
|
+
- new
|
91
|
+
- old
|
92
|
+
|
93
|
+
- step: stats
|
94
|
+
statsdir: <%= File.join(@statsdir, 'v2') %>
|
95
|
+
method: JohnsonTbiLongitudinalSnodStats
|
96
|
+
scan_labels:
|
97
|
+
- v2_snodC
|
98
|
+
- v2_snodD
|
99
|
+
onsetsfiles:
|
100
|
+
- /Data/vtrak1/analyses/aparna/tbifmrilongitudinal/johnson.tbi.longitudinal.snod/progs/onsets/snodC_vectors.mat
|
101
|
+
- /Data/vtrak1/analyses/aparna/tbifmrilongitudinal/johnson.tbi.longitudinal.snod/progs/onsets/snodD_vectors.mat
|
102
|
+
regressorsfiles:
|
103
|
+
- rp_atbi000_v2_snodC.txt
|
104
|
+
- rp_atbi000_v2_snodD.txt
|
105
|
+
bold_reps:
|
106
|
+
- 138
|
107
|
+
- 138
|
108
|
+
conditions:
|
109
|
+
- new
|
110
|
+
- old
|
111
|
+
|
112
|
+
- step: stats
|
113
|
+
statsdir: <%= File.join(@statsdir, 'v3') %>
|
114
|
+
method: JohnsonTbiLongitudinalSnodStats
|
115
|
+
scan_labels:
|
116
|
+
- v3_snodB
|
117
|
+
- v3_snodA
|
118
|
+
onsetsfiles:
|
119
|
+
- /Data/vtrak1/analyses/aparna/tbifmrilongitudinal/johnson.tbi.longitudinal.snod/progs/onsets/snodB_vectors.mat
|
120
|
+
- /Data/vtrak1/analyses/aparna/tbifmrilongitudinal/johnson.tbi.longitudinal.snod/progs/onsets/snodA_vectors.mat
|
121
|
+
regressorsfiles:
|
122
|
+
- rp_atbi000_v3_snodB.txt
|
123
|
+
- rp_atbi000_v3_snodA.txt
|
124
|
+
bold_reps:
|
125
|
+
- 138
|
126
|
+
- 138
|
127
|
+
conditions:
|
128
|
+
- new
|
129
|
+
- old
|