Sha256: 7abeb01a3acabd95b28afce7e86b8d019540b10fb5cd549f6b864c66d444c49a

Contents?: true

Size: 1.33 KB

Versions: 6

Compression:

Stored size: 1.33 KB

Contents

require 'matlab_helpers/matlab_queue'
module JohnsonMerit220Visit1Preproc
	
	# Runs the preprocessing job, including spm job customization, run spm job, and handling motion issues.
	# This function assumes a destination directory is set up; it will overwrite preexisting data.	Careful!
	def preproc_visit
		flash "Spatial Preprocessing Subject: #{@subid}"
		setup_directory(@procdir, "PREPROC")
		
		Dir.chdir(@procdir) do
			link_files_into_proc
			check_permissions(image_files)
      run_preproc_mfile
			deal_with_motion
		end
	end
	
	alias_method :perform, :preproc_visit
	
	private
	
	def image_files
	  @image_files ||= Dir.glob(File.join(@origdir, "a*#{@subid}*.nii"))
	end
	
	def run_preproc_mfile
	  raise ScriptError, "Can't find any slice-time corrected images in #{@origdir}" if image_files.empty?

	  validate_existence_of @image_files

	  queue = MatlabQueue.new
	  queue.paths << [
	    @spmdir,
	    File.join(@spmdir, 'config'),
	    File.join(@spmdir, 'matlabbatch'),
	    File.expand_path(File.join(@libdir, 'custom_methods')), 
      File.expand_path(File.join(@libdir, 'matlab_helpers')) ]

	  queue << "JohnsonMerit220Visit1Preproc('#{@procdir}/', \
    { #{image_files.collect {|im| "'#{File.basename(im)}'"}.join(' ')} },  \
    { #{@bold_reps.join(' ') } }, \
    'JohnsonMerit220Visit1Preproc_job.m')"
    
    queue.run!
  end
  
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rpipe-0.1.7 lib/custom_methods/JohnsonMerit220Visit1Preproc.rb
rpipe-0.1.6 lib/custom_methods/JohnsonMerit220Visit1Preproc.rb
rpipe-0.1.4 lib/custom_methods/JohnsonMerit220Visit1Preproc.rb
rpipe-0.1.3 lib/custom_methods/JohnsonMerit220Visit1Preproc.rb
rpipe-0.1.2 lib/custom_methods/JohnsonMerit220Visit1Preproc.rb
rpipe-0.1.1 lib/custom_methods/JohnsonMerit220Visit1Preproc.rb