# $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../physionoise/lib')) # # require 'helper_spec' # require 'rpipe' # require 'physionoise' # # # describe "Test Phyiosnoise" do # before(:each) do # @runs_dir = File.join($MRI_DATA, 'mrt00000', 'dicoms') # job_params = { # "scans" => [{ # "label"=>"task1", # "dir"=>"s07_epi", # "z_slices"=>36, # "rep_time"=>2.0, # "type"=>"func", # "physio_files"=> { # :phys_directory => "../cardiac", # Relative to rawdir # :series_description => "EPI fMRI Task1", # :respiration_signal => "RESPData_epiRT_0211201009_21_22_80", # :respiration_trigger => "RESPTrig_epiRT_0211201009_21_22_80", # :cardiac_signal => "PPGData_epiRT_0211201009_21_22_80", # :cardiac_trigger => "PPGTrig_epiRT_0211201009_21_22_80" # }, # "bold_reps"=>167, # "task"=>"Faces3B" # }] # } # # workflow_spec = { # "subid"=>"mrt00000", # "rawdir"=> @runs_dir, # "origdir"=> Dir.mktmpdir('orig_'), # "procdir"=> Dir.mktmpdir('proc_'), # "statsdir"=> Dir.mktmpdir('stats_'), # "collision"=> "destroy" # } # # @valid_physionoise_run_spec = [{ # :run_directory=> @runs_dir, # :bold_reps=>167, :respiration_signal=>"RESPData_epiRT_0211201009_21_22_80", # :respiration_trigger=>"RESPTrig_epiRT_0211201009_21_22_80", # :cardiac_signal=>"PPGData_epiRT_0211201009_21_22_80", # :cardiac_trigger=>"PPGTrig_epiRT_0211201009_21_22_80", # :phys_directory=> File.join(@runs_dir, '..', 'cardiac'), # :rep_time=>2.0, # :series_description=>"EPI fMRI Task1" # }] # # @recon_job = Reconstruction.new(workflow_spec, job_params) # @scan_spec = @recon_job.scans.first # # @physionoise_fixture_dir = File.join(File.dirname(__FILE__), 'fixtures', 'physionoise_regressors') # # end # # it "should create physionoise regressors from Cardiac and Respiration Data" # do # # Dir.chdir @recon_job.origdir do # # @recon_job.create_physiosnoise_regressors(@scan_spec) # # end # # # # Dir.compare_directories(@recon_job.origdir, @physionoise_fixture_dir).should be_true # # # end # # it "should correctly build a spec for passing to physionoise" # do # # @recon_job.build_physionoise_run_spec(@scan_spec).should == @valid_physionoise_run_spec # # end # # it "should correctly build a physionoise python command" # do # # @valid_physionoise_run_spec.each do |run| # # puts Physionoise.build_run_cmd(run) # # end # # end # # it "should build a 3dRetroicor string" # do # # 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" # # valid_outfile = "p#{@scan_spec['label']}.nii" # # test_cmd, test_outfile = @recon_job.build_retroicor_cmd(@scan_spec['physio_files'], "#{@scan_spec['label']}.nii") # # # # valid_cmd.should == test_cmd # # valid_outfile.should == test_outfile # # end # # it "should raise an error building a 3dRetroicor string if improperly configured" # do # # physio_files = @scan_spec['physio_files'] # # physio_files.delete(:cardiac_signal) # # # # lambda {@recon_job.build_retroicor_cmd(physio_files, "#{@scan_spec['label']}.nii") }.should raise_error ScriptError, /Missing .* cardiac/ # # end # # it "should raise an IOError building a 3dRetroicor string with bad files" # # after(:each) do # FileUtils.rm_r([@recon_job.origdir, @recon_job.procdir, @recon_job.statsdir]) # end # end