#! /bin/csh -f # # par2fsl3 # # Original Author: Doug Greve # CVS Revision Info: # $Author: greve $ # $Date: 2010/06/30 04:03:21 $ # $Revision: 1.1 $ # # Copyright (C) 2002-2007, # The General Hospital Corporation (Boston, MA). # All rights reserved. # # Distribution, usage and copying of this software is covered under the # terms found in the License Agreement file named 'COPYING' found in the # FreeSurfer source code root directory, and duplicated here: # https://surfer.nmr.mgh.harvard.edu/fswiki/FreeSurferOpenSourceLicense # # General inquiries: freesurfer@nmr.mgh.harvard.edu # Bug reports: analysis-bugs@nmr.mgh.harvard.edu # set VERSION = '$Id: par2fsl3,v 1.1 2010/06/30 04:03:21 greve Exp $'; set inputargs = ($argv); set parfile = (); set evbase = (); set evduration = (); if($#argv == 0) goto usage_exit; set n = `echo $argv | grep version | wc -l` if($n != 0) then echo $VERSION exit 0; endif goto parse_args; parse_args_return: goto check_params; check_params_return: set evnolist = (`cat $parfile | awk '{print $2}' | sort -n | uniq`) set evnames = (`cat $parfile | awk '{print $2" "$5}' | sort -n | uniq | awk '{print $2}'`); @ n = 0 foreach evno ($evnolist) @ n = $n + 1 if($evno == 0) continue; if($#evnames == 0) then set outfile = $evbase$evno.dat else set outfile = $evbase-$evnames[$n].dat endif cat $parfile | awk -v ev=$evno -v d=$evduration \ '{if($2 == ev) print $1" "d" 1"}' > $outfile end exit 0; ############################################### ############--------------################## parse_args: set cmdline = ($argv); while( $#argv != 0 ) set flag = $argv[1]; shift; switch($flag) case "-p": case "-par": if ( $#argv == 0) goto arg1err; set parfile = $argv[1]; shift; if(! -e $parfile) then echo "ERROR: cannot find $parfile" exit 1; endif breaksw case "-evbase": if ( $#argv == 0) goto arg1err; set evbase = $argv[1]; shift; breaksw case "-evduration": if ( $#argv == 0) goto arg1err; set evduration = $argv[1]; shift; breaksw case "-debug": set verbose = 1; set echo = 1; breaksw default: echo ERROR: Flag $flag unrecognized. echo $cmdline exit 1 breaksw endsw end goto parse_args_return; ############--------------################## ############--------------################## check_params: if($#parfile == 0) then echo "ERROR: no parfile specified" exit 1 endif if($#evbase == 0) then echo "ERROR: no evbase specified" exit 1 endif if($#evduration == 0) then echo "ERROR: no evduration specified" exit 1 endif goto check_params_return; ############--------------################## ############--------------################## arg1err: echo "ERROR: flag $flag requires one argument" exit 1 ############--------------################## ############--------------################## usage_exit: echo "" echo "par2fsl3" echo "" echo " -p parfile" echo " -evbase base" echo " -evduration duration" echo "" echo "" exit 1;